# 概述

典型相关分析 (CCA) 是一种多元统计方法,用于研究两组多维变量之间的线性关系。其核心思想是,在每组变量中找到一对线性组合,使得它们之间的相关性最大化,这对线性组合被称为典型相关变量对 (canonical variate pair)。通过寻找多对这样的变量,可以系统地揭示两组变量间的内在关联结构。

CCA 通常分为总体 CCA (Population Canonical Correlation) 和样本 CCA (Sample Canonical Correlation) 两种类型。


# 总体 CCA (Population Canonical Correlation)

# 模型定义

设两组变量向量 X(1)X^{(1)}X(2)X^{(2)} 分别具有 ppqq 个变量:

X(1)=[X1(1)X2(1)...Xp(1)]X(2)=[X1(2)X2(2)...Xq(2)]X^{(1)}= \begin{bmatrix}X_1^{(1)}\\X_2^{(1)}\\...\\ X_p^{(1)} \end{bmatrix}\\ X^{(2)}= \begin{bmatrix}X_1^{(2)}\\X_2^{(2)}\\...\\ X_q^{(2)} \end{bmatrix}\\

其联合协方差矩阵为 Σ\Sigma,可以划分为子矩阵:

Σ= [Σ11Σ12Σ21Σ22]\Sigma=\ \begin{bmatrix}\Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22} \end{bmatrix}\\

其中,Σ11\Sigma_{11}X(1)X^{(1)} 的协方差矩阵,Σ22\Sigma_{22}X(2)X^{(2)} 的协方差矩阵,Σ12\Sigma_{12}X(1)X^{(1)}X(2)X^{(2)} 之间的协方差矩阵。

# 目标函数

CCA 的目标是找到两组权重向量 aabb,使得由它们构造的线性组合 U=aTX(1)U = a^T X^{(1)}V=bTX(2)V = b^T X^{(2)} 之间的相关系数达到最大。

maxa,bcorr(U,V)=maxa,b0aTΣ12baTΣ11abTΣ22b\max_{a,b} \text{corr}(U, V) = \max_{a,b \ne 0}\frac{a^T\Sigma_{12}b}{\sqrt{a^T\Sigma_{11}a}\sqrt{b^T\Sigma_{22}b}}

这个优化问题等价于:

maxa~,b~0a~TΣ111/2Σ12Σ221/2b~a~Ta~b~Tb~=maxa~=b~=1a~TΣ111/2Σ12Σ221/2b~\max_{\widetilde a,\widetilde b \ne 0}\frac{\widetilde a^T\Sigma^{-1/2}_{11}\Sigma_{12}\Sigma^{-1/2}_{22}\widetilde{b}}{\sqrt{\widetilde a^T\widetilde a}\sqrt{\widetilde b^T\widetilde b}} = \max_{\|\widetilde a\|=\|\widetilde b\|=1}\widetilde a^T\Sigma^{-1/2}_{11}\Sigma_{12}\Sigma^{-1/2}_{22}\widetilde{b}

其中,a~=Σ111/2a\widetilde{a} = \Sigma^{1/2}_{11}ab~=Σ221/2b\widetilde{b} = \Sigma^{1/2}_{22}b

# 典型相关变量与系数

典型相关变量对:

  • 第一对典型相关变量 (U1,V1)(U_1, V_1) 是上述优化问题所求得的一对线性组合。
  • kk 对典型相关变量 (Uk,Vk)(U_k, V_k) 是在与前 k1k-1 对变量不相关的约束条件下,新的一对相关性最大的线性组合。

    maxak,bk0akTΣ12bkakTΣ11akbkTΣ22bk\max_{a_k,b_k\ne 0}\frac{a_k^T\Sigma_{12}b_k}{\sqrt{a_k^T\Sigma_{11}a_k}\sqrt{b_k^T\Sigma_{22}b_k}}

    同时满足以下约束:

    Var(Uk)=akTΣ11ak=1,Var(Vk)=bkTΣ22bk=1\text{Var}(U_k)=a_k^T\Sigma_{11}a_k=1, \quad \text{Var}(V_k)=b_k^T\Sigma_{22}b_k=1

    cov(Ui,Uk)=0,cov(Vi,Vk)=0,for i<k\text{cov}(U_i,U_k)=0, \quad \text{cov}(V_i,V_k)=0, \quad \text{for } i<k

