我们知道,若随机向量(X,Y)(X,Y)(X,Y)存在E(X)E(X)E(X),E(Y)E(Y)E(Y),E(XY)E(XY)E(XY),则存在(X,Y)(X,Y)(X,Y)的协方差Cov(Y,X)\text{Cov}(Y, X)Cov(Y,X):
Cov(Y,X)=E[(Y−E(Y))(X−E(X))]=E(XY)−E(X)E(Y).\text{Cov}(Y, X)=E[(Y-E(Y))(X-E(X))]=E(XY)-E(X)E(Y).Cov(Y,X)=E[(Y−E(Y))(X−E(X))]=E(XY)−E(X)E(Y).
若还有D(X)D(X)D(X)和D(Y)D(Y)D(Y)存在,且D(X)D(Y)>0D(X)D(Y)>0D(X)D(Y)>0,则XXX, YYY的相关系数为
ρXY=Cov(X,Y)D(X)D(Y).\rho_{XY}=\frac{\text{Cov}(X, Y)}{\sqrt{D(X)}\sqrt{D(Y)}}.ρXY​=D(X)​D(Y)​Cov(X,Y)​.
根据协方差的计算公式和相关系数的定义,编写如下的通用Python函数。

def cov(Exy, Ex, Ey):                   #协方差函数定义return Exy-Ex*Ey
def rhoxy(Exy, Ex, Ey, sigmax, sigmay): #相关系数函数定义return cov(Exy, Ex, Ey)/sigmax/sigmay

第1~2行定义的函数cov计算(X,Y)(X, Y)(X,Y)的协方差Cov(X,Y)\text{Cov}(X, Y)Cov(X,Y)。参数Exy,Ex,Ey分别表示期望E(XY)E(XY)E(XY)、E(Y)E(Y)E(Y)和E(Y)E(Y)E(Y)。第3~4行定义的函数rhoxy计算相关系数ρXY\rho_{XY}ρXY​。参数Exy,Ex,Ey与cov函数的同名参数意义相同,参数sigmax和sigmay分别表示D(X)\sqrt{D(X)}D(X)​和D(Y)\sqrt{D(Y)}D(Y)​。
我们还知道,若XXX,YYY相互独立,则不难推得Cov(X,Y)=0\text{Cov}(X,Y)=0Cov(X,Y)=0,由时必有ρXY=0\rho_{XY}=0ρXY​=0,反之却不然。
例1 设(X,Y)(X, Y)(X,Y)的联合分布律为

不难算得,E(X)=5/2E(X)=5/2E(X)=5/2,E(Y)=0E(Y)=0E(Y)=0,E(XY)=0E(XY)=0E(XY)=0,故ρXY=0\rho_{XY}=0ρXY​=0。即XXX与YYY不相关。但是,
P(X=1,Y=−2)=0≠12⋅14=P(X=1)⋅P(Y=−2)P(X=1, Y=-2)=0\not=\frac{1}{2}\cdot\frac{1}{4}=P(X=1)\cdot P(Y=-2)P(X=1,Y=−2)=0​=21​⋅41​=P(X=1)⋅P(Y=−2)
故XXX与YYY不相互独立。
下列代码验证本例计算结果。

