Screening (Multi-) Kollinearität in einem Regressionsmodell
Ich hoffe das ist nicht zu "Fragen-und-Antwort" - Frage... hier geht:
(multi -) Kollinearität bezieht sich auf extrem hohe Korrelationen zwischen Prädiktoren in das Regressionsmodell. Wie Sie zu heilen... naja, manchmal brauchen Sie nicht zu "heilen", Kollinearität, da es nicht beeinflussen regression Modell selbst, sondern die interpretation der Wirkung einzelner Prädiktoren.
Einen Weg zu erkennen die Kollinearität ist, jedem Indikator als abhängige variable, und die anderen Prädiktoren als unabhängige Variablen, die Bestimmung von R2und wenn es größer als .9 (oder .95), können wir überlegen Prädiktor redundant. Dies ist eine "Methode"... was ist mit anderen Ansätzen? Einige von Ihnen nehmen viel Zeit in Anspruch, wie ohne Prädiktoren aus Modell und Beobachtung für die b-Koeffizienten verpasst - Sie sollten deutlich anders.
Natürlich, wir müssen immer Bedenken, die spezifische Kontext/Ziel der Analyse... Manchmal hilft nur wiederholen, ein Forschungs -, aber jetzt bin ich daran interessiert, verschiedene Arten von screening-redundante Prädiktoren, wenn der (multi)Kollinearität Auftritt in einem Regressionsmodell.
InformationsquelleAutor der Frage aL3xa | 2010-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
kappa()
- Funktion kann helfen. Hier ist ein simuliertes Beispiel:und wir gehen weiter, indem der Dritte regressor mehr und mehr kollinear:
Diese Näherungen verwendet, siehe
help(kappa)
für details.InformationsquelleAutor der Antwort Dirk Eddelbuettel
Nur hinzufügen zu dem, was Dirk sagte über den Zustand Anzahl Methode, Faustregel ist, dass die Werte von
CN > 30 indicate severe collinearity
. Andere Methoden, abgesehen von Zustand, Zahl, zählen:1) die Determinante der Kovarianz
die matrix reicht von 0 (Perfekte
Kollinearität) bis 1 (Keine Kollinearität)
2) Mit der Tatsache, dass die Determinante von diagonal-matrix ist das Produkt der Eigenwerte => Die Anwesenheit von einem oder mehr kleinen Eigenwerte gibt Kollinearität
3) Der Wert des Variance-Inflation-Faktor (VIF). Die VIF für Prädiktor i ist 1/(1-R_i^2), wo R_i^2 R^2 von einer regression Prädiktor, die ich gegen die übrigen Prädiktoren. Kollinearität liegt vor, wenn VIF für mindestens eine unabhängige variable ist groß. Faustregel:
VIF > 10 is of concern
. Für eine Implementierung in R siehe hier. Ich möchte auch anmerken, dass die Verwendung von R^2 für die Bestimmung der Kollinearität sollte gehen hand in hand mit der visuellen Prüfung der streudiagramme da ein einzelner Ausreißer kann "Ursache" Kollinearität, wo es nicht existiert, oder VERSTECKEN kann Kollinearität wo es das gibt.InformationsquelleAutor der Antwort George Dontas
Möchten Sie vielleicht, Vito Ricci-Referenz-Karte "R-Funktionen Für die Regressionsanalyse"
http://cran.r-project.org/doc/contrib/Ricci-refcard-regression.pdf
Es kurz und bündig Listen viele nützliche regression Verwandte Funktionen in R einschließlich Diagnose-Funktionen.
Insbesondere listet er die
vif
Funktion aus dercar
Paket bewerten multicollinearity.http://en.wikipedia.org/wiki/Variance_inflation_factor
Berücksichtigung von multicollinearity geht oft hand in hand mit Fragen der Bewertung von Variablen Bedeutung. Wenn dies auf Sie zutrifft, vielleicht schauen Sie sich die
relaimpo
Paket: http://prof.beuth-hochschule.de/groemping/relaimpo/InformationsquelleAutor der Antwort Jeromy Anglim
Siehe auch Abschnitt 9.4 in diesem Buch: Practical Regression and Anova using R [Faraway 2002].
Kollinearität kann erkannt werden, haben Sie mehrere Möglichkeiten:
Prüfung der Korrelationsmatrix der Prädiktoren wird zeigen grosse paarweise collinearities.
Einer regression von x_i auf alle anderen Prädiktoren gibt R^2_i. Wiederholen Sie dies für alle Prädiktoren. R^2_i nahe eins deutet auf ein problem — die problematische lineare Kombination gefunden werden können.
Untersuchen die Eigenwerte
t(X) %*% X
woX
bezeichnet das Modell matrix; Kleine Eigenwerte auf ein problem hindeuten. Die 2-norm condition number) kann gezeigt werden, dass das Verhältnis der größten zur kleinsten nicht-null-singular-Wert der matrix ($\kappa = \sqrt{\lambda_1/\lambda_p}$; siehe?kappa
);\kappa >= 30
als groß einzustufen ist.InformationsquelleAutor der Antwort rcs
Da gibt es keine Erwähnung von VIF so weit, ich will hinzufügen, meine Antwort. Variance-Inflation-Faktor>10 zeigt in der Regel an schweren Redundanz zwischen Prädiktor-Variablen. VIF gibt an, um welchen Faktor die Varianz des Koeffizienten einer variable erhöhen würde, wenn es keine hohe Korrelation mit anderen Variablen.
vif()
ist verfügbar im Paketcars
und angewandt auf ein Objekt der Klasse lm). Es gibt die vif von x1, x2 . . . xn im Objektlm()
. Es ist eine gute Idee, um auszuschließen, Variablen mit einem vif >10 oder einzuführen, die Transformationen an den Variablen mit einem vif>10.InformationsquelleAutor der Antwort vagabond