CommencezCommencez gratuitement

Calculer le VIF

Comme vous l'avez vu dans la vidéo, l'un des diagnostics les plus utilisés pour la multicolinéarité est le facteur d'inflation de la variance (VIF), calculé pour chaque variable explicative.

Rappelez-vous de la vidéo que le seuil pratique est un VIF de 2,5 : si le VIF dépasse 2,5, vous devriez considérer qu'il y a un effet de multicolinéarité sur votre modèle ajusté.

Le model déjà ajusté et l'ensemble de données crab sont préchargés dans l'espace de travail.

Cette activité fait partie du cours

Modèles linéaires généralisés en Python

Voir le cours

Instructions de l’exercice

  • À partir de statsmodels, importez variance_inflation_factor.
  • À partir de l'ensemble crab, choisissez weight, width et color et enregistrez-les dans X. Ajoutez une colonne Intercept remplie de 1 à X.
  • À l'aide de la fonction pandas DataFrame(), créez un tableau de données vif vide et ajoutez les noms de colonnes de X dans la colonne Variables.
  • Pour chaque variable, calculez le VIF à l'aide de la fonction variance_inflation_factor() et enregistrez la valeur dans le tableau de données vif sous la colonne VIF.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
____(____)
Modifier et exécuter le code