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.