Korelasi Kanonik


Analisis korelasi digunakan untuk mengukur kekuatan hubungan antara dua buah variabel, namun kenyataannya kita lebih sering ingin mengetahui bagaimana hubungan antara sekumpulan variabel dengan sekumpulan variabel lainnya, misal kita ingin mengetahui hubungan antara dua set variabel berikut:
– set variabel bakat and set variabel achievement,
– set variabel kepribadian and set variabel yang mengukur kemampuan,
– set variabel penyusun indeks harga set variabel penyusun indeks produksi,
– set variabel ekologis dan a set of environmental variables,
Oleh karena itu, kita tidak bisa menggunakan analisis korelasi untuk mengukurnya, namun dalam kasus ini kita bisa menggunakan analisis korelasi kanonik. Analisis korelasi kanonik adalah suatu alat statistik untuk mengidentifikasi dan mengkuantifikasi hubungan antara dua jenis kelompok (set) variabel. Analisis korelasi kanonik fokus kepada korelasi antara kombinasi linier variabel-variabel di suatu kelompok dengan kombinasi linier variabel-variabel pada satu kelompok lainnya.

Jika kita ingin mengetahui, hubungan atau korelasi antara y dan x, dimana y adalah kombinasi linier dari variabel-variabel (y1, y2, …, yp) dan x adalah kombinasi linier dari variabel-variabel (x1, x2, …, xq), maka pasangan y dan x disebut sebagai variabel kanonik. Misal U adalah kombinasi linier dari y, U = a’y, dan V adalah kombinasi linier dari x, V = b’x, maka U dan V disebut sebagai variat kanonik dan korelasi antar keduanya disebut sebagai korelasi kanonik.

Korelasi kanonik pada prinsipnya adalah perluasan dari korelasi berganda, yang digunakan dalam analisis regresi berganda, dimana korelasi berganda adalah korelasi antara variabel y, dalam analisis regresi berganda adalah variabel dependen, dengan satu set variabel x1, x2, …, xq, dalam analisis regresi berganda adalah satu set variabel independen.

Karena korelasi kanonik melibatkan dua set variabel, maka korelasi yang terjadi berada dalam s dimensi, dimana s = min(p,q), sehingga bisa didefinisikan sebagai berikut:

  • Pasangan pertama dari variabel-variabel kanonik, atau pasangan variat kanonik pertama, adalah pasangan kombinasi linier (U1, V1) yang memiliki unit variance, yang memaksimalkan korelasi;
  • Pasangan variabel-variabel kanonik kedua, atau pasangan variat kanonik kedua, adalah pasangan kombinasi linier (U2, V2) memiliki unit variance, yang memaksimalkan korelasi antara semua pilihan yang tidak berkorelasi dengan pasangan pertama dari variabel kanonik.
  • Pada tahap ke-k, pasangan variabel-variabel kanonik ke-k, atau pasangan variat kanonik ke k, adalah pasangan kombinasi linier (uk, vk) memiliki unit variance, yang memaksimalkan korelasi antara semua pilihan yang tidak berkorelasi dengan k- 1 pasangan variabel kanonik.

Interpretasi Korelasi Kanonik

Korelasi kanonik antar variat kanonik memiliki interpretasi sama dengan korelasi biasa, jika mendekati |1| maka hubungan antar variat kanonik adalah kuat dan semakin mendekati 0 maka hubungannya semakin lemah. Selain korelasi kanonik, ada tiga hal yang juga bisa kita interpretasikan, yaitu:

  • Standardized coefficient. Koefisien pada setiap variat kanonik ui = aiy dan vi = bix merefleksikan perbedaan dalam penskalaan variabel serta perbedaan kontribusi variabel terhadap korelasi kanonik. Untuk menghilangkan efek perbedaan skala tersebut, maka ai dan bi bisa distandardisasikan. Sehingga koefisien yang sudah distandardisasikan (standardized coefficient) akan menunjukkan kontribusi dari masing-masing variabel terhadap pembentukan variat kanonik.
  • Loadings atau structure coefficients. Loadings atau structure coefficients adalah suatu ukuran yang menunjukkan korelasi antara variat kanonik dengan variabel-variabel penyusunnya. Dengan loadings maka suatu variat kanonik bisa dijelaskan.
  • Rotasi dari koefisien variat kanonik. Sama seperti dalam analisis faktor, untuk meningkatkan interpretability dari variat kanonik, kita bisa melakukan rotasi terhadap koefisien variat kanonik, sehingga bisa lebih jelas setiap variabel lebih dominan berkontribusi ke variat kanonik yang mana.

Aplikasi dengan R

Untuk menghitung korelasi kanonik, kita bisa menggunakan fungsi cancor yang terdapat pada package stats. Syntax penggunaannya adalah sebagai berikut:

cancor(x, y, xcenter = TRUE, ycenter = TRUE)

