Sabtu, Juli 30, 2016

Fun Facts Koefisien Regresi (Terstandardisasi), Korelasi Parsial dan Semi-Parsial

Ketika berbicara tentang regresi, ada dua statistik lain yang memiliki hubungan sangat dekat dengan koefisien yang dihasilkannya, khususnya slope baik yang tidak terstandardisasi (unstandardized) maupuan yang terstandardisasi (standardized). Pembahasan kali ini dilakukan dengan tujuan menunjukkan kedekatan makna statistik-statistik tersebut, kesamaan dan perbedaannya dengan harapan dapat membantu pemahaman pembaca tentang empat statistik tersebut. 


Notasi

Sebelum pembahasan dimulai, ada baiknya saya memaparkan dulu lambang-lambang yang akan saya gunakan dalam artikel ini untuk mempermudah pembaca. 
  1. Huruf kecil b digunakan untuk melambangkan koefisien regresi yang tidak terstandardisasi, mengikuti lambang yang digunakan oleh SPSS yang kiranya banyak digunakan di Indonesia. 
  2. Huruf latin  digunakan untuk melambangkan koefisien regresi yang terstandardisasi, mengikuti lambang yang digunakan oleh SPSS. 
  3. Lambang  digunakan untuk melambangkan koefisien korelasi parsial antara y dan variabel prediktor pertama (X1) dengan mengendalikan variabel prediktor kedua (X2). 
  4. Lambang  digunakan untuk melambangkan koefisien korelasi semi-parsial antara y dan X1 dengan mengendalikan X2. 
  5. Lambang  digunakan untuk melambangkan koefisien korelasi antara y dan X1. 
  6. Lambang  digunakan untuk melambangkan koefisien korelasi antara X1 dan X2

Fun Facts No 1: Memiliki Pembilang yang Sama

Baiklah ini saatnya kita membandingkan keempat rumus koefisien-koefisien tersebut. Anggaplah kita saat ini berhadapan dengan kasus analisis yang melibatkan satu variabel kriterion (Y) dan dua variabel prediktor (X1 dan X2). Ilustrasi ini dilakukan untuk membuat perbandingan antar koefisien menjadi cukup jelas. Melibatkan terlalu banyak variabel prediktor akan membuat rumus menjadi terlalu kompleks sehingga justru akan mempersulit pemahaman pembaca. 

Rumus Koefisien b
Rumus Koefisien
Rumus Koefisien
Rumus Koefisien


Kita dapat melihat bahwa pembilang dari rumus-rumus tersebut sama persis satu dengan yang lain, yang membedakan hanyalah penyebutnya saja. Penyebutnya pun tidak jauh berbeda satu dengan yang lain. Jadi sebenarnya keempat rumus tersebut dapat dikatakan menceritakan kisah yang mirip tentang hubungan antara X1 dengan Y dengan mengendalikan X2. 

Misalnya, koefisien slope dari regresi, baik yang terstandardisasi maupun yang tidak, bercerita tentang seberapa banyak Y akan berubah ketika X1 memiliki nilai 1 point lebih tinggi, dengan mengendalikan X2. Atau dengan kata lain berapa banyak Y akan berubah ketika X1 memiliki nilai 1 point lebih tinggi, pada nilai X2 yang sama. 

Fun Facts 2: Memiliki Nilai yang Berbeda, tetapi Memberikan Hasil Uji Signifikansi yang Sama. 

Karena keempat statistik tersebut memiliki penyebut yang berbeda, maka wajar kiranya jika keempatnya memberikan hasil yang berbeda. Namun demikian, meskipun nilai yang dihasilkan berbeda, tetapi uji signifikansi dari keempatnya selalu memberikan hasil yang sama. 

Untuk membuktikannya, saya akan menunjukkan suatu ilustrasi menggunakan program R (Tips: anda bisa meng-copy-paste baris-baris perintah tersebut di bawah langsung ke dalam console R dan menekan "Enter" untuk menjalankannya. Perintah dari program R saya cetak tebal dan diberi warna biru). 

1. Pertama-tama saya perlu membuat terlebih dulu data simulasi dengan cara berikut:
set.seed(8888)
x1=rnorm(100)
x2=0.4*x1+sqrt(1-0.4^2)*rnorm(100)
y=0.1*x1+0.15*x2+sqrt(1-0.02)*rnorm(100)

2. Saya menghitung semua nilai yang saya butuhkan untuk menghitung keempat statistik menggunakan rumus di atas, seperti standard deviasi, korelasi antar variabel, dll, dengan perintah berikut ini: 
s1=sd(x1)
s2=sd(x2)
sy=sd(y)
ry1=cor(x1,y)
ry2=cor(x2,y)
r12=cor(x1,x2)
z1=(x1-mean(x1))/sd(x1)
z2=(x2-mean(x2))/sd(x2)
zy=(y-mean(y))/sd(y)

