先看两个数学概念:
相关系数(参看百度百科)
相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度
相关关系是一种非确定性的关系,相关系数是研究变量之间线性相关程度的量。由于研究对象的不同,相关系数有如下几种定义方式:
简单相关系数:又叫相关系数或线性相关系数,一般用字母r 表示,用来度量两个变量间的线性关系。
复相关系数:又叫多重相关系数。复相关是指因变量与多个自变量之间的相关关系。例如,某种商品的季节性需求量与其价格水平、职工收入水平等现象之间呈现复相关关系。
典型相关系数:是先对原来各组变量进行主成分分析,得到新的线性关系的综合指标,再通过综合指标之间的线性相关系数来研究原各组变量间相关关系。
相关系数矩阵(也叫相关矩阵)
设(X1,X2,X3...Xn)是一个n维随机变量,任意Xi和Xj的相关系数Pij(I,j=1,2,3…n)存在,则以Pij为元素的n阶矩阵称为该维随机向量的相关矩阵,记作R,即
其中
在一元统计分析中,用相关系数来衡量两个随机变量的线性相关关系,用复相关系数研究一个随机变量与多个随机变量的线性相关关系。而CCA则是利用综合变量对之间的相关关系来反应两组指标之间的整体相关性的多元统计分析方法。
CCA典型关联分析CCA的基本原理:CCA从整体上把握两组指标之间的相关关系,首先,在每组变量中寻找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数;然后选取和已经挑选出的这对线性组合不相关的另一对线性组合,并使其相关系数最大,如此下去,直到两组变量的相关性被提取完毕为止。被选出的线性组合配对称为典型变量,它们的相关系数称为典型相关系数。
CCA简单相关系数描述两组变量的相关关系的缺点:只考虑了组与组的相关,并没有考虑组内的相关。两组简单相关系数很多,使问题显得复杂,难以从整体描述。 典型相关是简单相关,多重相关的推广。典型相关是研究两组变量之间相关性的一种统计学习方法,也是一种降维技术。
典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合),用这些指标的相关关系来表示原来的两组变量的相关关系。这在两组变量的相关分析中,可以起到合理的简化作用。当典型相关系数足够大时,可以像回归分析一样由一组变量的数值预测另一组变量的线性组合的数值。
计算方法:
第一步假设每组变量的线性组合和求得已知变量的相关系数矩阵,matlab里面有函数cov可以计算协方差:
第二步求得假设的线性组合的方差,协方差和相关系数:
第三步引入限制条件,求相关系数的最大值,这是其中的一种限制条件,可以求得第一对典型变量。
从上式就可以看出问题转化为了求特征值问题,λ²就是特征值,a和b就是对应的特征向量。也就是求出最大特征值及其对应的特征向量。
这就是第一对典型变量对的求法。
第二对的典型变量对的求法就是更改一下第一对的求法里面的限制条件,在第三步里面。
第二对典型变量对的求法:
按照求第一对的方法解此方程就可以求得第二对典型变量对。
以此类推,然后可以得到最终的一条规律,那就是:
其中
matlab自带CCA函数
>> [A,B,R,U,V] = canoncorr(X,Y);
参考文献:
http://www.cnblogs.com/boostable/p/lec_canonical_correlation_analysis.html
http://blog.csdn.net/u012409883/article/details/17091861 此文章有实例