R - Analisis Kovarian

Kami menggunakan analisis Regresi untuk membuat model yang menggambarkan pengaruh variasi variabel prediktor terhadap variabel respon. Terkadang, jika kita memiliki variabel kategori dengan nilai seperti Ya / Tidak atau Pria / Wanita dll. Analisis regresi sederhana memberikan hasil berganda untuk setiap nilai variabel kategori. Dalam skenario tersebut, kita dapat mempelajari pengaruh variabel kategori dengan menggunakannya bersama dengan variabel prediktor dan membandingkan garis regresi untuk setiap level variabel kategori. Analisis seperti itu disebut sebagaiAnalysis of Covariance juga disebut sebagai ANCOVA.

Contoh

Pertimbangkan R mtcars kumpulan data bawaan. Di dalamnya kami mengamati bahwa bidang "am" mewakili jenis transmisi (otomatis atau manual). Ini adalah variabel kategorikal dengan nilai 0 dan 1. Nilai mil per galon (mpg) sebuah mobil juga dapat bergantung padanya selain nilai tenaga kuda ("hp").

Kami mempelajari pengaruh nilai "am" pada regresi antara "mpg" dan "hp". Ini dilakukan dengan menggunakanaov() fungsi diikuti oleh anova() berfungsi untuk membandingkan beberapa regresi.

Memasukan data

Buat bingkai data yang berisi bidang "mpg", "hp" dan "am" dari kumpulan data mtcars. Di sini kita mengambil "mpg" sebagai variabel respon, "hp" sebagai variabel prediktor dan "am" sebagai variabel kategorikal.

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

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

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

Analisis ANCOVA

Kami membuat model regresi dengan menggunakan "hp" sebagai variabel prediktor dan "mpg" sebagai variabel respons dengan mempertimbangkan interaksi antara "am" dan "hp".

Model dengan interaksi antara variabel kategorikal dan variabel prediktor

# Get the dataset.
input <- mtcars

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

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

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

Hasil ini menunjukkan bahwa baik tenaga kuda dan jenis transmisi berpengaruh signifikan terhadap mil per galon karena nilai p pada kedua kasus tersebut kurang dari 0,05. Namun interaksi antara kedua variabel ini tidak signifikan karena p-value lebih dari 0,05.

Model tanpa interaksi antara variabel kategorikal dan variabel prediktor

# Get the dataset.
input <- mtcars

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

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

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

Hasil ini menunjukkan bahwa baik tenaga kuda dan jenis transmisi berpengaruh signifikan terhadap mil per galon karena nilai p pada kedua kasus tersebut kurang dari 0,05.

Membandingkan Dua Model

Sekarang kita dapat membandingkan kedua model untuk menyimpulkan jika interaksi variabel benar-benar tidak signifikan. Untuk ini kami menggunakananova() fungsi.

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

Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -

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

Karena nilai p lebih besar dari 0,05 maka kami menyimpulkan bahwa interaksi antara tenaga kuda dan jenis transmisi tidak signifikan. Jadi jarak tempuh per galon akan bergantung dengan cara yang sama pada tenaga kuda mobil dalam mode transmisi otomatis dan manual.