典型相关分析

典型相关分析 (Canonical Correlation Analysis ,CCA)
是为了研究两组变量(向量)之间的关联关系,其目的是找出两组变量的各自的 \(r\) 组线性组合,线性组合的相关性从大到小排列,以主成分思想衡量两组变量之间的线性关系。

\[[\boldsymbol{x}_1,\boldsymbol{x}_2,\dotsb,\boldsymbol{x}_p] , [\boldsymbol{y}_1,\boldsymbol{y}_2,\dotsb,\boldsymbol{y}_q]\]

首先分别在每组变量中找出第 \(k\) 对线性组合,使其具有第 \(k\) 大最大相关性,即

\[\left\{\begin{matrix} \boldsymbol{u}_k=\alpha_{k1}\boldsymbol{x}_1+\alpha_{k2}\boldsymbol{x}_2+\dotsb+\alpha_{kp}\boldsymbol{x}_p\\ \boldsymbol{v}_k=\alpha_{k1}\boldsymbol{y}_1+\alpha_{k2}\boldsymbol{y}_2+\dotsb+\alpha_{kq}\boldsymbol{y}_q \end{matrix}\right. \] \[\left(k=1,2,\dotsb,r \small \leqslant \min(p,q)\right)\]

其中 \(\boldsymbol{u}_k\)\(\boldsymbol{u}_1,\boldsymbol{u}_2,\dots,\boldsymbol{u}_{k-1}\) 线性无关, \(\boldsymbol{v}_k\)\(\boldsymbol{v}_1,\boldsymbol{v}_2,\dots,\boldsymbol{v}_{k-1}\) 线性无关,且相关性从小到大依次排列。

典型相关分析数学模型

典型相关和典型相关变量定义

设两组随机变量为 \(\small \boldsymbol{X}=[\boldsymbol{x}_1,\boldsymbol{x}_2,\dotsb,\boldsymbol{x}_p]^T , \boldsymbol{Y}=[\boldsymbol{y}_1,\boldsymbol{y}_2,\dotsb,\boldsymbol{y}_q]^T\) 。我们希望找到 \(\small \boldsymbol{\alpha}=[\alpha_1,\dotsb,\alpha_p] ,\boldsymbol{\beta}=[\beta_1,\dotsb,\beta_p]\) 使得 \(\small \rho(\boldsymbol{\alpha}\boldsymbol{X},\boldsymbol{\beta}\boldsymbol{Y})\) 最大。由相关系数定义:

\[\rho\left(\boldsymbol{\alpha X}, \boldsymbol{\beta Y}\right)=\frac{\operatorname{Cov}\left(\boldsymbol{\alpha X},\boldsymbol{ \beta Y}\right)}{\sqrt{\operatorname{Var}\left(\boldsymbol{\alpha X}\right)} \sqrt{\operatorname{Var}\left(\boldsymbol{\beta Y}\right)}}\]

对于任意常数 \(k_1,k_2,c_1,c_2\)\[\rho(k_1\boldsymbol{\alpha X}+c_1,k_2\boldsymbol{\beta Y}+c_2)=\rho(\boldsymbol{\alpha X},\boldsymbol{\beta Y})\]

说明 \(\boldsymbol{\alpha X},\boldsymbol{\beta Y}\) 不唯一,故限定 \(\small{Var}(\boldsymbol{\alpha X})=1,Var(\boldsymbol{\beta Y})=1\) 即满足与协方差矩阵的关系 \(\small \boldsymbol{\alpha}\boldsymbol{\Sigma}_{\tiny \boldsymbol{XX}}\boldsymbol{\alpha}^T=1,\boldsymbol{\beta}\boldsymbol{\Sigma}_{\tiny \boldsymbol{YY}}\boldsymbol{\beta}^T=1\)

如果存在 \(\boldsymbol{\alpha}_k=[\alpha_{k1},\alpha_{k2},\dotsb,\alpha_{kp}],\boldsymbol{\beta}_k=[\beta_{k1},\beta_{k2},\dotsb,\beta_{kq}]\) 使得

$$ { \[\begin{array}{l} \rho(\boldsymbol{\alpha}_k\boldsymbol{X},\boldsymbol{\alpha}_j\boldsymbol{X})=0,\rho(\boldsymbol{\beta}_k\boldsymbol{Y},\boldsymbol{\beta}_j\boldsymbol{Y})=0,\small j=1,2,\dots,k-1&\\ \rho(\boldsymbol{\alpha}_k\boldsymbol{X},\boldsymbol{\beta}_k\boldsymbol{Y})=\max_{} \rho(\boldsymbol{\alpha}\boldsymbol{X},\boldsymbol{\beta}\boldsymbol{Y}) < \rho(\boldsymbol{\alpha}_{k-1}\boldsymbol{X},\boldsymbol{\beta}_{k-1}\boldsymbol{Y})\\ \boldsymbol{\alpha}_k\boldsymbol{\Sigma}_{\tiny \boldsymbol{XX}}\boldsymbol{\alpha}_k^T=1,\boldsymbol{\beta}_k\boldsymbol{\Sigma}_{\tiny \boldsymbol{YY}}\boldsymbol{\beta}_k^T=1\\ \end{array}\]

. $$

则称 \(\boldsymbol{\alpha}_k\boldsymbol{X},\boldsymbol{\beta}_k\boldsymbol{Y}\)\(\boldsymbol{X},\boldsymbol{Y}\)\(k\) 对(组)典型相关变量,他们之间的相关系数称之为\(k\) 个典型相关系数 \(\small \left(k=1,2,\dots,min(p,q)\right)\)

典型相关变量的解法

将两组变量的协方差矩阵分块得

\[Cov\begin{bmatrix}\boldsymbol{X} \\ \boldsymbol{Y} \\\end{bmatrix} =\begin{bmatrix} Var(\boldsymbol{X}) & Cov(\boldsymbol{X},\boldsymbol{Y}) \\ Cov(\boldsymbol{Y},\boldsymbol{X}) & Var(\boldsymbol{Y}) \\ \end{bmatrix} =\begin{bmatrix} \boldsymbol{\Sigma_{XX}} & \boldsymbol{\Sigma_{XY}} \\ \boldsymbol{\Sigma_{YX}} & \boldsymbol{\Sigma_{YY}} \\ \end{bmatrix}\]

此时

\[\rho(\boldsymbol{u},\boldsymbol{v})=\frac{Cov(\boldsymbol{\alpha X},\boldsymbol{\beta Y})}{\sqrt{D(\boldsymbol{\alpha X})}\sqrt{D(\boldsymbol{\beta Y})}}=\boldsymbol{\alpha\Sigma_{\tiny XY}\beta^T}\]

此问题转换为在 \(\small \boldsymbol{\alpha}\boldsymbol{\Sigma}_{\tiny \boldsymbol{XX}}\boldsymbol{\alpha}^T=1,\boldsymbol{\beta}\boldsymbol{\Sigma}_{\tiny \boldsymbol{YY}}\boldsymbol{\beta}^T=1\) 条件下求 \(\small \boldsymbol{\alpha\Sigma_{\tiny XY} \beta^T}\) 的极大值。

引入拉格朗日乘数 \(\lambda,\omega\) 即问题为求下式的最大值。

\[S(\boldsymbol{\alpha},\boldsymbol{\beta})=\boldsymbol{\alpha\Sigma_{\tiny XY} \beta^T}-\frac{\lambda}{2}(\boldsymbol{\alpha}\boldsymbol{\Sigma}_{\tiny \boldsymbol{XX}}\boldsymbol{\alpha}^T-1)-\frac{\omega}{2}(\boldsymbol{\beta}\boldsymbol{\Sigma}_{\tiny \boldsymbol{YY}}\boldsymbol{\beta}^T-1)\]

由极值的必要条件得到偏导方程组

\[\left\{\begin{matrix} \frac{\partial S}{\partial \boldsymbol{\alpha }}=\boldsymbol{\Sigma_{\tiny XY}\beta }-\lambda \boldsymbol{\Sigma_{\tiny XX}\alpha }=0\\ \frac{\partial S}{\partial \boldsymbol{\beta }}=\boldsymbol{\Sigma_{\tiny YX}\alpha }-\omega \boldsymbol{\Sigma_{\tiny YY}\beta }=0\\ \end{matrix}\right.\]

中间过程略,详见[1][3]。得

\[\left\{\begin{matrix} \left(\boldsymbol{\Sigma_{XY}}\boldsymbol{\Sigma_{YY}^{-1}}\boldsymbol{\Sigma_{YX}}-\lambda^2\boldsymbol{\Sigma_{XX}}\right)\boldsymbol{\alpha}=0\\ \left(\boldsymbol{\Sigma_{YX}}\boldsymbol{\Sigma_{XX}^{-1}}\boldsymbol{\Sigma_{XY}}-\lambda^2\boldsymbol{\Sigma_{YY}}\right)\boldsymbol{\beta}=0\\ \end{matrix}\right.\]

\[M_1=\boldsymbol{\Sigma_{XX}^{-1}}\boldsymbol{\Sigma_{XY}}\boldsymbol{\Sigma_{YY}^{-1}}\boldsymbol{\Sigma_{YX}},M_{2}=\boldsymbol{\Sigma_{YY}^{-1}}\boldsymbol{\Sigma_{YX}}\boldsymbol{\Sigma_{XX}^{-1}}\boldsymbol{\Sigma_{XY}}\]

\[M_1\boldsymbol{\alpha}=\lambda^2\boldsymbol{\alpha},M_2\boldsymbol{\beta}=\lambda^2\boldsymbol{\beta}\]

\(\small T=\boldsymbol{\Sigma_{XX}^{-1/2}\Sigma_{XY}\Sigma_{YY}^{-1/2}}\)\(\small M_1=TT^{\prime},M_2=T^{\prime}T\)\(M_1,M_2\) 有相同的非零特征值

说明 \(\lambda^2\) 既是 \(M_1\) 又是 \(M_2\) 的特征根, \(\boldsymbol{\alpha},\boldsymbol{\beta}\) 是对应的特征向量, \(M_1,M_2\) 的特征根非负数且在区间 \([0,1]\) 上,非零特征根的数量不妨设为 \(\small r=\min(p,q)\)

设特征根排列为 \(\small \lambda_1^2 \ge \lambda_2^2 \ge \dotsb \ge \lambda_r^2\) 其余特征根为 \(0\) ,称 \(\lambda_1,\lambda_2,\dotsb,\lambda_r\) 为典型相关系数。对应从 \(\small M_1\boldsymbol{\alpha}=\lambda^2\boldsymbol{\alpha}\) 解出的特征向量为 \(\small \boldsymbol{\alpha}_1,\dotsb,\boldsymbol{\alpha}_r\) ;从 \(\small M_2\boldsymbol{\beta}=\lambda^2\boldsymbol{\beta}\) 解出的特征向量为 \(\small \boldsymbol{\beta}_1,\dotsb,\boldsymbol{\beta}_r\) 。可得到 \(\boldsymbol{u_k}\) \(\boldsymbol{v_k}\) 的线性组合: \[\boldsymbol{u}_k=\boldsymbol{\alpha}_k\boldsymbol{X},\boldsymbol{v}_k=\boldsymbol{\beta}_k\boldsymbol{X},k=1,2,\dotsb,r,\]

满足:

\[Cov(\boldsymbol{u}_i,\boldsymbol{u}_j)=0,Cov(\boldsymbol{v}_i,\boldsymbol{v}_j)=0,{\small i \ne j}\\ Cov(\boldsymbol{u}_i,\boldsymbol{v}_i)=\lambda_i,Cov(\boldsymbol{u}_i,\boldsymbol{v}_j)=0,\small i \ne j \]

样本典型相关分析步骤

设样本总体 \(\small \boldsymbol{Z}=[\boldsymbol{x}_1,\dotsb,\boldsymbol{x}_p,\boldsymbol{y}_1,\dotsb,\boldsymbol{y}_q]^T\)

对于每次观测

\[Z_{(t)}=\left[\begin{array}{l} \boldsymbol{X}_{(t)} \\ \boldsymbol{Y}_{(t)} \end{array}\right]_{(p+q) \times 1} \quad(t=1,2, \cdots, n)\]

于是样本数据矩阵为

\[\left(\left[\begin{array}{cccc:cccc} x_{11} & x_{21} & \cdots & x_{p1} & y_{11} & y_{21} & \cdots & y_{q1} \\ x_{12} & x_{22} & \cdots & x_{p2} & y_{12} & y_{22} & \cdots & y_{q2} \\ \vdots & \vdots & & \vdots & \vdots & \vdots & & \vdots \\ x_{1n} & x_{2n} & \cdots & x_{pn} & y_{1n} & y_{2n} & \cdots & y_{qn} \end{array}\right]^T\right)_{(p+q)\times n}\]

协方差矩阵的无偏估计为

\[\boldsymbol{\hat{\Sigma}}=\frac{1}{n-1} \sum_{t=1}^{n}\left(Z_{(t)}-\bar{Z}\right)\left(Z_{(t)}-\bar{Z}\right)^{\prime}\]

其中 \(\bar{Z}=\frac{1}{n}\sum\limits_{i=1}^nX_{(i)}\)

记样本矩阵 \(\boldsymbol{Z}_{\tiny (p+q)\times n}\) 每个元素减去每一行的平均值得到矩阵 \(\boldsymbol{Z}^*_{\tiny (p+q)\times n}\)

\[\boldsymbol{\hat{\Sigma}}=\frac{1}{n-1}\boldsymbol{Z}^*(\boldsymbol{Z}^*)^T=\left[\begin{array}{c:c} \boldsymbol{\hat{\Sigma}_{\tiny XX}} & \boldsymbol{\hat{\Sigma}_{\tiny XY}} \\ \hdashline \boldsymbol{\hat{\Sigma}_{\tiny Y X}} & \boldsymbol{\hat{\Sigma}_{\tiny YY}} \end{array}\right]\begin{array}{c} \tiny p\\ \tiny q \end{array}\]

样本典型相关变量和系数

以下用 \(\boldsymbol{\hat{\Sigma}}\) 替换 \(\boldsymbol{\Sigma}\)

  • 方法一

\[M_1=\boldsymbol{\Sigma_{XX}^{-1}}\boldsymbol{\Sigma_{XY}}\boldsymbol{\Sigma_{YY}^{-1}}\boldsymbol{\Sigma_{YX}}\\M_{2}=\boldsymbol{\Sigma_{YY}^{-1}}\boldsymbol{\Sigma_{YX}}\boldsymbol{\Sigma_{XX}^{-1}}\boldsymbol{\Sigma_{XY}}\]

分别求出 \(M_1,M_2\) 的特征值与特征向量,特征值从大到小排列为 \(\lambda_1^2,\lambda_2^2,\dots\) ,其对应的特征向量分别为 \((\boldsymbol{\alpha}_1,\boldsymbol{\alpha}_2,\dots)\)\((\boldsymbol{\beta}_1,\boldsymbol{\beta}_2,\dots)\)

  • 方法二

\(T=\boldsymbol{\Sigma_{XX}^{-1/2}\Sigma_{XY}\Sigma_{YY}^{-1/2}}\) ,计算 \(TT^{\prime}\) 的特征值从大到小排列为 \(\lambda_1^2,\lambda_2^2,\dots\) ,记 \(\boldsymbol{l}_k\)\(TT^{\prime}\) 的特征根 \(\lambda_k^2\) 对应的单位正交特征向量。令

\[\left\{\begin{array}{c} \boldsymbol{\alpha}_k=\boldsymbol{\Sigma_{\tiny XX}^{-1/2}}\boldsymbol{l}_k,\\ \boldsymbol{\beta}_k=\lambda_k^{-1}\boldsymbol{\Sigma_{\tiny YY}^{-1}\Sigma_{YX}}\boldsymbol{\alpha}_k, \end{array}\right.\]

原始变量与典型变量相关性

原始变量与典型变量的相关系数

\[ \begin{array}{l} \rho\left(\boldsymbol{x}_{i}, \boldsymbol{u}_{j}\right)=\sum\limits_{k=1}^{p} \alpha_{k j} \operatorname{Cov}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{k}\right) / \sqrt{D\left(\boldsymbol{x}_{i}\right)}, j=1, \cdots, s_{\circ} \\ \rho\left(\boldsymbol{x}_{i}, \boldsymbol{v}_{j}\right)=\sum\limits_{k=1}^{q} \beta_{k j} \operatorname{Cov}\left(\boldsymbol{x}_{i}, \boldsymbol{y}_{k}\right) / \sqrt{D\left(\boldsymbol{x}_{i}\right)}, j=1, \cdots, s, \\ \rho\left(\boldsymbol{y}_{i}, \boldsymbol{u}_{j}\right)=\sum\limits_{k=1}^{p} \alpha_{k j} \operatorname{Cov}\left(\boldsymbol{y}_{i}, \boldsymbol{x}_{k}\right) / \sqrt{D\left(\boldsymbol{y}_{i}\right)}, j=1, \cdots, s, \\ \rho\left(\boldsymbol{y}_{i}, \boldsymbol{v}_{j}\right)=\sum\limits_{k=1}^{q} \beta_{k j} \operatorname{Cov}\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{k}\right) / \sqrt{D\left(\boldsymbol{y}_{i}\right)}, j=1, \cdots, s_{\circ} \end{array} \]

各组原始变量被典型变量所解释的方差比例

原始变量 \(\boldsymbol{X}\)\(\boldsymbol{u}_i\) 解释的方差比例 \[m_{u_i}=\sum_{k=1}^p\rho^2(\boldsymbol{u}_i,\boldsymbol{x}_k)/p\]

原始变量 \(\boldsymbol{X}\)\(\boldsymbol{v}_i\) 解释的方差比例 \[m_{v_i}=\sum_{k=1}^p\rho^2(\boldsymbol{v}_i,\boldsymbol{x}_k)/p\]

原始变量 \(\boldsymbol{Y}\)\(\boldsymbol{u}_i\) 解释的方差比例 \[n_{u_i}=\sum_{k=1}^q\rho^2(\boldsymbol{u}_i,\boldsymbol{y}_k)/q\]

原始变量 \(\boldsymbol{Y}\)\(\boldsymbol{v}_i\) 解释的方差比例 \[n_{v_i}=\sum_{k=1}^q\rho^2(\boldsymbol{v}_i,\boldsymbol{y}_k)/q\]

样本典型相关系数显著性检验

整体检验

\[H_0:\lambda_1=\lambda_2=\dotsb=\lambda_r=0\quad ,{\tiny即\boldsymbol{\Sigma_{\tiny XY}}=0}\\ H_1:\lambda_i \small(i=1,2,\dots,r)中至少有一个非0,{\tiny即\boldsymbol{\Sigma_{\tiny XY}}\ne0}\]

\[\Lambda_{1}=\frac{|\hat{\boldsymbol{\Sigma}}|}{\left|\hat{\boldsymbol{\Sigma}}_{X X}\right|\left|\hat{\boldsymbol{\Sigma}}_{Y Y}\right|}\\\]\[\Lambda_{1}=\left|\boldsymbol{I}_{p}-\hat{\boldsymbol{\Sigma}}_{X X}^{-1} \hat{\boldsymbol{\Sigma}}_{X Y} \hat{\boldsymbol{\Sigma}}_{Y Y}^{-1} \hat{\boldsymbol{\Sigma}}_{Y X}\right|=\prod_{i=1}^{r}\left(1-\lambda_{i}^{2}\right)\]

验证统计量 \[Q_{1}=-\left[n-1-\frac{1}{2}(p+q+1)\right] \ln \Lambda_{1}\]

近似服从自由度为 \(pq\)\(\chi ^2\) 分布,在给定的显著性水平 \(\alpha\) 下,若 \(Q_1\ge \chi_\alpha^2(pq)\) ,则拒绝原假设,认为至少第一对典型变量之间相关性显著。

部分总体为零的检验

\[H_0:\lambda_2=\lambda_3=\dotsb=\lambda_r=0,\\ H_1:\lambda_2,\lambda_3,\dotsb,\lambda_r\small至少有一个非零\]

若原假设 \(H_0\) 被接受,则认为只有第一对典型变量有用;若 \(H_0\) 被拒绝,则第二对典型变量也有用,并进行进一步假设

\[H_0:\lambda_3=\lambda_4=\dotsb=\lambda_r=0,\\ H_1:\lambda_3,\lambda_4,\dotsb,\lambda_r\small至少有一个非零\]

如此进行下去直到对于某个 \(k\)
\[H_0:\lambda_k=\lambda_{k+1}=\dotsb=\lambda_r=0,\\ H_1:\lambda_k,\lambda_{k+1},\dotsb,\lambda_r\small至少有一个非零\]

\[\Lambda_{k}=\prod_{i=k}^{r}\left(1-\lambda_{i}^{2}\right)\] 在原假设为真的情况下 \[Q_k=-\left[n-k-\frac{1}{2}(p+q+1)\right] \ln \Lambda_{k}\] 近似服从自由度为 \((p-k+1)(p-k+1)\)\(\chi ^2\) 分布。在显著性水平 \(\alpha\) 下若 \(Q_k\ge \chi_\alpha^2\left[(p-k+1)(p-k+1)\right]\) ,则拒绝原假设,则至少认为第 \(k\) 对典型变量之间相关性显著。

参考

  1. 司守奎 孙兆亮. 数学建模算法与运用[M]. 第2版. 第268页. ↩︎
  2. https://zhuanlan.zhihu.com/p/372774724 ↩︎
  3. 高惠璇. 应用多元统计分析[M]. 第2版. 第354页. ↩︎