Praktikum 12 APG : Analisis Korelasi Kanonik

Terkadang Ambisi Tinggi dapat Menjatuhkan ke Jurang Terdalam, Lakukan versi terbaik dan Tetaplah Bersyukur

My Image

Pengantar

Summary AKK

Penerapan 1

Partisi Matrix

r11 = matrix(c(1,0.8,0.8,1),2,2)
r11
##      [,1] [,2]
## [1,]  1.0  0.8
## [2,]  0.8  1.0
r22 = matrix(c(1,0.37,0.21,0.37,1,0.35,0.21,0.35,1),3,3)
r22
##      [,1] [,2] [,3]
## [1,] 1.00 0.37 0.21
## [2,] 0.37 1.00 0.35
## [3,] 0.21 0.35 1.00
r12 = matrix(c(0.26,0.33,0.67,0.59,0.34,0.34),2,3)
r12
##      [,1] [,2] [,3]
## [1,] 0.26 0.67 0.34
## [2,] 0.33 0.59 0.34
r21 = t(r12)
r21
##      [,1] [,2]
## [1,] 0.26 0.33
## [2,] 0.67 0.59
## [3,] 0.34 0.34

Korelasi Kanonik, Pasangan Variabel Kanonik

Cari nilai eigen dan vektor eigen

# Cari nilai dan vektor eigen r11 
eig.r11 = eigen(r11)$values
eig.r11
## [1] 1.8 0.2
ve.r11=matrix(c(eigen(r11)$vectors),2,2)
ve.r11
##           [,1]       [,2]
## [1,] 0.7071068 -0.7071068
## [2,] 0.7071068  0.7071068
# Cari nilai dan vektor eigen r22
eig.r22 = eigen(r22)$values
eig.r22
## [1] 1.6249273 0.7904898 0.5845829
ve.r22 = matrix(c(eigen(r22)$vectors),3,3)
ve.r22
##            [,1]        [,2]       [,3]
## [1,] -0.5556606  0.67638516  0.4834713
## [2,] -0.6317203  0.03458088 -0.7744247
## [3,] -0.5405282 -0.73573588  0.4080710

Mencari kor11^-1/2 dan kor22^-1/2

#Cara 1 (Manual)

r11_sq=1/sqrt(eig.r11[1])*ve.r11[,1]%*%t(ve.r11[,1]) +  1/sqrt(eig.r11[2])*ve.r11[,2]%*%t(ve.r11[,2])
r11_sq
##           [,1]      [,2]
## [1,]  1.490712 -0.745356
## [2,] -0.745356  1.490712
r22_sq = 1/sqrt(eig.r22[1])*ve.r22[,1]%*%t(ve.r22[,1]) +  1/sqrt(eig.r22[2])*ve.r22[,2]%*%t(ve.r22[,2]) + 1/sqrt(eig.r22[3])*ve.r22[,3]%*%t(ve.r22[,3])
r22_sq
##             [,1]       [,2]        [,3]
## [1,]  1.06249643 -0.1880181 -0.06605902
## [2,] -0.18801807  1.0988046 -0.17406991
## [3,] -0.06605902 -0.1740699  1.05582758
#Cara 2 (Otomatis)

library(expm)
r11_sq2=solve(sqrtm(r11))
r11_sq2
##           [,1]      [,2]
## [1,]  1.490712 -0.745356
## [2,] -0.745356  1.490712
r22_sq2=solve(sqrtm(r22))
r22_sq2
##             [,1]       [,2]        [,3]
## [1,]  1.06249643 -0.1880181 -0.06605902
## [2,] -0.18801807  1.0988046 -0.17406991
## [3,] -0.06605902 -0.1740699  1.05582758

Cari matriks M dan N

M = r11_sq%*%r12%*%solve(r22)%*%r21%*%r11_sq
M
##           [,1]      [,2]
## [1,] 0.3221139 0.2083554
## [2,] 0.2083554 0.1860772
N = r22_sq%*%r21%*%solve(r11)%*%r12%*%r22_sq

Menentukan nilai a dan b

# Menentukan a
a1 = eigen(M)$vectors[,1]%*%r11_sq  #For U1
a1
##            [,1]       [,2]
## [1,] -0.7689274 -0.2720729
a2 = eigen(M)$vectors[,2]%*%r11_sq  #For U2
a2
##          [,1]     [,2]
## [1,] 1.478691 -1.64431
# Mennetukan b

#Cara 1

