典型相关分析(Canonical Correlation Analysis, CCA)

典型相关分析

 (一)引入

     典型相关分析(Canonical Correlation Analysis)是研究两组变量之间相关关系的一种多元统计方法。他能够揭示出两组变量之间的内在联系。

    我们知道,在一元统计分析中,用相关系数来衡量两个随机变量的线性相关关系,用复相关系数研究一个随机变量与多个随机变量的线性相关关系。然而,这些方法均无法用于研究两组变量之间的相关关系,于是提出了CCA。其基本思想和主成分分析非常相似。首先,在每组变量中寻找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数;然后选取和已经挑选出的这对线性组合不相关的另一对线性组合,并使其相关系数最大,如此下去,直到两组变量的相关性被提取完毕为止。被选出的线性组合配对称为典型变量,它们的相关系数称为典型相关系数。

(二)分析

    设有两组随机变量 X=(x1,x2,,xp) Y=(y1,y2,,yq) ,不妨设 pq 。设第一组变量均值为 EX=μ1 ,方差为 Var(X)=cov(X,X)=Σ11 。第二组变量均值为 EY=μ2 ,方差为 Var(Y)=cov(Y,Y)=Σ22 。第一组与第二组变量的协方差矩阵为 cov(X,Y)=Σ12=Σ21

    分别对两组变量做线性组合:

UV=a1x1+a2x2++apxp=aX=b1x1+b2x2++bqyq=bY(1)(2)

所以 U,V 的方差,协方差,相关系数为:

Var(U)=acov(X,X)a=aΣ11aVar(V)=bcov(Y,Y)b=bΣ22bcov(U,V)=acov(X,Y)b=aΣ12bρ=corr(U,V)=aΣ12baΣ11abΣ12b(3)(4)(5)(6)

其中 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),,(Up1,Vp1) 都不相关的线性组合 (Up,Vp) 为止,此时 p X Y 之间的协方差矩阵的秩。由上面的分析可得模型:

maxρ=aΣ12baΣ11abΣ22b(7)

由于收缩 U V 的值并不会影响 ρ ,故我们可引入限制条件 aΣ11a=1,bΣ22b=1 将模型转化为:

maxs.t.aΣ12baΣ11a=1bΣ22b=1(8)

引入Lagrange乘子:

L(a,b,λ,ν)=aΣ12bλ2(aΣ11a1)ν2(bΣ22b1)(9)

对Lagrange函数 9 求导得:

La=Σ12bλΣ11a=0(10)

Lb=Σ21aνΣ22b=0(11)

将式子 10 左乘 a ,式子 11 左乘 b 得:

aΣ12bλaΣ11abΣ21aνbΣ22b=0=0

 又因为 (aΣ12b)=bΣ21aλaΣ11a=νbΣ22b 。由限制条件知: λ=ν=ρ=aΣ12b ,即 λ 的值就是线性组合 U V 的相关系数。我们重新将式子 10 和式子 11 写成:

λΣ11a+Σ12bΣ21aλΣ22b=0=0(12)(13)

然后将式子 13 左乘 Σ12Σ122 得:

Σ12Σ122Σ21a=λΣ12b(14)

结合式子 12 得:

Σ12Σ122Σ21a=λ2Σ11a(Σ12Σ122Σ21λ2Σ11)a=0(15)

同理,将式子 12 左乘 Σ21Σ111 ,并将式子 13 代入式子 12 得:

(Σ21Σ111Σ12λ2Σ22)b=0(16)

Σ111 左乘式子 15 Σ122 左乘式子 16 得:

{(Σ111Σ12Σ122Σ21λ2)a=0(Σ122Σ21Σ111Σ12λ2)b=0{Aa=λ2aBb=λ2b(17)

说明: λ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=(a(1))XV1=(b(1))YU2=(a(2))XV2=(b(2))YUp=(a(p))XVp=(b(p))Y(18)

可以证明 (U1,V1),(U2,V2),,(Up,Vp) 就是其前 p 对典型变量, λ1λ2λp 为其典型相关系数。

首先,在求出第一对典型变量的基础上求第二对典型变量。由上述分析我们可以知道该模型为:

maxs.t.(a(2))Σ12b(2)(a(2))Σ11a(2)=1(b(2))Σ22b(2)=1(a(1))Σ11a(2)=0(b(1))Σ22b(2)=0(19)(20)

其中限制 19 20 是由于第二对典型变量必须与第一对典型变量无关。其Lagrange方程以及相应的偏导为:

L(a(1),b(1),a(2),b(2))=(a(2))Σ12b(2)λ2((a(2))Σ11a(2)1)ν2((b(2))Σ22b(2)1)+γ(a(1))Σ11a(2)+β(b(1))Σ22b(2)

La(2)Lb(2)La1Lb(1)=Σ12b(2)λΣ11a(2)+γΣ11a(1)=0=Σ21a(2)νΣ22b(2)+βΣ22b(1)=0=γΣ11a(2)=0=βΣ22b(2)=0(21)(22)(23)(24)

(a(2)) 左乘式子 21 (b(2)) 左乘式子 22 得:

(a(2))Σ12b(2)λ(a(2))Σ11a(2)+γ(a(2))Σ11a(1)=0(b(2))Σ21a(2)ν(b(2))Σ22b(2)+β(b(2))Σ22b(1)=0(25)(26)

(a(1)) 左乘式子 23 (b(2)) 左乘式子 24 得:

(a(2))Σ11a(1)=0(b(2))Σ22b(2)=0(27)(28)

将式子 27 和式子 28 代入式子 25 26 得:

(a(2))Σ12b(2)λ(a(2))Σ11a(2)=0(b(2))Σ21a(2)ν(b(2))Σ22b(2)=0(29)(30)

其中式子 29 和式子 30 与式子 10 和式子 11 有相同的形式,只是 a,b 换成 a(2),b(2) ,故同样可以得到:

{Aa(2)=λ2a(2)Bb(2)=λ2b(2)(31)

此时 a(2)a,b(2)b ,否则不满足限制 19 20 ,所以最大值为第二大特征值。以此类推,我们即可证明上述猜想。

注意:我们在求解上述普通特征值方程 Aa=λ2a 时,由于 A=Σ111Σ12Σ122Σ21 而求逆过程的计算量大,精度低,故我们可以将其中的对称矩阵 Σ11 进行Cholesky分解,即 Σ11=R1R1 ,其中 R1 为下三角矩阵。于是方程可化为对称矩阵的求特征值问题: R11Σ12Σ122Σ21(R11)ux=λ2ux ,其中 ux=R1a

你可能感兴趣的:(算法)