在統計學中，典型相關分析(Canonical Correlation Analysis) 是對交叉共變數矩陣的一種理解。如果我們有兩個隨機變數向量 _X_ = (_X_1, ..., _X_n) 和 _Y_ = (_Y_1, ..., _Y_m) 並且它們是相關的，那麼典型相關分析會找出 _X_i 和 _Y_j 的相互相關最大的線性組合。T・R・Knapp 指出「幾乎所有常見的參數測試的意義可視為特殊情況的典型相關分析，這是研究兩組變數之間關係的一般步驟。」 這個方法在 1936 年由哈羅德・霍特林首次引入。

給定兩個隨機向量 $X=(x_{1},\dots ,x_{n})'$ 和 $Y=(y_{1},\dots ,y_{m})'$ ，我們可以定義交叉共變數矩陣 $\Sigma _{XY}=\operatorname {cov} (X,Y)$ 為 $n\times m$ 的矩陣，其中 $(i,j)$ 是共變異數 $\operatorname {cov} (x_{i},y_{j})$ 。實際上，我們可以基於 $X$ 和 $Y$ 的採樣數據來估計共變異數矩陣。(如從一對數據矩陣)。

典型相關分析求出向量 $a$ 和 $b$ 使得隨機變數 $a'X$ 和 $b'Y$ 的相關性 $\rho =\operatorname {corr} (a'X,b'Y)$ 最大。隨機變數 $U=a'X$ 和 $V=b'Y$ 是 _第一對典型變數_。然後尋求一個依然最大化相關但與第一對典型變數不相關的向量；這樣就得到了 _第二對典型變數_。 這個步驟會進行 $\min\{m,n\}$ 次。



計算

推導

設 $\Sigma _{XX}=\operatorname {cov} (X,X)$ 和 $\Sigma _{YY}=\operatorname {cov} (Y,Y)$ 。需要最大化的參數為

　
: $\rho ={\frac {a'\Sigma _{XY}b}{{\sqrt {a'\Sigma _{XX}a}}{\sqrt {b'\Sigma _{YY}b}}}}.$

第一步是定義一個基變更以及

　
: $c=\Sigma _{XX}^{1/2}a,$

　
: $d=\Sigma _{YY}^{1/2}b.$

因此我們有

　
: $\rho ={\frac {c'\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1/2}d}{{\sqrt {c'c}}{\sqrt {d'd}}}}.$

根據柯西 - 施瓦茨不等式，我們有

　
: $\left(c'\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1/2}\right)d\leq \left(c'\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1/2}\Sigma _{YY}^{-1/2}\Sigma _{YX}\Sigma _{XX}^{-1/2}c\right)^{1/2}\left(d'd\right)^{1/2},$

　
: $\rho \leq {\frac {\left(c'\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1}\Sigma _{YX}\Sigma _{XX}^{-1/2}c\right)^{1/2}}{\left(c'c\right)^{1/2}}}.$

如果向量 $d$ 和 $\Sigma _{YY}^{-1/2}\Sigma _{YX}\Sigma _{XX}^{-1/2}c$ 共線，那麼上式相等。此外，如果 $c$ 是矩陣 $\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1}\Sigma _{YX}\Sigma _{XX}^{-1/2}$ (見 Rayleigh quotient) 最大特徵值對應的特徵向量，那麼就可以得到相關的最大值。隨後的典型變數對可以通過減少特徵值的量級來得到。正交性保證了相關矩陣的對稱性。

解法

因此解法是：

 
* $c$ 是 $\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1}\Sigma _{YX}\Sigma _{XX}^{-1/2}$ 的一個特徵向量。

* $d$ 是 $\Sigma _{YY}^{-1/2}\Sigma _{YX}\Sigma _{XX}^{-1/2}c$ 的比例項。

相反地，也有：

 
* $d$ 是 $\Sigma _{YY}^{-1/2}\Sigma _{YX}\Sigma _{XX}^{-1}\Sigma _{XY}\Sigma _{YY}^{-1/2}$ 的一個特徵向量。

* $c$ 是 $\Sigma _{XX}^{-1/2}\Sigma _{XY}\Sigma _{YY}^{-1/2}d$ 的比例項。

把坐標反過來，我們有

 
* $a$ 是 $\Sigma _{XX}^{-1}\Sigma _{XY}\Sigma _{YY}^{-1}\Sigma _{YX}$ 的一個特徵向量。

* $b$ 是 $\Sigma _{YY}^{-1}\Sigma _{YX}\Sigma _{XX}^{-1}\Sigma _{XY}$ 的一個特徵向量。

* $a$ 是 $\Sigma _{XX}^{-1}\Sigma _{XY}b$ 的比例項。

* $b$ 是 $\Sigma _{YY}^{-1}\Sigma _{YX}a$ 的比例項。

那麼相關變數定義為：

　
: $U=c'\Sigma _{XX}^{-1/2}X=a'X$

　
: $V=d'\Sigma _{YY}^{-1/2}Y=b'Y$

實現

典型相關分析可以用一個相關矩陣的奇異值分解來解決。 以下是它在一些語言中的函數 


* MATLAB as canoncorr （頁面存檔備份，存於網際網路檔案館）

* R as cancor （頁面存檔備份，存於網際網路檔案館） or in FactoMineR （頁面存檔備份，存於網際網路檔案館）

* SAS as The CANCORR Procedure （頁面存檔備份，存於網際網路檔案館）

* Scikit-Learn, Python as Cross decomposition （頁面存檔備份，存於網際網路檔案館）



假說檢定

每一行可以用下面的方法檢測其重要性。由於相關是排好序的，也就是說行 $i$ 為 0 意味著所有後續的相關都為 0。如果我們在一個樣本中有 $p$ 個獨立觀測，對 $i=1,\dots ,\min\{m,n\}$ ， ${\widehat {\rho }}_{i}$ 是其估計相關。對第 $i$ 行，測試統計為：

　
: $\chi ^{2}=-\left(p-1-{\frac {1}{2}}(m+n+1)\right)\ln \prod _{j=i}^{\min\{m,n\}}(1-{\widehat {\rho }}_{j}^{2}),$

上面漸近為一個對大 $p$ 有 $(m-i+1)(n-i+1)$ 個自由度的卡方分布。 由於所有從 $\min\{m,n\}$ 到 $p$ 的相關從邏輯上來說都是 0，所以在這一點之後的乘積都是不相關的。



實際運用



例子



與 principal angles 的連接



參見


* Generalized Canonical Correlation

* Multilinear subspace learning

* RV coefficient

* Principal angles

* 主成分分析

* Regularized canonical correlation analysis

* 奇異值分解

* Partial least squares regression



參考文獻



外部連結


* Hardoon, D. R.; Szedmak, S.; Shawe-Taylor, J. Canonical Correlation Analysis: An Overview with Application to Learning Methods. Neural Computation. 2004, 16 (12): 2639–2664. PMID 15516276. doi:10.1162/0899766042321814.

* A note on the ordinal canonical-correlation analysis of two sets of ranking scores （頁面存檔備份，存於網際網路檔案館） (Also provides a FORTRAN program)- in J. of Quantitative Economics 7 (2), 2009, pp. 173-199

* Representation-Constrained Canonical Correlation Analysis: A Hybridization of Canonical Correlation and Principal Component Analyses (Also provides a FORTRAN program)- in J. of Applied Economic Sciences 4(1), 2009, pp. 115-124