典型相关系数:

  • kk 个典型相关系数 ρk=corr(Uk,Vk)\rho_k^* = \text{corr}(U_k, V_k),表示第 kk 对典型相关变量之间的相关性。
  • 典型相关系数满足 ρ12ρ22ρp2\rho_1^{*2} \ge \rho_2^{*2} \ge \dots \ge \rho_p^{*2} (假设 pqp \le q)。

# 典型相关计算方法

典型相关系数的平方 ρk2\rho_k^{*2} 对应于矩阵 Σ111/2Σ12Σ221Σ21Σ111/2\Sigma_{11}^{-1/2}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}\Sigma_{11}^{-1/2}Σ221/2Σ21Σ111Σ12Σ221/2\Sigma_{22}^{-1/2}\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}\Sigma_{22}^{-1/2} 的特征值。

假设 pqp \le q:

  • ρ12,ρ22,,ρp2\rho_1^{*2}, \rho_2^{*2}, \dots, \rho_p^{*2} 是矩阵 Σ111/2Σ12Σ221Σ21Σ111/2\Sigma_{11}^{-1/2}\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21}\Sigma_{11}^{-1/2} 的前 pp 个最大特征值。
  • e1,e2,,epe_1, e_2, \dots, e_p 是该矩阵对应的特征向量。
  • f1,f2,,fpf_1, f_2, \dots, f_p 是矩阵 Σ221/2Σ21Σ111Σ12Σ221/2\Sigma_{22}^{-1/2}\Sigma_{21}\Sigma_{11}^{-1}\Sigma_{12}\Sigma_{22}^{-1/2} 的前 pp 个最大特征值对应的特征向量。
  • 两组特征向量之间的关系为 fk=1ρkΣ221/2Σ21Σ111/2ekf_k = \frac{1}{\rho_k^{*}}\Sigma_{22}^{-1/2}\Sigma_{21}\Sigma_{11}^{-1/2}e_k

kk 对典型相关变量为:

  • Uk=ekTΣ111/2X(1)U_k=e^T_k\Sigma_{11}^{-1/2}X^{(1)}
  • Vk=fkTΣ221/2X(2)V_k=f^T_k\Sigma_{22}^{-1/2}X^{(2)}

# 变量对典型相关变量的贡献度

  • 权重向量 aka_kbkb_k 的元素可以解释为相应原始变量对典型相关变量的重要程度。例如,aika_{ik} 表示 Xk(1)X_k^{(1)}UiU_i 的重要程度。
  • 相关性度量:
    • corr(U,X(1))=AΣ11V111/2\text{corr}(U,X^{(1)})=A\Sigma_{11}V_{11}^{-1/2}
    • corr(U,X(2))=AΣ12V221/2\text{corr}(U,X^{(2)})=A\Sigma_{12}V_{22}^{-1/2}
    • corr(V,X(2))=BΣ22V221/2\text{corr}(V,X^{(2)})=B\Sigma_{22}V_{22}^{-1/2}
    • corr(V,X(1))=BΣ21V111/2\text{corr}(V,X^{(1)})=B\Sigma_{21}V_{11}^{-1/2}
    • 其中,AABB 是由所有 akTa_k^TbkTb_k^T 构成的矩阵,Vii=diag(Σii)V_{ii} = \text{diag}(\Sigma_{ii})
  • 协方差度量:
    • cov(U)=Ip\text{cov}(U)=I_p (单位矩阵)
    • cov(U,V)=diag(ρ1,ρ2,...,ρp)\text{cov}(U,V)=\text{diag}(\rho^*_1,\rho^*_2,...,\rho^*_p)

