一、典型相关分析的概念典型相关分析(canonicalcorrelationanalysis)就是利用综合变量对之间的相关关系来反映两组指标之间的整体相关性的多元统计分析方法。它的基本原理是:为了从总体上把握两组指标之间的相关关系,分别在两组变量中提取有代表性的两个综合变量U1和V1(分别为两个变量组中各变量的线性组合),利用这两个综合变量之间的相关关系来反映两组指标之间的整体相关性。二、条件:典型相关分析有助于综合地描述两组变量之间的典型的相关关系。其条件是,两组变量都是连续变量,其资料都必须服从多元正态分布。三、相关计算如果我们记两组变量的第一对线性组合为:Xu11Yv11),,,(121111paaa),,,(121111q1)()(11111XVaruVar1)()(1221111YVarvVar11211111,),(),(11YXCovvuCovvu典型相关分析就是求1和1,使二者的相关系数达到最大。典型相关分析希望寻求a和b使得ρ达到最大,但是由于随机变量乘以常数时不改变它们的相关系数,为了防止不必要的结果重复出现,最好的限制是令Var(U)=1和Var(V)=1。A关于的特征向量(ai1,ai2,…,aip),求B关于的特征向量(bi1,bi2,…,bip)5、计算Vi和Wi;iipXXX,...,1qYYY,...,11.实测变量标准化;2.求实测变量的相关阵R;3.求A和B;4、求A和B的特征根及特征向量;pipiiiXbXbXbV...2211qiqiiiYaYaYaW...22116、Vi和Wi的第i对典型相关系数应用典型相关分析的场合是:可以使用回归方法,但有两个或两个以上的因变量;特别是因变量或准则变量相互间有一定的相关性,无视它们之间相互依赖的关系而分开处理,研究就毫无意义。另一种有效用法是检验X变量集合和Y变量集合间的独立性。四、典型相关系数的检验典型相关分析是否恰当,应该取决于两组原变量之间是否相关,如果两组变量之间毫无相关性而言,则不应该作典型相关分析。用样本来估计总体的典型相关系数是否有误,需要进行检验。在原假设为真的情况下,检验的统计量为:近似服从自由度为pq的2分布。在给定的显著性水平下,如果22(pq),则拒绝原假设,认为至少第一对典型变量之间的相关性显著。相应的R编程如下:setwd(D:/data)ex1=read.table(9-1.txt,head=T)ex1iir001-1(1)ln2Qnpqx=ex1[,1:3];xy=ex1[,4:6];yx=as.matrix(x)y=as.matrix(y)x;ys11=cov(x);s11s22=cov(y);s22s12=cov(ex1)[1:3,4:6];s12s21=cov(ex1)[4:6,1:3];s21#求协方差矩阵A=solve(s11)%*%s12%*%solve(s22)%*%s21#矩阵相乘用%*%,solve:求逆矩阵Aeigen(A)#求特征值及其对应的特征向量,eigen(A)$vectors[,1]a=sqrt(eigen(A)$values)#求典型相关系数=sqrt(特征值)axt(a)t(t(a))%*%xB=solve(s22)%*%s21%*%solve(s11)%*%s12Beigen(B)sqrt(eigen(B)$values)A0=prod(1-eigen(A)$values)A0Q0=-15.5*log(A0);Q0#求检验统计量pr=1-pchisq(Q0,9)#求P值prm1=cancor(x,y)#典型相关分析m1#相关系数的假设检验corcoef.test-function(r,n,p,q,alpha=0.1){#r为相关系数n为样本个数且np+qm-length(r);Q-rep(0,m);lambda-1for(kinm:1){lambda-lambda*(1-r[k]^2);#检验统计量Q[k]--log(lambda)#检验统计量取对数}s-0;i-mfor(kin1:m){Q[k]-(n-k+1-1/2*(p+q+3)+s)*Q[k]#统计量chi-1-pchisq(Q[k],(p-k+1)*(q-k+1))if(chialpha){i-k-1;break}s-s+1/r[k]^2}i#显示输出结果选用第几对典型变量}corcoef.test(cancor(x,y)$cor,n=20,p=3,q=3,alpha=0.1)