Мы используем регрессионный анализ для создания моделей, которые описывают влияние изменения переменных предиктора на переменную ответа. Иногда, если у нас есть категориальная переменная со значениями, такими как Да / Нет или Мужской / Женский и т. Д., Простой регрессионный анализ дает несколько результатов для каждого значения категориальной переменной. В таком сценарии мы можем изучить влияние категориальной переменной, используя ее вместе с переменной-предиктором и сравнивая линии регрессии для каждого уровня категориальной переменной. Такой анализ называется анализ ковариантности, также называемый ANCOVA.
Пример
Рассмотрим Rвстроенный набор данных mtcars. В нем мы наблюдаем, что поле amпредставляет тип передачи (автоматический или ручной). Это категориальная переменная со значениями 0 и 1. От mpgнее может зависеть и число миль на галлон ( ) автомобиля, помимо значения лошадиных сил ( hp). Мы изучаем влияние значения amна регрессию между mpgи hp. Это делается с помощью aov()функции, за которой следует anova()функция, для сравнения нескольких регрессий.
Ввод данных
Создание фрейма данных , содержащий поля mpg, hpи amиз набора данных mtcars. Здесь мы берем mpgпеременную ответа, переменную hpпредиктора и amкатегориальную переменную.
input <- mtcars[,c("am","mpg","hp")]
head(input)
Когда мы выполняем приведенный выше код, он дает следующий результат:
am mpg hp
Mazda RX4 1 21.0 110
Mazda RX4 Wag 1 21.0 110
Datsun 710 1 22.8 93
Hornet 4 Drive 0 21.4 110
Hornet Sportabout 0 18.7 175
Valiant 0 18.1 105
Анализ ANCOVA
Мы создаем регрессионную модель, принимающую hpв качестве переменной-предиктора и переменной mpg-отклика с учетом взаимодействия между amи hp.
Модель с взаимодействием между категориальной переменной и переменной предиктора
Создать регрессию модель1
result1 <- aov(mpg~hp*am,data=mtcars)
summary(result1)
Когда мы выполняем приведенный выше код, он дает следующий результат:
Df Sum Sq Mean Sq F value Pr(>F)
hp 1 678.4 678.4 77.391 1.50e-09 ***
am 1 202.2 202.2 23.072 4.75e-05 ***
hp:am 1 0.0 0.0 0.001 0.981
Residuals 28 245.4 8.8
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Этот результат показывает, что мощность в лошадиных силах и тип трансмиссии оказывают существенное влияние на мили на галлон, так как значение p в обоих случаях составляет менее 0,05. Но взаимодействие между этими двумя переменными не является значительным, так как значение р составляет более 0,05.
Модель без взаимодействия между категориальной переменной и предикторной переменной
Создать регрессионную модель2
result2 <- aov(mpg~hp+am,data=mtcars)
summary(result2)
Когда мы выполняем приведенный выше код, он дает следующий результат:
Df Sum Sq Mean Sq F value Pr(>F)
hp 1 678.4 678.4 80.15 7.63e-10 ***
am 1 202.2 202.2 23.89 3.46e-05 ***
Residuals 29 245.4 8.5
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Этот результат показывает, что мощность в лошадиных силах и тип трансмиссии оказывают существенное влияние на мили на галлон, так как значение p в обоих случаях составляет менее 0,05.
Сравнение двух моделей
Теперь мы можем сравнить две модели, чтобы сделать вывод, является ли взаимодействие переменных действительно незначительным. Для этого мы используем anova()функцию.
anova(result1,result2)
Model 1: mpg ~ hp * am
Model 2: mpg ~ hp + am
Res.Df RSS Df Sum of Sq F Pr(>F)
1 28 245.43
2 29 245.44 -1 -0.0052515 6e-04 0.9806
Поскольку значение р больше 0,05, мы заключаем, что взаимодействие между мощностью в лошадиных силах и типом передачи не является значительным. Таким образом, пробег на галлон будет аналогичным образом зависеть от мощности автомобиля как в автоматическом, так и в ручном режиме.