协方差在统计学中起着关键作用,它揭示了两个变量彼此之间如何变化。它是相关系数、主成分分析以及回归等概念的核心。
在本指南中,您将了解协方差的含义、如何计算它,以及它的应用场景,从金融建模到机器学习。
由于协方差只是需要掌握的一个重要概念,请务必报名我们的 Statistics Fundamentals in Python 技能路径和/或 Introduction to Statistics in R 课程,继续深入学习。
什么是协方差?
协方差是一种基础统计函数,用于衡量两个变量,x 和 y,如何共同变化。如果两个变量倾向于同时增加或同时减少,协方差为正;如果一个增加而另一个减少,协方差为负。
对于两个随机变量 X 和 Y,协方差的数学定义是:

其中 𝜇x 和 𝜇y 分别是 X 和 Y 的均值。
对于样本量为 n 的样本,样本协方差计算为:

其中 x̅ 和 ȳ 分别是 x 和 y 的样本均值。
用 μ(mu)表示总体均值、用 x̅ 表示样本均值,是一种用于区分二者的惯例。
为什么协方差很重要
理解协方差有助于您分析两个变量之间的关系。在金融领域,协方差用于评估两只股票的联动性。在数据科学中,协方差是 PCA 等技术的基础,用于降低数据集的维度。它也支撑着回归分析,在建模变量之间的线性关系时,理解变量如何共同变化非常重要。
简而言之,协方差能够提供关于:1)变量之间线性关系的方向;2)关系的强弱(但未标准化);以及 3)计算相关系数的基础。
手工计算协方差
来练习一下。要手工计算样本协方差,请按以下步骤进行:
- 求出每个变量的均值。
- 用各自数值减去均值,得到偏差。
- 将对应配对的偏差相乘。
- 将这些乘积求和。
- 用 n − 1 相除,得到样本协方差。
例如,给定两个变量:
求出每个变量的均值
首先,计算均值:


用各自数值减去均值,得到偏差
接下来,计算与均值的偏差。我创建了一张表格来展示其过程。请注意在表格右侧,每个数据点分别减去了 4 或 9。

将对应配对的偏差相乘
现在,将每一对的偏差相乘:

将乘积求和
然后,将乘积求和:8 + 0 + 8 = 16

用 n − 1 相除得到样本协方差
最后,我们用 n − 1 相除,得到样本协方差。

我们可以这样写出答案:

在 Python 和 R 中计算协方差
您可能希望在编程环境中计算协方差。下面我将展示如何在 Python 和 R 中实现,先从 Python 开始。
Python 中的协方差
您可以使用 NumPy 在 Python 中计算协方差。
要使用 NumPy 的 cov() 函数,先导入 NumPy 并定义数据:
import numpy as np
x = np.array([2, 4, 6])
y = np.array([5, 9, 13])
cov_matrix = np.cov(x, y, ddof=1)
print(cov_matrix)技术支持
输出的是一个协方差矩阵:
[[4. 8.]
[8. 16.]]技术支持
我们可以看到,这两个变量之间的协方差为 8,与我们手工计算的结果一致。
R 中的协方差
您可以使用 R 内置的 cov() 函数计算协方差。
首先定义数据向量并将其传给 cov():
x <- c(2, 4, 6)
y <- c(5, 9, 13)
cov_matrix <- cov(cbind(x, y))
print(cov_matrix)技术支持
输出的是一个协方差矩阵:
x y
x 4 8
y 8 16技术支持
这两个变量之间的协方差为 8,与 Python 示例相同。
解读协方差矩阵
协方差矩阵汇总了多个变量之间的成对协方差。我们刚刚在 Python 和 R 中看到的输出就是一个协方差矩阵,尽管它很小(2×2)。
让我们尝试一个更大的例子。对于三个变量 x、y 和 z,协方差矩阵为:

该矩阵是对称的,对角线元素是各变量的方差。(这是因为变量与自身的协方差就是方差。)
协方差 vs. 相关系数
协方差衡量的是两个变量关系的方向,但其结果未标准化。相关系数则将协方差标准化到 −1 与 1 之间,更便于解读关系的强弱。
相关系数有多种公式,其中一种是:

