Zacznij terazZacznij za darmo

Obliczanie VIF

Jak pokazano w filmie, jedną z najczęściej stosowanych diagnostyk wielokoliniowości jest współczynnik inflacji wariancji (VIF, ang. variance inflation factor), obliczany dla każdej zmiennej objaśniającej.

Pamiętaj, że stosowana reguła kciuka zakłada próg VIF na poziomie 2,5 – jeśli VIF przekracza tę wartość, należy wziąć pod uwagę wpływ wielokoliniowości na dopasowany model.

Wcześniej dopasowany model oraz zbiór danych crab są wstępnie załadowane w przestrzeni roboczej.

To ćwiczenie jest częścią kursu

Uogólnione modele liniowe w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Z biblioteki statsmodels zaimportuj variance_inflation_factor.
  • Ze zbioru danych crab wybierz kolumny weight, width i color i zapisz jako X. Dodaj do X kolumnę Intercept wypełnioną jedynkami.
  • Używając funkcji DataFrame() z biblioteki pandas, utwórz pustą ramkę danych vif i dodaj nazwy kolumn z X w kolumnie Variables.
  • Dla każdej zmiennej oblicz VIF za pomocą funkcji variance_inflation_factor() i zapisz wynik w ramce danych vif w kolumnie VIF.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
____(____)
Edytuj i uruchom kod