# 与传统相关系数的联系

  • 任意一对变量 (Xi(1),Xj(2))(X_i^{(1)}, X_j^{(2)}) 之间的相关系数,其绝对值不超过第一典型相关系数 ρ1\rho^*_1
  • \abs{\text{corr}(X_i^{(1)},X_j^{(2)})}\le\rho^*_1
  • maxbcorr(Xi(1),bTX(2))ρ1\max_{b}\text{corr}(X_i^{(1)},b^TX^{(2)})\le\rho^*_1
  • maxbcorr(Uk,bTX(2))ρk\max_{b}\text{corr}(U_k,b^TX^{(2)})\le\rho^*_k
  • maxacorr(Vk,aTX(1))ρk\max_{a}\text{corr}(V_k,a^TX^{(1)})\le\rho^*_k

典型相关系数的解释:

  • ρk2\rho_k^{*2} 可以解释为 UkU_k 的方差中能被 X(2)X^{(2)} 解释的部分,也可以解释为 VkV_k 的方差中能被 X(1)X^{(1)} 解释的部分。
  • 直观上,ρk2\rho_k^{*2} 表示了 X(1)X^{(1)}X(2)X^{(2)} 共享的方差比例。

# 基于标准化变量的 CCA

如果将变量标准化,用相关系数矩阵 RR 替换协方差矩阵 Σ\Sigma,CCA 的结果将保持不变。

  • 标准化方法: Zk(j)=Xk(j)μk(j)σkk(j)Z_k^{(j)}=\frac{X_k^{(j)}-\mu_k^{(j)}}{\sqrt{\sigma_{kk}^{(j)}}}Z(j)=Vjj1/2(X(j)μ(j))Z^{(j)}=V_{jj}^{-1/2}(X^{(j)}-\mu^{(j)}).
  • 如果 Z(i)=CiX(i)+μiZ^{(i)}=C_iX^{(i)}+\mu_i (其中 CiC_i 是对角矩阵),则典型相关系数保持不变,去均值后典型相关变量也不变。

# 样本 CCA (Sample Canonical Correlation)

样本 CCA 旨在通过样本数据来估计总体 CCA 的参数。其方法与总体 CCA 类似,只需将总体协方差矩阵 Σ\Sigma 替换为样本协方差矩阵 SS,或将总体相关系数矩阵 ρ\rho 替换为样本相关系数矩阵 RR

方差解释比例:

  • X(1)X^{(1)} 的方差中被前 rr 个典型相关统计量解释的占比可以通过以下公式估计:

    k=1ra^(k)Ta^(k)tr S11\frac{\sum_{k=1}^r\hat a^{(k)T}\hat a^{(k)}}{\text{tr } S_{11}}


# 总体 CCA 的大样本推断

# 假设

假设两组变量组成的向量 X(p+q)×1X_{(p+q)\times 1} 服从联合正态分布,且样本量足够大。

# 假设检验

用于检验是否存在显著的典型相关性,通常采用以下零假设和备择假设:

  • 零假设 H0kH_0^k: 前 kk 个典型相关系数非零,而其余的典型相关系数均为零。

    H0k:ρ10,,ρk0,ρk+1==ρp=0H_0^k: \rho_1^* \ne 0, \dots, \rho_k^* \ne 0, \quad \rho_{k+1}^* = \dots = \rho_p^* = 0

  • 备择假设 H1kH_1^k: 存在某个大于 kk 的典型相关系数非零。

    H1k:ik+1,ρi0H_1^k: \exists i \ge k+1, \quad \rho_i^* \ne 0

# 检验统计量

检验统计量通常采用似然比检验:

2logΛ=nlogi=k+1p(1ρ^i2)-2\log \Lambda = -n\log\prod_{i=k+1}^p(1-\hat\rho_i^{*2})

在大样本条件下,该统计量近似服从自由度为 (pk)(qk)(p-k)(q-k) 的卡方分布:

2logΛχ(pk)(qk)2-2\log \Lambda \sim \chi^2_{(p-k)(q-k)}