Wie kann man mit instabilen

13

Beta-Stabilität in linearer Regression mit hoher Multi-Kollinearität?

Nehmen wir an, in einer linearen Regression haben die Variablen und x 2 eine hohe Multi-Kollinearität (die Korrelation liegt bei 0,9).x1x2

Wir sind besorgt über die Stabilität des Koeffizienten, daher müssen wir die Multikollinearität behandeln.β

Die Lehrbuchlösung wäre, einfach eine der Variablen wegzuwerfen.

Wir möchten jedoch keine nützlichen Informationen verlieren, indem wir einfach Variablen wegwerfen.

Irgendwelche Vorschläge?

Luna
quelle
5
Haben Sie eine Art Regularisierungsschema ausprobiert (z. B. Kammregression)?
Néstor

Antworten:

11

Sie können einen Ridge-Regressionsansatz ausprobieren, wenn die Korrelationsmatrix nahe am Singular liegt (dh Variablen weisen hohe Korrelationen auf). Sie erhalten eine zuverlässige Schätzung von .β

Die einzige Frage ist, wie der Regularisierungsparameter . Es ist kein einfaches Problem, obwohl ich vorschlage, andere Werte auszuprobieren.λ

Hoffe das hilft!

Paul
quelle
2
Kreuzvalidierung ist die übliche Vorgehensweise bei der Auswahl von ;-). λ
Néstor
in der Tat (+1 für Antwort und Nestors Kommentar), und wenn Sie die Berechnungen in "kanonischer Form" durchführen (unter Verwendung einer Eigenzerlegung von , können Sie feststellen, dass λ den ausgelassenen Kreuzvalidierungsfehler durch minimiert Newtons Methode sehr billigXTXλ
Dikran Beuteltier
Vielen Dank! Gibt es ein Tutorial / Hinweise dazu, einschließlich der Kreuzvalidierung in R?
Luna
Lesen Sie Kapitel 3 in diesem Buch: stanford.edu/~hastie/local.ftp/Springer/ESLII_print5.pdf . Die Implementierung der Gratregression wird von einigen Autoren in R durchgeführt (Google ist Ihr Freund!).
Néstor
2
Sie können die lm.ridgeRoutine im MASS-Paket verwenden. Wenn Sie einen Wertebereich für , z. B. einen Aufruf wie , erhalten Sie die verallgemeinerte Kreuzvalidierungsstatistik in zurück und können diese gegen λ plotten : um das Minimum auszuwählen. λfoo <- lm.ridge(y~x1+x2,lambda=seq(0,10,by=0.1))fooλplot(foo$GCV~foo$lambda)
Bogenschütze
10

Nun, es gibt eine Ad-hoc-Methode, die ich zuvor verwendet habe. Ich bin nicht sicher, ob dieses Verfahren einen Namen hat, aber es ist intuitiv sinnvoll.

Angenommen, Ihr Ziel ist es, das Modell anzupassen

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

wobei die beiden Prädiktoren - - stark korreliert sind. Wie Sie bereits betont haben, kann die Verwendung beider Werte im selben Modell seltsame Auswirkungen auf die Koeffizientenschätzungen und p- Werte haben. Eine Alternative besteht darin, das Modell anzupassenXi,Zip

Zi=α0+α1Xi+ηi

Dann ist der Rest nicht mit X i korreliert und kann in gewissem Sinne als der Teil von Z i angesehen werden , der durch seine lineare Beziehung zu X i nicht subsumiert wird . Anschließend können Sie mit dem Anpassen des Modells fortfahrenηiXiZiXi

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

Das erfasst alle Effekte des ersten Modells (und hat tatsächlich genau das gleiche wie das erste Modell), aber die Prädiktoren sind nicht mehr kollinear.R2

Bearbeiten: Das OP hat um eine Erklärung gebeten, warum die Residuen definitiv keine Stichprobenkorrelation von Null mit dem Prädiktor haben, wenn Sie den Schnittpunkt weglassen, wie sie es tun, wenn der Schnittpunkt enthalten ist. Das ist zu lang, um es in den Kommentaren zu veröffentlichen, deshalb habe ich hier eine Änderung vorgenommen. Diese Herleitung ist nicht besonders aufschlussreich (ich konnte leider kein vernünftiges, intuitives Argument finden), zeigt aber, was das OP verlangt hat :

Wenn der Schnittpunkt in der einfachen linearen Regression wird weggelassen , β = Σ x i y i , alsoei=yi-xixiyiβ^=xiyixi2 . Die Probe Korrelation zwischenxiundeiist proportional zu ¯ x e - ¯ x ¯ e wobei ¯ bezeichnet die Probe Mittelwert der Menge unter der Stange. Ich werde jetzt zeigen, dass dies nicht unbedingt gleich Null ist.ei=yixixiyixi2xiei

xe¯x¯e¯
¯

Zuerst haben wir

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

aber

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

so , um das und x i von genau 0 eine Probe Korrelation zu haben, müssen wir ¯ x ¯ e sein 0 . Das heißt, wir brauchen ¯ y = ¯ x¯ x yeixix¯e¯0

y¯=x¯xy¯x2¯

das gilt im allgemeinen nicht für zwei beliebige Datensätze .x,y

Makro
quelle
Dies erinnert mich an partielle Regressionskurven .
Andy W
3
(X,Z)
3
XZ
1
Hallo Macro, vielen Dank für den hervorragenden Beweis. Ja jetzt verstehe ich es. Wenn wir über die Stichprobenkorrelation zwischen x und Residuen sprechen, muss der Intercept-Term einbezogen werden, damit die Stichprobenkorrelation 0 ist. Wenn wir dagegen über die Orthogonalität zwischen x und Residuen sprechen, ist der Intercept-Term nicht erforderlich enthalten sein, damit die Orthogonalität gilt.
Luna
1
@Luna, ich bin nicht besonders einverstanden mit der Verwendung der Gratregression - dies war genau das, was mir zuerst einfiel (ich antwortete, bevor dies vorgeschlagen wurde). Eine Sache, die ich sagen kann, ist, dass die Ridge-Regressionsschätzung voreingenommen ist. In gewissem Sinne schätzen Sie also tatsächlich eine etwas andere (geschrumpfte) Größe als bei einer normalen Regression, was die Interpretation der Koeffizienten möglicherweise schwieriger macht (als Gung) spielt auf) an. Außerdem erfordert das, was ich hier beschrieben habe, nur ein Verständnis der linearen Grundregression und ist möglicherweise für einige intuitiver.
Makro
4

