데이터: https://onlinecourses.science.psu.edu/onlinecourses/sites/stat505/files/data/sales.txt

참고:
Borga, M. (2001). Canonical correlation: a tutorial. On line tutorial http://people.imt.liu.se/magnus/cca, 4(5).
Friederichs, P., & Hense, A. (2003). Statistical inference in canonical correlation analyses exemplified by the influence of North Atlantic SST on European climate. Journal of climate, 16(3), 522-534.
https://math.stackexchange.com/questions/222689/eigenvalue-decomposition-of-block-covariance-matrix-for-canonical-correlation-an
http://www.statpower.net/Content/312/Lecture%20Slides/CanonicalCorrelation.pdf
https://onlinecourses.science.psu.edu/stat505/lesson/13/13.3

목차

#목차
  • Canonical Correlation Analysis 서론
  • CCA 학습 과정
  • CCA 추정
  • Scaling
  • 실습 : CCA R로 직접 구현
  • Wilks Lambda Test
  • 데이터 예제

1. Canonical Correlation Analysis 서론

#1.-Canonical-Correlation-Analysis-서론
  • pca는 변수 내의 관계를 봤다면 cca는 두 변수 간의 관계를 보는 것
  • 예를 들어 적성에 관계된 변수들과 성취도에 관한 변수들이 있을 때 정석과 성취도의 관계를 보고 싶을 때 사용가능

기본적 가정과 Notation

X와 Y가 Randomvector라고 가정:

@@0@@

@@1@@라고 할 때 @@2@@ 이고

@@3@@

@@4@@: X와 Y 각각의 variance matrix

@@5@@: X와 Y의 covariance matrix

Cononical variate

X와 Y의 linear combination의 집합 U,V를 Canonical variate이라고 함

Canonical variate: @@0@@

Canonical variate: @@1@@

가중치 벡터: @@2@@

@@3@@

@@4@@

@@5@@

CCA의 목적함수

@@0@@

CCA는 @@1@@의 linear combination과 @@2@@의 linear combination을 최대화하는 @@3@@를 찾는 문제로 볼 수 있음

이 때 unique한 @@4@@로 Unit variance라는 constraint를 줘서 목적함 수는 다음과 같아짐

@@5@@

=> 즉 CCA는 @@6@@의 basis vector @@7@@로의 projection과 @@8@@의 basis vector @@9@@로의 projection의 correlation을 최대화하는 문제

2. CCA 학습 과정

#2.-CCA-학습-과정

Canonical pair와 CCA의 @@0@@, @@1@@를 찾는 과정

@@2@@이기 때문에 p개의 pair 존재)

@@3@@

...

@@4@@

Canonical variate: @@5@@

@@6@@

...

@@7@@

이러한 @@0@@, @@1@@를 찾을 때

1번째 canonical variate pair를 먼저 최대화 함

@@2@@

이 후 2번 째 pair에 대해서는

@@3@@

@@4@@으로 1번째 canonical variate pair와 2번째 canonical variate pair를 uncorrelate하게 만듬

따라서 @@0@@번째 canonical variate pair의 제약 조건은

@@1@@

@@2@@

...

@@3@@으로 제약 조건이 점점 많아짐

3. CCA 추정

#3.-CCA-추정

@@0@@는 어떻게 추정할까?

@@1@@

제약 조건하에 최대화 하는 것이기 때문에 lagrange를 이용

A=@@2@@라고 하면

@@3@@

@@4@@

여기서 @@5@@를 각각 곱하면

@@6@@

@@7@@

=>@@8@@이 됨

만약 @@9@@가 non-singular이고 각각의 inverse를 곱하면

@@10@@

@@11@@

@@12@@를 서로 대입하면

@@13@@

@@14@@

=> @@15@@

@@16@@

@@0@@

@@1@@

=>여기서 왼쪽을 0으로 만들면 되기 때문에 결국 @@2@@의 root를 각각 구하면 됨

4. Scaling

#4.-Scaling

소프트웨어마다 결과 값이 다른 이유는 scaling이 달라서인 경우가 많음

Scaling 방법

  • Completely Raw: Covariance matrix에서 eigenvalue 구하고 scaling 안함(앞의 과정)
  • Partially Standardized: Weight에 constant 곱해서 canonical variates이 unit variance 갖게 만듬
  • Fully Standardized: standardized variable에 계산 후 (Correlation Matrix) Weight에 constant 곱해서 canonical variates이 unit variance 갖게 만듬

첫 번째 pair부터 eigen vector @@0@@를 정렬하면 다음과 같음(모자 생략)

@@1@@

