文章目录

  • 期望值、方差、协方差、相关系数
    • 一、期望值
    • 二、方差
      • 1. 概念:
      • 2. 示例:
    • 三、协方差
      • 1. 概念:
      • 2. 示例:
    • 四、协方差矩阵
      • 1. 概念:
      • 2. 示例:
    • 五、协方差的相关系数
      • 1. 概念:
      • 2. 示例:
    • 六、numpy 计算均值、方差、标准差

期望值、方差、协方差、相关系数

一、期望值

在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。
需要注意的是,期望值并不一定等同于常识中的“期望”——“期望值”也许与每一个结果都不相等。期望值是该变量输出值的加权平均。期望值并不一定包含于变量的输出值集合里。
大数定律规定,随着重复次数接近无穷大,数值的算术平均值几乎肯定地收敛于期望值。

  • 离散情况:
    E(X) = ΣPi * Xi

例如,掷一枚公平的六面骰子,其每次“点数”的期望值是3.5,计算如下:

X 1 2 3 4 5 6
P(x) 1/6 1/6 1/6 1/6 1/6 1/6

E(X) = 1 * 1/6 + 2 * 1/6 + 3 * 1/6 + 4 * 1/6 + 5 * 1/6 + 6 * 1/6 = 3.5

  • 连续情况:
    如果X是连续的随机变量,存在一个相应的概率密度函数 f(x),则X的期望值为:
    E[X] = ∫x f(x) dx

二、方差

1. 概念:

在概率论和统计学中,方差是衡量随机变量或一组数据离散程度的度量。
概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。在许多实际问题中,研究方差即偏离程度有着重要意义。
方差是衡量源数据和期望值相差的度量值。

  1. 在统计描述中,方差用来计算每一个变量(观察值)与总体均数之间的差异。为避免出现离均差总和为零,离均差平方和受样本含量的影响,统计学采用平均离均差平方和来描述变量的变异程度。
    总体方差计算公式:
    X为变量,μ为总体均值,N为总体例数。

    实际工作中,总体均数难以得到时,应用样本统计量代替总体参数,经校正后,样本方差计算公式:
    S2= ∑(X - A)2 / (n-1)
      S2为样本方差,X为变量,A为样本均值,n为样本例数。

  2. 在概率分布中,离散型随机变量方差计算公式:
    D(X) = E{[X-E(X)] ^ 2} = E(X ^ 2) - [ E(X)]^2
    D(X)称为变量X的方差,而 σ = D(X)(1/2) 称为标准差(或均方差)

方差刻画了随机变量的取值对于其数学期望的离散程度。(标准差、方差越大,离散程度越大)
若X的取值比较集中,则方差D(X)较小,若X的取值比较分散,则方差D(X)较大。
因此,D(X)是刻画X取值分散程度的一个量,它是衡量取值分散程度的一个尺度。

2. 示例:

如 X 样本为:5、6、9、16,则 X 的方差计算如下为:
先求 X 的平均数为 (5+6+9+16)/ 4 = 9
总体方差 = ((5-9)2+(6-9)2+(9-9)2+(16-9)2)/ 4 = 18.5
样本方差 = ((5-9)2+(6-9)2+(9-9)2+(16-9)2)/ (4-1) = 24.667

三、协方差

1. 概念:

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

期望值分别为E(X) = u 与 E(Y) = ν 的两个实随机变量 X 与 Y 之间的协方差定义为:
  COV(X,Y) = E[(X-E(X))(Y-E(Y))] = E(XY) - 2E(X)E(Y) + E(X)(Y) = E(XY) - uv

也可以用平均值来计算协方差:
  Cov(X,Y)=1/(N−1)∑(Xi−Xi_)(Yi−Yi_)
  Xi_,Yi_为平均值。这里,之所以除以 N-1 而不是 N 的原因是对总体样本期望的无偏估计。

直观上来看,协方差表示的是两个变量总体误差的方差,这与只表示一个变量误差的方差不同。如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。
如果X与Y是统计独立的,那么二者之间的协方差就是0,反之则不成立

2. 示例:

X,Y的变量取值如下:

变量
X 1 5 6
Y 4 3 9

