欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

协方差及协方差矩阵的理解

程序员文章站 2024-03-17 19:56:10
...

转自:https://www.jianshu.com/p/2ec5cdc3f1e4

https://baike.baidu.com/item/%E5%8D%8F%E6%96%B9%E5%B7%AE/2185936?fr=aladdin

有改动

1. 写在前面

  为了便于理解和验证,可以参考一下,http://www.ab126.com/shuxue/2788.html所提供的协方差的在线计算器。

2. 均值,方差

  统计里最基本的概念就是样本的均值,方差,或者再加个标准差。假定有一个含有n个样本的集合X={X1,…,Xn},依次给出这些概念的公式描述:

                                       协方差及协方差矩阵的理解

  很显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的。

协方差及协方差矩阵的理解
  而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很大的,计算两者的标准差,前者是8.3,后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。

协方差及协方差矩阵的理解
  看出方差与标准差关系没有?
  为什么除以n-1而不是除以n? 这个称为贝塞尔修正。在统计学中样本的均差多是除以*度(n-1),它的意思是样本能*选择的程度,当选到只剩一个时,它不可能再有*了,所以*度是(n-1)。这样能使我们以较小的样本集更好的逼近总体的标准差,即统计上所谓的“无偏估计”。

  下面采用Python演算一下:
  参考:https://blog.csdn.net/lyl771857509/article/details/79439184

> import numpy as np
> x=[1,2,3,4]
> print(np.cov(x))</pre>

显示结果: 1.6666666666666665

协方差及协方差矩阵的理解

 

3. 协方差

  上面几个统计量看似已经描述的差不多了,但我们应该注意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,这个时候怎么办?
  协方差该出场了!
  协方差可以通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?同向或反向程度如何?

协方差(Covariance)在概率论统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。

协方差表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同。 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。

  • 你变大,同时我也变大,说明两个变量是同向变化的,这时协方差就是正的。
  • 你变大,同时我变小,说明两个变量是反向变化的,这时协方差就是负的。
      从数值来看,协方差的数值越大,两个变量同向程度也就越大。反之亦然。
    协方差及协方差矩阵的理解

换种说法:
  协方差是度量各个维度偏离其均值的程度。协方差的值如果为正值,则说明两者是正相关的,结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。
与方差对比:
  方差是用来度量单个变量“自身变异”大小的总体参数,方差越大表明该变量的变异越大
  协方差是用来度量两个变量之间“协同变异”大小的总体参数,即二个变量相互影响大小的参数,协方差的绝对值越大,则二个变量相互影响越大。

定义

概率论和统计学中,协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。 [1] 

期望值分别为E[X]与E[Y]的两个实随机变量XY之间的协方差Cov(X,Y)定义为:

协方差及协方差矩阵的理解

从直观上来看,协方差表示的是两个变量总体误差的期望。

如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。

如果XY是统计独立的,那么二者之间的协方差就是0,因为两个独立的随机变量满足E[XY]=E[X]E[Y]。

但是,反过来并不成立。即如果XY的协方差为0,二者并不一定是统计独立的。

协方差Cov(X,Y)的度量单位是X的协方差乘以Y的协方差。而取决于协方差的相关性,是一个衡量线性独立无量纲的数。

协方差为0的两个随机变量称为是不相关的。

性质

若两个随机变量X和Y相互独立,则E[(X-E(X))(Y-E(Y))]=0,因而若上述数学期望不为零,则X和Y必不是相互独立的,亦即它们之间存在着一定的关系。 [2] 

协方差与方差之间有如下关系:

D(X+Y)=D(X)+D(Y)+2Cov(X,Y)

D(X-Y)=D(X)+D(Y)-2Cov(X,Y)

协方差与期望值有如下关系:

Cov(X,Y)=E(XY)-E(X)E(Y)。

协方差的性质:

(1)Cov(X,Y)=Cov(Y,X);

(2)Cov(aX,bY)=abCov(X,Y),(ab是常数);

(3)Cov(X1+X2,Y)=Cov(X1,Y)+Cov(X2,Y)。

由协方差定义,可以看出Cov(X,X)=D(X),Cov(Y,Y)=D(Y)。

协方差作为描述X和Y相关程度的量,在同一物理量纲之下有一定的作用,但同样的两个量采用不同的量纲使它们的协方差在数值上表现出很大的差异。为此引入如下概念:

定义

协方差及协方差矩阵的理解

称为随机变量X和Y的(Pearson)相关系数。

定义

ρXY=0,则称X与Y不线性相关。

ρXY=0的充分必要条件是Cov(X,Y)=0,亦即不相关和协方差为零是等价的。

定理

ρXY是随机变量X和Y的相关系数,则有

(1)∣ρXY∣≤1;

(2)∣ρXY∣=1充分必要条件为P{Y=aX+b}=1,(a,b为常数,a≠0)

