Description for Canonical Correlation Analysis
두 개의 변수집합
\(\mathbf{X}=(X_1, \ldots, X_p)^T\)와 \(\mathbf{Y}=(Y_1, \ldots, Y_q)^T\)
간의 선형적 연관성을 분석
하는 다변량 데이터 분석기법이다.
정준상관계수(Canonical Correlation Coefficient)
라는 측도를
통해 나타낼 수 있다.
두 변수집합 간의 정준상관계수가 최대가 되도록하는 각 변수집합의 선형결합식
을
찾는 것이다.정준상관분석
이다.
최대상관계수
를
“제1정준상관계수”라고 말하고 대응되는 정준변수 \(V_1\)와 \(W_1\)를 “제1정준변수”하고 한다.서로 독립
이다.
각 집합에 속한 변수들의 개수인
\(p\) 혹은
\(q\)가 아주 크다면
\(\boldsymbol{\Sigma}_{XY}\)를 통해 두
변수집합 간의 관계를 일괄적으로 파악하기는 매우 어렵다.
선형결합
을 이용하여 \(\mathbf{X}\)와 \(\mathbf{Y}\)에 대해 \[
\begin{align}
V &= \boldsymbol{\alpha}^T\mathbf{X} = \alpha_1X_1 + \ldots +
\alpha_pX_p,\\
W &= \boldsymbol{\beta}^T\mathbf{Y} = \beta_1Y_1 + \ldots +
\beta_qY_q \tag{1}
\end{align}
\] 와 같이 선형결합된 일변량변수
\(V\)와
\(W\)의 관계를 고려
하는
것이다.정준계수벡터
\(\boldsymbol{\alpha}_1\)와 \(\boldsymbol{\beta}_1\)는 각각 다음 두 행렬
\[
\begin{align}
\mathbf{A} &=
\boldsymbol{\Sigma}_{XX}^{-1}\boldsymbol{\Sigma}_{XY}\boldsymbol{\Sigma}_{YY}^{-1}\boldsymbol{\Sigma}_{YX},\\
\mathbf{B} &=
\boldsymbol{\Sigma}_{YY}^{-1}\boldsymbol{\Sigma}_{YX}\boldsymbol{\Sigma}_{XX}^{-1}\boldsymbol{\Sigma}_{XY}\\
\end{align}
\] 의 첫 번째 고유벡터
를 이용하여 얻을 수 있다.
제1정준상관계수
\(\rho_1\)이 된다.제2정준상관계수
\(\rho_2\)가 된다.고유벡터
를
이용하여 정준계수벡터
\(\boldsymbol{\alpha}\)와 \(\boldsymbol{\beta}\)를 얻을 수 있으며,
고유값의 제곱근
은 정준상관계수
가 된다.
고유값
은 크기 순서대로 정준상관계수
가
되고, 각 고유값
에 대응되는 고유벡터
로부터
정준계수벡터
가 얻어진다.stats
에 내장되어 있는 함수
cancor()
CCA
에 내장되어 있는 함수 cc()
rcc()
는 변수 개수가
관측 개수보다 많아서 상관행렬이 정칙행렬이 아닌 경우에도 사용할 수
있다.yacca
에 내장되어 있는 함수
cca()
※ 여기서는 2번 Package CCA
에 내장되어 있는 함수
cc()
를 이용하여 예제 데이터들을 분석한다.
# 데이터 불러오기
job <- read.csv("C:/Users/User/Desktop/job.csv")
job
job x1 x2 x3 y1 y2 y3
1 A 10 11 70 72 26 9
2 B 85 22 93 63 76 7
3 C 83 63 73 96 31 7
4 D 82 75 97 96 98 6
5 E 36 77 97 84 94 6
6 F 28 24 75 66 10 5
7 G 64 23 75 31 40 9
8 H 19 15 50 45 14 2
9 I 33 13 70 42 18 6
10 J 23 14 90 79 74 4
11 K 37 13 70 39 12 2
12 L 23 74 53 54 35 3
13 M 45 58 83 60 75 5
14 N 22 67 53 63 45 5
x1 x2 x3
1 10 11 70
2 85 22 93
3 83 63 73
4 82 75 97
5 36 77 97
6 28 24 75
7 64 23 75
8 19 15 50
9 33 13 70
10 23 14 90
11 37 13 70
12 23 74 53
13 45 58 83
14 22 67 53
job.Y
y1 y2 y3
1 72 26 9
2 63 76 7
3 96 31 7
4 96 98 6
5 84 94 6
6 66 10 5
7 31 40 9
8 45 14 2
9 42 18 6
10 79 74 4
11 39 12 2
12 54 35 3
13 60 75 5
14 63 45 5
# 상관행렬pacman::p_load("CCA")
package 'CCA' successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\User\AppData\Local\Temp\RtmpE34C3c\downloaded_packages
matcor(job.X, job.Y)
$Xcor
x1 x2 x3
x1 1.0000000 0.2655074 0.5362404
x2 0.2655074 1.0000000 0.1178639
x3 0.5362404 0.1178639 1.0000000
$Ycor
y1 y2 y3
y1 1.0000000 0.5538806 0.2244930
y2 0.5538806 1.0000000 0.2108256
y3 0.2244930 0.2108256 1.0000000
$XYcor
x1 x2 x3 y1 y2 y3
x1 1.0000000 0.26550743 0.5362404 0.3060371 0.4241932 0.39608438
x2 0.2655074 1.00000000 0.1178639 0.5247464 0.5262038 -0.01305114
x3 0.5362404 0.11786387 1.0000000 0.5162016 0.7655578 0.37519987
y1 0.3060371 0.52474641 0.5162016 1.0000000 0.5538806 0.22449295
y2 0.4241932 0.52620376 0.7655578 0.5538806 1.0000000 0.21082561
y3 0.3960844 -0.01305114 0.3751999 0.2244930 0.2108256 1.00000000
Caution!
Package CCA
에 내장되어 있는 함수
matcor()
를 이용하면 각 변수집합에 대한 상관행렬 뿐만 아니라
두 변수집합에 대한 상관행렬도 출력할 수 있다.
Result!
상관행렬 중 특히 두 변수집합간 상관행렬을 살펴보면,
변수 \(y_1\)과 변수 \(x_2\), \(x_3\) 사이의 상관계수는 0.5 이상의 높은
양의 상관관계를 가진다. 또한, 변수 \(y_2\)와 변수 \(x_2\), \(x_3\) 사이에서도 0.5 이상의 높은 양의
상관계수를 보인다. 반면, \(x_1\)과
\(y_3\)는 다른 집합의 변수들과
상대적으로 낮은 상관계수를 가지고 있다.
# 상관행렬 시각화
img.matcor(matcor(job.X, job.Y), type = 1)
img.matcor(matcor(job.X, job.Y), type = 2)
Caution!
Package CCA
에 내장되어 있는 함수
img.matcor()
를 이용하면 상관행렬을 시각화할 수 있으며,
색상이 모두 초록색이면 변수 간의 상관계수가 거의 0에 가까우므로
정준상관분석을 중단한다.
# 정준상관분석 수행pacman::p_load("CCA")
job.cc <- cc(job.X, job.Y) # cc(X 변수집합의 데이터행렬, Y 변수집합의 데이터행렬)NAjob.cc
$cor
[1] 0.9194120 0.4186491 0.1133658
$names
$names$Xnames
[1] "x1" "x2" "x3"
$names$Ynames
[1] "y1" "y2" "y3"
$names$ind.names
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13"
[14] "14"
$xcoef
[,1] [,2] [,3]
x1 0.004300092 0.031408316 -0.03519517
x2 -0.020110886 -0.028134366 -0.01528254
x3 -0.053120964 0.006447336 0.05245086
$ycoef
[,1] [,2] [,3]
y1 -0.01483783 -0.026536591 -0.05099320
y2 -0.02525192 0.004197075 0.02920936
y3 -0.02434304 0.441592020 -0.15072041
$scores
$scores$xscores
[,1] [,2] [,3]
[1,] 0.6910075 -0.24753813 1.30395148
[2,] -0.4294875 1.94689629 -0.29742452
[3,] -0.2002147 0.60162391 -1.90263551
[4,] -1.7207486 0.38733927 -0.79201009
[5,] -1.9587746 -1.11371200 0.79640276
[6,] 0.2413628 -0.01569852 0.73401969
[7,] 0.4162770 1.14313523 -0.51772397
[8,] 1.7116840 -0.20634748 -0.12295248
[9,] 0.7496878 0.41858441 0.46389744
[10,] -0.3758432 0.20531361 1.84958388
[11,] 0.7668882 0.54421768 0.32311675
[12,] 0.3829793 -1.72129981 -1.00805035
[13,] -0.7942734 -0.38674690 0.03570236
[14,] 0.5194554 -1.55576756 -0.86587741
$scores$yscores
[,1] [,2] [,3]
[1,] 0.30025201 1.26830815 -1.56061971
[2,] -0.78011722 0.83380716 0.66022790
[3,] -0.13342942 -0.23076870 -2.33696880
[4,] -1.80096474 -0.39115672 -0.22922124
[5,] -1.52190311 -0.08950593 0.26585967
[6,] 0.89068180 -0.40599358 -1.11912867
[7,] 0.55507624 2.41506742 0.93903239
[8,] 1.17429769 -1.15671293 0.52072712
[9,] 1.02043136 0.70605322 0.18766252
[10,] -0.89398956 -0.92394851 0.23807926
[11,] 1.31382851 -1.00588754 0.76826758
[12,] 0.48612395 -0.86581166 0.52446452
[13,] -0.66166574 0.02603581 1.08543894
[14,] 0.05137824 -0.17948620 0.05617854
$scores$corr.X.xscores
[,1] [,2] [,3]
x1 -0.4863184 0.6591844 -0.5735594
x2 -0.6215686 -0.5452117 -0.5624915
x3 -0.8459188 0.4450690 0.2938283
$scores$corr.Y.xscores
[,1] [,2] [,3]
y1 -0.6894795 -0.10480386 -0.06941846
y2 -0.8867213 0.01515053 0.02967896
y3 -0.2641769 0.36897740 -0.04251718
$scores$corr.X.yscores
[,1] [,2] [,3]
x1 -0.4471269 0.2759670 -0.06502204
x2 -0.5714777 -0.2282524 -0.06376731
x3 -0.7777478 0.1863277 0.03331009
$scores$corr.Y.yscores
[,1] [,2] [,3]
y1 -0.7499135 -0.2503382 -0.6123402
y2 -0.9644439 0.0361891 0.2617981
y3 -0.2873325 0.8813524 -0.3750441
# 정준상관계수job.cc$cor
[1] 0.9194120 0.4186491 0.1133658
Result!
제1정준상관계수가 0.919이며, 이는 “업무특성”
변수집합의 선형결합과 “만족도” 변수집합의 선형결합 사이에 매우 높은
상관성이 있음을 나타낸다.
# 정준계수job.cc$xcoef # a_1X_1+...+a_pX_p의 a값
[,1] [,2] [,3]
x1 0.004300092 0.031408316 -0.03519517
x2 -0.020110886 -0.028134366 -0.01528254
x3 -0.053120964 0.006447336 0.05245086
job.cc$ycoef # b_1Y_1+...+b_qY_q의 b값
[,1] [,2] [,3]
y1 -0.01483783 -0.026536591 -0.05099320
y2 -0.02525192 0.004197075 0.02920936
y3 -0.02434304 0.441592020 -0.15072041
Caution!
총 3개의 정준계수벡터가 출력되었는데 이는 \(s=\text{min}(3,3)=3\)에 의해
결정되었다.
Result!
“업무특성” 변수집합에서 제1정준계수벡터 (0.004,
-0.020, -0.053)에 대응되는 제1정준변수는 \(\hat{V}_1=0.004X_1-0.020X_2-0.053X_3\)이고,
“만족도” 변수집합에서 제1정준계수벡터 (-0.015, -0.025, -0.024)에
대응되는 제1정준변수는 \(\hat{W}_1=-0.015Y_1-0.025Y_2-0.024Y_3\)이다.
이 두 정준변수의 상관계수가 위에서 출력된 제1정준상관계수 0.919이다.
또한, 정준계수에 대한 해석은 회귀계수에 대한 해석과 유사하다. 즉, 변수
\(x_1\) (다양성)의 경우 \(x_1\) (다양성)의 값이 1 단위 증가할 때
“업무특성” 변수집합의 제1정준변수 \(\hat{V}_1\)의 값은 0.004 증가한다.
# 표준화된 정준계수NAjob.cc$xcoef*apply(job.X, 2, sd)
[,1] [,2] [,3]
x1 0.1108295 0.8095098 -0.9071112
x2 -0.5519543 -0.7721632 -0.4194377
x3 -0.8402945 0.1019873 0.8296945
job.cc$ycoef*apply(job.Y, 2, sd)
[,1] [,2] [,3]
y1 -0.30284133 -0.5416140 -1.0407753
y2 -0.78536978 0.1305349 0.9084518
y3 -0.05377069 0.9754208 -0.3329223
Caution!
위에서 출력된 정준계수를 해석할 때 유의해야할
점은 변수들의 단위가 다를 수 있다는 점이다. 변수들의 단위가 다르면
정준계수를 이용하여 변수들의 영향력을 비교할 수 없다. 그래서, 단위를
일치시킨 표준화 정준계수벡터를 이용하여 변수들의 영향력을 비교한다.
표준화된 정준계수벡터는 3-2. 표준화된
정준상관계수에서 봤듯이 공분산행렬에 의해 유도된 정준계수에 각
변수의 표준편차를 곱한 것이다. 여기서 각 변수의 표본표준편차를 계산하기
위해 함수 apply()
를 이용하였다. 함수 apply()
는
주어진 함수를 행렬 또는 데이터프레임에 반복적으로 적용하는 데 사용하는
함수로 첫 번째 인자는 행렬 또는 데이터프레임, 두 번째 인자는 “1”이면
행별, “2”이면 열별로 작업하라는 의미이다. 세 번째 인자는 적용할 함수를
명시한다.
Result!
“업무특성” 변수집합에서 표준화된 제1정준계수벡터
(0.111, -0.552, -0.840)에 대응되는 표준화된 제1정준변수는 \(\hat{V}_1=0.111Z_{X_1}-0.552Z_{X_2}-0.840Z_{X_3}\)이고,
“만족도” 변수집합에서 제1정준계수벡터 (-0.303, -0.785, -0.054)에
대응되는 제1정준변수는 \(\hat{W}_1=-0.303Z_{Y_1}-0.785Z_{Y_2}-0.054Z_{Y_3}\)이다.
여기서 \(Z_{X_i}\)와 \(Z_{Y_i}\)은 표준화된 관찰변수(평균이 0이고
분산이 1인 관찰변수)를 의미한다. 이 두 정준변수의 상관계수는
공분산행렬을 이용하여 계산된 제1정준상관계수와 동일하다. 즉, 0.919이다.
변수들의 영향력을 살펴보면 “업무특성” 변수집합의 제1정준변수에는 변수
\(x_3\) (자율성)와 \(x_2\) (피드백)가 상대적으로 큰 기여를 하고
있으며, “만족도” 변수집합의 제1정준변수에는 변수 \(y_2\) (관계)와 \(y_1\) (경력)이 상대적으로 큰 기여를 하고
있음을 알 수 있다. 또한, 표준화 정준계수에 대한 해석은 표준화 회귀계수에
대한 해석과 유사하다. 예를 들어, 변수 \(x_3\) (자율성)의 경우 \(x_3\)의 값이 1 표준편차 증가할 때
“업무특성” 변수집합의 제1정준변수 \(\hat{V}_1\)의 값은 0.840*표준편차
감소한다.
# 정준점수job.cc$scores$xscores
[,1] [,2] [,3]
[1,] 0.6910075 -0.24753813 1.30395148
[2,] -0.4294875 1.94689629 -0.29742452
[3,] -0.2002147 0.60162391 -1.90263551
[4,] -1.7207486 0.38733927 -0.79201009
[5,] -1.9587746 -1.11371200 0.79640276
[6,] 0.2413628 -0.01569852 0.73401969
[7,] 0.4162770 1.14313523 -0.51772397
[8,] 1.7116840 -0.20634748 -0.12295248
[9,] 0.7496878 0.41858441 0.46389744
[10,] -0.3758432 0.20531361 1.84958388
[11,] 0.7668882 0.54421768 0.32311675
[12,] 0.3829793 -1.72129981 -1.00805035
[13,] -0.7942734 -0.38674690 0.03570236
[14,] 0.5194554 -1.55576756 -0.86587741
job.cc$scores$yscores
[,1] [,2] [,3]
[1,] 0.30025201 1.26830815 -1.56061971
[2,] -0.78011722 0.83380716 0.66022790
[3,] -0.13342942 -0.23076870 -2.33696880
[4,] -1.80096474 -0.39115672 -0.22922124
[5,] -1.52190311 -0.08950593 0.26585967
[6,] 0.89068180 -0.40599358 -1.11912867
[7,] 0.55507624 2.41506742 0.93903239
[8,] 1.17429769 -1.15671293 0.52072712
[9,] 1.02043136 0.70605322 0.18766252
[10,] -0.89398956 -0.92394851 0.23807926
[11,] 1.31382851 -1.00588754 0.76826758
[12,] 0.48612395 -0.86581166 0.52446452
[13,] -0.66166574 0.02603581 1.08543894
[14,] 0.05137824 -0.17948620 0.05617854
Caution!
정준점수는 표준화된 정준변수를 이용하여 각
개체에 대한 정준점수를 계산한다.
Result!
“업무특성” 변수집합에서 표준화된 제1정준변수 \(\hat{V}_1=0.111Z_{X_1}-0.552Z_{X_2}-0.840Z_{X_3}\)의
\(Z_{X_i}(i=1,2,3)\)에 개체에 의해
관찰된 값을 표준화하여 대입하면 “job.cc$scores$xscores”의 1열에 대한
결과가 출력된다.
# 정준점수 그래프score <- cbind(job.cc$scores$xscores,
job.cc$scores$yscores)
colnames(score) <- c("v1", "v2", "v3", "w1", "w2", "w3")
rownames(score) <- job[,1]
plot(score[,c(1,4)], pch = 1, col = "blue", xlab = expression(hat(V)[1]), ylab = expression(hat(W)[1]))
abline(v = 0, h = 0, lty = 2)
text(score[,c(1,4)], labels = rownames(score), pos = 4, col = "red")
Result!
제3사분면에 있는 “job”이 “E”, “D”, “M”인
개체들은 제1정준변수 \(\hat{V}_1\)과
\(\hat{W}_1\)의 값이 음수이면서 높다는
것을 의미한다. 즉, \(\hat{V}_1\)의 값이
높은 음수값을 가질려면 음수이면서 큰 영향을 미치는 변수 \(x_3\) (자율성)와 \(x_2\) (피드백)의 값이 높다는 것이고 \(\hat{W}_1\)의 값이 높은 음수값을 가지려면
마찬가지로 변수 \(y_2\) (관계)의 값이
높다는 것을 의미한다. 그렇기 때문에, 제3사분면에 있는 “E”, “D”, “M”
개체들은 자율성과 피드백 측면의 “업무특성”에 대해 느끼는 정도가 높으며,
관계 측면의 “만족도”도 높은 그룹이다.
# 정준적재NAjob.cc$scores$corr.X.xscores
[,1] [,2] [,3]
x1 -0.4863184 0.6591844 -0.5735594
x2 -0.6215686 -0.5452117 -0.5624915
x3 -0.8459188 0.4450690 0.2938283
job.cc$scores$corr.Y.yscores
[,1] [,2] [,3]
y1 -0.7499135 -0.2503382 -0.6123402
y2 -0.9644439 0.0361891 0.2617981
y3 -0.2873325 0.8813524 -0.3750441
Result!
“업무특성” 변수집합의
정준적재(“job.cc$scores$corr.X.xscores”)를 살펴보면, 제1정준변수 \(\hat{V}_1\)은 그의 관찰변수들과 대체로 높은
상관계수를 가지고 있으며, 특히 \(x_3\)가 가장 큰 연관성을 가지고 있음을 알
수 있다. 즉, \(r(x_3,
\hat{V}_1)=-0.8459\). 한편, “만족도” 변수집합의
정준적재(job.cc$scores$corr.Y.yscores)를 살펴보면, \(y_2\)가 제1정준변수 \(\hat{W}_1\)과 매우 높은 상관성을 가지고
있다는 것을 알 수 있다. 즉, \(r(y_2,
\hat{W}_1)=-0.9644\).
# 교차적재NAjob.cc$scores$corr.X.yscores
[,1] [,2] [,3]
x1 -0.4471269 0.2759670 -0.06502204
x2 -0.5714777 -0.2282524 -0.06376731
x3 -0.7777478 0.1863277 0.03331009
job.cc$scores$corr.Y.xscores
[,1] [,2] [,3]
y1 -0.6894795 -0.10480386 -0.06941846
y2 -0.8867213 0.01515053 0.02967896
y3 -0.2641769 0.36897740 -0.04251718
Result!
“업무특성” 변수집합의
교차적재(“job.cc$scores$corr.X.yscores”)를 살펴보면, “만족도”
변수집합으로부터 유도된 제1정준변수 \(\hat{W}_1\)과 \(x_3\)은 가장 큰 연관성을 가지고 있음을 알
수 있다. 즉, \(r(x_3,
\hat{W}_1)=-0.7778\). 즉, \(\hat{W}_1\)은 \(x_3\)를 가장 많이 설명하고 있다는 것이다.
“만족도” 변수집합의 교차적재(“job.cc$scores$corr.Y.xscores”)를 살펴보면,
“업무특성” 변수집합으로부터 유도된 제1정준변수 \(\hat{V}_1\)과 \(y_2\)는 \(r(y_2,
\hat{V}_1)=-0.8867\)로 매우 높은 연관성을 가지고 있으며, 이는
\(\hat{V}_1\)은 \(y_2\)를 가장 많이 설명하고 있다는 것을
의미한다.
# X 변수집합의 변이에 대한 정준변수들의 공헌도NAcxx <- job.cc$scores$corr.X.xscores
cv <- colSums(cxx^2)/nrow(cxx)
cum.cv <- cumsum(cv)
cbind(cv, cum.cv)
cv cum.cv
[1,] 0.4461439 0.4461439
[2,] 0.3099554 0.7560993
[3,] 0.2439007 1.0000000
Result!
“업무특성” 변수집합에 의해 유도된 정준변수들의
공헌도를 살펴보면, 제1정준변수는 전체변이 중 약 44.6%로 가장 높은
설명력을 가졌다. 게다가, 두 개의 정준변수들로 전체 표본변이 중 약
75.6%가 설명됨을 알 수 있다.
# Y 변수집합의 변이에 대한 정준변수들의 공헌도NAcyy <- job.cc$scores$corr.Y.yscores
cw <- colSums(cyy^2)/nrow(cyy)
cum.cw <- cumsum(cw)
cbind(cw, cum.cw)
cw cum.cw
[1,] 0.5250275 0.5250275
[2,] 0.2802536 0.8052811
[3,] 0.1947189 1.0000000
Result!
“만족도” 변수집합에 의해 유도된 정준변수들의
공헌도를 살펴보면, 제1정준변수는 전체변이 중 약 52.5%로 가장 높은
설명력을 가졌다. 게다가, 두 개의 정준변수들로 전체 표본변이 중 약
80.5%가 설명됨을 알 수 있다.
# 독립성 검정 검정
pacman::p_load("CCP")
There is a binary version available but the source version
is later:
binary source needs_compilation
CCP 1.1 1.2 FALSE
rho <- job.cc$cor # 정준상관계수
N <- nrow(job) # 전체 개체 개수수
p <- ncol(job.X) # X 변수집합의 변수 개수
q <- ncol(job.Y) # Y 변수집합의 변수 개수
# 정준상관계수에 대한 유의성 검정p.asym(rho, # 정준상관계수 N, # 각 변수들에 대한 관측 개수개수
p, # 독립변수 개수수 개수
q, # 종속변수 개수개수
tstat = "Wilks") # 검정통계량, "Wilks" / "Hotelling" / "Pillai" / "Roy"
Wilks' Lambda, using F-approximation (Rao's F):
stat approx df1 df2 p.value
1 to 3: 0.1259315 2.9275112 9 19.6205 0.0223321
2 to 3: 0.8141336 0.4872906 4 18.0000 0.7449723
3 to 3: 0.9871482 0.1301913 1 10.0000 0.7257394
Caution!
Package CCP
에 내장되어 있는 함수
p.asym()
을 통해 정준상관계수의 유의성 검정을 수행할 수
있다.
Result!
분석 결과를 살펴보면, 먼저 제1정준상관계수에 대한
가설에 대해 검정통계량 값은 \(\chi^2=0.1259\)이고 이에 대응되는 \(p\)-값은 0.0223이다. 이에 근거하여,
유의수준 5%에서 \(p\)-값은 유의수준
\(\alpha=0.05\)보다 작기 때문에
귀무가설을 기각할 수 있다. 즉, 제1정준상관계수는 통계적으로 유의한
의미를 가진다. 제2정준상관계수에 대한 가설에 대해 검정통계량 값은 \(\chi^2=0.8141\)이고 이에 대응되는 \(p\)-값은 0.7450이다. 이에 근거하여,
유의수준 5%에서 \(p\)-값은 유의수준
\(\alpha=0.05\)보다 크기 때문에
귀무가설을 기각할 수 없다. 즉, 제2정준상관계수는 통계적으로 유의한
의미를 가지지 않는다.
# 데이터 불러오기
data(LifeCycleSavings)
sav <- LifeCycleSavings
sav
sr pop15 pop75 dpi ddpi
Australia 11.43 29.35 2.87 2329.68 2.87
Austria 12.07 23.32 4.41 1507.99 3.93
Belgium 13.17 23.80 4.43 2108.47 3.82
Bolivia 5.75 41.89 1.67 189.13 0.22
Brazil 12.88 42.19 0.83 728.47 4.56
Canada 8.79 31.72 2.85 2982.88 2.43
Chile 0.60 39.74 1.34 662.86 2.67
China 11.90 44.75 0.67 289.52 6.51
Colombia 4.98 46.64 1.06 276.65 3.08
Costa Rica 10.78 47.64 1.14 471.24 2.80
Denmark 16.85 24.42 3.93 2496.53 3.99
Ecuador 3.59 46.31 1.19 287.77 2.19
Finland 11.24 27.84 2.37 1681.25 4.32
France 12.64 25.06 4.70 2213.82 4.52
Germany 12.55 23.31 3.35 2457.12 3.44
Greece 10.67 25.62 3.10 870.85 6.28
Guatamala 3.01 46.05 0.87 289.71 1.48
Honduras 7.70 47.32 0.58 232.44 3.19
Iceland 1.27 34.03 3.08 1900.10 1.12
India 9.00 41.31 0.96 88.94 1.54
Ireland 11.34 31.16 4.19 1139.95 2.99
Italy 14.28 24.52 3.48 1390.00 3.54
Japan 21.10 27.01 1.91 1257.28 8.21
Korea 3.98 41.74 0.91 207.68 5.81
Luxembourg 10.35 21.80 3.73 2449.39 1.57
Malta 15.48 32.54 2.47 601.05 8.12
Norway 10.25 25.95 3.67 2231.03 3.62
Netherlands 14.65 24.71 3.25 1740.70 7.66
New Zealand 10.67 32.61 3.17 1487.52 1.76
Nicaragua 7.30 45.04 1.21 325.54 2.48
Panama 4.44 43.56 1.20 568.56 3.61
Paraguay 2.02 41.18 1.05 220.56 1.03
Peru 12.70 44.19 1.28 400.06 0.67
Philippines 12.78 46.26 1.12 152.01 2.00
Portugal 12.49 28.96 2.85 579.51 7.48
South Africa 11.14 31.94 2.28 651.11 2.19
South Rhodesia 13.30 31.92 1.52 250.96 2.00
Spain 11.77 27.74 2.87 768.79 4.35
Sweden 6.86 21.44 4.54 3299.49 3.01
Switzerland 14.13 23.49 3.73 2630.96 2.70
Turkey 5.13 43.42 1.08 389.66 2.96
Tunisia 2.81 46.12 1.21 249.87 1.13
United Kingdom 7.81 23.27 4.46 1813.93 2.01
United States 7.56 29.81 3.43 4001.89 2.45
Venezuela 9.22 46.40 0.90 813.39 0.53
Zambia 18.56 45.25 0.56 138.33 5.14
Jamaica 7.72 41.12 1.73 380.47 10.23
Uruguay 9.24 28.13 2.72 766.54 1.88
Libya 8.89 43.69 2.07 123.58 16.71
Malaysia 4.71 47.20 0.66 242.69 5.08
pop15 pop75
Australia 29.35 2.87
Austria 23.32 4.41
Belgium 23.80 4.43
Bolivia 41.89 1.67
Brazil 42.19 0.83
Canada 31.72 2.85
Chile 39.74 1.34
China 44.75 0.67
Colombia 46.64 1.06
Costa Rica 47.64 1.14
Denmark 24.42 3.93
Ecuador 46.31 1.19
Finland 27.84 2.37
France 25.06 4.70
Germany 23.31 3.35
Greece 25.62 3.10
Guatamala 46.05 0.87
Honduras 47.32 0.58
Iceland 34.03 3.08
India 41.31 0.96
Ireland 31.16 4.19
Italy 24.52 3.48
Japan 27.01 1.91
Korea 41.74 0.91
Luxembourg 21.80 3.73
Malta 32.54 2.47
Norway 25.95 3.67
Netherlands 24.71 3.25
New Zealand 32.61 3.17
Nicaragua 45.04 1.21
Panama 43.56 1.20
Paraguay 41.18 1.05
Peru 44.19 1.28
Philippines 46.26 1.12
Portugal 28.96 2.85
South Africa 31.94 2.28
South Rhodesia 31.92 1.52
Spain 27.74 2.87
Sweden 21.44 4.54
Switzerland 23.49 3.73
Turkey 43.42 1.08
Tunisia 46.12 1.21
United Kingdom 23.27 4.46
United States 29.81 3.43
Venezuela 46.40 0.90
Zambia 45.25 0.56
Jamaica 41.12 1.73
Uruguay 28.13 2.72
Libya 43.69 2.07
Malaysia 47.20 0.66
sav.Y
sr dpi ddpi
Australia 11.43 2329.68 2.87
Austria 12.07 1507.99 3.93
Belgium 13.17 2108.47 3.82
Bolivia 5.75 189.13 0.22
Brazil 12.88 728.47 4.56
Canada 8.79 2982.88 2.43
Chile 0.60 662.86 2.67
China 11.90 289.52 6.51
Colombia 4.98 276.65 3.08
Costa Rica 10.78 471.24 2.80
Denmark 16.85 2496.53 3.99
Ecuador 3.59 287.77 2.19
Finland 11.24 1681.25 4.32
France 12.64 2213.82 4.52
Germany 12.55 2457.12 3.44
Greece 10.67 870.85 6.28
Guatamala 3.01 289.71 1.48
Honduras 7.70 232.44 3.19
Iceland 1.27 1900.10 1.12
India 9.00 88.94 1.54
Ireland 11.34 1139.95 2.99
Italy 14.28 1390.00 3.54
Japan 21.10 1257.28 8.21
Korea 3.98 207.68 5.81
Luxembourg 10.35 2449.39 1.57
Malta 15.48 601.05 8.12
Norway 10.25 2231.03 3.62
Netherlands 14.65 1740.70 7.66
New Zealand 10.67 1487.52 1.76
Nicaragua 7.30 325.54 2.48
Panama 4.44 568.56 3.61
Paraguay 2.02 220.56 1.03
Peru 12.70 400.06 0.67
Philippines 12.78 152.01 2.00
Portugal 12.49 579.51 7.48
South Africa 11.14 651.11 2.19
South Rhodesia 13.30 250.96 2.00
Spain 11.77 768.79 4.35
Sweden 6.86 3299.49 3.01
Switzerland 14.13 2630.96 2.70
Turkey 5.13 389.66 2.96
Tunisia 2.81 249.87 1.13
United Kingdom 7.81 1813.93 2.01
United States 7.56 4001.89 2.45
Venezuela 9.22 813.39 0.53
Zambia 18.56 138.33 5.14
Jamaica 7.72 380.47 10.23
Uruguay 9.24 766.54 1.88
Libya 8.89 123.58 16.71
Malaysia 4.71 242.69 5.08
# 상관행렬pacman::p_load("CCA")
matcor(sav.X, sav.Y)
$Xcor
pop15 pop75
pop15 1.0000000 -0.9084787
pop75 -0.9084787 1.0000000
$Ycor
sr dpi ddpi
sr 1.0000000 0.2203589 0.3047872
dpi 0.2203589 1.0000000 -0.1294855
ddpi 0.3047872 -0.1294855 1.0000000
$XYcor
pop15 pop75 sr dpi ddpi
pop15 1.00000000 -0.90847871 -0.4555381 -0.7561881 -0.04782569
pop75 -0.90847871 1.00000000 0.3165211 0.7869995 0.02532138
sr -0.45553809 0.31652112 1.0000000 0.2203589 0.30478716
dpi -0.75618810 0.78699951 0.2203589 1.0000000 -0.12948552
ddpi -0.04782569 0.02532138 0.3047872 -0.1294855 1.00000000
Result!
상관행렬 중 특히 두 변수집합간 상관행렬을
살펴보면, 변수 “dpi”는 변수 “pop15”와 “pop75”와 0.7 이상이 높은
상관관계를 보인다. 반면, 변수 “ddpi”는 “pop15”와 “pop75”와 매우 낮은
상관성을 가지는 것으로 나타났다.
# 상관행렬 시각화
img.matcor(matcor(sav.X, sav.Y), type = 1)
img.matcor(matcor(sav.X, sav.Y), type = 2)
# 정준상관분석 수행sav.cc <- cc(sav.X, sav.Y) # cc(X 변수집합의 데이터행렬, Y 변수집합의 데이터행렬)NAsav.cc
$cor
[1] 0.8247966 0.3652762
$names
$names$Xnames
[1] "pop15" "pop75"
$names$Ynames
[1] "sr" "dpi" "ddpi"
$names$ind.names
[1] "Australia" "Austria" "Belgium"
[4] "Bolivia" "Brazil" "Canada"
[7] "Chile" "China" "Colombia"
[10] "Costa Rica" "Denmark" "Ecuador"
[13] "Finland" "France" "Germany"
[16] "Greece" "Guatamala" "Honduras"
[19] "Iceland" "India" "Ireland"
[22] "Italy" "Japan" "Korea"
[25] "Luxembourg" "Malta" "Norway"
[28] "Netherlands" "New Zealand" "Nicaragua"
[31] "Panama" "Paraguay" "Peru"
[34] "Philippines" "Portugal" "South Africa"
[37] "South Rhodesia" "Spain" "Sweden"
[40] "Switzerland" "Turkey" "Tunisia"
[43] "United Kingdom" "United States" "Venezuela"
[46] "Zambia" "Jamaica" "Uruguay"
[49] "Libya" "Malaysia"
$xcoef
[,1] [,2]
pop15 0.06377599 -0.2535544
pop75 -0.34053260 -1.8221811
$ycoef
[,1] [,2]
sr -0.0592971550 0.2336554912
dpi -0.0009151786 -0.0005311762
ddpi -0.0291942000 -0.0858752749
$scores
$scores$xscores
[,1] [,2]
Australia -0.56253600 0.40390249
Austria -1.47152544 -0.87332319
Belgium -1.44772362 -1.03147293
Bolivia 0.64585407 -0.58905269
Brazil 0.95103425 0.86551308
Canada -0.40457624 -0.16057787
Chile 0.62111144 0.55740907
China 1.16878601 0.50796273
Colombia 1.15651493 -0.68190575
Costa Rica 1.19304831 -1.08123466
Denmark -1.23791620 -0.27758614
Ecuador 1.09119961 -0.83511633
Finland -0.48857145 1.69786021
France -1.45930966 -1.84294039
Germany -1.11119865 1.06072429
Greece -0.87874295 0.93055884
Guatamala 1.18358828 -0.18609424
Honduras 1.36333825 0.02032415
Iceland -0.33557620 -1.16539024
India 0.85064214 0.85175743
Ireland -0.89660448 -2.46031003
Italy -1.07829893 0.51703990
Japan -0.38486053 2.74651367
Korea 0.89509245 0.83383808
Luxembourg -1.33690279 0.75116267
Malta -0.22287754 0.32393631
Norway -1.05180046 -0.19175733
Netherlands -0.98785900 0.88796621
New Zealand -0.45678604 -0.96933925
Nicaragua 1.00339345 -0.54954583
Panama 0.91241030 -0.15606348
Paraguay 0.81170333 0.72072321
Peru 0.92534657 -0.46157725
Philippines 1.11184809 -0.69488593
Portugal -0.58059799 0.53923234
South Africa -0.19644195 0.82228337
South Rhodesia 0.06108731 2.21221207
Spain -0.66521535 0.81212511
Sweden -1.63569355 -0.63352441
Switzerland -1.22912136 0.32265569
Turkey 0.94434558 0.09809587
Tunisia 1.07227152 -0.82338461
United Kingdom -1.49174087 -0.95175452
United States -0.72389730 -0.73315394
Venezuela 1.19569390 -0.32950372
Zambia 1.23813259 0.58162543
Jamaica 0.57631460 -0.50314665
Uruguay -0.58926282 0.98656605
Libya 0.62443782 -1.77432308
Malaysia 1.32844252 -0.09502380
$scores$yscores
[,1] [,2]
Australia -1.197582618 -0.16236396
Austria -0.514485534 0.33260994
Belgium -1.126047497 0.28011657
Bolivia 1.175575433 -0.12494843
Brazil 0.132491457 0.88183195
Canada -1.625987352 -1.08839364
Chile 0.975882427 -1.79030274
China 0.535391632 0.71855258
Colombia 1.057642399 -0.59695499
Costa Rica 0.543808669 0.67893036
Denmark -1.704368254 0.91924174
Ecuador 1.155871496 -0.85121380
Finland -0.635218480 0.01315294
France -1.211470012 0.04020705
Germany -1.397266488 -0.01731182
Greece 0.083021015 0.14211897
Guatamala 1.209216281 -0.92679302
Honduras 0.933602822 0.05262497
Iceland -0.150891245 -2.15783934
India 1.036015081 0.57429510
Ireland -0.106933726 0.43825829
Italy -0.526164584 0.94515342
Japan -0.945445589 2.20814404
Korea 1.100359257 -1.02841475
Luxembourg -1.205145263 -0.36666114
Malta -0.009000439 1.25130272
Norway -1.059225255 -0.45008336
Netherlands -0.989337775 0.49151632
New Zealand -0.349384397 0.20271478
Nicaragua 0.892846437 -0.02931829
Panama 0.807040147 -0.92369850
Paraguay 1.344342456 -1.08273725
Peru 0.557284192 1.34827236
Philippines 0.740722188 1.38450895
Portugal 0.206695290 0.61907452
South Africa 0.375656978 0.71988759
South Rhodesia 0.619330744 1.45344991
Spain 0.167542079 0.61909114
Sweden -1.818231179 -1.75733210
Switzerland -1.628446935 0.32307189
Turkey 0.948826794 -0.61162985
Tunisia 1.267754398 -0.92230572
United Kingdom -0.485816535 -0.66038997
United States -2.486211894 -1.91878127
Venezuela 0.389454702 0.32762273
Zambia 0.318834488 2.47265581
Jamaica 0.591415820 -0.62589387
Uruguay 0.391732707 0.24124982
Libya 0.567959967 -0.77253487
Malaysia 1.046343696 -0.81375377
$scores$corr.X.xscores
[,1] [,2]
pop15 0.9829821 -0.1837015
pop75 -0.9697929 -0.2439299
$scores$corr.Y.xscores
[,1] [,2]
sr -0.40500636 0.31259455
dpi -0.78728255 -0.09633306
ddpi -0.03904398 0.05142128
$scores$corr.X.yscores
[,1] [,2]
pop15 0.8107603 -0.06710179
pop75 -0.7998819 -0.08910177
$scores$corr.Y.yscores
[,1] [,2]
sr -0.4910379 0.8557760
dpi -0.9545172 -0.2637266
ddpi -0.0473377 0.1407737
# 정준상관계수sav.cc$cor
[1] 0.8247966 0.3652762
Result!
제1정준상관계수가 0.825이며, 이는 “인구특성”
변수집합의 선형결합과 “저축” 변수집합의 선형결합 사이에 매우 높은
상관성이 있음을 나타낸다.
# 정준계수sav.cc$xcoef # a_1X_1+...+a_pX_p의 a값
[,1] [,2]
pop15 0.06377599 -0.2535544
pop75 -0.34053260 -1.8221811
sav.cc$ycoef # b_1Y_1+...+b_qY_q의 b값
[,1] [,2]
sr -0.0592971550 0.2336554912
dpi -0.0009151786 -0.0005311762
ddpi -0.0291942000 -0.0858752749
Caution!
총 2개의 정준계수벡터가 출력되었는데 이는 \(s=\text{min}(2,3)=2\)에 의해
결정되었다.
Result!
“인구특성” 변수집합에서 제1정준계수벡터 (0.064,
-0.341)에 대응되는 제1정준변수는 \(\hat{V}_1=0.064X_1-0.341X_2\)이고, “저축”
변수집합에서 제1정준계수벡터 (-0.059, -0.001, -0.029)에 대응되는
제1정준변수는 \(\hat{W}_1=-0.059Y_1-0.001Y_2-0.029Y_3\)이다.
이 두 정준변수의 상관계수가 위에서 출력된 제1정준상관계수 0.825이다.
또한, 변수 “pop75”의 값이 1 단위 증가할 때 “인구특성” 변수집합의
제1정준변수 \(\hat{V}_1\)의 값은 0.341
감소한다.
# 표준화된 정준계수NAsav.cc$xcoef*apply(sav.X, 2, sd)
[,1] [,2]
pop15 0.5836605 -2.320461
pop75 -0.4395497 -2.352019
sav.cc$ycoef*apply(sav.Y, 2, sd)
[,1] [,2]
sr -0.26567538 1.0468717
dpi -0.90682202 -0.5263260
ddpi -0.08378358 -0.2464509
Result!
“인구특성” 변수집합에서 표준화된 제1정준계수벡터
(0.584, -0.440)에 대응되는 표준화된 제1정준변수는 \(\hat{V}_1=0.584Z_{X_1}-0.440Z_{X_2}\)이고,
“저축” 변수집합에서 제1정준계수벡터 (-0.266, -0.907, -0.084)에 대응되는
제1정준변수는 \(\hat{W}_1=-0.266Z_{Y_1}-0.907Z_{Y_2}-0.084Z_{Y_3}\)이다.
여기서 \(Z_{X_i}\)와 \(Z_{Y_i}\)은 표준화된 관찰변수(관찰값에
평균을 빼고 표준편차로 나눔)를 의미한다. 이 두 정준변수의 상관계수는
공분산행렬을 이용하여 계산된 제1정준상관계수와 동일하다. 즉, 0.825이다.
변수들의 영향력을 살펴보면 “인구특성” 변수집합의 제1정준변수에는 변수
“pop15”와 “pop75” 둘 다 상대적으로 큰 기여를 하고 있으며, “저축”
변수집합의 제1정준변수에는 변수 “dpi”가 상대적으로 큰 기여를 하고 있음을
알 수 있다.
# 정준점수sav.cc$scores$xscores
[,1] [,2]
Australia -0.56253600 0.40390249
Austria -1.47152544 -0.87332319
Belgium -1.44772362 -1.03147293
Bolivia 0.64585407 -0.58905269
Brazil 0.95103425 0.86551308
Canada -0.40457624 -0.16057787
Chile 0.62111144 0.55740907
China 1.16878601 0.50796273
Colombia 1.15651493 -0.68190575
Costa Rica 1.19304831 -1.08123466
Denmark -1.23791620 -0.27758614
Ecuador 1.09119961 -0.83511633
Finland -0.48857145 1.69786021
France -1.45930966 -1.84294039
Germany -1.11119865 1.06072429
Greece -0.87874295 0.93055884
Guatamala 1.18358828 -0.18609424
Honduras 1.36333825 0.02032415
Iceland -0.33557620 -1.16539024
India 0.85064214 0.85175743
Ireland -0.89660448 -2.46031003
Italy -1.07829893 0.51703990
Japan -0.38486053 2.74651367
Korea 0.89509245 0.83383808
Luxembourg -1.33690279 0.75116267
Malta -0.22287754 0.32393631
Norway -1.05180046 -0.19175733
Netherlands -0.98785900 0.88796621
New Zealand -0.45678604 -0.96933925
Nicaragua 1.00339345 -0.54954583
Panama 0.91241030 -0.15606348
Paraguay 0.81170333 0.72072321
Peru 0.92534657 -0.46157725
Philippines 1.11184809 -0.69488593
Portugal -0.58059799 0.53923234
South Africa -0.19644195 0.82228337
South Rhodesia 0.06108731 2.21221207
Spain -0.66521535 0.81212511
Sweden -1.63569355 -0.63352441
Switzerland -1.22912136 0.32265569
Turkey 0.94434558 0.09809587
Tunisia 1.07227152 -0.82338461
United Kingdom -1.49174087 -0.95175452
United States -0.72389730 -0.73315394
Venezuela 1.19569390 -0.32950372
Zambia 1.23813259 0.58162543
Jamaica 0.57631460 -0.50314665
Uruguay -0.58926282 0.98656605
Libya 0.62443782 -1.77432308
Malaysia 1.32844252 -0.09502380
sav.cc$scores$yscores
[,1] [,2]
Australia -1.197582618 -0.16236396
Austria -0.514485534 0.33260994
Belgium -1.126047497 0.28011657
Bolivia 1.175575433 -0.12494843
Brazil 0.132491457 0.88183195
Canada -1.625987352 -1.08839364
Chile 0.975882427 -1.79030274
China 0.535391632 0.71855258
Colombia 1.057642399 -0.59695499
Costa Rica 0.543808669 0.67893036
Denmark -1.704368254 0.91924174
Ecuador 1.155871496 -0.85121380
Finland -0.635218480 0.01315294
France -1.211470012 0.04020705
Germany -1.397266488 -0.01731182
Greece 0.083021015 0.14211897
Guatamala 1.209216281 -0.92679302
Honduras 0.933602822 0.05262497
Iceland -0.150891245 -2.15783934
India 1.036015081 0.57429510
Ireland -0.106933726 0.43825829
Italy -0.526164584 0.94515342
Japan -0.945445589 2.20814404
Korea 1.100359257 -1.02841475
Luxembourg -1.205145263 -0.36666114
Malta -0.009000439 1.25130272
Norway -1.059225255 -0.45008336
Netherlands -0.989337775 0.49151632
New Zealand -0.349384397 0.20271478
Nicaragua 0.892846437 -0.02931829
Panama 0.807040147 -0.92369850
Paraguay 1.344342456 -1.08273725
Peru 0.557284192 1.34827236
Philippines 0.740722188 1.38450895
Portugal 0.206695290 0.61907452
South Africa 0.375656978 0.71988759
South Rhodesia 0.619330744 1.45344991
Spain 0.167542079 0.61909114
Sweden -1.818231179 -1.75733210
Switzerland -1.628446935 0.32307189
Turkey 0.948826794 -0.61162985
Tunisia 1.267754398 -0.92230572
United Kingdom -0.485816535 -0.66038997
United States -2.486211894 -1.91878127
Venezuela 0.389454702 0.32762273
Zambia 0.318834488 2.47265581
Jamaica 0.591415820 -0.62589387
Uruguay 0.391732707 0.24124982
Libya 0.567959967 -0.77253487
Malaysia 1.046343696 -0.81375377
Result!
“인구특성” 변수집합에서 표준화된 제1정준변수
\(\hat{V}_1=0.584Z_{X_1}-0.440Z_{X_2}\)의
\(Z_{X_i}(i=1,2)\)에 개체에 의해 관찰된
값을 표준화하여 대입하면 “sav.cc$scores$xscores”의 1열에 대한 결과가
출력된다.
# 정준점수 그래프score <- cbind(sav.cc$scores$xscores,
sav.cc$scores$yscores)
colnames(score) <- c("v1", "v2", "w1", "w2")
rownames(score) <- rownames(score)
plot(score[,c(1,3)], pch = 1, col = "blue", xlab = expression(hat(V)[1]), ylab = expression(hat(W)[1]))
abline(v = 0, h = 0, lty = 2)
text(score[,c(1,3)], labels = rownames(score), pos = 4, col = "red")
Result!
제3사분면에 있는 국가 “Sweden”, “Denmark”,
“Belgium”, “Luxembourg”들은 제1정준변수 \(\hat{V}_1\)과 \(\hat{W}_1\)의 값이 음수이면서 높다는 것을
의미한다. 즉, \(\hat{V}_1\)의 값이 높은
음수값을 가질려면 음수이면서 큰 영향을 미치는 변수 “pop75”의 값이 높다는
것이고 \(\hat{W}_1\)의 값이 높은
음수값을 가지려면 마찬가지로 변수 “dpi”의 값이 높다는 것을 의미한다.
# 정준적재NAsav.cc$scores$corr.X.xscores
[,1] [,2]
pop15 0.9829821 -0.1837015
pop75 -0.9697929 -0.2439299
sav.cc$scores$corr.Y.yscores
[,1] [,2]
sr -0.4910379 0.8557760
dpi -0.9545172 -0.2637266
ddpi -0.0473377 0.1407737
Result!
“인구특성” 변수집합의
정준적재(“sav.cc$scores$corr.X.xscores”)를 살펴보면, 제1정준변수 \(\hat{V}_1\)은 그의 관찰변수들과 0.9 이상의
높은 상관계수를 가지고 있음을 알 수 있다. 한편, “저축” 변수집합의
정준적재(sav.cc$scores$corr.Y.yscores)를 살펴보면, 변수 “dpi”가
제1정준변수 \(\hat{W}_1\)과 매우 높은
상관성을 가지고 있다는 것을 알 수 있다. 즉, \(r(Y_2, \hat{W}_1)=-0.9545\).
# 교차적재NAsav.cc$scores$corr.X.yscores
[,1] [,2]
pop15 0.8107603 -0.06710179
pop75 -0.7998819 -0.08910177
sav.cc$scores$corr.Y.xscores
[,1] [,2]
sr -0.40500636 0.31259455
dpi -0.78728255 -0.09633306
ddpi -0.03904398 0.05142128
Result!
“인구특성” 변수집합의
교차적재(“sav.cc$scores$corr.X.yscores”)를 살펴보면, “저축”
변수집합으로부터 유도된 제1정준변수 \(\hat{W}_1\)과 변수 “pop15”, “pop75”는 큰
연관성을 가지고 있음을 알 수 있다. “저축” 변수집합의
교차적재(“sav.cc$scores$corr.Y.xscores”)를 살펴보면, “인구특성”
변수집합으로부터 유도된 제1정준변수 \(\hat{V}_1\)과 변수 “dpi”는 \(r(Y_2, \hat{V}_1)=-0.787\)로 매우 높은
연관성을 가지고 있으며, 이는 \(\hat{V}_1\)은 변수 “dpi”를 가장 많이
설명하고 있다는 것을 의미한다.
# X 변수집합의 변이에 대한 정준변수들의 공헌도NAcxx <- sav.cc$scores$corr.X.xscores
cv <- colSums(cxx^2)/nrow(cxx)
cum.cv <- cumsum(cv)
cbind(cv, cum.cv)
cv cum.cv
[1,] 0.95337598 0.953376
[2,] 0.04662402 1.000000
Result!
“인구특성” 변수집합에 의해 유도된 정준변수들의
공헌도를 살펴보면, 제1정준변수는 전체변이 중 약 95.3%로 가장 높은
설명력을 가졌다.
# Y 변수집합의 변이에 대한 정준변수들의 공헌도NAcyy <- sav.cc$scores$corr.Y.yscores
cw <- colSums(cyy^2)/nrow(cyy)
cum.cw <- cumsum(cw)
cbind(cw, cum.cw)
cw cum.cw
[1,] 0.3848207 0.3848207
[2,] 0.2739072 0.6587279
Caution!
“저축” 변수집합에는 3개의 변수들이 포함되어
있으나, 유도된 정준변수는 2개로 1개가 적다. 그렇기 때문에, 누적 설명력은
1이 되지 않는다.
Result!
“저축” 변수집합에 의해 유도된 정준변수들의 공헌도를
살펴보면, 제1정준변수는 전체변이 중 약 38.5%로 가장 높은 설명력을
가졌다. 게다가, 두 개의 정준변수들로 전체 표본변이 중 약 65.9%가
설명됨을 알 수 있다.
# 독립성 검정 검정
pacman::p_load("CCP")
rho <- sav.cc$cor # 정준상관계수
N <- nrow(sav) # 전체 개체 개수수
p <- ncol(sav.X) # X 변수집합의 변수 개수
q <- ncol(sav.Y) # Y 변수집합의 변수 개수
# 정준상관계수에 대한 유의성 검정p.asym(rho, # 정준상관계수 N, # 각 변수들에 대한 관측 개수개수
p, # 독립변수 개수수 개수
q, # 종속변수 개수개수
tstat = "Wilks") # 검정통계량, "Wilks" / "Hotelling" / "Pillai" / "Roy"
Wilks' Lambda, using F-approximation (Rao's F):
stat approx df1 df2 p.value
1 to 2: 0.2770526 13.49772 6 90 7.300349e-11
2 to 2: 0.8665733 3.54132 2 46 3.711268e-02
Result!
분석 결과를 살펴보면, 먼저 제1정준상관계수에
대한 가설에 대해 검정통계량 값은 \(\chi^2=0.277\)이고 이에 대응되는 \(p\)-값은 7.300349e-11이다. 이에 근거하여,
유의수준 5%에서 \(p\)-값은 유의수준
\(\alpha=0.05\)보다 작기 때문에
귀무가설을 기각할 수 있다. 즉, 제1정준상관계수는 통계적으로 유의한
의미를 가진다. 제2정준상관계수에 대한 가설에 대해 검정통계량 값은 \(\chi^2=0.867\)이고 이에 대응되는 \(p\)-값은 3.711268e-02이다. 이에 근거하여,
유의수준 5%에서 \(p\)-값은 유의수준
\(\alpha=0.05\)보다 작기 때문에
귀무가설을 기각할 수 있다. 즉, 제2정준상관계수는 통계적으로 유의한
의미를 가진다.
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".