目录
老饼讲解:一步一步上手学习

【介绍】一篇入门之-协方差是什么

作者 : 老饼 发表日期 : 2025-12-31 12:53:59 更新日期 : 2026-05-11 21:31:23
老饼讲解-简单易懂,干货满满,爽过嗦螺!


协方差(Covariance)是一个用来评估变量之间是否相关的统计量,协方差为负时,代表变量负相关,协方差为正时,代表变量之间正相关。下面我们就一起来看看协方差的具体定义、估算公式,并分析一下它的原理和代码实现,并进一步了解一下协方差矩阵。

一、协方差公式定义与公式

我们先来看看协方差的定义和计算公式,再来解释它的原理。

1.1. 协方差的定义

在统计学上,一般用协方差来评估两个变量是否相关,协方差的定义如下:

    

也就是X、Y中心和后的积的期望,协方差的意义是:

当协方差>0时,说明两个变量正相关。

当协方差=0时,说明两个变量不相关。

当协方差<0时,说明两个变量负相关。

1.2. 协方差的估算公式

进一步地,将定义公式化简,就可以得到一般用来估算的公式,如下:

    

二、协方差评估相关性的原理   

好了,为什么协方差能评估变量的相关性呢?我们不妨来详细看看它背后的意义。

记 ,  ,也就是分别代表X和Y相对中心的偏移量:

 x'的意义

可以知道,协方差就是X与Y偏移量对应相乘再相加: 。下面我们再来看看"X与Y相关"、"X与Y不相关"两种情况下,协方差的结果会如何。

1. X与Y不相关

如果X与Y不相关,X的偏移方向与Y的偏移方向也就不相关,即Y'是正是负与X'是否是负无关,是正(或负)的概率为50%,因此,的期望就是0。

2. X与Y相关

如果X与Y正相关,X的偏移方向与Y相同,即同号,

因此的期望大于0,类似地,负相关时,X的偏移方向与Y相反,X'、Y'一正一负 , 则X'*Y'的期望小于0 。

这就是协方差的原理了,它主要就是评估X、Y之间协同变化的方向和幅度,也就是它们是否会同向(或反向)偏移,如果同向(或反向)偏移较多,就认为X、Y相关,否则就不相关。

三、协方差矩阵

3.1. 什么是协方差矩阵

多个变量时,变量间两两之间的协方差,就组成了协方差矩阵,通过协方差矩阵,可以比较一目了然看到变量两两之间的协方差,协方差矩阵如下图所示: 

协方差矩阵

3.2.协方差矩阵的计算

设X为m行n列的数据,每列代表一个变量,则X的协方差矩阵计算如下:

1. 先将X中心化:

            

2.再用中心化的X'计算协方差矩阵: 

               

3.3. 协方差矩阵计算-代码实现    

最后,来说说在python中怎么计算协方差矩阵。比较方便的是直接用numpy的函数来计算,但为了加深理解,我们这里还展示一下如何自己用公式来计算,好了,具体代码如下:

'''
本代码展示在python中如何求协方差矩阵
本代码来自《老饼讲解-机器学习》www.bbblearn.com
'''
import numpy as np 
X   = np.array([[1,2,3],[2,3,3],[5,2,4],[6,8,3],[9,0,9]])  # 原始数据

#----------使用公式计算协方差矩阵------------
Xn  = (X - X.mean(axis = 0))                               # 原始数据中心化
C   = Xn.T@Xn/(X.shape[0]-1)                               # 计算协方差矩阵
# ---------使用numpy计算协方差矩阵----------
Cp = np.cov(X.T)                                           # 计算协方差矩阵
print('\n数据X:\n',X)                                      # 打印数据
print('\n使用公式计算的协方差矩阵C:\n',C)                    # 打印公式计算的协方差矩阵
print('\n使用numpy计算协方差Cp:\n',Cp)                      # 打印numpy计算的协方差矩阵

代码运行结果如下:

协方差计算结果

可以看到,使用公式与使用numpy计算协方差矩阵是一样的。

总结

最后,简单总结一下协方差的内容:

1. 协方差的作用就是评估变量与变量之间是否相关。

2. 协方差评估变量是否相关的原理,其实就是度量变量之间协同变化的方向和幅度。

3. 协方差越大,变量之间的相关性就越大。

4. 当协方差为正时,变量之间正相关,当协方差为负时,变量之间负相关。



图标 评论
添加评论