典型相关分析
(一)引入
典型相关分析(Canonical Correlation Analysis)是研究两组变量之间相关关系的一种多元统计方法。他能够揭示出两组变量之间的内在联系。
我们知道,在一元统计分析中,用相关系数来衡量两个随机变量的线性相关关系,用复相关系数研究一个随机变量与多个随机变量的线性相关关系。然而,这些方法均无法用于研究两组变量之间的相关关系,于是提出了CCA。其基本思想和主成分分析非常相似。首先,在每组变量中寻找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数;然后选取和已经挑选出的这对线性组合不相关的另一对线性组合,并使其相关系数最大,如此下去,直到两组变量的相关性被提取完毕为止。被选出的线性组合配对称为典型变量,它们的相关系数称为典型相关系数。
(二)分析
设有两组随机变量 X=(x1,x2,⋯,xp)′ 和 Y=(y1,y2,⋯,yq)′ ,不妨设 p≤q 。设第一组变量均值为 EX=μ1 ,方差为 Var(X)=cov(X,X)=Σ11 。第二组变量均值为 EY=μ2 ,方差为 Var(Y)=cov(Y,Y)=Σ22 。第一组与第二组变量的协方差矩阵为 cov(X,Y)=Σ12=Σ′21 。
分别对两组变量做线性组合:
所以 U,V 的方差,协方差,相关系数为:
其中 U,V 称为典型变量,它们之间的相关系数 ρ 称为典型相关系数。
CCA要解决的问题是,在所有线性组合 U 和 V 中选取典型相关系数最大的那对,即选取 a(1),b(1) 使 U1=(a(1))′X 与 V1=(b(1))′Y 之间的相关系数最大,这里 (U1,V1) 称为第一对典型相关变量;然后在选取 a(2),b(2) 使得 U1=(a(2))′X,V2(b(2))′Y ,在与 U1,V1 不相关的情况下,使得 (U2,V2) 的相关系数最大,称为第二对典型相关变量;如此继续下去,直到所有分别与 (U1,V1),(U2,V2),⋯,(Up−1,Vp−1) 都不相关的线性组合 (Up,Vp) 为止,此时 p 为 X 与 Y 之间的协方差矩阵的秩。由上面的分析可得模型:
由于收缩 U 和 V 的值并不会影响 ρ ,故我们可引入限制条件 a′Σ11a=1,b′Σ22b=1 将模型转化为:
引入Lagrange乘子:
对Lagrange函数 9 求导得:
将式子 10 左乘 a′ ,式子 11 左乘 b′ 得:
又因为 (a′Σ12b)′=b′Σ21a⟹λa′Σ11a=νb′Σ22b 。由限制条件知: λ=ν=ρ=a′Σ12b ,即 λ 的值就是线性组合 U 和 V 的相关系数。我们重新将式子 10 和式子 11 写成:
然后将式子 13 左乘 Σ12Σ−122 得:
结合式子 12 得:
同理,将式子 12 左乘 Σ21Σ−111 ,并将式子 13 代入式子 12 得:
将 Σ−111 左乘式子 15 , Σ−122 左乘式子 16 得:
说明: λ2 既是矩阵 A 也是矩阵 B 的特征值, a 与 b 分别是对应的特征向量。所以我们的问题转化成求矩阵 A,B 的最大特征值对应的特征向量,而特征值的平方根 λ√ 为相关系数,从而求出第一对典型相关变量。
此时,我们可以得到如下的猜想:是否矩阵 A,B 的所有非零特征值的平方跟都会是其对应的典型相关系数?接下去,我们来证明如下猜想:
设 λ21≥λ22≥⋯≥λ2p>0 为 A,B 的特征值( p 为矩阵 Σ12 的秩),其对应的特征向量为 a(1),a(2),⋯,a(p) 和 b(1),b(2),⋯,b(p) ,于是得到 p 对线性组合:
可以证明 (U1,V1),(U2,V2),⋯,(Up,Vp) 就是其前 p 对典型变量, λ1≥λ2≥⋯≥λp 为其典型相关系数。
首先,在求出第一对典型变量的基础上求第二对典型变量。由上述分析我们可以知道该模型为:
其中限制 19 和 20 是由于第二对典型变量必须与第一对典型变量无关。其Lagrange方程以及相应的偏导为:
将 (a(2))′ 左乘式子 21 , (b(2))′ 左乘式子 22 得:
将 (a(1))′ 左乘式子 23 , (b(2))′ 左乘式子 24 得:
将式子 27 和式子 28 代入式子 25 和 26 得:
其中式子 29 和式子 30 与式子 10 和式子 11 有相同的形式,只是 a,b 换成 a(2),b(2) ,故同样可以得到:
此时 a(2)≠a,b(2)≠b ,否则不满足限制 19 和 20 ,所以最大值为第二大特征值。以此类推,我们即可证明上述猜想。
注意:我们在求解上述普通特征值方程 Aa=λ2a 时,由于 A=Σ−111Σ12Σ−122Σ21 而求逆过程的计算量大,精度低,故我们可以将其中的对称矩阵 Σ11 进行Cholesky分解,即 Σ11=R1R1′ ,其中 R1 为下三角矩阵。于是方程可化为对称矩阵的求特征值问题: R1−1Σ12Σ−122Σ21(R1−1)′ux=λ2ux ,其中 ux=R1′a 。