Numero massimo di variabili indipendenti che possono essere immesse in un'equazione di regressione multipla


19

Qual è il limite al numero di variabili indipendenti che si possono inserire in un'equazione di regressione multipla? Ho 10 predittori che vorrei esaminare in termini di contributo relativo alla variabile di risultato. Dovrei usare una correzione bonferroni per adattarmi a più analisi?

Risposte:


25

Devi pensare a cosa intendi per "limite". Esistono limiti, ad esempio quando si hanno più predittori che casi, si verificano problemi nella stima dei parametri (vedere la piccola simulazione R in fondo a questa risposta).

Tuttavia, immagino che tu stia parlando di più di limiti soft legati al potere statistico e alle buone pratiche statistiche. In questo caso il linguaggio dei "limiti" non è proprio appropriato. Piuttosto, campioni di dimensioni maggiori tendono a rendere più ragionevole avere più predittori e la soglia di quanti predittori è ragionevole ricade probabilmente su un continuum di ragionevolezza. È possibile trovare pertinente la discussione delle regole empiriche per la dimensione del campione nella regressione multipla , poiché molte di queste regole empiriche fanno riferimento al numero di predittori.

Alcuni punti

  • Se si è interessati più alla previsione complessiva che alla rilevanza statistica dei singoli predittori, è probabilmente ragionevole includere un numero maggiore di predittori rispetto alla previsione statistica dei singoli predittori.
  • Se sei più interessato a testare un modello statistico specifico correlato alla tua domanda di ricerca (ad esempio, come è comune in molte applicazioni di scienze sociali), presumibilmente hai motivi per includere determinati predittori. Tuttavia, potresti anche avere l'opportunità di essere selettivo in quali predittori includi (ad esempio, se hai più variabili che misurano un costrutto simile, potresti includerne solo uno). Quando si eseguono test di modello basati sulla teoria, ci sono molte scelte e la decisione su quali predittori includere implica una stretta connessione tra la teoria e la domanda di ricerca.
  • Non vedo spesso i ricercatori che utilizzano correzioni bonferroni applicate ai test di significatività dei coefficienti di regressione. Una ragione ragionevole per questo potrebbe essere che i ricercatori sono più interessati a valutare le proprietà complessive del modello.
  • Se sei interessato a valutare l'importanza relativa dei predittori, trovo utile esaminare sia la relazione bivariata tra il predittore e il risultato, sia la relazione tra il predittore e il controllo del risultato per altri predittori. Se includi molti predittori, è spesso più probabile che tu includa predittori altamente intercorrelati. In tali casi, l'interpretazione degli indici di importanza sia del bivariato che del modello può essere utile, in quanto una variabile importante in senso bivariato potrebbe essere nascosta in un modello da altri predittori correlati ( ne elaboro di più qui con collegamenti ).


Una piccola simulazione R.

Ho scritto questa piccola simulazione per evidenziare la relazione tra dimensione del campione e stima dei parametri nella regressione multipla.

set.seed(1)

fitmodel <- function(n, k) {
  # n: sample size
  # k: number of predictors
  # return linear model fit for given sample size and k predictors
  x <- data.frame(matrix( rnorm(n*k), nrow=n))
  names(x) <- paste("x", seq(k), sep="")
  x$y <- rnorm(n)  
  lm(y~., data=x)
}

La fitmodelfunzione accetta due argomenti nper la dimensione del campione e kper il numero di predittori. Non sto contando la costante come un predittore, ma è stimata. Quindi genera dati casuali e adatta un modello di regressione che prevede una variabile dalle kvariabili predittive e restituisce l'adattamento.

Dato che nella tua domanda hai indicato che eri interessato al fatto che 10 predittori siano troppo, le seguenti chiamate di funzione mostrano cosa succede quando la dimensione del campione è rispettivamente 9, 10, 11 e 12. Vale a dire, la dimensione del campione è uno in meno del numero di predittori a due in più del numero di predittori

summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))

