美文网首页
协方差的意义

协方差的意义

作者: 不爱吃饭的小孩怎么办 | 来源:发表于2019-07-31 09:20 被阅读0次

什么是协方差,为什么有些地方会用到协方差。

核心意义:度量各个维度偏离其均值的程度。协方差的值如果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。

正相关和负相关的直观理解:


正相关

特点:当 X, Y 的联合分布像上图那样时,我们可以看出,大致上有: X 越大 Y 也越大, X 越小 Y 也越小,这种情况,我们称为“正相关”。

负相关.png

特点:当X, Y 的联合分布像上图那样时,我们可以看出,大致上有:X 越大Y 反而越小,X 越小 Y 反而越大,这种情况,我们称为“负相关”。

不相关

特点:当X, Y 的联合分布像上图那样时,我们可以看出:既不是X 越大Y 也越大,也不是 X 越大 Y 反而越小,这种情况我们称为“不相关”。

怎样将这3种相关情况,用一个简单的数字表达出来呢?
在图中的区域(1)中,有 X>EX ,Y-EY>0 ,所以(X-EX)(Y-EY)>0;
在图中的区域(2)中,有 X<EX ,Y-EY>0 ,所以(X-EX)(Y-EY)<0;
在图中的区域(3)中,有 X<EX ,Y-EY<0 ,所以(X-EX)(Y-EY)>0;
在图中的区域(4)中,有 X>EX ,Y-EY<0 ,所以(X-EX)(Y-EY)<0。

重点解释:所谓正相关。只是说某种分布主要覆盖区域(1)与区域(3),例如99.7%数据是这种特性,极少数据覆盖区域(2)与区域(4)
同理,所谓负相关,应该是某种分布主要覆盖(2)、(4),极小部分覆盖(1)、(3)。
所谓不相关,等于(1)(2)(3)(4)分布都差不多。

数值绝对值大小,应该表示这种相关性的强烈程度。

从公式上看:

方差

上图是方差的公式,用以度量各个维度偏离其均值的程度。

协方差

协方差公式由方差的公式推广而来,用于描述维度之间的线性相关性。

从协方差的定义上我们也可以看出一些显而易见的性质,如:


image
image

具体如何计算?
例如有如下数据:


image.png

每一列表示一个维度,每一行表示一个样本。
如何计算协方差?当然,我们有api,如果不使用api,是否能自己写?我们按照公式,写了如下测试程序:

def means(listx):
    sumx = 0
    num = 0
    for val in listx:
        sumx += val
        num += 1
    return float(sumx)/float(num)

def cov(x,y,x_mean,y_mean):
    N = len(x)
    sumt = 0.0
    for i in range(N):
        sumt += (float(x[i]) - x_mean)*(float(y[i]) - y_mean)
    return sumt/(N - 1)


x = [10,15,23,11,42,9,11,8,11,21]
y = [15,46,21,9,45,48,21,5,12,20]
z = [29,13,30,35,11,5,14,15,21,25]

N = len(x)

x_mean = means(x)
y_mean = means(y)
z_mean = means(z)

print('维度之间的协方差')
print('cov(x,y) = ', cov(x,y,x_mean,y_mean))
print('cov(x,z) = ', cov(x,z,x_mean,z_mean))
print('cov(y,z) = ', cov(y,z,y_mean,z_mean))
#维度之间的协方差
#cov(x,y) =  74.53333333333335
#cov(x,z) =  -10.088888888888889
#cov(y,z) =  -106.4

print('cov(x,x) = ', cov(x,x,x_mean,x_mean))
print('cov(y,y) = ', cov(y,y,y_mean,y_mean))
print('cov(z,z) = ', cov(z,z,z_mean,z_mean))
#cov(x,x) =  108.32222222222221
#cov(y,y) =  260.6222222222222
#cov(z,z) =  94.17777777777778

计算出维度之间的协方差,我们就可以组织协方差矩阵。协方差矩阵可以快速定位维度之间的协方差。

上述解释详见下面文章:
终于明白协方差的意义了

相关文章

  • 协方差的意义

    什么是协方差,为什么有些地方会用到协方差。 核心意义:度量各个维度偏离其均值的程度。协方差的值如果为正值,则说明两...

  • 度量学习中的马氏距离

    参考博客:协方差的意义协方差矩阵的实例与意义马氏距离的深入理解马氏距离(推荐看一下原博) 度量学习的主流就是学习马...

  • 方差、协方差与归一化

    最近总是遇到协方差,不大理解,找到了相关的解释: 我所理解的协方差矩阵 协方差和协方差矩阵

  • 学习笔记|程序员的数学:概率统计#5

    5. 协方差矩阵、多元正态分布与椭圆 5.1 协方差与相关系数 5.1.1 协方差 定义: 性质: 依据协方差的正...

  • 15统计基础-协方差

    协方差 协方差(covariance)它可以代表三种类型的关系: 当协方差>0,正的斜率关系 当协方差<0,负的斜...

  • Asreml-R中的方差模型

    之前总结了一些方差-协方差结构:协方差矩阵,协方差结构 。这篇博客主要内容是Asreml-R中的协方差结构 ,及对...

  • 2018-10-29 修改model - 共用协方差矩阵

    1.协方差矩阵 协方差矩阵 Σ表示的是n个元素之间两两对应的关系,所以协方差矩阵 Σ是一个nxn的矩阵。 协方差矩...

  • 如何从形的角度理解协方差矩阵

    协方差矩阵定义了我们数据的传播(方差)和方向(协方差)。 协方差矩阵的最大特征向量总是指向数据最大方差的方向,并且...

  • 方差、协方差、相关系数的理解

    方差、协方差、相关系数的理解_yongrl的博客-CSDN博客_方差和协方差

  • 协方差定义及公式

    协方差矩阵时机器学习中常用的概念,今天我们就来完整的介绍一下协方差和协方差矩阵的定义,以及使用python中的nu...

网友评论

      本文标题:协方差的意义

      本文链接:https://www.haomeiwen.com/subject/bpnarctx.html