import numpy as np                                  #导入numpy
X=np.array([1, 4])                                  #X的取值
Y=np.array([-2, -1, 1, 2])                          #Y的取值
Pxy=np.array([[0, 1/4, 1/4, 0],                     #联合分布律的概率[1/4, 0, 0, 1/4]])
Ex=expect(Pxy, X)                                   #E(X)
Ey=expect(Pxy, Yv=Y, func=lambda x, y:y)            #E(Y)
Exy=expect(Pxy, X, Y, func=lambda x, y:x*y)         #E(XY)
covar=cov(Exy, Ex, Ey)                              #Cov(X,Y)
indep=independent(Pxy)                              #检验独立性
print('X与Y不相关是%s, X与Y相互独立是%s'%(covar==0, indep))

程序的2~5行完成随机向量(X,Y)(X,Y)(X,Y)的联合分布律的数据设置。第6、7、8三行调用expect函数(详见博文《离散型自定义分布数学期望的计算》)计算期望E(X)E(X)E(X)、E(Y)E(Y)E(Y)和E(XY)E(XY)E(XY)。第9行调用上列程序定义的函数cov计算协方差Cov(X,Y)\text{Cov}(X,Y)Cov(X,Y)。第10行调用independent函数(详见博文《离散型变量独立性判断》)检验XXX与YYY是否独立。第12行输出计算结果:

X与Y不相关是True, X与Y相互独立是False

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
返回《导引》

概率统计Python计算:协方差与相关系数计算相关推荐

  1. 概率统计笔记: 协方差与相关系数

    1 协方差 1.1 定义 假设两个随机变量X和Y满足未知的概率分布,那么X和Y的协方差为: 其中E是求解数学期望的运算符,μx,μy分别是X和Y的均值 1.2 存在的问题 协方差告诉我们两个随机变量是 ...

  2. 概率统计Python计算:条件概率和概率乘法公式

    1. 古典概型中条件概率的计算 条件概率 P ( B ∣ A ) P(B|A) P(B∣A)是将样本空间限制在 A A A上, A ∩ B A\cap B A∩B的概率.因此,我们可以利用博文< ...

  3. 概率统计Python计算:离散型随机变量分布(bernoulli geom)

    Python的scipy.stats包中提供了各种随机变量的分布.每一种分布,其累积分布函数(分布函数)记为cdf.离散型变量分布的概率质量函数(分布律),记为pmf.除此之外,每个分布都有一个服从该 ...

  4. 概率统计Python计算:全概率公式

    1. numpy数组的按元素计算 设完备事件组A1,A2,⋯,AnA_1,A_2,\cdots,A_nA1​,A2​,⋯,An​作为引发事件BBB的nnn个因素.诸因素的先验概率构成的序列为P(A1) ...

  5. 概率统计Python计算:贝叶斯公式

    根据完备事件组A1,A2,-,AnA_1, A_2,\dots , A_nA1​,A2​,-,An​的先验概率序列P(A1),P(A2),-,P(An)P(A_1), P(A_2), \dots, P ...

  6. 概率统计Python计算:F分布分位点计算

    设XXX,YYY相互独立,且分别服从χ2(m)\chi^2(m)χ2(m)和χ2(n)\chi^2(n)χ2(n),则XY\frac{X}{Y}YX​~F(m−1,n−1)F(m-1, n-1)F(m ...

  7. 概率统计Python计算:随机变量的分布函数

    任何随机变量XXX都有其分布函数(或称为累积分布函数) F(x)=P(X≤x),x∈(−∞,+∞).F(x)=P(X\leq x), x\in (-\infty,+\infty).F(x)=P(X≤x ...

  8. 概率统计Python计算:单个正态总体均值双侧假设的Z检验

    用p值法计算假设H0H_0H0​的双侧检验,设aaa,bbb分别是检验统计量分布对应显著水平α\alphaα的左.右分位点,F(x)F(x)F(x)和S(x)S(x)S(x)分别为检验统计量的分布函数 ...

  9. 概率统计Python计算:双正态总体方差比的双侧区间估计

    计算两个正态总体方差比的区间估计涉及样本方差 s 1 2 s_1^2 s12​, s 2 2 s_2^2 s22​,样本容量 n 1 n_1 n1​, n 2 n_2 n2​和置信度 1 − α 1- ...

最新文章

  1. 计算机网络·片偏移练习题
  2. 七年前将UC卖给马云,套现300亿的何小鹏,现今再创新奇迹?播报文章
  3. c.kdocs cn二维码_二维码防窜货解决方案,物流动向尽在掌握
  4. xenserver 挂载磁盘 xe sr-create_视频号挂载小商店,仅需3步!
  5. 【机器学习】分类算法sklearn-朴素贝叶斯算法
  6. QQ版本更新 除了一起听歌现在还能一起看球赛了
  7. centos7下发邮件给自己的QQ邮箱
  8. 华为鸿蒙系统困难重重,困难重重,华为依然积极发展自主操作系统,同时布局鸿蒙和UOS...
  9. vector迭代器的使用
  10. html5 的属性和方法,Qunee for HTML5 - 中文 : 常用属性与方法
  11. 电脑只能上QQ不能上网怎么办
  12. Arcgis教程:如何批量统计网格内的线段长度。
  13. 区块链名词解释之通证:WTC
  14. stata怎么画分类图_Stata中的图形制作(绝对自己总结)
  15. Sprig的EL表达式和读取Properties文件教程
  16. Mencoder转换视频格式(1)
  17. 篱笆家装宝典之四——瓷砖
  18. DevOps-持续集成持续部署二
  19. SqlDataReader转换为DataTable
  20. 微软GitHub账户500G源代码被盗取,黑客声称欲免费公布

热门文章

  1. android 自定义 theme,为Android手机制作自定义主题
  2. 游戏配音教程分享给你
  3. 区块链安全入门笔记(二) | 慢雾科普
  4. App极致瘦身: png 打包前自动化转换 webp。身轻如燕就是爽!
  5. 6760: 九连环(大数)
  6. 十种经典排序算法总结
  7. Kbone踩坑记录(VUE多端开发不得不做的吃螃蟹尝试)
  8. 五分钟带你速通Spring IOC
  9. 分水岭算法解析[halcon]
  10. 无符号整型与有符号整型变量的区别与联系—C/C++程序基础(五)