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
Instructions
- Depuis
statsmodels, importezvariance_inflation_factor. - À partir du jeu de données
crab, choisissezweight,widthetcoloret enregistrez-les dansX. Ajoutez une colonneInterceptde 1 àX. - En utilisant la fonction
pandasDataFrame(), créez un dataframevifvide et ajoutez les noms de colonnes deXdans la colonneVariables. - Pour chaque variable, calculez le VIF avec la fonction
variance_inflation_factor()et enregistrez-le dans le dataframevifsous le nom de colonneVIF.
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
____(____)