求解X,Y的协方差过程如下:

  1. X的均值为Xi_:(1+5+6) / 3 = 4
    Y的均值为Yi_:(4+3+9) / 3 = 16/3
  2. 协方差 Cov(X,Y) = 1/(N−1)∑(Xi−Xi_)(Yi−Yi_) = ( (1-4) * (4-16/3) + (5-4) * (3-16/3) + (6-4) * (9-16/3) ) / (3-1) = 4.5
    (numpy源码中也是使用这种方式来计算协方差的)
    注:
    X方差 Var(X,X) = ( (1-4) * (1-4) + (5-4) * (5-4) + (6-4) * (6-4) ) / (3-1) = 7
    可以看出协方差与方差的区别和联系。

四、协方差矩阵

1. 概念:

协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算 n! / ((n-2)!*2) 个协方差,那自然而然的我们会想到使用矩阵来组织这些数据。
在统计学与概率论中,协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机变量之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

给出协方差矩阵的定义:
假设 X 是以 n 个随机变数组成的列向量,
X=[X1X2...Xn]X= \left[ \begin{matrix} X1 \\ X2 \\ ... \\ Xn \end{matrix} \right] X=⎣⎢⎢⎡​X1X2...Xn​⎦⎥⎥⎤​
并且并且 μi 是 Xi 的期望值,即 μi = E(Xi)。

协方差矩阵的第 (i,j) 项(第 (i,j) 项是一个协方差)被定义为如下形式:
 ∑ij = Cov(Xi,Xj) = E[(Xi - μi)(Xj - μj)T]

协方差矩阵完整形式:

这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度,则协方差矩阵为:

可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。

2. 示例:

X,Y,Z,K的变量取值如下:

变量
X 1 5 6
Y 4 3 9
Z 4 2 9
K 4 7 2

所以协方差矩阵C为:
C=[cov(X,X)cov(X,Y)cov(X,Z)cov(X,K)cov(Y,X)cov(Y,Y)cov(Y,Z)cov(Y,K)cov(Z,X)cov(Z,Y)cov(Z,Z)cov(Z,K)cov(K,X)cov(K,Y)cov(K,Z)cov(K,K)]C= \left[ \begin{matrix} cov(X,X) & cov(X,Y) & cov(X,Z) & cov(X,K)\\ cov(Y,X) & cov(Y,Y) & cov(Y,Z) & cov(Y,K)\\ cov(Z,X) & cov(Z,Y) & cov(Z,Z) & cov(Z,K)\\ cov(K,X) & cov(K,Y) & cov(K,Z) & cov(K,K)\\ \end{matrix} \right] C=⎣⎢⎢⎡​cov(X,X)cov(Y,X)cov(Z,X)cov(K,X)​cov(X,Y)cov(Y,Y)cov(Z,Y)cov(K,Y)​cov(X,Z)cov(Y,Z)cov(Z,Z)cov(K,Z)​cov(X,K)cov(Y,K)cov(Z,K)cov(K,K)​⎦⎥⎥⎤​

每一个协方差的求解过程为:
协方差 Cov(X,Y) = 1/(N−1)∑(Xi−Xi_)(Yi−Yi_) = ( (1-4) * (4-16/3) + (5-4) * (3-16/3) + (6-4) * (9-16/3) ) / (3-1) = 4.5

最终的协方差矩阵为:
C=[74.54−0.54.510.3311.5−7.16411.513−8.5−0.5−7.16−8.56.33]C= \left[ \begin{matrix} 7 & 4.5 & 4 & -0.5 \\ 4.5 & 10.33 & 11.5 & -7.16 \\ 4 & 11.5 & 13 & -8.5 \\ -0.5 & -7.16 & -8.5 & 6.33 \\ \end{matrix} \right] C=⎣⎢⎢⎡​74.54−0.5​4.510.3311.5−7.16​411.513−8.5​−0.5−7.16−8.56.33​⎦⎥⎥⎤​

五、协方差的相关系数

1. 概念:

相关关系是一种非确定性的关系,相关系数是研究变量之间线性相关程度的量。
为了准确得到变量之间的相似程度,我们需要把协方差除以各自变量的标准差。这样就得到了相关系数的表达式:
  r(X,Y) = Cov(X,Y) / (σX σY)
可见,相关系数就是在协方差的基础上除以变量 X 和 Y 的标准差。

