R - Kovaryans Analizi

Yordayıcı değişkenlerdeki varyasyonun yanıt değişkeni üzerindeki etkisini tanımlayan modeller oluşturmak için Regresyon analizini kullanırız. Bazen, Evet / Hayır veya Erkek / Kadın gibi değerlere sahip kategorik bir değişkenimiz varsa. Basit regresyon analizi, kategorik değişkenin her bir değeri için birden fazla sonuç verir. Böyle bir senaryoda, kategorik değişkenin etkisini yordayıcı değişkenle birlikte kullanarak ve kategorik değişkenin her seviyesi için regresyon çizgilerini karşılaştırarak inceleyebiliriz. Böyle bir analiz şu şekilde adlandırılır:Analysis of Covariance olarak da adlandırılır ANCOVA.

Misal

R yerleşik veri seti mtcars'ı düşünün. İçinde "am" alanının aktarım türünü (otomatik veya manuel) temsil ettiğini gözlemliyoruz. 0 ve 1 değerleri olan kategorik bir değişkendir. Bir arabanın galon başına mil değeri (mpg), beygir gücünün ("hp") değerinin yanı sıra ona da bağlı olabilir.

"Am" değerinin "mpg" ve "hp" arasındaki regresyon üzerindeki etkisini inceliyoruz. Kullanılarak yapılıraov() işlev ve ardından anova() çoklu regresyonları karşılaştırma işlevi.

Giriş Verileri

Mtcars veri setinden "mpg", "hp" ve "am" alanlarını içeren bir veri çerçevesi oluşturun. Burada yanıt değişkeni olarak "mpg" yi, öngörücü değişken olarak "hp" yi ve kategorik değişken olarak "am" yı alıyoruz.

input <- mtcars[,c("am","mpg","hp")]
print(head(input))

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

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 Analizi

Öngörü değişkeni olarak "hp" yi ve yanıt değişkeni olarak "mpg" yi "am" ve "hp" arasındaki etkileşimi dikkate alarak bir regresyon modeli oluşturuyoruz.

Kategorik değişken ile yordayıcı değişken arasındaki etkileşimli model

# Get the dataset.
input <- mtcars

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

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

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

Bu sonuç, her iki durumda da p değeri 0,05'ten az olduğundan, hem beygir gücü hem de şanzıman türünün galon başına mil üzerinde önemli etkiye sahip olduğunu göstermektedir. Ancak bu iki değişken arasındaki etkileşim, p değeri 0.05'ten fazla olduğu için anlamlı değildir.

Kategorik değişken ile yordayıcı değişken arasında etkileşim olmadan model

# Get the dataset.
input <- mtcars

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

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

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

Bu sonuç, her iki durumda da p değeri 0,05'ten az olduğundan, hem beygir gücü hem de şanzıman türünün galon başına mil üzerinde önemli etkiye sahip olduğunu göstermektedir.

İki Modeli Karşılaştırmak

Şimdi, değişkenlerin etkileşiminin gerçekten anlamlı olup olmadığı sonucuna varmak için iki modeli karşılaştırabiliriz. Bunun için kullanıyoruzanova() işlevi.

# 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))

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

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

P değeri 0.05'ten büyük olduğu için, beygir gücü ile iletim türü arasındaki etkileşimin önemli olmadığı sonucuna vardık. Bu nedenle, galon başına kilometre, hem otomatik hem de manuel şanzıman modunda otomobilin beygir gücüne benzer şekilde bağlı olacaktır.