Lösungen für Multikollinearität in Regression (1), R-Blogger

In Mehrfach-Regressionsanalyse ist multicollinearity ein weit verbreitetes Phänomen, bei dem zwei oder mehr Prädiktorvariablen stark korreliert sind. Wenn es eine exakte lineare Beziehung (perfekt multicollinearity) unter den unabhängigen Variablen ist, ist der Rang von X weniger als k + 1 (nehmen die Anzahl der Vorhersagevariablen k) und die Matrix nicht umkehrbar sein. So ist die starken Korrelationen verursachen Rechen Instabilität und der OLS-Schätzer ist nicht mehr die BLUE (bester linearer unverzerrter Schätzer).

Wir können mehrere gemeinsame Wege nutzen multicollinearity zu messen, zum Beispiel, VIF (Varianzinflationsfaktor) und Konditionszahl. VIF ist definiert als

und Konditionszahl ist gegeben durch

einige Referenzen entsprechend, wenn der VIF zu groß ist (mehr als 5 oder 10) oder Konditionszahl mehr als 15 (30) sehen wir, dass die multicollinearity existent ist.

Um dieses Problem zu lösen, gibt es 2 Hauptansätze. Erstens können wir robuste Regressionsanalyse anstelle von OLS (Ordinary Least Squares), wie ridge regression, lasso Regression und Hauptkomponentenregression verwendet werden. Auf der anderen Seite ist die statistischen Lern ​​Regression auch eine gute Methode, wie Regressionsbaum, Absacken Regression, Random Forest Regression, neuronale Netzwerk und SVR (Support-Vektor-Regression).

1 Ridge Regression

Ridge Regression behandelt das Problem durch Verwendung von Regressionskoeffizienten Abschätzen

wobei k der Grat Parameter und I die Identitätsmatrix ist. Kleine positive Werte von k die Konditionierung des Problems verbessern und die Varianz der Schätzungen zu reduzieren. Während voreingenommen, führt die reduzierte Varianz der Schätzungen ridge oft in einem kleineren mittleren quadratischen Fehlern, wenn zu dem kleinsten Quadrate-Schätzungen verglichen.

Offensichtlich ist die Frage, wie der Parameter k zu bestimmen. Im Allgemeinen Ridge Spur, Generalized Kreuzvalidierung (GCV) und Mallows Cp sind weit verbreitet. In R Sprache könnte die Funktion lm.ridge () in Paket MASS Ridge-Regression (lineares Modell) implementieren. Die Probencodes und Ausgabe wie folgt

Nach dem Ergebnis können wir sehen, dass 0.006 ein geeigneter Wert für First Parameter ist. Eigentlich durch die Grat Spur Kurve, können wir auch einen ähnlichen Abschluss erhalten.

R Code wie folgt

Weiterhin stellt Paket ridge eine Funktion namens linearRidge (), die auch passt, ist ein lineares Regressionsmodell Kamm, und gegebenenfalls wird die Firstregressionsparameter automatisch unter Verwendung des von Cule vorgeschlagenen ausgewählt. Beispielsweise

In diesem Fall wählen Sie die Funktion als 0,01 First Parameter, so ist das Ergebnis aus der Ausgabe von lm.ridge wenig anders ist.

Darüber hinaus, wenn Sie ein Matlab-Benutzer sind, trägt die Statistics Toolbox ™ Funktion First Ridge-Regression aus.

In Verbindung stehende Artikel