# 概述
典型相关分析 (CCA) 是一种多元统计方法,用于研究两组多维变量之间的线性关系。其核心思想是,在每组变量中找到一对线性组合,使得它们之间的相关性最大化,这对线性组合被称为典型相关变量对 (canonical variate pair)。通过寻找多对这样的变量,可以系统地揭示两组变量间的内在关联结构。
CCA 通常分为总体 CCA (Population Canonical Correlation) 和样本 CCA (Sample Canonical Correlation) 两种类型。
# 总体 CCA (Population Canonical Correlation)
# 模型定义
设两组变量向量 X(1) 和 X(2) 分别具有 p 和 q 个变量:
X(1)=X1(1)X2(1)...Xp(1)X(2)=X1(2)X2(2)...Xq(2)
其联合协方差矩阵为 Σ,可以划分为子矩阵:
Σ= [Σ11Σ21Σ12Σ22]
其中,Σ11 是 X(1) 的协方差矩阵,Σ22 是 X(2) 的协方差矩阵,Σ12 是 X(1) 和 X(2) 之间的协方差矩阵。
# 目标函数
CCA 的目标是找到两组权重向量 a 和 b,使得由它们构造的线性组合 U=aTX(1) 和 V=bTX(2) 之间的相关系数达到最大。
a,bmaxcorr(U,V)=a,b=0maxaTΣ11abTΣ22baTΣ12b
这个优化问题等价于:
a,b=0maxaTabTbaTΣ11−1/2Σ12Σ22−1/2b=∥a∥=∥b∥=1maxaTΣ11−1/2Σ12Σ22−1/2b
其中,a=Σ111/2a 和 b=Σ221/2b。
# 典型相关变量与系数
典型相关变量对:
- 第一对典型相关变量 (U1,V1) 是上述优化问题所求得的一对线性组合。
- 第 k 对典型相关变量 (Uk,Vk) 是在与前 k−1 对变量不相关的约束条件下,新的一对相关性最大的线性组合。
ak,bk=0maxakTΣ11akbkTΣ22bkakTΣ12bk
同时满足以下约束:Var(Uk)=akTΣ11ak=1,Var(Vk)=bkTΣ22bk=1
cov(Ui,Uk)=0,cov(Vi,Vk)=0,for i<k
典型相关系数:
- 第 k 个典型相关系数 ρk∗=corr(Uk,Vk),表示第 k 对典型相关变量之间的相关性。
- 典型相关系数满足 ρ1∗2≥ρ2∗2≥⋯≥ρp∗2 (假设 p≤q)。
# 典型相关计算方法
典型相关系数的平方 ρk∗2 对应于矩阵 Σ11−1/2Σ12Σ22−1Σ21Σ11−1/2 或 Σ22−1/2Σ21Σ11−1Σ12Σ22−1/2 的特征值。
假设 p≤q:
- ρ1∗2,ρ2∗2,…,ρp∗2 是矩阵 Σ11−1/2Σ12Σ22−1Σ21Σ11−1/2 的前 p 个最大特征值。
- e1,e2,…,ep 是该矩阵对应的特征向量。
- f1,f2,…,fp 是矩阵 Σ22−1/2Σ21Σ11−1Σ12Σ22−1/2 的前 p 个最大特征值对应的特征向量。
- 两组特征向量之间的关系为 fk=ρk∗1Σ22−1/2Σ21Σ11−1/2ek。
第 k 对典型相关变量为:
- Uk=ekTΣ11−1/2X(1)
- Vk=fkTΣ22−1/2X(2)
# 变量对典型相关变量的贡献度
- 权重向量 ak 和 bk 的元素可以解释为相应原始变量对典型相关变量的重要程度。例如,aik 表示 Xk(1) 对 Ui 的重要程度。
- 相关性度量:
- corr(U,X(1))=AΣ11V11−1/2
- corr(U,X(2))=AΣ12V22−1/2
- corr(V,X(2))=BΣ22V22−1/2
- corr(V,X(1))=BΣ21V11−1/2
- 其中,A 和 B 是由所有 akT 和 bkT 构成的矩阵,Vii=diag(Σii)。
- 协方差度量:
- cov(U)=Ip (单位矩阵)
- cov(U,V)=diag(ρ1∗,ρ2∗,...,ρp∗)
# 与传统相关系数的联系
- 任意一对变量 (Xi(1),Xj(2)) 之间的相关系数,其绝对值不超过第一典型相关系数 ρ1∗。
- \abs{\text{corr}(X_i^{(1)},X_j^{(2)})}\le\rho^*_1
- maxbcorr(Xi(1),bTX(2))≤ρ1∗
- maxbcorr(Uk,bTX(2))≤ρk∗
- maxacorr(Vk,aTX(1))≤ρk∗
典型相关系数的解释:
- ρk∗2 可以解释为 Uk 的方差中能被 X(2) 解释的部分,也可以解释为 Vk 的方差中能被 X(1) 解释的部分。
- 直观上,ρk∗2 表示了 X(1) 和 X(2) 共享的方差比例。
# 基于标准化变量的 CCA
如果将变量标准化,用相关系数矩阵 R 替换协方差矩阵 Σ,CCA 的结果将保持不变。
- 标准化方法: Zk(j)=σkk(j)Xk(j)−μk(j) 或 Z(j)=Vjj−1/2(X(j)−μ(j)).
- 如果 Z(i)=CiX(i)+μi (其中 Ci 是对角矩阵),则典型相关系数保持不变,去均值后典型相关变量也不变。
# 样本 CCA (Sample Canonical Correlation)
样本 CCA 旨在通过样本数据来估计总体 CCA 的参数。其方法与总体 CCA 类似,只需将总体协方差矩阵 Σ 替换为样本协方差矩阵 S,或将总体相关系数矩阵 ρ 替换为样本相关系数矩阵 R。
方差解释比例:
# 总体 CCA 的大样本推断
# 假设
假设两组变量组成的向量 X(p+q)×1 服从联合正态分布,且样本量足够大。
# 假设检验
用于检验是否存在显著的典型相关性,通常采用以下零假设和备择假设:
- 零假设 H0k: 前 k 个典型相关系数非零,而其余的典型相关系数均为零。
H0k:ρ1∗=0,…,ρk∗=0,ρk+1∗=⋯=ρp∗=0
- 备择假设 H1k: 存在某个大于 k 的典型相关系数非零。
H1k:∃i≥k+1,ρi∗=0
# 检验统计量
检验统计量通常采用似然比检验:
−2logΛ=−nlogi=k+1∏p(1−ρ^i∗2)
在大样本条件下,该统计量近似服从自由度为 (p−k)(q−k) 的卡方分布:
−2logΛ∼χ(p−k)(q−k)2