为什么除以各自变量的标准差就能消除幅值影响呢?
这是因为标准差本身反映了变量的幅值变化程度,除以标准差正好能起到抵消的作用,让协方差标准化。这样,相关系数的范围就被归一化到 [-1,1] 之间了。

相关系数大于零,则表示两个变量正相关,且相关系数越大,正相关性越高;
相关系数小于零,则表示两个变量负相关,且相关系数越小,负相关性越高;
相关系数等于零,则表示两个变量不相关。

回过头来看一下协方差与相关系数的关系,其实,相关系数是协方差的标准化、归一化形式,消除了量纲、幅值变化不一的影响。实际应用中,在比较不同变量之间相关性时,使用相关系数更为科学和准确。协方差在机器学习的很多领域都有应用,而且非常重要!

2. 示例:

X,Y的变量取值如下:

变量
X 1 5 6
Y 4 3 9

求解X,Y的协方差过程如下:

  1. 协方差 Cov(X,Y) = 1/(N−1)∑(Xi−Xi_)(Yi−Yi_) = ( (1-4) * (4-16/3) + (5-4) * (3-16/3) + (6-4) * (9-16/3) ) / (3-1) = 4.5
  2. X的标准差 σX = 71/2
    Y的标准差 σY = 10.331/2
  3. 相关系数 r(X,Y) = 4.5 / (71/2 * 10.331/2) = 0.529

六、numpy 计算均值、方差、标准差

  • 计算方差时,numpy 中的 var 函数,默认是总体方差(计算时除以样本数 N),若需要得到样本方差(计算时除以 N - 1),需要参数 ddo f= 1
  • 计算协方差和相关系数时,numpy 返回的结果是协方差 / 相关系数的矩阵形式
import numpy as npa = [1, 5, 6]
b = [4, 3, 9]
X = np.array([[1, 5, 6], [4, 3, 9], [4, 2, 9], [4, 7, 2]])# 计算变量的平均数
aver_a = np.mean(a)
print("aver_a:", aver_a)# 计算总体方差(有偏)
var_a = np.var(a)
print("var_a:", var_a)# 计算总体标准差
std_a = np.std(a)
print("std_a:", std_a)# 计算样本方差(无偏)
var_sample_a = np.var(a, ddof=1)
print("var_sample_a:", var_sample_a)# 计算样本标准差
std_sample_a = np.std(a, ddof=1)
print("std_sample_a:", std_sample_a)# 计算变量 a,b的协方差,(结果以协方差矩阵的形式呈现)
cov_ab = np.cov(a, b)
print("cov_ab:", cov_ab)# 变量数组 X 的协方差矩阵
cov_X = np.cov(X)
print("cov_X:", cov_X)# 计算变量a和b的相关系数
corrcoef_ab = np.corrcoef(a, b)
print("corrcoef_ab:", corrcoef_ab)# 变量数组 X 的相关系数矩阵
corrcoef_X = np.corrcoef(X)
print("corrcoef_X:", corrcoef_X)

运行结果:

aver_a: 4.0
var_a: 4.666666666666667
std_a: 2.160246899469287
var_sample_a: 7.0
std_sample_a: 2.6457513110645907cov_ab: [[ 7.          4.5       ][ 4.5        10.33333333]]cov_X: [[ 7.          4.5         4.         -0.5       ][ 4.5        10.33333333 11.5        -7.16666667][ 4.         11.5        13.         -8.5       ][-0.5        -7.16666667 -8.5         6.33333333]]corrcoef_ab: [[1.         0.52910672][0.52910672 1.        ]]corrcoef_X: [[ 1.          0.52910672  0.41931393 -0.07509393][ 0.52910672  1.          0.99221536 -0.88589207][ 0.41931393  0.99221536  1.         -0.93676591][-0.07509393 -0.88589207 -0.93676591  1.        ]]

