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
Instructions de l’exercice
- À partir de
statsmodels, importezvariance_inflation_factor. - À partir de l'ensemble
crab, choisissezweight,widthetcoloret enregistrez-les dansX. Ajoutez une colonneInterceptremplie de 1 àX. - À l'aide de la fonction
pandasDataFrame(), créez un tableau de donnéesvifvide et ajoutez les noms de colonnes deXdans la colonneVariables. - Pour chaque variable, calculez le VIF à l'aide de la fonction
variance_inflation_factor()et enregistrez la valeur dans le tableau de donnéesvifsous la colonneVIF.
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
____(____)