定义

设X和Y是随机变量,若E(X^k),k=1,2,...存在,则称它为X的k阶原点矩,简称k阶矩。

若E{[X-E(X)]k},k=1,2,...存在,则称它为X的k阶中心矩

若E{(X^k)(Y^p)},k、p=1,2,...存在,则称它为X和Y的k+p阶混合原点矩。

若E{[X-E(X)]^k[Y-E(Y)]^l },k、l=1,2,...存在,则称它为X和Y的k+l阶混合中心矩。

显然,X的数学期望E(X)是X的一阶原点矩,方差D(X)是X的二阶中心矩,协方差Cov(X,Y)是X和Y的二阶混合中心矩。

对于随机变量序列X1, ...,XnY1, ...,Ym,有

协方差及协方差矩阵的理解

对于随机变量序列X1, ...,Xn,有

协方差及协方差矩阵的理解

  采用协方差在线计算器练习一下:
    输入值 X=1 ,5 ,6
    输入值 Y=4, 2, 9

数目输入 3
X 平均值 4
Y 平均值 5
协方差(X,Y) 4

计算步骤:

总和(X) =1 + 5 + 6 = 12
X平均值 = 4
总和(Y) =4 + 2 + 9 = 15
Y平均值 = 5
协方差(X,Y) = 总和(xi - x平均值)(yi - y平均值)/(采样大小 -1)
= (1-4)
(4-5)+(5-4)(2-5)+(6-4)(9-5))/2
= 4

 

4. 协方差矩阵

  在分析协方差矩阵之前有必要搞清矩阵维数的概念!以女孩子找对象为例,一般关心几个点

协方差及协方差矩阵的理解

这里是5个维数。如果同时有几个男孩子备选,则会形成多个行,有对比才有会伤害。

协方差及协方差矩阵的理解
  可以这样形象理解:在女孩心中,多个男孩形成一个个行向量,即多个样本。
  另外,再回忆一下系数矩阵的来历。含有n个未知量,由m个方程组成线性方程组的一般形式为:

协方差及协方差矩阵的理解
将系数按它们的位置排列形成一个表格:

协方差及协方差矩阵的理解

这个表格就是方程组的系数矩阵,它的维数是由未知量个数即n来决定的。
  下面介绍的协方差矩阵仅与维数有关,和样本数量无关。

5. 协方差矩阵

  
协方差及协方差矩阵的理解

协方差及协方差矩阵的理解

 

我们来计算一下协方差矩阵。

X=np.array([[1,4,4,4] ,[5,3,2,7 ],[6,9,9,2]])
print(np.cov(X, rowvar=False))

对于矩阵来说,matlab把每行看做一个观察值,把每列当做一个变量,也就是说对于一个4×3的矩阵求协方差矩阵,matlab会认为存在三个变量,即会求出一个3×3的协方差矩阵。

而Python-NumPy的cov情况略有不同,它默认将每一行视为一个独立的变量,所以在上面的例子中,采用rowvar=False使其视每列为一个变量。

结果如下:
协方差及协方差矩阵的理解
可以看出

  • 协方差矩阵满足,是个对称的方阵
  • 协方差矩阵对角线上的因子其实就是变量的方差:

验算一下:

输入值 X= [1, 5, 6]
输入值 Y= [4 ,3 , 9]

总和(X) =1 + 5 + 6 = 12
X平均值 = 4
总和(Y) =4 + 3 + 9 = 16
Y平均值 = 5.333
协方差(X,Y) = 总和(xi - x平均值)(yi - y平均值)/(采样大小 -1)
= (1-4)
(4-5.333)+(5-4)(3-5.333)+(6-4)(9-5.333))/2
= 4.5

再验算一下:协方差及协方差矩阵的理解

输入值 X= [4 ,3 , 9]
输入值 Y= [4 ,7 , 2]

 

总和(X) =4 + 3 + 9 = 16
X平均值 = 5.333
总和(Y) =4 + 7 + 2 = 13
Y平均值 = 4.333
协方差(X,Y) = 总和(xi - x平均值)(yi - y平均值)/(采样大小 -1)
= (4-5.333)
(4-4.333)+(3-5.333)(7-4.333)+(9-5.333)(2-4.333))/2
= -7.167

 

性质:

分别为mn个标量元素的列向量随机变量XY,这两个变量之间的协方差定义为m×n矩阵.其中X包含变量X1.X2......Xm,Y包含变量Y1.Y2......Yn,假设X1的期望值为μ1,Y2的期望值为v2,那么在协方差矩阵中(1,2)的元素就是X1和Y2的协方差。

两个向量变量的协方差Cov(X,Y)与Cov(Y,X)互为转置矩阵。

协方差有时也称为是两个随机变量之间“线性独立性”的度量,但是这个含义与线性代数中严格的线性独立性线性独立不同。