VIF berekenen
Zoals je in de video hebt geleerd, is een van de meest gebruikte diagnostische maten voor multicollineariteit de variance inflation factor, of VIF, die voor elke verklarende variabele wordt berekend.
Onthoud uit de video dat de vuistregel een drempelwaarde is van VIF op het niveau van 2,5. Dat betekent: als de VIF boven 2,5 ligt, moet je ervan uitgaan dat multicollineariteit van invloed is op je gefitte model.
Het eerder gefitte model en de crab-gegevensset zijn al voor je ingeladen in de werkruimte.
Deze oefening maakt deel uit van de cursus
Generalized Linear Models in Python
Oefeninstructies
- Importeer
variance_inflation_factoruitstatsmodels. - Kies in de
crab-gegevensset de variabelenweight,widthencoloren sla deze op alsX. Voeg eenIntercept-kolom met enen toe aanX. - Maak met de
pandas-functieDataFrame()een legevif-dataframe en zet de kolomnamen vanXin de kolomVariables. - Bereken voor elke variabele de VIF met de functie
variance_inflation_factor()en sla deze op in devif-dataframe in de kolomVIF.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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
____(____)