Ich mag beide bisher gegebenen Antworten. Lassen Sie mich ein paar Dinge hinzufügen.

Eine weitere Option ist, dass Sie die Variablen auch kombinieren können. Dazu werden beide standardisiert (dh in Z-Scores umgewandelt), gemittelt und das Modell dann nur mit der zusammengesetzten Variablen ausgestattet. Dies ist ein guter Ansatz, wenn Sie glauben, dass es sich um zwei verschiedene Kennzahlen desselben zugrunde liegenden Konstrukts handelt. In diesem Fall haben Sie zwei Messungen, die mit Fehlern verunreinigt sind. Der wahrscheinlichste wahre Wert für die Variable, die Sie wirklichPflege ist zwischen ihnen, so dass die Mittelung ihnen eine genauere Schätzung gibt. Sie standardisieren sie zuerst, um sie auf die gleiche Skala zu bringen, damit nominelle Probleme das Ergebnis nicht verunreinigen (z. B. möchten Sie nicht mehrere Temperaturmessungen mitteln, wenn einige Fahrenheit und andere Celsius sind). Wenn sie sich bereits in derselben Größenordnung befinden (z. B. mehrere stark korrelierte Meinungsumfragen), können Sie diesen Schritt natürlich überspringen. Wenn Sie der Meinung sind, dass eine Ihrer Variablen genauer ist als die andere, können Sie einen gewichteten Durchschnitt bilden (möglicherweise unter Verwendung der Kehrwerte der Messfehler).

r>.98habe sie kombiniert, aber warum die Mühe machen? Dies hängt jedoch entscheidend von der Tatsache ab, dass Ihre Variablen korreliert sind, da es sich um zwei verschiedene Versionen derselben Sache handelt. Wenn es einen anderen Grund für die Korrelation gibt, kann dies völlig unangemessen sein.

X1X2YXZ Xx1x2XZ

Ich bin damit einverstanden, dass die Gratregression wahrscheinlich besser ist, da Sie damit die ursprünglich beabsichtigten Variablen verwenden können und wahrscheinlich Betas erhalten, die ihren wahren Werten sehr nahe kommen (obwohl sie voreingenommen sein werden - siehe hier oder hier für weitere Informationen ). Ich denke jedoch, dass dies auch zwei mögliche Nachteile hat: Es ist komplizierter (erfordert mehr statistische Raffinesse) und das resultierende Modell ist meiner Meinung nach schwieriger zu interpretieren.

Ich denke, dass der ultimative Ansatz darin besteht, ein Strukturgleichungsmodell zu erstellen. Dies liegt daran, dass Sie die exakten Beziehungen formulieren können, von denen Sie glauben, dass sie operativ sind, einschließlich latenter Variablen. Ich kenne SEM jedoch nicht gut genug, um hier etwas dazu zu sagen, außer die Möglichkeit zu erwähnen. (Ich vermute auch, dass es in der Situation, die Sie mit nur zwei Kovariaten beschreiben, übertrieben wäre.)

gung - Wiedereinsetzung von Monica
quelle
4
X1eX1X2=X1+eX1Y=eYX1X2YX1X2Y=X2X1X1X2YY
Vielen Dank Gung! Q1. Warum funktioniert dieser Ansatz: "Dazu werden beide standardisiert (dh in Z-Scores umgewandelt), gemittelt und Ihr Modell dann nur mit der zusammengesetzten Variablen ausgestattet."? Q2. Warum sollte Ridge Regression besser sein? Q3. Warum wäre SEM besser? Hat jemand bitte Licht ins Dunkel gebracht? Vielen Dank!
Luna
Hallo Luna, bin froh zu helfen. Ich werde dies tatsächlich überarbeiten. @whuber hatte mehr recht als ich ursprünglich gedacht hatte. Ich werde versuchen, mehr zu tun, um mit Ihren zusätzlichen Fragen zu helfen, aber es wird eine Menge dauern, so dass es eine Weile dauern könnte. Wir werden sehen, wie es geht.
gung - Reinstate Monica