b1 = solve(r22)%*%r21%*%t(a1)
b1
##             [,1]
## [1,] -0.03379693
## [2,] -0.61744111
## [3,] -0.13073838
#Cek asumsi bahwa Var(V1)=1
var.v1 = t(b1)%*%r22%*%b1
var.v1 #tidak sama dengan 1
##           [,1]
## [1,] 0.4732724
#Penyesuaian
b1.new = (1/sqrt(var.v1))%*%t(b1)
b1.new
##             [,1]       [,2]       [,3]
## [1,] -0.04912716 -0.8975114 -0.1900411
b2 = solve(r22)%*%r21%*%t(a2)
b2
##             [,1]
## [1,] -0.18692043
## [2,]  0.10907244
## [3,] -0.05523224
#Cek asumsi bahwa Var(V2)=1
var.v2 = t(b2)%*%r22%*%b2
var.v2 #tidak sama dengan 1
##           [,1]
## [1,] 0.0349187
#Penyesuaian
b2.new = (1/sqrt(var.v2))%*%t(b2)
b2.new
##           [,1]     [,2]       [,3]
## [1,] -1.000294 0.583695 -0.2955723
# Cara 2

b1.cara2 = eigen(N)$vectors[,1]%*%r22_sq
b1.cara2
##             [,1]       [,2]       [,3]
## [1,] -0.04912716 -0.8975114 -0.1900411
b2.cara2 = eigen(N)$vectors[,2]%*%r22_sq
b2.cara2
##          [,1]      [,2]      [,3]
## [1,] 1.000294 -0.583695 0.2955723

Menghitung Korelasi Kanonik

#Korelasi Gugus U1 dan V1

# Cara 1
var.U1 = a1%*%r11%*%t(a1)
var.V1 = b1.new%*%r22%*%t(b1.new)
var.V1
##      [,1]
## [1,]    1
cov.U1.V1 = a1%*%r12%*%t(b1.new)
cov.U1.V1
##           [,1]
## [1,] 0.6879479
cor.U1.V1 = cov.U1.V1/(sqrt(var.U1)*sqrt(var.V1))
cor.U1.V1
##           [,1]
## [1,] 0.6879479
# Cara 2
sqrt(eigen(M)$values[1])
## [1] 0.6879479
# Jadi korelasi antara gugus pertama U1 dan V1 sebesar 0,678

#Korelasi Gugus U2 dan V2

# Cara 1
var.U2 = a2%*%r11%*%t(a2)
var.V2 = b2.new%*%r22%*%t(b2.new)
var.V2
##      [,1]
## [1,]    1
cov.U2.V2 = a2%*%r12%*%t(b2.new)
cov.U2.V2
##           [,1]
## [1,] 0.1868654
cor.U2.V2 = cov.U2.V2/(sqrt(var.U2)*sqrt(var.V2))
cor.U2.V2
##           [,1]
## [1,] 0.1868654
# Cara 2
sqrt(eigen(M)$values[2])
## [1] 0.1868654
# Jadi korelasi antara gugus pertama U2 dan V2 sebesar 0,188

Menguji Signifikansi Korelasi Kanonik

Penerapan 2

Digunakan dataset chemicaldata (Box and Youle 1955; Rencher2002) yang terdapat pada package ACSWR. Dataset chemicaldata berisi hasil eksperimen reaksi kimia, dimana dalam eksperimen ini variabel yang digunakan adalah : X1 = temperatur X2 = konsentrasi zat X3 = waktu Y1= persentase material yang tidak berubah Y2 = persentase material yang berubah sesuai yang diharapkan Y3 = persentase material yang berubah tidak sesuai yang diharapkan Misal kita ingin mengetahui besarnya korelasi antara kelompok variabel input (X) dengan kelompok variabel output (Y), maka dengan R pengerjaannya sebagai berikut:

Dataset

library(CCA)
library(candisc)
library(ACSWR)

