R - Analyse der Kovarianz

Wir verwenden die Regressionsanalyse, um Modelle zu erstellen, die den Effekt 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. Die einfache Regressionsanalyse liefert mehrere Ergebnisse für jeden Wert der kategorialen Variablen. In einem solchen Szenario können wir den Effekt 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 bezeichnetAnalysis of Covariance auch genannt als ANCOVA.

Beispiel

Betrachten Sie den in 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 Meilenwert pro Gallone (mpg) eines Autos kann neben dem Wert der Pferdestärke ("PS") auch davon abhängen.

Wir untersuchen die Auswirkung des Wertes von "am" auf die Regression zwischen "mpg" und "hp". Dies geschieht mit demaov() Funktion gefolgt von der anova() Funktion zum Vergleichen der mehreren Regressionen.

Eingabedaten

Erstellen Sie einen Datenrahmen mit den Feldern "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")]
print(head(input))

Wenn wir den obigen Code ausführen, wird das folgende 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 mit "hp" als Prädiktorvariable und "mpg" als Antwortvariable unter Berücksichtigung der Wechselwirkung zwischen "am" und "hp".

Modell mit Interaktion zwischen kategorialer Variable und Prädiktorvariable

# Get the dataset.
input <- mtcars

# Create the regression model.
result <- aov(mpg~hp*am,data = input)
print(summary(result))

Wenn wir den obigen Code ausführen, wird das folgende 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 Übertragungstyp einen signifikanten Einfluss auf die Meilen pro Gallone haben, da der p-Wert in beiden Fällen weniger als 0,05 beträgt. Die Wechselwirkung zwischen diesen beiden Variablen ist jedoch nicht signifikant, da der p-Wert mehr als 0,05 beträgt.

Modell ohne Interaktion zwischen kategorialer Variable und Prädiktorvariable

# Get the dataset.
input <- mtcars

# Create the regression model.
result <- aov(mpg~hp+am,data = input)
print(summary(result))

Wenn wir den obigen Code ausführen, wird das folgende 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 Übertragungstyp einen signifikanten Einfluss auf die Meilen pro Gallone haben, da der p-Wert in beiden Fällen weniger als 0,05 beträgt.

Zwei Modelle vergleichen

Jetzt können wir die beiden Modelle vergleichen, um zu schließen, ob die Interaktion der Variablen wirklich unwichtig ist. Dafür verwenden wir dieanova() Funktion.

# Get the dataset.
input <- mtcars

# Create the regression models.
result1 <- aov(mpg~hp*am,data = input)
result2 <- aov(mpg~hp+am,data = input)

# Compare the two models.
print(anova(result1,result2))

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:

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 Übertragungstyp nicht signifikant ist. Der Kilometerstand pro Gallone hängt also in ähnlicher Weise von der Pferdestärke des Autos sowohl im automatischen als auch im manuellen Getriebemodus ab.