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).
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?
Antworten:
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!
quelle
lm.ridge
Routine 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)
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
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,Zi p
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ηi Xi Zi Xi
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-xi∑xiyiβ^=∑xiyi∑x2i . 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=yi−xi∑xiyi∑x2i xi ei
Zuerst haben wir
aber
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 yei xi x¯¯¯e¯¯¯ 0
das gilt im allgemeinen nicht für zwei beliebige Datensätze .x,y
quelle
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).
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.)
quelle