So testen sie die multikollinearität in r
Bei der Regressionsanalyse tritt Multikollinearität auf, wenn zwei oder mehr Prädiktorvariablen stark miteinander korrelieren, sodass sie im Regressionsmodell keine eindeutigen oder unabhängigen Informationen liefern.
Wenn der Korrelationsgrad zwischen den Prädiktorvariablen hoch genug ist, kann dies zu Problemen bei der Anpassung und Interpretation des Regressionsmodells führen.
Der einfachste Weg, Multikollinearität in einem Regressionsmodell zu erkennen, ist die Berechnung einer Metrik, die als Varianzinflationsfaktor bekannt ist und oft mit VIF abgekürzt wird.
VIF misst die Stärke der Korrelation zwischen Prädiktorvariablen in einem Modell. Er nimmt einen Wert zwischen 1 und positiver Unendlichkeit an.
Zur Interpretation von VIF-Werten verwenden wir die folgenden Faustregeln:
- VIF = 1: Es besteht keine Korrelation zwischen einer bestimmten Prädiktorvariablen und einer anderen Prädiktorvariablen im Modell.
- VIF zwischen 1 und 5: Es besteht eine mäßige Korrelation zwischen einer bestimmten Prädiktorvariablen und anderen Prädiktorvariablen im Modell.
- VIF > 5 : Es besteht eine starke Korrelation zwischen einer bestimmten Prädiktorvariablen und anderen Prädiktorvariablen im Modell.
Das folgende Beispiel zeigt, wie man Multikollinearität in einem Regressionsmodell in R erkennt, indem man VIF-Werte für jede Prädiktorvariable im Modell berechnet.
Beispiel: Testen auf Multikollinearität in R
Angenommen, wir haben den folgenden Datenrahmen, der Informationen über verschiedene Basketballspieler enthält:
#create data frame df = data. frame (rating = c(90, 85, 82, 88, 94, 90, 76, 75, 87, 86), points=c(25, 20, 14, 16, 27, 20, 12, 15, 14, 19), assists=c(5, 7, 7, 8, 5, 7, 6, 9, 9, 5), rebounds=c(11, 8, 10, 6, 6, 9, 6, 10, 10, 7)) #view data frame df rating points assists rebounds 1 90 25 5 11 2 85 20 7 8 3 82 14 7 10 4 88 16 8 6 5 94 27 5 6 6 90 20 7 9 7 76 12 6 6 8 75 15 9 10 9 87 14 9 10 10 86 19 5 7
Angenommen, wir möchten ein multiples lineares Regressionsmodell anpassen, indem wir „scoring“ als Antwortvariable und „points“ , „assists “ und „ rebounds “ als Prädiktorvariablen verwenden.
Um den VIF für jede Prädiktorvariable im Modell zu berechnen, können wir die Funktion vive() aus dem Paket car verwenden:
library (car) #define multiple linear regression model model <- lm(rating ~ points + assists + rebounds, data=df) #calculate the VIF for each predictor variable in the model lively(model) points assists rebounds 1.763977 1.959104 1.175030
Wir können die VIF-Werte für jede der Prädiktorvariablen sehen:
- Punkte: 1,76
- Vorlagen: 1,96
- Rebounds: 1,18
Da jeder der VIF-Werte der Prädiktorvariablen im Modell nahe bei 1 liegt, ist Multikollinearität im Modell kein Problem.
Hinweis : Wenn sich herausstellt, dass Multikollinearität in Ihrem Modell ein Problem darstellt, besteht die schnellste Lösung in den meisten Fällen darin, eine oder mehrere stark korrelierte Variablen zu entfernen.
Dies ist häufig eine akzeptable Lösung, da die von Ihnen entfernten Variablen ohnehin redundant sind und dem Modell nur wenige eindeutige oder unabhängige Informationen hinzufügen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So führen Sie eine multiple lineare Regression in R durch
So erstellen Sie ein QQ-Diagramm in R
So erstellen Sie ein Residuendiagramm in R