“协方差矩阵”就是 描述多个随机变量之间两两“协同变化”程度的矩阵 ——对角线是每个变量自身的方差,非对角线是两两之间的协方差。它既是多元统计的核心,也是 PCA、卡尔曼滤波、多元正态分布等工具的基础。
1. 从“协方差”说起
对于两个随机变量 \($X, Y$\),协方差定义为
\[\operatorname{Cov}(X,Y) = \mathbb{E}\big[(X-\mu_X)(Y-\mu_Y)\big]\]
其中
\($\mu_X = \mathbb{E}[X], \mu_Y = \mathbb{E}[Y]$\)。
- 若 \($\operatorname{Cov}(X,Y) > 0$\):
\($X$\) 大于均值时,\(Y\) 也倾向于大于均值(同向变化)。
- 若 \($\operatorname{Cov}(X,Y) < 0$\):
\($X$\) 大于均值时,\(Y\) 倾向于小于均值(反向变化)。
- 若 \($\operatorname{Cov}(X,Y) = 0$\):
线性意义上“不相关”(独立一定不相关,不相关不一定独立)。
但只有两个变量时,用一个标量就能描述;当有 \($p$\) 个变量时,就需要一个矩阵来组织所有两两关系,这就是 协方差矩阵。
2. 协方差矩阵的数学定义
设 \($X = (X_1, X_2, \dots, X_p)^T$\) 是 \($p$\) 维随机向量,其均值向量为
\[\mu = \mathbb{E}[X] = (\mu_1,\dots,\mu_p)^T.\]
总体协方差矩阵 定义为:
\[\Sigma = \operatorname{Cov}(X) = \mathbb{E}\big[(X-\mu)(X-\mu)^T\big]\]
这是一个
\($p \times p$\) 的对称矩阵,元素为:
\[\Sigma_{ij} = \operatorname{Cov}(X_i, X_j)
= \mathbb{E}\big[(X_i - \mu_i)(X_j - \mu_j)\big].\]
- 对角元:\($\Sigma_{ii} = \operatorname{Var}(X_i)$\),即第 \($i$\) 个变量的方差。
- 非对角元:\($\Sigma_{ij}$\) 表示 \($X_i$\) 与 \($X_j$\) 的协方差。
样本协方差矩阵(常用):
给定 \($n$\) 个样本 \(x^{(1)},\dots,x^{(n)} \in \mathbb{R}^p\),样本均值
\[\bar{x} = \frac{1}{n}\sum_{k=1}^n x^{(k)},\]
则样本协方差矩阵为:
\[S = \frac{1}{n-1}\sum_{k=1}^n (x^{(k)} - \bar{x})(x^{(k)} - \bar{x})^T.\]
- 分母用 \($n-1$\) 是无偏估计;
- 实际计算时,常把数据矩阵 \($X$\)(每行一个样本)做中心化,然后写成矩阵形式。
3. 协方差矩阵长什么样?
以 \($p=3$\) 为例,三个变量 \(X_1, X_2, X_3\):
\[\Sigma =
\begin{bmatrix}
\operatorname{Var}(X_1) & \operatorname{Cov}(X_1,X_2) & \operatorname{Cov}(X_1,X_3) \\
\operatorname{Cov}(X_2,X_1) & \operatorname{Var}(X_2) & \operatorname{Cov}(X_2,X_3) \\
\operatorname{Cov}(X_3,X_1) & \operatorname{Cov}(X_3,X_2) & \operatorname{Var}(X_3)
\end{bmatrix}.\]
- 对称性:\($\operatorname{Cov}(X_i,X_j) = \operatorname{Cov}(X_j,X_i)$\),所以 \($\Sigma$\) 是对称矩阵。
- 对角线是方差(都是非负数)。
4. 几何意义:数据云的“形状”
考虑中心化后的数据矩阵 \($X$\),每行是一个样本点。协方差矩阵可以看作描述数据点云“形状”的工具:
- \($\Sigma$\) 的特征向量:
指向数据变化最大的方向(主轴方向)。
- 对应的特征值:
表示沿这些主轴方向的方差大小(“拉伸程度”)。
因此:
- 若特征值都差不多大:数据云接近球形,各方向变化差不多。
- 若某个特征值远大于其他:数据在这个方向上被拉得很长(强相关方向)。
- 若所有特征值都很小:数据点都紧密围绕均值。
这正是 PCA(主成分分析) 的几何直观:
PCA 做的事情,就是计算协方差矩阵的特征值和特征向量,把数据投影到方差最大的几个方向上。
5. 协方差矩阵的关键性质
一些重要性质:
- 对称半正定:
- \($\Sigma$\) 是对称矩阵。
- 对任意向量 \($a \in \mathbb{R}^p$\),有
\[a^T \Sigma a \ge 0.\]
- 等价于:所有特征值都是 实数且非负。
- 线性变换下:
- 与相关系数矩阵的关系:
- 令 \($D = \operatorname{diag}(\sigma_1,\dots,\sigma_p)$\) 为标准差对角阵,则
\[\Sigma = D R D,\]
其中 \($R$\) 是相关系数矩阵(对角线全 1,非对角元是相关系数)。
6. 协方差矩阵有什么用?
6.1 主成分分析(PCA)
- PCA 先中心化数据,计算协方差矩阵,再做特征值分解。
- 特征向量是主成分方向,特征值表示该方向的方差大小。
- 降维时,选择最大特征值对应的几个特征向量,把数据投影到这些方向上。
6.2 多元正态分布
\($p$\) 维正态分布 \($X \sim \mathcal{N}(\mu, \Sigma)$\) 的密度函数中,协方差矩阵 \($\Sigma$\) 决定:
- 分布的“椭圆等高线”的形状、方向和大小;
- \($\Sigma^{-1}$\) 出现在二次型中,决定马氏距离。
6.3 卡尔曼滤波与状态估计
在状态空间模型中,协方差矩阵用来表示:
- 状态估计的不确定性(误差协方差矩阵);
- 过程噪声和观测噪声的强度与相关性。
6.4 机器学习与特征工程
- 在特征选择、异常检测中,协方差矩阵用来判断特征之间是否高度相关,是否冗余。
- 在线性判别分析(LDA)等算法中,协方差矩阵的逆是关键成分。
7. 和相关系数矩阵、散度矩阵的区别
- 协方差矩阵 vs 相关系数矩阵
- 协方差:受量纲影响,数值大小依赖单位。
- 相关系数:标准化后的协方差,范围在 \($[-1,1]$\),无量纲,更便于比较“相关强度”。
- 协方差矩阵 vs 散度矩阵
- 散度矩阵:\($\sum_{k=1}^n (x^{(k)} - \bar{x})(x^{(k)} - \bar{x})^T$\)。
- 协方差矩阵:散度矩阵除以 \($n$\) 或 \($n-1$\)。
- PCA 中有时直接对散度矩阵做特征分解,效果和协方差矩阵只差一个常数倍。
8. 一个简单数值例子(直观感受)
假设两个变量 \($X_1, X_2$\) 的 3 个样本:
\[(1,2),\quad (2,3),\quad (3,4).\]
- 均值:\($\bar{x} = (2,3)$\)。
- 中心化后:
\[(-1,-1),\quad (0,0),\quad (1,1).\]
- 样本协方差矩阵:
\[S = \frac{1}{3-1}\sum_{k=1}^3 (x^{(k)} - \bar{x})(x^{(k)} - \bar{x})^T
= \begin{bmatrix}
1 & 1 \\
1 & 1
\end{bmatrix}.\]
解释:
- 对角元都是 1,说明两个变量各自的方差都是 1。
- 非对角元为 1,说明 \($X_1$\) 和 \($X_2$\) 完全正相关(点在一条直线上)。