在统计学中，**典型相关分析**（英語：）是对互协方差矩阵的一种理解。如果我们有两个随机变量向量 *X* = (*X*1, ... *X**n*) 和 *Y* = (*Y*1, ... *Y**m*) 并且它们是相關的，那么典型相关分析会找出 *X**i* 和 *Y**j* 的相互相关最大的线性组合。T·R·Knapp指出"几乎所有常见的参数测试的意义可视为特殊情况的典型相关分析，这是研究两组变量之间关系的一般步骤。" 这个方法在1936年由哈罗德·霍特林首次引入。

给定两个随机向量{\displaystyle X=(x\_{1},\dots ,x\_{n})'}和{\displaystyle Y=(y\_{1},\dots ,y\_{m})'}，我们可以定义互协方差矩阵 {\displaystyle \Sigma \_{XY}=\operatorname {cov} (X,Y)} 为 {\displaystyle n\times m} 的矩阵，其中 {\displaystyle (i,j)} 是协方差 {\displaystyle \operatorname {cov} (x\_{i},y\_{j})}。实际上，我们可以基于 X 和 Y 的采样数据来估计协方差矩阵。(如从一对数据矩阵)。

典型相关分析求出向量 a 和 b 使得随机变量 {\displaystyle a'X} 和 {\displaystyle b'Y} 的相關性 {\displaystyle \rho =\operatorname {corr} (a'X,b'Y)} 最大。随机变量 {\displaystyle U=a'X} 和 {\displaystyle V=b'Y} 是 ***第一对典型变量***。然后寻求一个依然最大化相关但与第一对典型变量不相关的向量；这样就得到了 ***第二对典型变量***。 这个步骤会进行 {\displaystyle \min\{m,n\}} 次。

计算
--

### 推导

设 {\displaystyle \Sigma \_{XX}=\operatorname {cov} (X,X)} 和 {\displaystyle \Sigma \_{YY}=\operatorname {cov} (Y,Y)}。需要最大化的参数为

{\displaystyle \rho ={\frac {a'\Sigma \_{XY}b}{{\sqrt {a'\Sigma \_{XX}a}}{\sqrt {b'\Sigma \_{YY}b}}}}.}
第一步是定义一个基变更以及

{\displaystyle c=\Sigma \_{XX}^{1/2}a,}
{\displaystyle d=\Sigma \_{YY}^{1/2}b.}
因此我们有

{\displaystyle \rho ={\frac {c'\Sigma \_{XX}^{-1/2}\Sigma \_{XY}\Sigma \_{YY}^{-1/2}d}{{\sqrt {c'c}}{\sqrt {d'd}}}}.}
根据柯西-施瓦茨不等式，我们有

{\displaystyle \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},}
{\displaystyle \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 和 {\displaystyle \Sigma \_{YY}^{-1/2}\Sigma \_{YX}\Sigma \_{XX}^{-1/2}c} 共线，那么上式相等。此外，如果 c 是矩阵 {\displaystyle \Sigma \_{XX}^{-1/2}\Sigma \_{XY}\Sigma \_{YY}^{-1}\Sigma \_{YX}\Sigma \_{XX}^{-1/2}} (见Rayleigh quotient) 最大特征值对应的特征向量，那么就可以得到相关的最大值。随后的典型变量对可以通过减少特征值的量级来得到。正交性保证了相关矩阵的对称性。

### 解法

因此解法是：

* c 是 {\displaystyle \Sigma \_{XX}^{-1/2}\Sigma \_{XY}\Sigma \_{YY}^{-1}\Sigma \_{YX}\Sigma \_{XX}^{-1/2}} 的一个特征向量。
* d 是 {\displaystyle \Sigma \_{YY}^{-1/2}\Sigma \_{YX}\Sigma \_{XX}^{-1/2}c} 的比例项。

相反地，也有：

* d 是 {\displaystyle \Sigma \_{YY}^{-1/2}\Sigma \_{YX}\Sigma \_{XX}^{-1}\Sigma \_{XY}\Sigma \_{YY}^{-1/2}} 的一个特征向量。
* c 是 {\displaystyle \Sigma \_{XX}^{-1/2}\Sigma \_{XY}\Sigma \_{YY}^{-1/2}d} 的比例项。

把坐标反过来，我们有

* a 是 {\displaystyle \Sigma \_{XX}^{-1}\Sigma \_{XY}\Sigma \_{YY}^{-1}\Sigma \_{YX}} 的一个特征向量。
* b 是 {\displaystyle \Sigma \_{YY}^{-1}\Sigma \_{YX}\Sigma \_{XX}^{-1}\Sigma \_{XY}} 的一个特征向量。
* a 是 {\displaystyle \Sigma \_{XX}^{-1}\Sigma \_{XY}b} 的比例项。
* b 是 {\displaystyle \Sigma \_{YY}^{-1}\Sigma \_{YX}a} 的比例项。

那么相关变量定义为：

{\displaystyle U=c'\Sigma \_{XX}^{-1/2}X=a'X}
{\displaystyle 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 个独立观测，对 {\displaystyle i=1,\dots ,\min\{m,n\}}，{\displaystyle {\widehat {\rho }}\_{i}} 是其估计相关。对第 i 行，测试统计为：

{\displaystyle \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 有 {\displaystyle (m-i+1)(n-i+1)} 个自由度的卡方分布。 由于所有从 {\displaystyle \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

参考文献
----

1. ↑  Härdle, Wolfgang; Simar, Léopold.. . 2007: 321–330. ISBN 978-3-540-72243-4. doi:10.1007/978-3-540-72244-1\_14.
2. ↑  Knapp, T. R.. Psychological Bulletin. 1978, **85** (2): 410–416. doi:10.1037/0033-2909.85.2.410.
3. ↑  Hotelling, H.. Biometrika. 1936, **28** (3–4): 321–377. JSTOR 2333955. doi:10.1093/biomet/28.3-4.321.
4. ↑  Hsu, D.; Kakade, S. M.; Zhang, T.  (PDF). Journal of Computer and System Sciences. 2012, **78** (5): 1460  [2015-09-10]. arXiv:0811.4413 可免费查阅. doi:10.1016/j.jcss.2011.12.025. （原始内容存档 (PDF)于2020-10-01）.
5. ↑  Huang, S. Y.; Lee, M. H.; Hsiao, C. K.  (PDF). Journal of Statistical Planning and Inference. 2009, **139** (7): 2162  [2015-09-10]. doi:10.1016/j.jspi.2008.10.011. （原始内容存档 (PDF)于2017-03-13）.
6. ↑  Kanti V. Mardia, J. T. Kent and J. M. Bibby.. Academic Press. 1979.

外部链接
----

* Hardoon, D. R.; Szedmak, S.; Shawe-Taylor, J.. 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