@@2@@

1) Partially Standardized Weights

@@0@@, @@1@@

각각을 표준편차로 나눠주면

@@2@@

@@3@@

2) Fully Standardized Weights

X와 Y를 각각 표준화

@@0@@를 구한다음 다시 표준화

5. 실습 : CCA R로 직접 구현

#5.-실습-:-CCA-R로-직접-구현
Loading output library...
Loading output library...

임의의 데이터

@@0@@

@@0@@ 계산

@@0@@의 eigenvector,eigenvalue 계산

1) Raw scaling

Loading output library...
Loading output library...

2) Partially Standardized Weights

@@0@@

@@1@@

Loading output library...
Loading output library...
Loading output library...
Loading output library...

SAS 결과와 같음

3) Fully Standardized Weights

Z score 이용

Q operator로 score을 deivation score로 변환

Q1은 vector @@0@@의 complementary orthogonal projector

Original vecotr @@1@@orthognal projection @@2@@

@@0@@

@@1@@

correlation에 대해 계산

@@0@@

@@1@@

@@2@@

Loading output library...
Loading output library...
Loading output library...
Loading output library...

Loading

@@0@@, @@1@@

Loading output library...
Loading output library...
Loading output library...
Loading output library...

Canonical Loading: 관측된 변수와 Canonical variable간의 correlation

Loading output library...

6. Wilks Lambda Test

#6.-Wilks-Lambda-Test
  • 여러 개의 다변량 데이터의 독립성 테스트
  • Multivaraite Normal 가정
  • Likelihood Ratio Test

@@0@@

@@1@@

@@2@@

서로 Correlate 하지 않으면 eigen value의 값이 작아짐=> Test statistic 커짐 => 기각

7. 데이터 예제

#7.-데이터-예제

기업에서 50명의 직원들을 대상으로 설문조사해서 어떤 요인이 판매 실적에 영향을 주는지 알고 싶음

판매 실적에 관한 변수(전 년도 대비 성장률인듯)

V1: 판매 성장

V2: 판매 이익

V3: 새 계정 판매

지능 테스트 점수

V4: 창의성

V5: 기계적 추론 능력

V6: 추상적 추론 능력

V7: 수학

1) Test for Relationship Between Canonical Variate Pairs

Loading output library...

먼저 Wilk's lambda test를 통해 두 변수가 연관성이 있는지 확인

@@0@@

모든 p개의 canonical variate pair가 모두 uncorrelated 한지

@@1@@ 기각=> 최소 하나의 correlated한 canonical variate pair가 있음

@@2@@

@@3@@ 기각=> 두 번째나 세 번째 canonical variate pair 중 하나는 correlated한 것이 있음

@@4@@

@@5@@ 기각=> 세 번째 canonical variate pair는 correlated함

=> 모든 세 개의 canonical variate pairs는 유의하게 correlated하고 서로 독립적이지 않음

=> Wilk 테스트는 위와 같이 순차적으로 유의하지 않은 결과가 나올 때까지 진행

2) Obtain Estimates of Canonical Correlation

Canonical Correlation

@@0@@

@@1@@

@@2@@

=>각각을 제곱한 결과를 @@3@@처럼 해석 가능

=>@@4@@에 의해 설명 됨

Loading output library...

Estimated canonical coefficients

@@0@@

Loading output library...

Estimated canonical coefficients

@@0@@

Loading output library...

@@0@@

각 변수와 대응 되는 Canonical variable 사이의 correlation

sales1과 각 변수의 correlation은 모두 1에 가까움 => 첫 번째 canonical variable은 판매 능력을 측정하는 전체적인 척도

sales2과 각 변수의 correlation은 모두 매우 낮음 => 두 번째 canonical variable은 데이터에 대한 정보가 많이 없음

Loading output library...

@@0@@

각 변수와 대응 되는 Canonical variable 사이의 correlation

위와 마찬가지

=>첫 번째 canonical variable에서 math에 대해 압도적으로 큼

=>두 번째 canonical variable에서 abstract reasoning에 대해 상당히 negative

Loading output library...

cor(X,V)

sales 변수와 테스트 점수의 canonical covariate의 correlation

0.9744, 0.9411, 0.9466 등으로 sales의 canonical covariate와 유사한 결과 => 첫 번째 Canonical Correlation이 매우 높았기 때문

Loading output library...

앞선 결과와 비슷하게 Math가 앞도적으로 높음 => 역시 첫 번째 Canonical Correlation이 매우 높았기 때문

Loading output library...

@@0@@의 plot으로 뒤로 갈 수록 correlation이 약해짐