其中:
- Cov(x,y) 是变量 x 与 y 的协方差
- σx(读作“西格玛”)是 x 的标准差
- σy 是 y 的标准差
还需了解的其他事项
在使用协方差时,请注意以下常见问题:
- 协方差对变量的量纲(尺度)敏感。较大的数值会放大结果。
- 协方差无法以标准化的方式表示关系强度。
- 异常值可能会显著影响协方差的计算。
为获得更清晰的解读,请始终考虑对数据进行标准化,或使用相关系数。
结论
协方差是理解变量如何共同变化的必备统计工具。要真正理解数据关系,您需要掌握协方差。如果您对其中某些方面仍感到不清楚,不必担心——我们有合适的资源来帮助您,欢迎立即报名:
协方差在统计学中起着关键作用,它揭示了两个变量彼此之间如何变化。它是相关系数、主成分分析以及回归等概念的核心。
在本指南中,您将了解协方差的含义、如何计算它,以及它的应用场景,从金融建模到机器学习。
由于协方差只是需要掌握的一个重要概念,请务必报名我们的 Statistics Fundamentals in Python 技能路径和/或 Introduction to Statistics in R 课程,继续深入学习。
什么是协方差?
协方差是一种基础统计函数,用于衡量两个变量,x 和 y,如何共同变化。如果两个变量倾向于同时增加或同时减少,协方差为正;如果一个增加而另一个减少,协方差为负。
对于两个随机变量 X 和 Y,协方差的数学定义是:
其中 𝜇x 和 𝜇y 分别是 X 和 Y 的均值。
对于样本量为 n 的样本,样本协方差计算为:
其中 x̅ 和 ȳ 分别是 x 和 y 的样本均值。
用 μ(mu)表示总体均值、用 x̅ 表示样本均值,是一种用于区分二者的惯例。
为什么协方差很重要
理解协方差有助于您分析两个变量之间的关系。在金融领域,协方差用于评估两只股票的联动性。在数据科学中,协方差是 PCA 等技术的基础,用于降低数据集的维度。它也支撑着回归分析,在建模变量之间的线性关系时,理解变量如何共同变化非常重要。
简而言之,协方差能够提供关于:1)变量之间线性关系的方向;2)关系的强弱(但未标准化);以及 3)计算相关系数的基础。
手工计算协方差
来练习一下。要手工计算样本协方差,请按以下步骤进行:
例如,给定两个变量:
求出每个变量的均值
首先,计算均值:
用各自数值减去均值,得到偏差
接下来,计算与均值的偏差。我创建了一张表格来展示其过程。请注意在表格右侧,每个数据点分别减去了 4 或 9。
将对应配对的偏差相乘
现在,将每一对的偏差相乘:
将乘积求和
然后,将乘积求和:8 + 0 + 8 = 16
用 n − 1 相除得到样本协方差
最后,我们用 n − 1 相除,得到样本协方差。
我们可以这样写出答案:
在 Python 和 R 中计算协方差
您可能希望在编程环境中计算协方差。下面我将展示如何在 Python 和 R 中实现,先从 Python 开始。
Python 中的协方差
您可以使用 NumPy 在 Python 中计算协方差。
要使用 NumPy 的
cov()函数,先导入 NumPy 并定义数据:输出的是一个协方差矩阵:
我们可以看到,这两个变量之间的协方差为 8,与我们手工计算的结果一致。
R 中的协方差
您可以使用 R 内置的
cov()函数计算协方差。首先定义数据向量并将其传给
cov():输出的是一个协方差矩阵:
这两个变量之间的协方差为 8,与 Python 示例相同。
解读协方差矩阵
协方差矩阵汇总了多个变量之间的成对协方差。我们刚刚在 Python 和 R 中看到的输出就是一个协方差矩阵,尽管它很小(2×2)。
让我们尝试一个更大的例子。对于三个变量 x、y 和 z,协方差矩阵为:
该矩阵是对称的,对角线元素是各变量的方差。(这是因为变量与自身的协方差就是方差。)
协方差 vs. 相关系数
协方差衡量的是两个变量关系的方向,但其结果未标准化。相关系数则将协方差标准化到 −1 与 1 之间,更便于解读关系的强弱。
相关系数有多种公式,其中一种是:
其中:
还需了解的其他事项
在使用协方差时,请注意以下常见问题:
为获得更清晰的解读,请始终考虑对数据进行标准化,或使用相关系数。
结论
协方差是理解变量如何共同变化的必备统计工具。要真正理解数据关系,您需要掌握协方差。如果您对其中某些方面仍感到不清楚,不必担心——我们有合适的资源来帮助您,欢迎立即报名: