协方差与相关系数

  • 协方差与相关系数

    • 协方差
    • 相关系数

1.协方差

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

可以通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?同向或反向程度如何?
你变大,同时我也变大,说明两个变量是同向变化的,这时协方差就是正的;
你变大,同时我变小,说明两个变量是反向变化的,这时协方差就是负的;
从数值来看,协方差的数值越大,两个变量同向程度也就越大。反之亦然。

Cov(X,Y)=1m∑i=1m(xi−x¯)(yi−y¯)

Cov(X,Y) = \frac{1}{m}\sum_{i=1}^{m}{(x_i - \bar{x})(y_i - \bar{y})}

import numpy as npa = np.array([1,2,3])
b = np.array([4,3,4])
x = np.vstack((a,b))
np.cov(a, b)
np.cov(a, b, bias=True)
np.cov(x)

输出:

>>> np.cov(a, b)
array([[ 1.        ,  0.        ],[ 0.        ,  0.33333333]])>>> np.cov(a, b, bias=True)
array([[ 0.66666667,  0.        ],[ 0.        ,  0.22222222]])>>> np.cov(x)
array([[ 1.        ,  0.        ],[ 0.        ,  0.33333333]])

这里使用numpy库的cov函数来计算协方差,输出结果为一个协方差矩阵,results[i][j]表示第i个变量与第j个变量的协方差,比如np.cov(x)的结果为

>>> np.cov(x)
array([[ 1.        ,  0.        ],[ 0.        ,  0.33333333]])

x为变量矩阵,x的第 i 行表示第 i 个随机变量,这里第0个随机变量与第0个随机变量的协方差为1,第0个随机变量与第1个随机变量的协方差为0,第1个随机变量与第0个随机变量的协方差为0,第1个随机变量与第1个随机变量的协方差为0.33333333.

还有一点就是bais参数的意义,默认为False,那么计算均值的时候除以 n - 1,如果设为True,那么计算均值的时候除以n,其中n为随机变量的维度数。具体理论涉及到统计学知识,可以参考知乎回答。

numpy的cov函数使用的三点:

  1. 变量矩阵的一行表示一个随机变量;
  2. bais参数控制计算时除以n-1还是n, True表示除以n,False表示除以n-1;
  3. 输出结果是一个协方差矩阵, results[i][j]表示第i个随机变量与第j个随机变量的协方差.

2. 相关系数

相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数也可以看成协方差:一种剔除了两个变量量纲影响、标准化后的特殊协方差,它消除了两个变量变化幅度的影响,而只是单纯反应两个变量每单位变化时的相似程度。

r=Cov(X,Y)δx−−√δy−−√

r = \frac{Cov(X,Y)}{\sqrt{\delta_x}\sqrt{\delta_y}}

并且

|r|≤1

|r| \le 1

其中,δx,δy\delta_x,\delta_y表示X,Y的方差。

import numpy as npa = np.array([1,2,3])
b = np.array([2,5,8])
x = np.vstack((a,b))
np.corrcoef(a, b)
np.corrcoef(x)

输出

>>> np.corrcoef(a, b)
array([[ 1.,  1.],[ 1.,  1.]])>>> np.corrcoef(x)
array([[ 1.,  1.],[ 1.,  1.]])

numpy中函数corrcoef的用法与函数cov的用法相似,只是corrcoef中bais参数不起作用。

numpy的cov函数使用的两点:

  1. 变量矩阵的一行表示一个随机变量;
  2. 输出结果是一个相关系数矩阵, results[i][j]表示第i个随机变量与第j个随机变量的相关系数.

[参考]https://www.zhihu.com/question/20852004

