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

本文主要是介绍概率统计Python计算:离散型随机变量分布(bernoulli geom),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
Python的scipy.stats包中提供了各种随机变量的分布。每一种分布,其累积分布函数(分布函数)记为cdf。离散型变量分布的概率质量函数(分布律),记为pmf。除此之外,每个分布都有一个服从该分部变量发生器函数rvs,用来产生服从该分布的随机数。

1. bernoulli分布(0-1分布)

Python的scipy.stats包中,bernoulli类就是用来表示伯努利分布的。常用的三个函数说明见下表。

函数名参数功能
rvs(p, size)p:分布参数,size:产生的随机数个数,缺省值为1产生size个随机数
pmf(k, p)k:随机变量取值,p:与上同概率质量函数(分布律) P ( X = k ) P(X=k) P(X=k)
cdf(k, p)k:分布函数自变量,p:与上同累积概率函数(分布函数) F ( k ) F(k) F(k)
例1 下列代码利用bernoulli类对象的rvs函数模拟重复抛掷均匀分币试验。
from scipy.stats import bernoulli   #导入bernoulli
import numpy as np                  #导入numpy
x=bernoulli.rvs(p=1/2,size=500)     #产生500个服从p=1/2的0-1分布的随机数
hist, _=np.histogram(x, bins=2)     #统计取0、1的频数
hist/500                            #输出频率

其中的第3行调用bernoulli类对象的随机数发生函数rvs产生500个服从参数 p = 1 / 2 p=1/2 p=1/2的0-1分布(抛掷均匀分币0,1分别表示正面朝下和正面朝上)的随机数。第4行调用numpy的histogram函数统计500个数据中取0、1的频数。第5行输出频率。运行程序,输出

array([0.498, 0.502])

可见取0和1的频率分别为0.499和0.502,很好地模拟了抛掷均匀分币这一伯努利试验。

2. geom分布(几何分布)

scipy.stats包提供的geom类表示几何分布。常用的三个函数rvs、pmf和cdf的名称、参数和意义是完全一致的。这是因为0-1分布和几何分布均仅有一个表示一次试验成功概率的参数 p p p。由此可见,引入随机变量处理不同随机试验下的随机事件概率问题的形式是统一的。
例2 设灯泡在任意一天损坏的概率 p = 0.001 p=0.001 p=0.001,计算该灯泡的寿命至少为30天的概率。
:设灯泡的使用寿命(单位:天)为 X X X,则 X X X服从参数为 p = 0.001 p=0.001 p=0.001的几何分布。令 q = 1 − p = 0.999 q=1-p=0.999 q=1p=0.999,灯泡寿命至少为30天的概率
P ( X ≥ 30 ) = 1 − P ( X ≤ 29 ) = 1 − F ( 29 ) = 1 − ∑ k = 1 29 q 29 − k p = 1 − p 1 − q 29 1 − q = q 29 = 0.99 9 29 = 0.9714. P(X\geq30)=1-P(X\leq29)=1-F(29)\\ =1-\sum\limits_{k=1}^{29}q^{29-k}p=1-p\frac{1-q^{29}}{1-q}\\ =q^{29}=0.999^{29}=0.9714. P(X30)=1P(X29)=1F(29)=1k=129q29kp=1p1q1q29=q29=0.99929=0.9714.
下列代码验算本例中灯泡寿命至少为30天的概率。

from scipy.stats import geom        #导入geom
prob=1-geom.cdf(k=29,p=0.001)       #计算1-F(29)
print('P(X>=30)=1-F(29)=%.4f'%prob) #输出P(X>=30)

程序的第2行调用geom(第1行导入)的cdf函数,计算 1 − F ( 29 ) = 1 − ∑ k = 1 29 ( 1 − p ) k − 1 p 1-F(29)=1-\sum\limits_{k=1}^{29}(1-p)^{k-1}p 1F(29)=1k=129(1p)k1p。运行程序,输出

P(X>=30)=1-F(29)=0.9714

scipy.stats为每一种分布提供残存函数sf,该函数计算 P ( X > x ) = 1 − P ( X ≤ x ) = 1 − cdf ( x ) P(X>x)=1-P(X\leq x)=1-\text{cdf}(x) P(X>x)=1P(Xx)=1cdf(x)。例如,在上列程序中,将第2行代码换成
prob=geom.sf(k=29, p=0.01) \text{prob=geom.sf(k=29, p=0.01)} prob=geom.sf(k=29, p=0.01)
来计算服从参数为 p = 0.01 p=0.01 p=0.01的几何分布的随机变量 X X X的概率 P ( X ≥ 30 ) = P ( X > 29 ) P(X\geq30)=P(X>29) P(X30)=P(X>29)
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好
返回《导引》

这篇关于概率统计Python计算:离散型随机变量分布(bernoulli geom)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097641

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa