Ми використовуємо регресійний аналіз для створення моделей, які описують вплив зміни змінних прогнозів на змінну відповіді. Іноді, якщо у нас є категоріальна змінна зі значеннями, як Так / Ні або Чоловік / Жіночий і т.д., простий регресійний аналіз дає кілька результатів для кожного значення категоріальної змінної. У такому сценарії ми можемо вивчити вплив категоріальної змінної, використовуючи її разом із змінною предиктора та порівнюючи лінії регресії для кожного рівня категоріальної змінної. Такий аналіз називають аналізом коваріації, який також називають 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
Цей результат показує, що і потужність коня, і тип передачі мають значний вплив на милі на галон, оскільки значення р в обох випадках менше 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
Цей результат показує, що і потужність коня, і тип передачі мають значний вплив на милі на галон, оскільки значення р в обох випадках менше 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, ми робимо висновок, що взаємодія між потужністю коня та типом передачі не є істотною. Тож пробіг на галон буде аналогічно залежати від кінських сил автомобіля як в режимі автоматичної, так і в ручній передачі.