dimana x dan y adalah matriks numerik dari kelompok variabel yang ingin kita cari korelasi kanoniknya, sedangkan argumen xcenter dan ycenter berisi TRUE jika kita ingin melakukan centering pada data. Fungsi cancor ini akan menghasilkan nilai ukuran korelasi kanonik dan koefisien variat kanoniknya.

Namun untuk hasil yang lebih lengkap, kita bisa menggunakan fungsi cc yang terdapat pada package CCA, dimana hasilnya selain ukuran korelasi kanonik dan koefisien variat kanonik, juga dihasilkan korelasi antara variabel dengan variat kanonik. Syntax penggunaannya adalah sebagai berikut:

cc(X, Y)

dimana X dan Y adalah matriks numerik dari kelompok variabel yang ingin kita cari korelasi kanoniknya.

Kita juga bisa menggunakan fungsi cancor pada package candisc. Jika package candisc sudah terinstal, maka akan terdapat dua fungsi cancor dalam R, sehingga dalam pemanggilan fungsinya kita perlu menyertakan nama packagenya, misal candisccancor untuk memanggil fungsi cancor pada package candisc. Penggunaan syntaxnya adalah sebagai berikut:

cancor(x, y, weights,
X.names = colnames(x), Y.names = colnames(y),
row.names = rownames(x),
xcenter = TRUE, ycenter = TRUE, xscale = FALSE, yscale = FALSE,
ndim = min(p, q),
set.names = c(“X”, “Y”),
prefix = c(“Xcan”, “Ycan”),
na.rm = TRUE, use = if (na.rm) “complete” else “pairwise”,
method = “gensvd”,

)

dimana x dan y adalah matriks numerik dari kelompok variabel yang ingin kita cari korelasi kanoniknya. Output dari fungsi cancor package candisc ini sudah termasuk uji signifikansi Wilk’s Lambda di dalamnya.

Contoh dengan R

Digunakan dataset chemicaldata (Box and Youle 1955) yang terdapat pada package ACSWR. Dataset chemicaldata berisi hasil eksperimen reaksi kimia, dimana dalam eksperimen ini variabel temperatur (x1), konsentrasi zat (x2), dan waktu (x3) memiliki pengaruh terhadap variabel hasil percobaan yaitu: persentase material yang tidak berubah (y1), persentase material yang berubah sesuai yang diharapkan (y2), dan persentase material yang berubah tidak sesuai yang diharapkan (y3). Misal kita ingin mengetahui besarnya korelasi antara kelompok variabel input dengan kelompok variabel output, maka dengan R pengerjaannya sebagai berikut:

library(candisc)

chem_cc2 <- candisc::cancor(chem[, 4:6], chem[, 1:3])
summary(chem_cc2)


Canonical correlation analysis of:
     3   X  variables:  x1, x2, x3 
  with   3   Y  variables:  y1, y2, y3

     CanR   CanRSQ     Eigen  percent    cum
1 0.98153 0.963395 26.318349 99.60771  99.61
2 0.30199 0.091200  0.100353  0.37981  99.99
3 0.05733 0.003287  0.003298  0.01248 100.00
                           scree
1 ******************************
2                               
3                              

Test of H0: The canonical correlations in the 
current row and all that follow are zero

     CanR LR test stat approx F numDF  denDF   Pr(> F)    
1 0.98153      0.03316  10.7870     9 31.789 1.884e-07 ***
2 0.30199      0.90581   0.3549     4 28.000    0.8384    
3 0.05733      0.99671   0.0495     1 15.000    0.8270    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Raw canonical coefficients

   X  variables: 
      Xcan1    Xcan2     Xcan3
x1 -0.16062 -0.06944 -0.049094
x2 -0.14861 -0.12159  0.191179
x3 -0.21568  0.58392  0.037688

   Y  variables: 
      Ycan1   Ycan2   Ycan3
y1 0.170794 0.62594 0.37732
y2 0.069097 0.72999 0.21730
y3 0.085825 0.71274 0.53900

Syntax di atas adalah menggunakan fungsi cc dari package CCA, dimana dari output terlihat bahwa korelasi kanonik pertama sebesar 0,9815, korelasi kanonik kedua sebesar 0,3020, dan korelasi kanonik ketiga sebesar 0,0573. Kemudian fungsi dari masing-masing variat kanonik adalah sebagai berikut:

Variat kanonik dependen (Y variables):

u1 = 0,1707 y1 + 0,0691 y2 + 0,0858 y3

u2 = 0,6259 y1 + 0,7300 y2 + 0,7127 y3

u3 = 0,3773 y1 + 0,2173 y2 + 0,5390 y3

Variat kanonik independen (X variables):

v1 = -0,1606 x1 – 0,1486 x2 – 0,2157 x3

v1 = -0,0694 x1 – 0,1216 x2 + 0,5839 x3

v1 = -0,0491 x1 + 0,1911 x2 + 0,0377 x3

(sumber: Buku Data Mining dengan R, segera terbit)

Author: budi

hanya seorang biasa.. bukan siapa-siapa

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s