Używamy analizy regresji do tworzenia modeli opisujących wpływ zmienności zmiennych predykcyjnych na zmienną odpowiedzi. Czasami, jeśli mamy zmienną kategorialną o wartościach takich jak Tak / Nie lub Mężczyzna / Kobieta itp., Prosta analiza regresji daje wiele wyników dla każdej wartości zmiennej jakościowej. W takim scenariuszu możemy zbadać wpływ zmiennej jakościowej, używając jej wraz ze zmienną predykcyjną i porównując linie regresji dla każdego poziomu zmiennej jakościowej. Taka analiza jest określana jako Analiza kowariancji zwana również ANCOVA.
Przykład
RozważR
wbudowany zestaw danych mtcars
. Obserwujemy w nim, że pole am
reprezentuje typ transmisji (automatyczny lub ręczny). Jest to zmienna kategorialna o wartościach 0 i 1. Wartość mil na galon ( mpg
) samochodu może również zależeć od niej oprócz wartości mocy konia ( hp
). Badamy wpływ wartości am
na regresję między mpg
i hp
. Odbywa się to za pomocą aov()
funkcji, po której następujeanova()
funkcja porównywania wielu regresji.
Dane wejściowe
Tworzenie ramkę danych zawierającą pola mpg
, hp
a am
ze zbioru danych mtcars
. Przyjmujemy tutaj mpg
jako zmienną odpowiedzi, zmienną hp
predykcyjną i am
zmienną kategorialną.
input <- mtcars[,c("am","mpg","hp")]
head(input)
Wykonanie powyższego kodu powoduje następujący wynik:
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
Analiza ANCOVA
Tworzymy model regresji przyjmujący hp
jako zmienną predykcyjną i mpg
jako zmienną odpowiedzi uwzględniającą interakcję między am
i hp
.
Model z interakcją między zmienną kategorialną a zmienną predykcyjną
Utwórz model regresji 1
result1 <- aov(mpg~hp*am,data=mtcars)
summary(result1)
Wykonanie powyższego kodu powoduje następujący wynik:
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
Ten wynik pokazuje, że zarówno moc konia, jak i rodzaj transmisji mają znaczący wpływ na mile na galon, ponieważ wartość p w obu przypadkach jest mniejsza niż 0,05. Ale interakcja między tymi dwiema zmiennymi nie jest znacząca, ponieważ wartość p jest większa niż 0,05.
Model bez interakcji między zmienną kategorialną a zmienną predykcyjną
Utwórz model regresji 2
result2 <- aov(mpg~hp+am,data=mtcars)
summary(result2)
Wykonanie powyższego kodu powoduje następujący wynik:
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
Ten wynik pokazuje, że zarówno moc konia, jak i rodzaj transmisji mają znaczący wpływ na mile na galon, ponieważ wartość p w obu przypadkach jest mniejsza niż 0,05.
Porównywanie dwóch modeli
Teraz możemy porównać dwa modele, aby stwierdzić, czy interakcja zmiennych jest naprawdę nieistotna. Do tego używamy anova()
funkcji.
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
Ponieważ wartość p jest większa niż 0,05, dochodzimy do wniosku, że interakcja między mocą konia a rodzajem przenoszenia nie jest znacząca. Tak więc przebieg na galon będzie zależał w podobny sposób od mocy samochodu w trybie automatycznym i manualnym.