Beräkna VIF
Som du lärde dig i videon är variansinflaationsfaktorn – VIF (variance inflation factor) – ett av de mest använda diagnostiska verktygen för multikollinearitet. VIF beräknas för varje förklaringsvariabel.
Kom ihåg tumregeln från videon: om VIF överstiger 2,5 bör du ta hänsyn till multikollinearitetens effekt på din anpassade modell.
Den tidigare anpassade model och datamängden crab är förinlästa i arbetsytan.
Den här övningen är en del av kursen
Generaliserade linjära modeller i Python
Övningsinstruktioner
- Importera
variance_inflation_factorfrånstatsmodels. - Välj kolumnerna
weight,widthochcolorfrån datamängdencraboch spara somX. Lägg till enIntercept-kolumn med enbart ettor iX. - Skapa en tom dataram
vifmedpandas-funktionenDataFrame()och lägg till kolumnnamnen frånXi kolumnenVariables. - Beräkna VIF för varje variabel med funktionen
variance_inflation_factor()och spara resultaten i dataramenvifunder kolumnnamnetVIF.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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
____(____)