Устранение мультиколлинеарности
Вернёмся к набору данных о продажах salesData, который уже загружен в рабочую среду. Также загружен пакет rms.
Давайте оценим множественную линейную регрессию! Воспользуемся всеми переменными, которые есть в наборе данных.
Это упражнение является частью курса
Машинное обучение для маркетинговой аналитики на R
Инструкции к упражнению
- Постройте полную модель
salesModel1, включив все переменные, кромеid, чтобы объяснить продажи в текущем месяце. Для этого заполните правильные имена переменных в следующем шаблоне:response ~ . - excluded_variable. Это читается как «responseмоделируется по всем переменным, кромеexcluded_variable.» - Оцените факторы инфляции дисперсии с помощью функции
vif()из пакетаrms. - Помимо исключения переменной
id, удалите переменныеpreferredBrandиnBrands, чтобы избежать мультиколлинеарности. Для этого добавьте перед каждой из них знак-. Сохраните модель в объектеsalesModel2. - Повторно оцените факторы инфляции дисперсии для новой модели. Устраивают ли вас полученные результаты?
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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
___