> riepilogo (fitmodel (n = 9, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455         NA      NA       NA
x1           0.34139         NA      NA       NA
x2          -0.45924         NA      NA       NA
x3           0.42474         NA      NA       NA
x4          -0.87727         NA      NA       NA
x5          -0.07884         NA      NA       NA
x6          -0.03900         NA      NA       NA
x7           1.08482         NA      NA       NA
x8           0.62890         NA      NA       NA
x9                NA         NA      NA       NA
x10               NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 8 and 0 DF,  p-value: NA 

La dimensione del campione è una in meno rispetto al numero di predittori. È possibile stimare solo 9 parametri, uno dei quali è la costante.

> riepilogo (fitmodel (n = 10, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!

Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)
(Intercept)   0.1724         NA      NA       NA
x1           -0.3615         NA      NA       NA
x2           -0.4670         NA      NA       NA
x3           -0.6883         NA      NA       NA
x4           -0.1744         NA      NA       NA
x5           -1.0331         NA      NA       NA
x6            0.3886         NA      NA       NA
x7           -0.9886         NA      NA       NA
x8            0.2778         NA      NA       NA
x9            0.4616         NA      NA       NA
x10               NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 9 and 0 DF,  p-value: NA 

La dimensione del campione è uguale al numero di predittori. È possibile stimare solo 10 parametri, uno dei quali è la costante.

> riepilogo (fitmodel (n = 11, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -0.9638         NA      NA       NA
x1           -0.8393         NA      NA       NA
x2           -1.5061         NA      NA       NA
x3           -0.4917         NA      NA       NA
x4            0.3251         NA      NA       NA
x5            4.4212         NA      NA       NA
x6            0.7614         NA      NA       NA
x7           -0.4195         NA      NA       NA
x8            0.2142         NA      NA       NA
x9           -0.9264         NA      NA       NA
x10          -1.2286         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:     1,  Adjusted R-squared:   NaN 
F-statistic:   NaN on 10 and 0 DF,  p-value: NA 

La dimensione del campione è uno in più rispetto al numero di predittori. Tutti i parametri sono stimati inclusa la costante.

> riepilogo (fitmodel (n = 12, k = 10))

Call:
lm(formula = y ~ ., data = x)

Residuals:
        1         2         3         4         5         6         7         8         9        10        11 
 0.036530 -0.042154 -0.009044 -0.117590  0.171923 -0.007976  0.050542 -0.011462  0.010270  0.000914 -0.083533 
       12 
 0.001581 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  0.14680    0.11180   1.313   0.4144  
x1           0.02498    0.09832   0.254   0.8416  
x2           1.01950    0.13602   7.495   0.0844 .
x3          -1.76290    0.26094  -6.756   0.0936 .
x4           0.44832    0.16283   2.753   0.2218  
x5          -0.76818    0.15651  -4.908   0.1280  
x6          -0.33209    0.18554  -1.790   0.3244  
x7           1.62276    0.21562   7.526   0.0841 .
x8          -0.47561    0.18468  -2.575   0.2358  
x9           1.70578    0.31547   5.407   0.1164  
x10          3.25415    0.46447   7.006   0.0903 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995,  Adjusted R-squared: 0.9452 
F-statistic: 19.96 on 10 and 1 DF,  p-value: 0.1726 

La dimensione del campione è due in più rispetto al numero di predittori ed è finalmente possibile stimare l'adattamento del modello complessivo.


Qualcuno può spiegare perché gli errori standard nel primo scenario (n = 9, k = 10) sono NA? Ho la formula di errore standard, ma non vedo come il denominatore sarebbe 0 per consentirci di ottenere NA.
matsuo_basho,

12

Spesso guardo questo dal punto di vista della probabilità che un modello dotato di un certo numero di parametri produca previsioni fuori campione che siano accurate quanto le previsioni fatte sul campione di sviluppo del modello originale. Curve di calibrazione, errori quadrati medi di X * Beta e indici di discriminazione predittiva sono alcune delle misure generalmente utilizzate. È qui che provengono alcune delle regole empiriche, come la regola 15: 1 (una dimensione del campione effettiva di 15 per parametro esaminato o stimato).

Per quanto riguarda la molteplicità, un perfetto aggiustamento per la molteplicità, supponendo che il modello mantenga e le assunzioni distributive soddisfatte, è il test globale che tutte le beta (tranne l'intercetta) sono zero. Questo è tipicamente testato usando un rapporto di verosimiglianza o un test F.

Esistono due approcci generali allo sviluppo del modello che tendono a funzionare bene. (1) Avere una dimensione del campione adeguata e adattarsi all'intero modello pre-specificato e (2) utilizzare la stima della probabilità massima penalizzata per consentire solo i gradi di libertà effettivi nella regressione che la dimensione del campione corrente supporterà. [La selezione della variabile graduale senza penalità non dovrebbe svolgere alcun ruolo, poiché si sa che non funziona.]


Tali regole empiriche si basano su ipotesi sulla dimensione dei coefficienti di regressione reali e sulla dimensione della varianza dell'errore? Avrei ragione nel pensare che se la varianza dell'errore fosse molto piccola, sarebbe accettabile un rapporto molto più piccolo di punti dati e parametri?
mark999,

1
Questo è un punto eccellente che ho trascurato di menzionare. La regola 15: 1 è per i tipi di segnale: rapporti di rumore osservati nelle scienze biomediche e sociali. Quando si ha una varianza residua bassa, è possibile stimare molti più parametri con precisione.
Frank Harrell,

10

npmpmmnp

1mKpσ1/log(p)σ1Xσ1p


6

In linea di principio, non vi è alcun limite di per sé a quanti predittori si possono avere. Puoi stimare 2 miliardi di "beta" in linea di principio. Ma ciò che accade in pratica è che senza dati sufficienti o informazioni preliminari sufficienti non si rivelerà un esercizio molto fruttuoso. Nessun parametro particolare sarà determinato molto bene e non imparerai molto dall'analisi.

Ora, se non si dispone di molte informazioni precedenti sul modello (struttura del modello, valori dei parametri, rumore, ecc.), Saranno necessari i dati per fornire tali informazioni. Questa è di solito la situazione più comune, il che ha senso, perché di solito hai bisogno di una ragione abbastanza buona per raccogliere dati (e spendere $$$) su qualcosa che già conosci abbastanza bene. Se questa è la tua situazione, allora un limite ragionevole è avere un gran numero di osservazioni per parametro. Hai 12 parametri (10 beta pendenza, 1 intercetta e un parametro noise), quindi qualsiasi cosa oltre 100 osservazioni dovrebbe essere in grado di determinare i tuoi parametri abbastanza bene da poter trarre delle conclusioni.

Ma non ci sono regole "dure e veloci". Con solo 10 predittori non dovresti avere problemi con il tempo di calcolo (se lo fai procurati un computer migliore). Significa principalmente solo fare più lavoro, perché hai 11 dimensioni di dati da assorbire - rendendo difficile la visualizzazione dei dati. I principi di base della regressione con solo 1 variabile dipendente non sono poi così diversi.

Il problema con la correzione bonferroni è che per essere un modo ragionevole di regolare il livello di significatività senza sacrificare troppo potere, hai bisogno dell'ipotesi per cui stai correggendo per essere indipendente (cioè apprendere che un'ipotesi è vera non ti dice nulla se un'altra ipotesi è vera). Ciò non è vero per il "test t" standard nella regressione multipla per un coefficiente pari a zero, ad esempio. La statistica del test dipende da cos'altro nel modello - che è un modo rotatorio per dire che le ipotesi dipendono. Oppure, un modo più frequente di dire questo è che la distribuzione campionaria del valore t subordinata al fatto che il predittore è zero dipende da quali altri parametri sono zero. Quindi usare la correzione bonferroni qui potrebbe darti un "complessivo" più basso

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.