跳到正文
格致开物MATHWIKI

典型相关分析

典型相关分析(canonical correlation analysis,CCA)研究两组变量之间的线性联系。它分别给两组变量配一套权重,使两个加权得分的相关系数尽可能大。例如,同一批学生的一组语言成绩和一组数量成绩,都不宜先随意压成总分;CCA把“怎样合成两个得分”和“得分间联系多强”放在同一个优化问题中。

两个得分及其约束

设中心化随机向量 X∈ℝp,Y∈ℝq 具有有限二阶矩,记 ΣXX=Cov⁡(X),ΣYY=Cov⁡(Y),ΣXY=𝔼[XY𝖳]. 以下先假设两个组内协方差矩阵正定。对非零权重 a,b,得分为 U=a𝖳X,V=b𝖳Y。其相关系数为 Corr⁡(U,V)=a𝖳ΣXYba𝖳ΣXXab𝖳ΣYYb. 放大权重不会改变相关系数,因此选用单位方差约束: ρ1=maxa,ba𝖳ΣXYb,a𝖳ΣXXa=b𝖳ΣYYb=1. 把一组权重同时反号,可使最优值非负。这一定义不要求联合正态;正态假设是在某些显著性检验或分布解释中另加的。Hotelling于1936年系统提出这一方法;白化与奇异值的表述见Strimmer的课程讲义。[1]

白化将约束变成单位球

取对称正定平方根,令 u=ΣXX1/2a,v=ΣYY1/2b,C=ΣXX−1/2ΣXYΣYY−1/2. 两个约束变成 ‖u‖=‖v‖=1,目标变成 u𝖳Cv。对固定 v,柯西不等式给出 u𝖳Cv≤‖Cv‖≤σ1(C), 其中 σ1(C) 是最大奇异值。取第一对左右奇异向量便同时达到两次上界,故 ρ1=σ1(C),a1=ΣXX−1/2u1,b1=ΣYY−1/2v1. 这给出了最大值及其可达性的完整证明。继续取后续奇异向量,可得到后续典型得分;同一组内的得分两两不相关,配对的交叉相关为对应奇异值,非配对的交叉相关为零。一个重复奇异值所对应的整个奇异子空间可以确定,但其中的具体方向未必唯一;若只从这个重数块选取部分维数,所选最优子空间本身也可能不唯一。例如 C=I2 时,第一对得分沿任意同向单位权重都能达到相关一。

白化不是把所有联系消除:它先去掉各组内部的尺度和相关,再保留两组之间的联系。由于 C 来自一个合法的联合协方差矩阵,各奇异值都不超过一;任意拼接的三个矩阵未必满足这一条件。

两组量纲不同的变量

考虑总体协方差 ΣXX=(4001),ΣYY=(1009),ΣXY=(1.6001.5). 第一组标准差是二和一,第二组是一和三。直接看交叉协方差,数值一点六大于一点五,但它们带有不同单位,不能直接当作联系强弱。白化后 C=(1/2001)(1.6001.5)(1001/3)=(0.8000.5). 所以第一对得分为 U1=X1/2,V1=Y1,相关零点八;第二对为 U2=X2,V2=Y2/3,相关零点五。四个得分各自方差都是一。联合矩阵确实半正定,因为重排坐标后是两个二阶块,其行列式分别为 4−1.62=1.44 和 9−1.52=6.75。

白化后的两个X得分与两个Y得分,配对边标相关0.8和0.5,交叉配对相关为零
两组得分都先调整到单位方差。边上标的是无量纲相关系数,不能用原始协方差一点六和一点五替换。

变式。 只把 Var⁡(Y1) 从一改为四,其他协方差不变。白化后的对角变成零点四和零点五,因此首对得分换成 X2,Y2/3,首典型相关为零点五。相关分析必须同时考虑交叉协方差和组内波动。

有限样本的计算与退化

在样本中,先分别减去列均值,再用同一分母计算三个协方差矩阵,随后执行白化和奇异值分解。中心化数据矩阵的秩至多为 n−1;当变量数接近样本量,组内协方差可能奇异,普通逆平方根不再适用。加入正则项 ΣXX+λXI 等可稳定计算,但改变了优化问题,正则化参数要在训练数据内部选择。算法实现中的CCA与PLS联系可查scikit-learn官方说明。[2]

没有高维奇异性,也不代表较大的样本典型相关一定可靠。权重在同一批数据上被挑选来最大化相关,训练结果会偏乐观;应报告留出样本的得分相关,并在重采样时重新拟合权重。

典型相关为零只排除了线性联系。例如 X∼N(0,1),Y=X2 有 Cov⁡(X,Y)=0,但 Y 完全由 X 决定。相关也不提供因果方向。和偏最小二乘回归相比,CCA以相关为目标并标准化两侧的方差;PLS通常以协方差为目标,两者不宜只凭图形相似而混用。

参考文献

  1. ↑ Korbinian Strimmer:Multivariate Statistics and Machine Learning,§6.1—6.2,两组变量的线性依赖、CCA白化与交叉相关矩阵的奇异值分解。
  2. ↑ scikit-learn:Cross decomposition,§1.8.4,CCA及其与交叉分解方法的关系。