НачатьНачать бесплатно

Устранение мультиколлинеарности

Вернёмся к набору данных о продажах 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
___
Редактировать и запускать код