协方差矩阵如何计算,就是把一组数值变量先求平均并做中心化,再把任意两个变量的中心化数据相乘取平均,最后按变量顺序排成一个方阵。这个方阵的对角线位置放每个变量自身的方差,非对角线位置放两个变量之间的协方差。整体看,协方差矩阵就是把“每个变量波动多大”“两个变量一起变化程度如何”这些信息整齐放进一张矩阵里。计算前先确认数据表是“行是样本、列是变量”,再明确要使用总体公式还是样本公式;总体公式通常除以样本数 n,样本公式通常除以 n-1。只要按“求均值、减均值、相乘、平均、填矩阵”这条主线走,就能得到协方差矩阵。
计算前准备
清单如下:
- 数据表:一行代表一个样本,一列代表一个变量。
- 变量数量:决定协方差矩阵的大小,p 个变量会生成 p×p 矩阵。
- 数据类型:适合数值型数据,例如长度、重量、温度、收入、分数等。
- 公式选择:总体计算用除以 n,样本估计用除以 n-1。
- 输出目标:生成一个对称方阵。
为什么这样算
原因可以从方差和协方差的关系来看:
- 方差描述一个变量自身偏离均值的程度。
- 协方差描述两个变量是否围绕各自均值共同变化。
- 协方差矩阵把多个变量之间的这些关系一次性整理出来。
- 中心化是让每个变量的数值先减去自身均值,这样后续乘积才能反映共同变化。
具体怎么做
按下面清单执行即可:
- 写出数据矩阵 X。
- 行数是样本数 n。
- 列数是变量数 p。
- 求每一列的均值。
- 如果第 j 个变量均值叫 μ_j,就把第 j 列所有数值相加后除以 n。
- 做中心化。
- 每一列数值减去该列均值。
- 得到的矩阵叫 Z。
- Z 的形状仍然是 n×p。
- 计算乘积矩阵。
- 使用 Z 的转置乘以 Z。
- 公式形式是 ZᵀZ。
- 得到的矩阵形状是 p×p。
- 选择除数。
- 总体场景:除以 n。
- 样本场景:除以 n-1。
- 填入最终矩阵。
- 对角线是方差。
- 非对角线是协方差。
- 矩阵左右对称。
公式速查
可以用符号快速概括:
| 场景 | 矩阵公式 | 含义 |
|---|---|---|
| 总体协方差矩阵 | Σ = ZᵀZ / n | 每个元素对应总体协方差 |
| 样本协方差矩阵 | S = ZᵀZ / (n-1) | 常用于样本估计 |
| 中心化矩阵 | Z = X - 1μᵀ | 每列减去该列均值 |
| 任意两列协方差 | cov(Xi, Xj) = Σ[(Xi - μ_i)(Xj - μ_j)] / d | d 根据总体或样本选择 |
其中:
- X 表示原始数据矩阵。
- μ 表示每个变量的均值。
- Z 表示中心化后的数据矩阵。
- n 表示样本数量。
- p 表示变量数量。
两变量小例子
假设变量 X1 和变量 X2 各有 4 个观测值。
| 样本编号 | X1 | X2 |
|---|---|---|
| 1 | 2 | 4 |
| 2 | 3 | 5 |
| 3 | 4 | 6 |
| 4 | 5 | 7 |
先求均值:
- X1 均值 μ1 = (2+3+4+5)/4 = 3.5
- X2 均值 μ2 = (4+5+6+7)/4 = 5.5
再求每两个变量围绕均值的乘积和:
- (2-3.5)(4-5.5) = 2.25
- (3-3.5)(5-5.5) = 0.25
- (4-3.5)(6-5.5) = 0.25
- (5-3.5)(7-5.5) = 2.25
乘积和为:
- 2.25 + 0.25 + 0.25 + 2.25 = 5
总体协方差:
- 5 / 4 = 1.25
样本协方差:
- 5 / 3 ≈ 1.667
因为两个变量的中心化数据完全同步,X1 和 X2 的协方差与两个变量自身方差数值一致。总体协方差矩阵可写为:
| 协方差矩阵 | X1 | X2 |
|---|---|---|
| X1 | 1.25 | 1.25 |
| X2 | 1.25 | 1.25 |
样本协方差矩阵可写为:
| 协方差矩阵 | X1 | X2 |
|---|---|---|
| X1 | 1.667 | 1.667 |
| X2 | 1.667 | 1.667 |
结果怎么读
用表格看每个位置的用途:
| 矩阵位置 | 名称 | 读法 |
|---|---|---|
| 第 i 行第 i 列 | 方差 | 第 i 个变量自身的波动程度 |
| 第 i 行第 j 列 | 协方差 | 第 i 个变量与第 j 个变量的共同变化程度 |
| 对角线以外 | 非对角线 | 成对变量之间的关系 |
| 整体结构 | 对称矩阵 | 第 i 行第 j 列等于第 j 行第 i 列 |
如果协方差等于零,说明在这个计算框架里两变量围绕均值的乘积平均值为零。如果协方差大于零,说明两变量的中心化数值常同方向变化。如果协方差小于零,说明两变量的中心化数值常呈不同方向变化。
常见计算选择
| 计算目标 | 常用公式 | 适用表述 |
|---|---|---|
| 总体协方差矩阵 | ZᵀZ / n | 数据代表总体时 |
| 样本协方差矩阵 | ZᵀZ / (n-1) | 数据来自样本时 |
| 多变量整理 | p×p 方阵 | p 个数值变量 |
| 软件实现 | 函数或矩阵乘法 | 数据量较大时 |
【常见问题】
问题1:协方差矩阵如何计算适合哪些数据?
回答1:协方差矩阵如何计算适合数值型变量,例如温度、身高、体重、收入、考试分数等可加减平均的变量。
问题2:协方差矩阵如何计算总体公式是什么?
回答2:协方差矩阵如何计算用总体公式时,先求每个变量均值,再做中心化,然后计算两两离差乘积的平均值,通常除以样本数 n。
问题3:协方差矩阵如何计算样本公式是什么?
回答3:协方差矩阵如何计算用样本公式时,流程一样,只是两两离差乘积求和后通常除以 n-1,用于样本估计场景。
问题4:协方差矩阵如何计算结果怎么识别对角线?
回答4:看协方差矩阵如何计算结果时,对角线位置放变量自身的方差,非对角线位置放两个变量之间的协方差。
问题5:协方差矩阵如何计算是否需要软件?
回答5:少量数据可以手算,协方差矩阵如何计算也可以借助表格或统计软件;核心仍然是求均值、中心化、相乘、取平均。
问题6:协方差矩阵如何计算是否一定是方阵?
回答6:协方差矩阵如何计算得到的结果是方阵,p 个变量会生成 p×p 矩阵,第 i 行第 j 列与第 j 行第 i 列位置对应同一对变量的关系。
免责声明:内容用于学习理解,表述供参考。

