实际问题中常常需要研究多个變量之间的相关关系,这个时候可以试下典型相关分析(Canonical Correlation Analysis)。这种算法由H·Hotelling于1936 年提出在19世纪 70 年代臻于成熟。早期因为需要大量的矩阵計算所以没有广泛应用。现代计算机提高了CCA的地位
(注:图中的p、q请自动脑补成n、m,公式都是一样的)
这样CCA将研究X和Y的相关问题转變成研究U和V的相关问题,只需找到α和β使得U和V的相关系数最大即可
我们知道两个随机變量x、y之间的线性关系可以通过对这两个变量的N组样本对进行线性回归求得。但是如果要求两组随机变量x、y之间的线性关系,则可以用典型关联分析(Canonical correlation analysis)来求解CCA是寻找两组变量对应的两个线性变换wx,wy(分别和x,y的维数相等)使得通过线性变换后的两个组合变量(即wTxx,wTyy)之间的楿关系数最大。
假设两组随机变量有N个样本把这N个样本都进行线性变换,得到以下两组数据:
而CCA算法要做的就是最大化这两组數据之间的相关性可以表示为下式:
通过数学推导(详见),
可以得到如下两个公式:
因为协方差矩阵CxxCyy是对称正定的,所以可以进行唍整的Choleskey分解如下:
这就是一个特征值求解问题Ax=λ2x
求出的特征向量就是wx,代入2.1式可以求出wy,而ρ=λ
得到以上结果后可算出Sxwx,Sywy
这两组数据的具体值并可画图观察线性关系。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。