#Load dataset
data(chemicaldata)
chem = chemicaldata
chem
##      y1   y2   y3  x1   x2  x3
## 1  41.5 45.9 11.2 162 23.0 3.0
## 2  33.8 53.3 11.2 162 23.0 8.0
## 3  27.7 57.5 12.7 162 30.0 5.0
## 4  21.7 58.8 16.0 162 30.0 8.0
## 5  19.9 60.6 16.2 172 25.0 5.0
## 6  15.0 58.0 22.6 172 25.0 8.0
## 7  12.2 58.6 24.5 172 30.0 5.0
## 8   4.3 52.4 38.0 172 30.0 8.0
## 9  19.3 56.9 21.3 167 27.5 6.5
## 10  6.4 55.4 30.8 177 27.5 6.5
## 11 37.6 46.9 14.7 157 27.5 6.5
## 12 18.0 57.3 22.2 167 32.5 6.5
## 13 26.3 55.0 18.3 167 22.5 6.5
## 14  9.9 58.9 28.0 167 27.5 9.5
## 15 25.0 50.3 22.1 167 27.5 3.5
## 16 14.1 61.1 23.0 177 20.0 6.5
## 17 15.2 62.9 20.7 177 20.0 6.5
## 18 15.9 60.0 22.1 160 34.0 7.5
## 19 19.6 60.6 19.3 160 34.0 7.5
X <- chem[,4:6]
Y <- chem[,1:3]

# Persebaran Data
library(GGally)
ggpairs(X)

ggpairs(Y)

Keterkaitan Linier

library(CCA)
correl<-matcor(X,Y)
correl
## $Xcor
##             x1         x2          x3
## x1  1.00000000 -0.4620014 -0.02188275
## x2 -0.46200145  1.0000000  0.17665667
## x3 -0.02188275  0.1766567  1.00000000
## 
## $Ycor
##            y1         y2         y3
## y1  1.0000000 -0.6078234 -0.8804014
## y2 -0.6078234  1.0000000  0.1822497
## y3 -0.8804014  0.1822497  1.0000000
## 
## $XYcor
##             x1          x2          x3         y1          y2         y3
## x1  1.00000000 -0.46200145 -0.02188275 -0.6769387  0.40395099  0.5768977
## x2 -0.46200145  1.00000000  0.17665667 -0.2247259  0.07998377  0.2255903
## x3 -0.02188275  0.17665667  1.00000000 -0.4525396  0.39273121  0.3615240
## y1 -0.67693865 -0.22472586 -0.45253956  1.0000000 -0.60782343 -0.8804014
## y2  0.40395099  0.07998377  0.39273121 -0.6078234  1.00000000  0.1822497
## y3  0.57689773  0.22559034  0.36152405 -0.8804014  0.18224967  1.0000000
img.matcor(correl,type=2)

AKK

#Analisis Korelasi Kanonik
chem_cc2 <- candisc::cancor(X, Y)
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                          scree
## 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                               
## 
## 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

korelasi antara variabel asal dengan variat kanoniknya

res.cc <- cc(X, Y)
#Korelasi X dan U
res.cc$scores$corr.X.xscores
##          [,1]       [,2]       [,3]
## x1 -0.7002371 -0.2147010 -0.6808608
## x2 -0.2303823 -0.1471813  0.9619052
## x3 -0.4415774  0.8719836  0.2113147
#Korelasi Y dan V
res.cc$scores$corr.Y.yscores
##          [,1]        [,2]        [,3]
## y1  0.9954170 -0.07757607 -0.05591924
## y2 -0.6033066  0.52598224 -0.59946959
## y3 -0.8615072 -0.06822615  0.50314074
#Korelasi X dan V
res.cc$scores$corr.X.yscores
##          [,1]        [,2]        [,3]
## x1 -0.6873014 -0.06483844 -0.03903680
## x2 -0.2261263 -0.04444788  0.05515033
## x3 -0.4334200  0.26333395  0.01211562
#Korelasi Y dan U
res.cc$scores$corr.Y.xscores
##          [,1]        [,2]        [,3]
## y1  0.9770283 -0.02342752 -0.00320610
## y2 -0.5921615  0.15884355 -0.03437028
## y3 -0.8455922 -0.02060390  0.02884731

Interpretasi Penerapan 2

Penerapan 3

  • Menghitung variasi kanonik dan korelasi kanonik untuk variabel yang di standarisasi.