3.  Rumus dari keempat statistik di atas saya aplikasikan sebagai berikut:
b=(ry1-ry2*r12)/(1-r12^2)*(sy/s1)
beta=(ry1-ry2*r12)/(1-r12^2)
par.r=(ry1-ry2*r12)/sqrt((1-r12^2)*(1-ry2^2))
semi.par.r=(ry1-ry2*r12)/sqrt((1-r12^2))

4. Hasil perhitungan keempat rumus tersebut saya bandingkan dengan hasil dari program R (lambang > menunjukkan saya mengetik perintah ini langsung di console R):
     a. Untuk nilai koefisien yang tidak terstandardisasi
>b
[1] 0.1868164
>lm(y~x1+x2)

Call:
lm(formula = y ~ x1 + x2)

Coefficients:
(Intercept)       x1       x2
-0.01433     0.18682  0.26569
   
     b. Untuk nilai koefisien yang terstandardisasi
>beta
[1] 0.1740606
>lm(zy~z1+z2)

Call:
lm(formula = zy ~ z1 + z2)

Coefficients:
(Intercept)       z1        z2
-5.449e-17 1.741e-01 2.226e-01
    
   c. Untuk nilai korelasi parsial dan semi parsial (saya menggunakan paket program R bernama ppcor. Pembaca perlu menginstal paket ini terlebih dulu sebelum menjalankan baris perintah berikut ini):
>library(ppcor)
>par.r #korelasi parsial. Bagian setelah tanda pagar adalah komentar
[1] 0.1742675
>pcor(cbind(x1,x2,y))$estimate[3,1]
[1] 0.1742675
>semi.par.r #korelasi semi-parsial. Bagian setelah tanda pagar adalah komentar
[1] 0.1678641
>spcor(cbind(x1,x2,y))$estimate[3,1]
[1] 0.1678641
    
    d. Untuk uji signifikansi, kita bandingkan dari hasil analisis menggunakan program R:
>summary(lm(y~x1+x2))$coeff[2,1:4]
    Estimate  Std. Error     t value    Pr(>|t|)
  0.18681637  0.10718053  1.74300648    0.08450135
> summary(lm(zy~z1+z2))$coeff[2,1:4]
    Estimate  Std. Error     t value    Pr(>|t|)
  0.17406065  0.09986231  1.74300648    0.08450135
