IniziaInizia gratis

Calcolare il VIF

Come hai visto nel video, uno dei diagnostici più usati per la multicollinearità è il variance inflation factor, o VIF, calcolato per ogni variabile esplicativa.

Ricorda dal video che una regola pratica fissa la soglia del VIF a 2.5: se il VIF è superiore a 2.5, dovresti considerare presente un effetto di multicollinearità sul modello stimato.

Il model già adattato e il dataset crab sono pre-caricati nell’ambiente di lavoro.

Questo esercizio fa parte del corso

Modelli lineari generalizzati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Da statsmodels importa variance_inflation_factor.
  • Dal dataset crab seleziona weight, width e color e salva come X. Aggiungi a X la colonna Intercept di soli uno.
  • Usando la funzione pandas DataFrame() crea un dataframe vif vuoto e aggiungi i nomi delle colonne di X nella colonna Variables.
  • Per ciascuna variabile calcola il VIF usando la funzione variance_inflation_factor() e salvalo nel dataframe vif con il nome di colonna VIF.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
____(____)
Modifica ed esegui il codice