协方差与相关系数 numpy中cov与corrcoef的使用相关推荐

  1. numpy中方差var、协方差cov求法

    在PCA中涉及到了方差var和协方差cov,下面详细了解这两个函数的用法.numpy中var和cov函数求法和MATLAB中var和cov函数求法类似. 首先均值,样本方差,样本协方差公式分别为 其中 ...

  2. 期望值、方差、协方差、相关系数,numpy 计算均值、方差、协方差,相关系数

    文章目录 期望值.方差.协方差.相关系数 一.期望值 二.方差 1. 概念: 2. 示例: 三.协方差 1. 概念: 2. 示例: 四.协方差矩阵 1. 概念: 2. 示例: 五.协方差的相关系数 1 ...

  3. python 相关系数矩阵_期望,方差,协方差,相关系数,协方差矩阵,相关系数矩阵,以及numpy实现...

    1. 期望 2. 方差 3. 协方差和相关系数 协方差(或者相关系数)如果是正的,表明X和Y之间同时增加或减小:如果是负的,表明X和Y之间有一个增加而另一个减小:如果它的值为0,则表明X和Y之间是独立 ...

  4. numpy基础(part6)--协方差与相关系数

    鄙人学习笔记,这个笔记以例子为主. 开发工具:Spyder 文章目录 协方差 协方差矩阵 相关系数 相关矩阵 协方差 协方差可以简单反映两组统计样本的相关性;值为正,则为正相关;值为负,则为负相关,绝 ...

  5. numpy中的cov以及参数rowvar

    numpy中计算协方差利用cov方法,如何计算协方差? 利用这个公式,可以求得两个矩阵的协方差,举个例子: 这里 X , Y X,Y X,Y分别对应着矩阵 [ 0 , 3 ] , [ 0 , 3 ] ...

  6. R中方差,协方差,相关系数

    提到方差,一个命令var(). 方差定义用来度量随机变量和其数学期望(即均值)之间的偏离程度. > a = sample(10) > a[1] 4 2 9 3 6 10 8 5 7 1&g ...

  7. matlab 均值、方差、标准差、数据中值、协方差、相关系数、均方根误差

    mean(X):对矩阵A求列平均:mean(X,2)对矩阵X求行平均:若X为向量,mean(X)返回X中平均. 分母为n时,是整体方差 方差:Y=var(X,0,1):求矩阵X的列向量方差: Y=va ...

  8. Numpy_协方差与相关系数

    协方差与相关系数 协方差与相关系数 协方差 相关系数 1.协方差 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值:如果两 ...

  9. 对方差,协方差,相关系数,协方差矩阵的理解与比较

    与博主有相同的感觉,方差,协方差,相关系数这三个概念都很常见,对方差和相关系数的理解还好,每次碰到协方差都好像是第一次见到一样,要查阅一下他的定义公式和意义,进行新一次的学习. 这几个概念已经有很多人 ...

最新文章

  1. halcon例程讲解_跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量
  2. ORA-27301 解决一例
  3. s:textfield format date
  4. C#开发微信门户及应用(44)--微信H5页面开发的经验总结
  5. 蓝桥杯java第三届决赛第四题--DNA比对
  6. linux 内存显示括号内字母的含义
  7. RxSwift之环境的搭建配置与基础控件的使用
  8. 深度解密Go语言之pprof
  9. php swoole websocket vue 实现聊天室案例
  10. java中常见的专业术语单词缩写,看你认识几个
  11. UVA12190 Electric Bill【二分搜索】
  12. springboot快速入门【小白也能看懂】
  13. 2004-2020历年美赛优秀论文资源
  14. 正则表达式-国际手机号或座机号校验
  15. Winhex手动恢复删除数据
  16. matlab斯奈尔定律,斯奈尔定律和Zoeppritz方程
  17. 设置sublime默认浏览器以及快捷键
  18. java类 家族成员 姓氏_极其罕见的四大姓氏,若你还姓这个,恭喜你,你的家族大有来头!...
  19. [解疑][TI]TI毫米波雷达系列(一):Texas Instruments德州仪器 相关软件安装及使用时问题汇总,持续更新......
  20. WT588E语音芯片+数码管的应用场景介绍

热门文章

  1. 新代系统怎样看服务器ip,新代数控系统是如何进行网络连接
  2. Wavefront OBJ文件格式
  3. MCCSframework 教程(一)介绍
  4. strlen函数的使用
  5. Windows系统安全登录日志分析工具logonTracer汉化修正版
  6. windows下开发PHP扩展(无需Cygwin)
  7. python去除视频中的logo_视频去水印神器(Easy Video Logo Remover)
  8. 记录一次java生成条形码并调用打印机打印
  9. 攻防世界-web view-sourse
  10. angularjs修改html标签,angularjs sanitize+ng-bind-html内置指令做html标签转义