É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>Instructions de l’exercice
- Calculez un modèle complet appelé
salesModel1en utilisant toutes les variables saufidpour 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 «responsemodélisée par toutes les variables saufexcluded_variable». - Estimez les facteurs d'inflation de la variance avec la fonction
vif()du packagerms. - En plus d'exclure la variable
id, retirez les variablespreferredBrandetnBrandsafin 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
___