R11 = matrix(c(1,0.4,0.4,1),2,2)
R11
##      [,1] [,2]
## [1,]  1.0  0.4
## [2,]  0.4  1.0
R12 = matrix(c(0.5,0.3,0.6,0.4),2,2)
R12
##      [,1] [,2]
## [1,]  0.5  0.6
## [2,]  0.3  0.4
R21 = t(R12)
R21
##      [,1] [,2]
## [1,]  0.5  0.3
## [2,]  0.6  0.4
R22 = matrix(c(1,0.2,0.2,1),2,2)
R22
##      [,1] [,2]
## [1,]  1.0  0.2
## [2,]  0.2  1.0
library(expm)
R11_sq=solve(sqrtm(R11))
R11_sq
##            [,1]       [,2]
## [1,]  1.0680744 -0.2229201
## [2,] -0.2229201  1.0680744
R22_sq=solve(sqrtm(R22))
R22_sq
##            [,1]       [,2]
## [1,]  1.0154525 -0.1025815
## [2,] -0.1025815  1.0154525
Mr = R11_sq%*%R12%*%solve(R22)%*%R21%*%R11_sq
Mr
##           [,1]      [,2]
## [1,] 0.4369769 0.2177579
## [2,] 0.2177579 0.1096501
# Korelasi variabel pasangan variabel kanonik pertama
Cor.U1.V1 = sqrt(eigen(Mr)$values[1])
Cor.U1.V1
## [1] 0.7387273
# Korelasi variabel pasangan variabel kanonik kedua
Cor.U2.V2 = sqrt(eigen(Mr)$values[2])
Cor.U2.V2
## [1] 0.03014884
  • Coba lanjutkan sendiri sampai mendapatkan pasangan gugus kanonik pertama U1 dan V1 :

A.Z = matrix(c(0.86,0.28),1,2)
A.Z
##      [,1] [,2]
## [1,] 0.86 0.28
B.Z = matrix(c(0.54,0.74),1,2)
B.Z
##      [,1] [,2]
## [1,] 0.54 0.74
# Korelasi antara variabel yang distandarisasi dengan variabel kanonik

cor.U1.z1 = A.Z %*% R11
cor.U1.z2 = A.Z %*% R12
cor.U1.z1 #Korelasi U1 sangat besar 
##       [,1]  [,2]
## [1,] 0.972 0.624
cor.U1.z2
##       [,1]  [,2]
## [1,] 0.514 0.628
cor.V1.z2 = B.Z %*% R22
cor.V1.z2
##       [,1]  [,2]
## [1,] 0.688 0.848
cor.V1.z1 = B.Z %*% R21
cor.V1.z1
##       [,1]  [,2]
## [1,] 0.714 0.458

Penerapan 4 (Soal UAS)

Soal 1 2017

Output terlampir akan digunakan untuk mempelajari hubungan secara simultan antara suku bunga deposito, laju inflasi, kurs rupiah terhadap dollar dengan harga lima saham unggulan pada 3 tahun terakhir.

Soal 2 2019

Buat partisi matrix nya

r11<-matrix(c(1,0.5,0.5,1),2,2)
r22<-matrix(c(1,0.37,0.21, 0.37,1,0.35,0.21,0.35,1),3,3)
r21<-matrix(c(0.56,0.67,0.84,0.43,0.59,0.74),3,2)
r11
##      [,1] [,2]
## [1,]  1.0  0.5
## [2,]  0.5  1.0
r22
##      [,1] [,2] [,3]
## [1,] 1.00 0.37 0.21
## [2,] 0.37 1.00 0.35
## [3,] 0.21 0.35 1.00
r21
##      [,1] [,2]
## [1,] 0.56 0.43
## [2,] 0.67 0.59
## [3,] 0.84 0.74

Mencari nilai Gugus Variabel

#r11
eig1<-matrix(c(eigen(r11)$values),1,2)
eig1
##      [,1] [,2]
## [1,]  1.5  0.5
ve11<-matrix(c(eigen(r11)$vectors),2,2)
ve11
##           [,1]       [,2]
## [1,] 0.7071068 -0.7071068
## [2,] 0.7071068  0.7071068
#r22
eig2<-matrix(c(eigen(r22)$values),1,3)
eig2
##          [,1]      [,2]      [,3]
## [1,] 1.624927 0.7904898 0.5845829
ve22<-matrix(c(eigen(r22)$vectors),3,3)
ve22
##            [,1]        [,2]       [,3]
## [1,] -0.5556606  0.67638516  0.4834713
## [2,] -0.6317203  0.03458088 -0.7744247
## [3,] -0.5405282 -0.73573588  0.4080710
# Cara 1
r11_sq<-1/sqrt(eig1[,1])*ve11[,1]%*%t(ve11[,1]) +  1/sqrt(eig1[,2])*ve11[,2]%*%t(ve11[,2])
r11_sq
##            [,1]       [,2]
## [1,]  1.1153551 -0.2988585
## [2,] -0.2988585  1.1153551
# Cara 2
r11_sq=solve(sqrtm(r11))

# M
M<-r11_sq%*%t(r21)%*%solve(r22)%*%r21%*%r11_sq
M
##           [,1]      [,2]
## [1,] 0.6952329 0.5339550
## [2,] 0.5339550 0.4178542
# Korelasi Kanonik
sqrt(eigen(M)$values[1])
## [1] 1.052718
# Sehingga korelasi antara dua gugus pertama sebesar 1

