LoslegenKostenlos starten

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

<Kurs>Generalisierte lineare Modelle in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere aus statsmodels variance_inflation_factor.
  • Wähle aus dem Datensatz crab weight, width und color und speichere es als X. Füge X eine Intercept-Spalte mit Einsen hinzu.
  • Erstelle mit der pandas-Funktion DataFrame() einen leeren vif-DataFrame und füge die Spaltennamen von X in der Spalte Variables hinzu.
  • Berechne für jede Variable den VIF mit der Funktion variance_inflation_factor() und speichere ihn im vif-DataFrame in der Spalte VIF.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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
____(____)
Code bearbeiten und ausführen