> c(pcor(cbind(x1,x2,y))$statistic[3,1],c(pcor(cbind(x1,x2,y))$p.value[3,1])
[1] 1.74300648 0.08133248
> c(spcor(cbind(x1,x2,y))$statistic[3,1],c(spcor(cbind(x1,x2,y))$p.value[3,1])
[1] 1.67706738 0.09352931
Dapat kita lihat, khususnya untuk no d. bahwa meskipun nilai yang dihasilkan keempat rumus tersebut berbeda, uji signifikansi memberikan kesimpulan yang sama, bahkan juga nilai t yang sama, kecuali untuk korelasi semi-parsial. 

Fun Facts 3: Kuadrat Korelasi Semi-Parsial Sama Dengan Besarnya Perubahan R Kuadrat. 

Jika kita mengkuadratkan nilai korelasi semi-parsial, maka hasilnya akan sama dengan besarnya perubahan nilai R kuadrat dari nilai yang diperoleh dengan hanya melibatkan X2 ke nilai yang diperoleh ketika memasukkan X1 ke dalam persamaan regresi. 

Ilustrasi dapat dilihat berikut ini: 
>summary(lm(y~x1+x2))$r.squared
[1] 0.1003169
>summary(lm(y~x2))$r.squared
[1] 0.07213849
>0.1003169-0.07213849
[1] 0.02817841
>semi.par.r^2
[1] 0.02817837


Fun Facts 4: Cara Lain Memperoleh Keempat Koefisien Di Atas

1. Proses memperoleh koefisien regresi tak terstandardisasi
  • Lakukan regresi dengan X1 sebagai kriterion dan X2 sebagai prediktor, simpan residualnya (sebut saja X1*)
  • Lakukan regresi dengan Y sebagai kriterion dan X2 sebagai prediktor, simpan residualnya (sebut saja YX2*)
  • Lakukan regresi dengan YX2* sebagai kriterion dan X1* sebagai prediktor
  • Ilustrasi:
>x1.star=lm(x1~x2)$residual
>yx2.star=lm(y~x2)$residual
>lm(yx2.star~x1.star)$coeff
    (Intercept)      x1.star
 -1.421335e-17  1.868164e-01

>lm(y~x1+x2)$coeff
   (Intercept)            x1          x2 

   -0.01433446    0.18681637  0.26569439 

  • Berdasarkan proses tersebut, kita dapat melihat bahwa koefisien regresi menggambarkan efek1  dari sebagian X1 yang tidak dapat dijelaskan X2 (residu dari hasil regresi X1 pada X2) pada bagian dari Y yang tidak dapat dijelaskan oleh X2 (yaitu residu dari hasil regresi Y pada X2). 
2. Proses memperoleh koefisien regresi terstandardisasi

  • Prosesnya sama dengan no 1, hanya saja sebelum dilakukan analisis, semua variabel diubah dalam skor standard. 
3. Proses memperoleh koefisien korelasi parsial
  • Lakukan regresi dengan X1 sebagai kriterion dan X2 sebagai prediktor, simpan residualnya (sebut saja X1*)
  • Lakukan regresi dengan Y sebagai kriterion dan X2 sebagai prediktor, simpan residualnya (sebut saja YX2*)
  • Lakukan korelasi antara YX2* dan X1*
  • Ilustrasi:
>x1.star=lm(x1~x2)$residual
>yx2.star=lm(y~x2)$residual
>cor(yx2.star,x1.star)
[1] 0.1742675

>pcor(cbind(x1,x2,y))$estimate[3,1]
[1] 0.1742675

  • Berdasarkan proses tersebut kita dapat melihat keterkaitan antara korelasi parsial dengan koefisien regresi. Korelasi parsial oleh karenanya berbicara tentang korelasi antara bagian X1 yang tidak dapat dijelaskan X2 dengan bagian Y yang tidak dapat dijelaskan X2. 
  • Kuadrat dari korelasi parsial memberikan gambaran besarnya proporsi variasi Y yang tidak dapat dijelaskan X2 yang secara unik dapat dijelaskan oleh X1. 

4.Proses memperoleh koefisien korelasi semi-parsial

  • Lakukan regresi dengan X1 sebagai kriterion dan X2 sebagai prediktor, simpan residualnya (sebut saja X1*)
  • Lakukan korelasi antara Y dengan X1* 
  • Ilustrasi:
>x1.star=lm(x1~x2)$residual
>cor(x1.star,y)$coeff
[1] 0.1678641 

>spcor(cbind(x1,x2,y))$estimate[3,1]
[1] 0.1678641

  • Berdasarkan proses tersebut kita dapat melihat bahwa korelasi semi parsial merupakan korelasi antara X1 dengan bagian dari Y yang tidak dapat dijelaskan oleh X2. 
Semoga penjelasan di atas dapat memberikan gambaran tentang keterkaitan keempat koefisien tersebut maupun gambaran tambahan mengenai apa yang dapat di'kisah'kan oleh tiap koefisien tersebut. 

Kode R di atas juga dapat dilihat (di-copy dan pastedari sini




1 Penulis menggunakan kata efek; hanya untuk kemudahan interpretasi. Kata 'efek' di sini tidak dimaksudkan untuk menunjukkan kemampuan regresi dalam memberikan bukti megenai hubungan sebab-akibat atau adanya pengaruh.

2 komentar :

Unknown mengatakan...

Halo Pak Agung, saya Gung Is mahasiswa psikologi Sanata Dharma
Saat ini saya sedang mengerjakan skripsi dengan teknik korelasional. Saya menggunakan 2 variabel independent (X1 dan X2) dan 1 variabel dependent (Y). Hasil uji spearman menunjukkan bahwa X1 dan y berhubungan (X1 tidak berdistribusi normal) dengan koefisien korelasi sebesar 0.266 dan nilai signifikansinya sebesar 0.010. Kemudian, hasil uji pearson menunjukkan bahwa X2 dan y berhubungan dengan koefisisen korelasi sebesar 0.318 dan nilai signfikansinya sebesar 0.003. Saya ingin melihat diantara X1 dan X2, mana yang memiliki korelasi yang lebih kuat. Jadi, analisis statistik apa yang bisa saya gunakan, Pak? Terimakasih, Pak Agung.

Unknown mengatakan...

Untuk Gung Is,

Karena teknik analisis yang digunakan berbeda, menurut saya sulit rasanya untuk melakukan perbandingan keduanya. Menurut saya Gung Is dapat melakukan analisis regresi dengan dua prediktor (Y diregresikan pada X1 dan X2) mengingat dalam regresi, X1 dan X2 tidak diasumsikan normal. Hasil analisis regresi khususnya koefisien yang terstandardisasi dari kedua variabel prediktor ini dapat dibandingkan untuk melihat mana yang lebih besar.

Jika dikehendaki uji beda koefisien regresi ini, dapat dilakukan dengan analisis uji beda koefisien regresi yang dapat dibaca dalam buku Pedhazur berjudul Multiple Regression in Behavioral Research.