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 amreprezentuje 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 amna regresję między mpgi 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, hpa amze zbioru danych mtcars. Przyjmujemy tutaj mpgjako zmienną odpowiedzi, zmienną hppredykcyjną i amzmienną 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 hpjako zmienną predykcyjną i mpgjako zmienną odpowiedzi uwzględniającą interakcję między ami 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.