sqrt(eigen(M)$values[2])
## [1] 0.06979199
# Sehingga korelasi antara dua gugus kedua sebesar 0,07

Menentukan a1, a2, b1, b2

a1=eigen(M)$vectors[,1]%*%r11_sq
a1
##            [,1]       [,2]
## [1,] -0.6994165 -0.4459754
a2=eigen(M)$vectors[,2]%*%r11_sq
a2
##           [,1]      [,2]
## [1,] 0.9187763 -1.065101
# Cara 1 Teribet
b1=solve(r22)%*%r21%*%t(a1)
b1
##            [,1]
## [1,] -0.2945176
## [2,] -0.3684034
## [3,] -0.7267417
# Cek apakah var(V1)=1
var.v1=t(b1)%*%r22%*%b1
var.v1 #Hasil tidak sama dengan 1
##          [,1]
## [1,] 1.108216
b1_new=(1/sqrt(as.numeric(var.v1)))*b1
b1_new
##            [,1]
## [1,] -0.2797687
## [2,] -0.3499543
## [3,] -0.6903477
# Cek apakah var(V1)=1 --> untuk memastikan aja sih gays
t(b1_new)%*%r22%*%b1_new
##      [,1]
## [1,]    1
b2=solve(r22)%*%r21%*%t(a2)
b2
##             [,1]
## [1,]  0.07287599
## [2,] -0.03270214
## [3,] -0.02026053
var_v2=t(b2)%*%r22%*%b2
var_v2
##             [,1]
## [1,] 0.004870922
b2_new=(1/sqrt(as.numeric(var_v2)))*b2
b2_new
##            [,1]
## [1,]  1.0441885
## [2,] -0.4685658
## [3,] -0.2902988
# Cara 2 : Paling disarankan
r22_sq=solve(sqrtm(r22))
r22_sq
##             [,1]       [,2]        [,3]
## [1,]  1.06249643 -0.1880181 -0.06605902
## [2,] -0.18801807  1.0988046 -0.17406991
## [3,] -0.06605902 -0.1740699  1.05582758
N=r22_sq%*%r21%*%solve(r11)%*%t(r21)%*%r22_sq
N
##           [,1]      [,2]      [,3]
## [1,] 0.1818822 0.2240680 0.3373741
## [2,] 0.2240680 0.2862977 0.4296269
## [3,] 0.3373741 0.4296269 0.6449072
b1=eigen(N)$vectors[,1]%*%r22_sq
b1
##            [,1]       [,2]       [,3]
## [1,] -0.2797687 -0.3499543 -0.6903477
b2=eigen(N)$vectors[,2]%*%r22_sq
b2
##          [,1]       [,2]       [,3]
## [1,] 1.044188 -0.4685658 -0.2902988
b3=eigen(N)$vectors[,3]%*%r22_sq
b3
##             [,1]       [,2]      [,3]
## [1,] 0.003627383 -0.9648838 0.7671914

Soal 3

Bagian A

#Matriks R
R = matrix(c(1,.56,.68,.72,
             .56,1,.55,.58,
             .68,.55,1,.98,
             .72,.58,.98,1),4,4)
R
##      [,1] [,2] [,3] [,4]
## [1,] 1.00 0.56 0.68 0.72
## [2,] 0.56 1.00 0.55 0.58
## [3,] 0.68 0.55 1.00 0.98
## [4,] 0.72 0.58 0.98 1.00
# Partisi Matrix
R11 = R[1:2,1:2]
R11
##      [,1] [,2]
## [1,] 1.00 0.56
## [2,] 0.56 1.00
R12 = R[1:2,3:4]
R22
##      [,1] [,2]
## [1,]  1.0  0.2
## [2,]  0.2  1.0
R21 = R[3:4,1:2]
R21
##      [,1] [,2]
## [1,] 0.68 0.55
## [2,] 0.72 0.58
R22 = R[3:4,3:4]
R22
##      [,1] [,2]
## [1,] 1.00 0.98
## [2,] 0.98 1.00

