前言: 最近在读脑磁共振影像数据的时空分析一书, 本文主要关于典型相关分析(CCA)的数学原理介绍
典型相关分析基本原理
统计学中, 典型相关分析(canonical correlation analysis, CCA)是研究两组随机变量之间关系的方法, 其本质上是用一对典型变量的相关系数去衡量两组随机变量之间的关系, 而这里的典型变量选用变量的线性组合的方式去构造. 我们有两组随机变量\(X=(x_1,...,x_m)\), \(Y=(y_1,...,y_n)\), CCA目标是求得向量\(a_1\in\mathbb{R}^m\), \(b_1\in\mathbb{R}^n\), 使得\(u_1=a_1^TX\)和\(v_1=b_1^TY\)的皮尔逊相关系数
\[corr(u_1, v_1)=\frac{cov(a_1^TX, b_1^TY)}{\sqrt{cov(a_1^TX,a_1^TX)}\sqrt{cov(b_1^TY,b_1^TY)}}=\frac{a_1^T\Sigma_{X,Y}b_1}{\sqrt{a_1^T\Sigma_{X,X}a_1}\sqrt{b_1^T\Sigma_{Y,Y}b_1}}\] 最大, 其中\(\Sigma_{X,Y}=cov(X,Y)\). 显然\(\Sigma_{X,X}\), \(\Sigma_{Y,Y}\)半正定(p.s. 一般可认为是正定的, 只要\(X\), \(Y\)中不包含方差为0的随机变量), 因此具有唯一的正定平方根\(\Sigma_{X,X}^{1/2}\),\(\Sigma_{Y,Y}^{1/2}\). 如下定义\(c_1=\Sigma_{X,X}^{1/2}a_1\), \(d_1=\Sigma_{Y,Y}^{1/2}b_1\), 问题转化为关于\(c_1\in\mathbb{R}^m\), \(d_1\in\mathbb{R}^n\)最大化
\[\frac{c_1^T\Sigma_{X,X}^{-1/2}\Sigma_{X,Y}\Sigma_{Y,Y}^{-1/2}d_1}{\sqrt{c_1^Tc_1}\sqrt{d_1^Td_1}}\] 由Cauchy-Schwarz不等式可得
\[c_1^{T}\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1/2}d_1\leq \sqrt{c_1^{T}\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_1}\sqrt{d_1^{T}d_1}\] 即
\[\frac{c_1^T\Sigma_{X,X}^{-1/2}\Sigma_{X,Y}\Sigma_{Y,Y}^{-1/2}d_1}{\sqrt{c_1^Tc_1}\sqrt{d_1^Td_1}}\le \frac{\sqrt{c_1^{T}\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_1}}{\sqrt{c_1^Tc_1}}\] 且当且仅当\(d_1\)与\(\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_1\)共线时取等号. 而对于不等式的右边, 由下述矩阵的实对称性易得当\(c_1\)为矩阵
\[\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}\] 的最大特征值\(\lambda_1\)对应的特征向量时, 不等式右边取最大值\(\sqrt{\lambda_m}\). 我们也可以接着去寻找第二对典型变量, 这里遵循的原则是在\(u_2,v_2\)与第一对规范变量不相关的约束下:
\[cov(u_2,u_1)=0, cov(v_2,v_1)=0\] 寻求使相同的相关性最大化的向量\(\alpha_1\). 注意到\(\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}\)为实对称矩阵, 因此其特征值对应的特征向量互相正交(\(\alpha_1^T\alpha_2=0\)), 因此只需取\(u_2=a_2^TX\), \(a_2=\Sigma_{X,X}^{-1/2}c_2\), 这里\(c_2\)相应取为矩阵第二大的特征值\(\lambda_2\)对应的特征向量\(\alpha_2\). 就能轻易验证
\[cov(u_2,u_1)=cov(a_2^TX,a_1^TX)=a_2^T\Sigma_{X,X}a_1=c_2^Tc_1=\alpha_2^T\alpha_1=0\] 而\(v_2\)只需与\(\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_2\)共线, 也能轻易验证
\[\begin{aligned} cov(v_2,v_1)&=cov(\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_2,\Sigma _{Y,Y}^{-1/2}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_1)\\ &=c_2^T\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}c_1\\ &=\lambda_1 c_2^Tc_1\\ &=0 \end{aligned}\] 上述过程可重复\(\min\{m,n\}\)遍, 可得\(\min\{m,n\}\)对典型变量. 事实上, 通过简单的变换, 典型变量的参数\(a\)只需通过求\(\Sigma _{X,X}^{-1}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1}\Sigma _{Y,X}\)的特征向量就能得到, 此时\(b\)只需与\(\Sigma _{Y,Y}^{-1}\Sigma _{Y,X}a\)共线.
特征向量与SVD
实际计算时, 要求\(AA^T\)的特征向量\(u\), 其实等价于对\(A=U\Sigma V^T\)做奇异值分解(SVD), 此时要求的\(u\)为\(U\)列向量. 这是因为\(AA^T=U\Sigma V^*V\Sigma U^*\), 即
\[AA^TU=U\Sigma^2\]
因此求\(\Sigma _{X,X}^{-1/2}\Sigma _{X,Y}\Sigma _{Y,Y}^{-1}\Sigma _{Y,X}\Sigma _{X,X}^{-1/2}\)的特征向量等价于对\(\Sigma_{X,X}^{-1/2}\Sigma_{X,Y}\Sigma_{Y,Y}^{-1/2}\)做奇异值分解(SVD).
CCA与fMRI数据
具体到fMRI数据中, 我们假定观测收集到的数据为一个三维张量\(x(t)\), 其中\(t\)为时间变量, 因此输入数据为带时间维度的四维张量. 这篇文章提出令\(y(t)=x(t-1)\), 因此若我们把CCA应用在\(x(t)\), \(y(t)\)上, 此时找出的典型变量不仅是数据数据\(x(t)\)的线性组合, 而且具有时间维度上的强自相关性(差分为1), 而我们所期望得到的神经响应信号(呼吸产生的噪声等)也具有这样的特征. 当然缺点也显然, 这样的思路没能够用好输入数据的空间结构, 此外, 该文作者还给出一种试图寻求空间维度上的强自相关性的思路, 详见论文链接中的式\((15)\).
CCA, ICA和PCA
换一个角度看, 将CCA应用到\(x(t)\), \(x(t-1)\)可视为是在对\(x(t)\)进行线性降维的操作, 只不过需要满足构造出特征的时间维度的自相关性尽可能大且不同的构造特征之间互不相关的约束, 这就能很自然的联想到另外两种降维的方法, 这里仅简单介绍: