VIF berechnen
Wie du im Video gelernt hast, ist einer der am häufigsten verwendeten Diagnosetests für Multikollinearität der Variance Inflation Factor (VIF), der für jede erklärende Variable berechnet wird.
Erinnere dich an die Faustregel aus dem Video: Der Schwellenwert liegt bei einem VIF von 2,5. Das bedeutet, wenn der VIF über 2,5 liegt, solltest du davon ausgehen, dass Multikollinearität dein angepasstes Modell beeinflusst.
Das zuvor angepasste model und der crab-Datensatz sind im Workspace vorab geladen.
Diese Übung ist Teil des Kurses
Generalisierte lineare Modelle in Python
Anleitung zur Übung
- Importiere aus
statsmodelsvariance_inflation_factor. - Wähle aus dem Datensatz
crabweight,widthundcolorund speichere es alsX. FügeXeineIntercept-Spalte mit Einsen hinzu. - Erstelle mit der
pandas-FunktionDataFrame()einen leerenvif-DataFrame und füge die Spaltennamen vonXin der SpalteVariableshinzu. - Berechne für jede Variable den VIF mit der Funktion
variance_inflation_factor()und speichere ihn imvif-DataFrame in der SpalteVIF.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import functions
from statsmodels.stats.outliers_influence import ____
# Get variables for which to compute VIF and add intercept term
X = ____[[____, ____, ____]]
X[____] = 1
# Compute and view VIF
vif = pd.____
vif["variables"] = X.____
vif["VIF"] = [____(X.values, i) for i in range(X.shape[1])]
# View results using print
____(____)