sqrt.inv.R11 = solve(sqrtm(R11))
sqrt.inv.R11
##           [,1]      [,2]
## [1,]  1.154099 -0.353458
## [2,] -0.353458  1.154099
sqrt.inv.R22 = solve(sqrtm(R22))
sqrt.inv.R22
##           [,1]      [,2]
## [1,]  3.890868 -3.180199
## [2,] -3.180199  3.890868
M1 = sqrt.inv.R11%*%R12%*%solve(R22)%*%R21%*%sqrt.inv.R11
M1
##           [,1]      [,2]
## [1,] 0.4052143 0.2667879
## [2,] 0.2667879 0.1758822
M2 = sqrt.inv.R22%*%R21%*%solve(R11)%*%R12%*%sqrt.inv.R22
M2
##           [,1]      [,2]
## [1,] 0.1402172 0.2484445
## [2,] 0.2484445 0.4408793
rho1 = sqrt(eigen(M1)$values[1])
rho1
## [1] 0.7621905
rho2 = sqrt(eigen(M1)$values[2])
rho2
## [1] 0.01273269

eigen.M1=eigen(M1)
eigen.M2 = eigen(M2)
e1 = eigen.M1$vectors[,1]
e2 = eigen.M1$vectors[,2]
f1 = eigen.M2$vectors[,1]
f2 = eigen.M2$vectors[,2]
a1 = e1%*%sqrt.inv.R11
b1 = f1%*%sqrt.inv.R22
a2 = e2%*%sqrt.inv.R11
b2 = f2%*%sqrt.inv.R22
A = matrix(c(a1,b1),2,2)
A
##            [,1]      [,2]
## [1,] -0.7693971 -0.859627
## [2,] -0.3396378  1.827694

B = matrix(c(a2,b2),2,2)
B
##            [,1]      [,2]
## [1,]  0.9300025 -4.951118
## [2,] -1.1582412  4.681032

!

Bagian B

R.U.X = a1%*%R11
R.U.X
##            [,1]       [,2]
## [1,] -0.9595942 -0.7705002
R.U.Y = a1%*%R12
R.U.Y
##            [,1]       [,2]
## [1,] -0.7099908 -0.7509558
R.V.X = b1%*%R21
R.V.X
##           [,1]      [,2]
## [1,] 0.7313936 0.5872679
R.V.Y = b1%*%R22
R.V.Y
##           [,1]    [,2]
## [1,] 0.9315136 0.98526

Penerapan 5 Latihan di Modul

Penerapan 6 Latihan di PPT

# Input Partisi Matrix
s11 = matrix(c(8,2,2,5),2,2)
s12 = matrix(c(3,1,-1,3),2,2)
s21 = t(s12)
s22 = matrix(c(6,-2,-2,7),2,2)
s11
##      [,1] [,2]
## [1,]    8    2
## [2,]    2    5
s12
##      [,1] [,2]
## [1,]    3   -1
## [2,]    1    3
s21
##      [,1] [,2]
## [1,]    3    1
## [2,]   -1    3
s22
##      [,1] [,2]
## [1,]    6   -2
## [2,]   -2    7
# Cari a dan b
s11_sq = solve(sqrtm(s11))
s11_sq
##             [,1]        [,2]
## [1,]  0.36666667 -0.06666667
## [2,] -0.06666667  0.46666667
s22_sq = solve(sqrtm(s22))
s22_sq
##            [,1]       [,2]
## [1,] 0.42432848 0.06446599
## [2,] 0.06446599 0.39209549
Ms1 = s11_sq%*%s12%*%solve(s22)%*%s21%*%s11_sq
Ms1
##              [,1]         [,2]
## [1,]  0.185760234 -0.008654971
## [2,] -0.008654971  0.393918129
Ms2 = s22_sq%*%s21%*%solve(s11)%*%s12%*%s22_sq
Ms2
##            [,1]       [,2]
## [1,] 0.20469851 0.06048473
## [2,] 0.06048473 0.37497985
a1 = eigen(Ms1)$vectors[,1]%*%s11_sq
a1
##             [,1]    [,2]
## [1,] -0.08181554 0.46903
b1 = eigen(Ms2)$vectors[,1]%*%s22_sq
b1
##           [,1]      [,2]
## [1,] 0.1903917 0.3931389
a2 = eigen(Ms1)$vectors[,2]%*%s11_sq
a2
##            [,1]       [,2]
## [1,] -0.3635864 0.04725593
b2 = eigen(Ms2)$vectors[,2]%*%s22_sq
b2
##            [,1]      [,2]
## [1,] -0.3846577 0.0577626
# Korelasi kanonik
r1 = sqrt(eigen(Ms1)$values[1])
r1
## [1] 0.6279151
r2 = sqrt(eigen(Ms1)$values[2])
r2
## [1] 0.4305822