参考资料:

  • 维基百科:
    https://zh.wikipedia.org/zh-cn/%E7%9B%B8%E5%85%B3
  • 博客:
    https://blog.csdn.net/YPP0229/article/details/100519343

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

  1. python方差的计算公式_python计算均值方差

    原博文 2014-06-07 14:13 − 用Python求均值与方差,可以自己写,也可以借助于numpy,不过到底哪个快一点呢? 我做了个实验,首先生成9百万个样本: ```python nlis ...

  2. [1164]python用numpy计算均值,方差,标准差

    文章目录 均值(mean) 方差(variance) 标准差(standard deviation) numpy自带一些函数接口,可以用来很方便的计算一组数据的均值(mean),方差(variance ...

  3. python方差的计算公式_用numpy计算均值,方差,标准差

    numpy自带一些函数接口,可以用来很方便的计算一组数据的均值(mean),方差(variance)和标准差(standard deviation). 均值(mean) >>> a ...

  4. python算方差_python计算均值方差

    用Python求均值与方差,可以自己写,也可以借助于numpy,不过到底哪个快一点呢? 我做了个实验,首先生成9百万个样本: nlist=range(0,9000000) nlist=[float(i ...

  5. pandas隔行计算均值方差(相邻行或隔行的均值/方差)

    目前没有找到一个函数来做这件事的,因此自己敲一个: 计算相邻两行的均值: dataframe['length_mean'] = (dataframe['length'].shift(-1) + \da ...

  6. 样本的均值和方差的无偏估计与测试阶段均值方差的关系

    什么是无偏估计?? 估计是用样本统计量(可以理解为随机抽样)来估计总体参数时的一种无偏推断. 无偏估计的要求就是:估计出来的参数的数学期望等于被估计参数的真实值. 所以呢,可以看出:估计值也是一个变量 ...

  7. java 方差_使用java计算数组方差和标准差

    使用java计算数组方差和标准差 觉得有用的话,欢迎一起讨论相互学习~ 首先给出方差和标准差的计算公式 代码 public class Cal_sta { double Sum(double[] da ...

  8. r语言和metawin_在R语言中,用bootstrap来计算均值方差,怎样写语言

    展开全部 Meta分析是一种对同一主题下的多个独立实验(研究)进行综合的统计分析方法.它萌芽62616964757a686964616fe58685e5aeb931333264636161于本世纪初[ ...

  9. python计算均值方差模型_如何从Python中的FIGARCH模型中得到条件均值和标准差?...

    大家好,谢谢收看我的节目.你知道吗 此链接指定参数:class arch.univariate.FIGARCH(p=1, q=1, power=2.0, truncation=1000) 参数: p( ...

最新文章

  1. Javascript实现MD5加密
  2. mysql left join 索引失效_MySQL索引列上做操作导致索引失效案例分析
  3. mysqlierror php_php操作mysqli(示例代码)
  4. php增加mysql索引_mysql怎么添加索引
  5. java实验总结_Java实验总结——初学(上)
  6. 支付弹出php,PHP微信公众号支付弹出“NaN:undefined”解决方法
  7. easyexcel导入固定sheet_springboot批量导入excel数据
  8. 对《Java核心技术卷一》读者的一些建议
  9. 图像风格迁移 CycleGAN原理
  10. 山寨机java游戏下载_Q版水浒-山寨英雄
  11. 网站优化排名的5个方法
  12. Python学习之查询IP地址
  13. 大学计算机基础实验指导word,大学计算机基础实验指导全套.doc
  14. LeetCode-171. Excel 表列序号(java)
  15. 半加器 全加器 Verilog描述
  16. 【图像隐写】基于matlab LSB数字水印嵌入提取【含Matlab源码 2412期】
  17. 图片扩展名如何修改,转换图片格式轻松搞定
  18. Kalibr标定时卡在Extracting calibration target corners的问题
  19. php checkmobile,如何在php中檢查請求是來自移動設備還是計算機
  20. Java的静态类详解

热门文章

  1. 使用电脑照样玩天天爱消除游戏
  2. Blog--›Mac TNT 软件下载地址
  3. uniapp [微信小程序开发工具]?Enable IDE Service (y/N) ESC[27DESC[27C
  4. peaZip V9.0 解压缩工具
  5. QGIS下载在线地图(Google 卫星、esri 卫星)
  6. linux服务器开发 3 网络编程
  7. core sync是什么软件_强制删除文件CoreSync_x64.dll
  8. Flow Ecosystem|Decentology 推出 Flow 在线训练营
  9. 【英语复试】-问答总结+前沿关键词
  10. 送50本 Python、数据库、java方面的书,包邮给你!