CommencerCommencez gratuitement

Éviter la multicolinéarité

Revenons à notre jeu de données des ventes salesData, déjà chargé dans l'espace de travail. De plus, le package rms est chargé.

Estimons une régression linéaire multiple ! Bien sûr, nous voulons utiliser toutes les variables disponibles dans le jeu de données.

Cet exercice fait partie du cours

<cours>Machine Learning for Marketing Analytics in R</cours>
Voir le cours

Instructions de l’exercice

  • Calculez un modèle complet appelé salesModel1 en utilisant toutes les variables sauf id pour expliquer les ventes de ce mois. Pour cela, complétez les bons noms de variables dans la syntaxe générique suivante : response ~ . - excluded_variable. Cela se lit comme « response modélisée par toutes les variables sauf excluded_variable ».
  • Estimez les facteurs d'inflation de la variance avec la fonction vif() du package rms.
  • En plus d'exclure la variable id, retirez les variables preferredBrand et nBrands afin d'éviter la multicolinéarité. Pour ce faire, ajoutez chacune d'elles avec -. Stockez le modèle dans un objet appelé salesModel2.
  • Réestimez les facteurs d'inflation de la variance du modèle. Accepteriez-vous désormais les résultats ?

Exercice interactif pratique

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

# Estimating the full model
salesModel1 <- lm(salesThisMon ~ . - ___, 
                 data = salesData)

# Checking variance inflation factors
vif(___)

# Estimating new model by removing information on brand
salesModel2 <- lm(salesThisMon ~ . - ___, 
                 data = ___)

# Checking variance inflation factors
___
Modifier et exécuter le code