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

来源:互联网 发布:owncloud9 php 编辑:程序博客网 时间:2024/05/16 09:47

典型相关分析

 (一)引入

     典型相关分析(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要解决的问题是,在所有线性组合UV中选取典型相关系数最大的那对,即选取a(1),b(1)使U1=(a(1))XV1=(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)为止,此时pXY之间的协方差矩阵的秩。由上面的分析可得模型:

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

由于收缩UV的值并不会影响ρ,故我们可引入限制条件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,即λ的值就是线性组合UV的相关系数。我们重新将式子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的特征值,ab分别是对应的特征向量。所以我们的问题转化成求矩阵A,B的最大特征值对应的特征向量,而特征值的平方根λ为相关系数,从而求出第一对典型相关变量。

    此时,我们可以得到如下的猜想:是否矩阵A,B的所有非零特征值的平方跟都会是其对应的典型相关系数?接下去,我们来证明如下猜想:

λ21λ22λ2p>0A,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)

其中限制1920是由于第二对典型变量必须与第一对典型变量无关。其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代入式子2526得:

(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,否则不满足限制1920,所以最大值为第二大特征值。以此类推,我们即可证明上述猜想。

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

0 0
原创粉丝点击