Come è possibile gestire stime instabili nella regressione lineare con elevata multi-collinearità senza eliminare le variabili?


13

Stabilità beta nella regressione lineare con elevata multi-collinearità?

Diciamo in una regressione lineare, le variabili e hanno un'elevata multi-collinearità (la correlazione è intorno allo 0,9).x 2x1x2

Siamo preoccupati per la stabilità del coefficiente , quindi dobbiamo trattare la multi-collinearità.β

La soluzione per i libri di testo sarebbe semplicemente eliminare una delle variabili.

Ma non vogliamo perdere informazioni utili semplicemente gettando via le variabili.

Eventuali suggerimenti?


5
Hai provato qualche tipo di schema di regolarizzazione (ad es. Regressione della cresta)?
Néstor,

Risposte:


11

Puoi provare l' approccio della regressione della cresta nel caso in cui la matrice di correlazione sia vicina al singolare (ovvero le variabili hanno correlazioni elevate). Ti fornirà una solida stima di .β

L'unica domanda è come scegliere il parametro di regolarizzazione . Non è un problema semplice, anche se suggerisco di provare valori diversi.λ

Spero che sia di aiuto!


2
La convalida incrociata è la solita cosa da fare per scegliere ;-). λ
Néstor,

infatti (+1 per la risposta e il commento di Nestors), e se si eseguono i calcoli in "forma canonica" (usando una decomposizione di automa di , è possibile trovare minimizza l'errore di convalida incrociata "one-out-out" con il metodo di Newton a buon mercatoλXTXλ
Dikran Marsupial,

molte grazie! Qualche tutorial / note su come farlo incluso la validazione incrociata in R?
Luna

Dai un'occhiata al capitolo 3 di questo libro: stanford.edu/~hastie/local.ftp/Springer/ESLII_print5.pdf . L'implementazione della regressione della cresta viene eseguita in R da alcuni autori (Google è tuo amico!).
Néstor,

2
È possibile utilizzare la lm.ridgeroutine nel pacchetto MASS. Se gli passi un intervallo di valori per , ad esempio una chiamata come , otterrai le statistiche generalizzate di convalida incrociata e potrai tracciarle contro : per scegliere il minimo. λλfoo <- lm.ridge(y~x1+x2,lambda=seq(0,10,by=0.1))fooλplot(foo$GCV~foo$lambda)
jbowman,

10

Bene, c'è un metodo ad hoc che ho usato prima. Non sono sicuro che questa procedura abbia un nome ma abbia un senso intuitivo.

Supponiamo che il tuo obiettivo sia quello di adattare il modello

Yi=β0+β1Xi+β2Zi+εi

dove i due predittori - - sono altamente correlati. Come hai sottolineato, usarli entrambi nello stesso modello può fare cose strane per le stime dei coefficienti e i valori . Un'alternativa è quella di adattarsi al modello pXi,Zip

Zi=α0+α1Xi+ηi

Quindi il residuo non sarà correlato con e può, in un certo senso, essere pensato come la parte di che non è inclusa nella sua relazione lineare con . Quindi, è possibile procedere per adattarsi al modelloX i Z i X iηiXiZiXi

Yi=θ0+θ1Xi+θ2ηi+νi

che catturerà tutti gli effetti del primo modello (e, in effetti, avrà esattamente lo stesso del primo modello) ma i predittori non sono più collineari.R2

Modifica: l'OP ha chiesto una spiegazione del perché i residui non hanno, in via definitiva, una correlazione di esempio zero con il predittore quando si omette l'intercettazione come fanno quando l'intercettazione è inclusa. È troppo lungo per pubblicare un commento, quindi ho fatto una modifica qui. Questa derivazione non è particolarmente illuminante (purtroppo non sono riuscito a trovare un argomento intuitivo ragionevole) ma mostra ciò che l'OP ha richiesto :

Quando l'intercettazione viene omessa in una semplice regressione lineare , , quindi . La correlazione di esempio tra ed è proporzionale a dove indica la media campionaria della quantità sotto la barra. Ora mostrerò che questo non è necessariamente uguale a zero. ei=yi-xixiyiβ^=xiyixi2 xiei ¯ x e - ¯ x ¯ e ¯ ei=yixixiyixi2xiei

xe¯x¯e¯
¯

Per prima cosa abbiamo

xe¯=1n(xiyixi2xiyixi2)=xy¯(1xi2xi2)=0

ma

x¯e¯=x¯(y¯x¯xy¯x2¯)=x¯y¯x¯2xy¯x2¯

quindi, affinché e abbiano una correlazione di esempio esattamente pari a 0, è necessario che sia . Cioè, abbiamo bisogno dieixix¯e¯0

y¯=x¯xy¯x2¯

che non vale in generale per due serie arbitrarie di dati .x,y


Questo mi ricorda i grafici di regressione parziale .
Andy W,

3
Sembra un'approssimazione alla sostituzione con i loro componenti principali. (X,Z)
whuber

3
Una cosa che avevo in mente è che il PCA si generalizza facilmente a più di due variabili. Un altro è che tratta e simmetricamente, mentre la tua proposta sembra arbitrariamente individuare una di queste variabili. Un altro pensiero era che PCA fornisce un modo disciplinato per ridurre il numero di variabili (anche se si deve essere cauti al riguardo, poiché un piccolo componente principale può essere altamente correlato con la variabile dipendente). XZ
whuber

1
Ciao Macro, grazie per l'eccellente prova. Sì, ora lo capisco. Quando parliamo di correlazione del campione tra x e residui, è necessario includere il termine di intercettazione affinché la correlazione del campione sia 0. D'altro canto, quando parliamo di ortogonalità tra x e residui, non richiede il termine di intercettazione da includere, per mantenere l'ortogonalità.
Luna,

1
@Luna, non sono particolarmente d'accordo con l'uso della regressione della cresta - questo è stato proprio quello che mi è venuto in mente per la prima volta (ho risposto prima che mi fosse stato suggerito). Una cosa che posso dire è che la stima della regressione della cresta è distorta, quindi, in un certo senso, stai effettivamente stimando una quantità leggermente diversa (ridotta) rispetto alla regressione ordinaria, rendendo l'interpretazione dei coefficienti forse più stimolante (come gung allude a). Inoltre, ciò che ho descritto qui richiede solo la comprensione della regressione lineare di base e potrebbe essere più intuitivamente attraente per alcuni.
Macro,

4

Mi piacciono entrambe le risposte fornite finora. Vorrei aggiungere alcune cose.

Un'altra opzione è che puoi anche combinare le variabili. Questo viene fatto standardizzando entrambi (cioè trasformandoli in punteggi z), calcolandone la media e adattando il modello solo alla variabile composita. Questo sarebbe un buon approccio se ritieni che siano due diverse misure dello stesso costrutto sottostante. In tal caso, hai due misurazioni contaminate da errori. Il valore vero più probabile per la variabile che davverola cura è tra di loro, quindi la loro media fornisce una stima più accurata. Li standardizzi prima per metterli sulla stessa scala, in modo che i problemi nominali non contaminino il risultato (ad esempio, non vorrai fare la media di diverse misurazioni di temperatura se alcune sono Fahrenheit e altre sono Celsius). Naturalmente, se sono già sulla stessa scala (ad esempio, diversi sondaggi di opinione pubblica altamente correlati), puoi saltare questo passaggio. Se ritieni che una delle tue variabili sia più accurata dell'altra, potresti fare una media ponderata (magari usando i reciproci degli errori di misurazione).

Se le tue variabili sono solo misure diverse dello stesso costrutto e sono sufficientemente altamente correlate, potresti davvero scartarne una senza perdere molte informazioni. Ad esempio, una volta mi trovavo in una situazione in cui volevo usare una covariata per assorbire un po 'della varianza dell'errore e aumentare il potere, ma dove non mi importava di quella covariata - non era sostanzialmente germano. Avevo diverse opzioni disponibili ed erano tutte correlate tra loro . Praticamente ne ho scelto uno a caso e sono andato avanti, e ha funzionato bene. Sospetto che avrei perso il potere bruciando altri due gradi di libertà se avessi incluso anche gli altri usando qualche altra strategia. Certo, avrei potuto combinarli, ma perché preoccuparsi? r>.98Tuttavia, ciò dipende in modo critico dal fatto che le variabili sono correlate perché sono due versioni diverse della stessa cosa; se c'è una ragione diversa per cui sono correlati, questo potrebbe essere totalmente inappropriato.

Come suggerisce ciò, ti suggerisco di pensare a ciò che sta dietro le tue variabili correlate. Cioè, hai bisogno di una teoria del perché sono così fortemente correlati per fare il miglior lavoro nel scegliere quale strategia usare. Oltre alle diverse misure della stessa variabile latente, alcune altre possibilità sono una catena causale (ovvero ) e situazioni più complicate in cui le variabili sono il risultato di più forze causali, alcune delle quali sono le lo stesso per entrambi. Forse il caso più estremo è quello di una variabile soppressore, che @whuber descrive nel suo commento qui sotto. Il suggerimento di @ Macro, ad esempio, presuppone che tu sia principalmente interessato a e ti chiedi del contributo aggiuntivo diX1X2YXZ dopo aver rappresentato per contributo 's. Quindi, pensare perché le variabili sono correlate e che cosa volete sapere vi aiuterà a decidere quale (cioè, o ) può essere considerato e che . La chiave è usare le conoscenze teoriche per informare la tua scelta. Xx1x2XZ

Sono d'accordo sul fatto che la regressione della cresta sia probabilmente migliore, perché ti consente di utilizzare le variabili che avevi previsto originariamente e probabilmente produrrà beta molto vicini ai loro veri valori (anche se saranno di parte - vedi qui o qui per maggiori informazioni ). Tuttavia, penso che abbia anche due potenziali aspetti negativi: è più complicato (richiede una maggiore raffinatezza statistica), e il modello risultante è più difficile da interpretare, secondo me.

Ritengo che forse l'approccio finale sarebbe quello di adattare un modello di equazione strutturale. Questo perché ti consentirebbe di formulare l'esatta serie di relazioni che ritieni operative, comprese le variabili latenti. Tuttavia, non conosco SEM abbastanza bene per dire qualcosa al riguardo qui, oltre a menzionare la possibilità. (Sospetto anche che sarebbe eccessivo nella situazione che descrivi con solo due covariate.)


4
Per quanto riguarda il primo punto: lascia che il vettore abbia un intervallo di valori e che il vettore abbia piccoli valori completamente non correlati con modo che sia altamente correlato con . Impostare . Nella regressione di contro o non vedrai risultati significativi o importanti. Nella regressione di contro e otterrai una corrispondenza estremamente buona, perché . Pertanto, se si o e X 1 X 2 = X 1 + e X 1 Y = e Y X 1 X 2 Y X 1 X 2 Y = X 2 - X 1 X 1 X 2 Y YX1eX1X2=X1+eX1Y=eYX1X2YX1X2Y=X2X1X1X2, Avrete perso sostanzialmente tutte le informazioni su . Pertanto, "altamente correlato" non significa "avere informazioni equivalenti su ". YY
whuber

Grazie mille Gung! Q1. Perché questo approccio funziona: "Questo viene fatto standardizzando entrambi (cioè trasformandoli in punteggi z), calcolandone la media e adattando il modello solo alla variabile composita". Q2. Perché la regressione della cresta sarebbe migliore? Q3. Perché SEM sarebbe meglio? Qualcuno per favore accendi delle luci su questo? Grazie!
Luna

Ciao Luna, felice di aiutarti. In realtà ho intenzione di ri-modificare questo; @whuber aveva più ragione di quanto inizialmente mi fossi reso conto. Cercherò di aggiungere altro per aiutarti con le tue domande aggiuntive, ma ci vorrà molto, quindi potrebbe volerci un po '. Vedremo come va.
gung - Ripristina Monica
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.