如何看分布 python pythonf分布_类对象


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:与上同

概率质量函数(分布律)如何看分布 python pythonf分布_概率论_02

cdf(k, p)

k:分布函数自变量,p:与上同

累积概率函数(分布函数)如何看分布 python pythonf分布_随机数_03

例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个服从参数如何看分布 python pythonf分布_类对象_04的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分布和几何分布均仅有一个表示一次试验成功概率的参数如何看分布 python pythonf分布_类对象_05。由此可见,引入随机变量处理不同随机试验下的随机事件概率问题的形式是统一的。
例2 设灯泡在任意一天损坏的概率如何看分布 python pythonf分布_如何看分布 python_06,计算该灯泡的寿命至少为30天的概率。
:设灯泡的使用寿命(单位:天)为如何看分布 python pythonf分布_类对象_07,则如何看分布 python pythonf分布_类对象_07服从参数为如何看分布 python pythonf分布_如何看分布 python_06的几何分布。令如何看分布 python pythonf分布_概率论_10,灯泡寿命至少为30天的概率
如何看分布 python pythonf分布_如何看分布 python_11
下列代码验算本例中灯泡寿命至少为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函数,计算如何看分布 python pythonf分布_概率论_12。运行程序,输出

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

scipy.stats为每一种分布提供残存函数sf,该函数计算如何看分布 python pythonf分布_随机数_13。例如,在上列程序中,将第2行代码换成
如何看分布 python pythonf分布_如何看分布 python_14
来计算服从参数为如何看分布 python pythonf分布_如何看分布 python_15的几何分布的随机变量如何看分布 python pythonf分布_类对象_07的概率如何看分布 python pythonf分布_随机数_17