Začněte nyníZačněte zdarma

Výpočet VIF

Jak sis ukázal/a ve videu, jednou z nejpoužívanějších diagnostik pro multikolinearitu je faktor inflace rozptylu, neboli VIF, který se počítá pro každou vysvětlující proměnnou.

Z videa si vzpomeneš, že orientační práh je hodnota VIF 2,5 – pokud je VIF vyšší než 2,5, je třeba uvažovat o tom, že multikolinearita ovlivňuje tvůj natrénovaný model.

V pracovním prostředí jsou předem načteny dříve natrénovaný model a dataset crab.

Toto cvičení je součástí kurzu

Zobecněné lineární modely v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Z statsmodels importuj variance_inflation_factor.
  • Z datasetu crab vyber sloupce weight, width a color a ulož jako X. Přidej do X sloupec Intercept obsahující jedničky.
  • Pomocí funkce DataFrame() z pandas vytvoř prázdný datový rámec vif a do sloupce Variables přidej názvy sloupců z X.
  • Pro každou proměnnou vypočítej VIF pomocí funkce variance_inflation_factor() a výsledek ulož do datového rámce vif do sloupce s názvem VIF.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
____(____)
Upravit a spustit kód