在统计学中,典型相关分析()是对互协方差矩阵的一种理解。如果我们有两个随机变量向量 X = (X1, ..., Xn) 和 Y = (Y1, ..., Ym) 并且它们是相關的,那么典型相关分析会找出 Xi 和 Yj 的相互相关最大的线性组合。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 [http://www.mathworks.co.uk/help/stats/canoncorr.html canoncorr]
*R as [http://stat.ethz.ch/R-manual/R-devel/library/stats/html/cancor.html cancor] or in [http://factominer.free.fr/ FactoMineR]
*SAS as [https://go.documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.5&docsetId=statug&docsetTarget=statug_cancorr_example.htm&locale=en The CANCORR Procedure]
*Scikit-Learn, Python as [http://scikit-learn.org/stable/modules/cross_decomposition.html 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
参考文献
外部链接
*
*[http://mpra.ub.uni-muenchen.de/12796/ 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
*[http://ssrn.com/abstract=1331886 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
评论 (0)