CommencerCommencer gratuitement

Calculer le VIF

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

Rappelez-vous : la règle pratique est un seuil de VIF à 2,5. Autrement dit, si le VIF dépasse 2,5, vous devez considérer qu’il y a un effet de multicolinéarité sur votre modèle ajusté.

Le model déjà ajusté et le jeu de données crab sont préchargés dans l’environnement de travail.

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

  • Depuis statsmodels, importez variance_inflation_factor.
  • À partir du jeu de données crab, choisissez weight, width et color et enregistrez-les dans X. Ajoutez une colonne Intercept de 1 à X.
  • En utilisant la fonction pandas DataFrame(), créez un dataframe vif vide et ajoutez les noms de colonnes de X dans la colonne Variables.
  • Pour chaque variable, calculez le VIF avec la fonction variance_inflation_factor() et enregistrez-le dans le dataframe vif sous le nom de colonne VIF.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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