协方差矩阵
1. 什么是协方差矩阵?
设有一个 nnn 维随机向量
X=(X1,X2,...,Xn)T X=(X_1,X_2,\dots,X_n)^T X=(X1,X2,...,Xn)T
它的均值向量为
μ=EX=(μ1,μ2,...,μn)T \mu=EX=(\mu_1,\mu_2,\dots,\mu_n)^T μ=EX=(μ1,μ2,...,μn)T
则协方差矩阵定义为
Σ=Cov(X)=E(X−μ)(X−μ)T \Sigma=\operatorname{Cov}(X) =E\left(X-\\mu)(X-\\mu)\^T\\right Σ=Cov(X)=E(X−μ)(X−μ)T
它是一个 n×nn\times nn×n 的矩阵,其中第 iii 行第 jjj 列元素为
Σij=Cov(Xi,Xj) \Sigma_{ij}=\operatorname{Cov}(X_i,X_j) Σij=Cov(Xi,Xj)
也就是说:
- 对角线元素:Σii=Var(Xi)\Sigma_{ii}=\operatorname{Var}(X_i)Σii=Var(Xi),表示第 iii 个变量自身的方差;
- 非对角线元素:Σij=Cov(Xi,Xj)\Sigma_{ij}=\operatorname{Cov}(X_i,X_j)Σij=Cov(Xi,Xj),表示第 iii 个变量和第 jjj 个变量之间的协方差。
如果有一组样本数据,常用样本协方差矩阵估计:
S=1m−1∑k=1m(xk−xˉ)(xk−xˉ)T S=\frac{1}{m-1}\sum_{k=1}^m (x_k-\bar{x})(x_k-\bar{x})^T S=m−11k=1∑m(xk−xˉ)(xk−xˉ)T
其中:
- mmm 是样本数;
- xˉ\bar{x}xˉ 是样本均值向量。
2. 协方差矩阵的作用和意义
协方差矩阵的核心作用是:
描述多维数据的波动程度以及各变量之间的线性关联关系。
具体意义包括:
(1)描述各变量的方差和变量间的协方差
对角线告诉我们每个变量自己波动多大;非对角线告诉我们两个变量是否一起变大或变小。
- 如果 Cov(Xi,Xj)>0\operatorname{Cov}(X_i,X_j)>0Cov(Xi,Xj)>0,说明 XiX_iXi 和 XjX_jXj 倾向于同向变化;
- 如果 Cov(Xi,Xj)<0\operatorname{Cov}(X_i,X_j)<0Cov(Xi,Xj)<0,说明它们倾向于反向变化;
- 如果接近 0,说明线性相关很弱。
但协方差大小受量纲影响,所以通常还会用相关系数:
ρij=Cov(Xi,Xj)Var(Xi)Var(Xj) \rho_{ij}=\frac{\operatorname{Cov}(X_i,X_j)}{\sqrt{\operatorname{Var}(X_i)\operatorname{Var}(X_j)}} ρij=Var(Xi)Var(Xj) Cov(Xi,Xj)
(2)多元正态分布的核心参数
如果
X∼N(μ,Σ) X\sim N(\mu,\Sigma) X∼N(μ,Σ)
那么:
- 均值 μ\muμ 决定分布中心;
- 协方差矩阵 Σ\SigmaΣ 决定分布的形状、方向和离散程度。
(3)用于降维和特征提取,如 PCA
主成分分析 PCA 会对协方差矩阵做特征分解:
Σv=λv \Sigma v=\lambda v Σv=λv
其中:
- 特征向量 vvv 表示数据变化的主要方向;
- 特征值 λ\lambdaλ 表示该方向上的方差大小。
特征值越大,说明数据在该方向变化越剧烈,越重要。
(4)用于风险度量,如投资组合
在金融中,若资产收益向量为 XXX,投资权重为 www,则组合方差为:
Var(wTX)=wTΣw \operatorname{Var}(w^T X)=w^T\Sigma w Var(wTX)=wTΣw
协方差矩阵可以衡量不同资产之间的联动风险。
(5)用于马氏距离、卡尔曼滤波、判别分析等
很多机器学习和统计方法都需要考虑变量之间的相关性,协方差矩阵是基础工具。
注意:
协方差只衡量线性关系 ,不能描述所有非线性关系。
协方差为 0 不一定独立,只说明没有线性相关。
3. 举例说明
假设有两个变量 xxx 和 yyy,有三个样本:
| 样本 | xxx | yyy |
|---|---|---|
| 1 | 1 | 2 |
| 2 | 2 | 4 |
| 3 | 3 | 6 |
可以看出 y=2xy=2xy=2x,两者完全正相关。
先求均值:
xˉ=2,yˉ=4 \bar{x}=2,\quad \bar{y}=4 xˉ=2,yˉ=4
中心化:
x−xˉ=(−1,0,1) x-\bar{x}=(-1,0,1) x−xˉ=(−1,0,1)
y−yˉ=(−2,0,2) y-\bar{y}=(-2,0,2) y−yˉ=(−2,0,2)
计算方差和协方差,样本协方差矩阵使用 m−1=2m-1=2m−1=2:
Var(x)=(−1)2+02+122=1 \operatorname{Var}(x)=\frac{(-1)^2+0^2+1^2}{2}=1 Var(x)=2(−1)2+02+12=1
Var(y)=(−2)2+02+222=4 \operatorname{Var}(y)=\frac{(-2)^2+0^2+2^2}{2}=4 Var(y)=2(−2)2+02+22=4
Cov(x,y)=(−1)(−2)+0⋅0+1⋅22=2 \operatorname{Cov}(x,y)=\frac{(-1)(-2)+0\cdot 0+1\cdot 2}{2}=2 Cov(x,y)=2(−1)(−2)+0⋅0+1⋅2=2
所以样本协方差矩阵为:
S=1224 S= \begin{bmatrix} 1 & 2\\ 2 & 4 \end{bmatrix} S=1224
解释:
- 对角线:Var(x)=1\operatorname{Var}(x)=1Var(x)=1,Var(y)=4\operatorname{Var}(y)=4Var(y)=4,说明 yyy 的波动比 xxx 大;
- 非对角线:Cov(x,y)=2>0\operatorname{Cov}(x,y)=2>0Cov(x,y)=2>0,说明 xxx 和 yyy 正相关;
- 相关系数:
ρ=214=1 \rho=\frac{2}{\sqrt{1}\sqrt{4}}=1 ρ=1 4 2=1
说明 xxx 和 yyy 完全正线性相关。
进一步看这个协方差矩阵的特征值:
λ1=5,λ2=0 \lambda_1=5,\quad \lambda_2=0 λ1=5,λ2=0
总方差为:
1+4=5 1+4=5 1+4=5
第一主成分方向是 (1,2)(1,2)(1,2),也就是数据沿着 y=2xy=2xy=2x 这条线变化;第二主成分方向方差为 0,说明数据在这个垂直方向上没有变化。
4. 总结
协方差矩阵是一个描述多维随机变量波动和线性相关性的矩阵:
- 对角线是各变量的方差;
- 非对角线是变量之间的协方差;
- 它是对称半正定矩阵;
- 它是多元统计、PCA、金融风险、机器学习等领域的核心工具;
- 它能告诉我们数据分布的形状、变量之间的联动关系以及主要变化方向。