Wir verwenden die Regressionsanalyse, um Modelle zu erstellen, die die Auswirkung der Variation von Prädiktorvariablen auf die Antwortvariable beschreiben. Manchmal, wenn wir eine kategoriale Variable mit Werten wie Ja / Nein oder Männlich / Weiblich usw. haben, liefert die einfache Regressionsanalyse mehrere Ergebnisse für jeden Wert der kategorialen Variablen. In einem solchen Szenario können wir die Auswirkung der kategorialen Variablen untersuchen, indem wir sie zusammen mit der Prädiktorvariablen verwenden und die Regressionslinien für jede Ebene der kategorialen Variablen vergleichen. Eine solche Analyse wird als Analyse der Kovarianz bezeichnet, die auch als ANCOVA bezeichnet wird.
Beispiel
Betrachten Sie den R
eingebauten Datensatz mtcars
. Darin beobachten wir, dass das Feld am
die Art der Übertragung darstellt (automatisch oder manuell). Es ist eine kategoriale Variable mit den Werten 0 und 1. Der Meilen pro Gallone-Wert ( mpg
) eines Autos kann neben dem Wert der Pferdestärke ( hp
) auch davon abhängen . Wir untersuchen die Auswirkung des Wertes von am
auf die Regression zwischenmpg
und hp
. Dies geschieht mit der aov()
Funktion, gefolgt von der anova()
Funktion zum Vergleichen der mehreren Regressionen.
Eingabedaten
eines Datenrahmens Erstellen Sie die Felder enthalten mpg
, hp
und am
aus dem Datensatz mtcars
. Hier nehmen wir mpg
als Antwortvariable,hp
als Prädiktorvariable und am
als kategoriale Variable.
input <- mtcars[,c("am","mpg","hp")]
head(input)
Wenn wir den obigen Code ausführen, wird folgendes Ergebnis erzeugt:
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-Analyse
Wir erstellen ein Regressionsmodell, das hp
als Prädiktorvariable und mpg
als Antwortvariable die Wechselwirkung zwischen berücksichtigtam
undhp
.
Modell mit Interaktion zwischen kategorialer Variable und Prädiktorvariable
Erstellen Sie ein Regressionsmodell1
result1 <- aov(mpg~hp*am,data=mtcars)
summary(result1)
Wenn wir den obigen Code ausführen, wird folgendes Ergebnis erzeugt:
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
Dieses Ergebnis zeigt, dass sowohl die Pferdestärke als auch der Getriebetyp einen signifikanten Einfluss auf die Meilen pro Gallone haben, da der p-Wert in beiden Fällen unter 0,05 liegt. Die Wechselwirkung zwischen diesen beiden Variablen ist jedoch nicht signifikant, da der p-Wert mehr als 0,05 beträgt.
Modell ohne Wechselwirkung zwischen kategorialer Variable und Prädiktorvariable
Erstellen Sie das Regressionsmodell2
result2 <- aov(mpg~hp+am,data=mtcars)
summary(result2)
Wenn wir den obigen Code ausführen, wird folgendes Ergebnis erzeugt:
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
Dieses Ergebnis zeigt, dass sowohl die Pferdestärke als auch der Getriebetyp einen signifikanten Einfluss auf die Meilen pro Gallone haben, da der p-Wert in beiden Fällen unter 0,05 liegt.
Vergleich zweier Modelle
Nun können wir die beiden Modelle vergleichen, um festzustellen, ob die Wechselwirkung der Variablen wirklich unbedeutend ist. Dafür verwenden wir die anova()
Funktion.
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
Da der p-Wert größer als 0,05 ist, schließen wir, dass die Wechselwirkung zwischen Pferdestärke und Getriebetyp nicht signifikant ist. Die Laufleistung pro Gallone hängt also in ähnlicher Weise von der Pferdestärke des Fahrzeugs sowohl im automatischen als auch im manuellen Getriebemodus ab.