典型相关

在统计学中，**典型相关分析**（）是对互协方差矩阵的一种理解。如果我们有两个随机变量向量 *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

## 参考文献

## 外部链接
* 
*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