协方差矩阵含义

协方差矩阵

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、金融风险、机器学习等领域的核心工具;
  • 它能告诉我们数据分布的形状、变量之间的联动关系以及主要变化方向。
相关推荐
垆边人似月.1 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
三*一1 小时前
优化修整算法
前端·javascript·算法
达子6662 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
夏幻灵2 小时前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
道尔柯南2 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
Navigator_Z2 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode
码爸3 小时前
决策树介绍与示例
python·算法·机器学习
动词ing3 小时前
【题目练习】字符串相乘
算法
0+1113 小时前
算法 --链表
数据结构·算法·leetcode·链表