概率统计Python计算:连续型随机变量分布(uniform & expon)

在这里插入图片描述

1. uniform分布(均匀分布)

Python的scipy.stats包中的对象uniform表示连续型的均匀分布。下表展示了uniform分布的几个常用函数。

函数名参数功能
rvs(loc, scale, size)loc:分布参数 a a a,缺省值为0, scale:分布参数差 b − a b-a ba,缺省值为1,size:产生的随机数个数,缺省值为1产生size个随机数
pdf(x, loc, scale)x:自变量取值,loc,scale:与上同概率密度函数 f ( x ) f(x) f(x)
cdf(x, loc, scale)x,loc,scale:与上同累积概率函数(分布函数) F ( x ) F(x) F(x)
ppf(q, loc, scale)q:分位点函数自变量,loc,scale:与上同分布函数的反函数 F − 1 ( q ) F^{-1}(q) F1(q)
sf(x, loc, scale)x:自变量取值,loc,scale:与上同残存函数 1 − F ( x ) 1-F(x) 1F(x)
例1 某公共汽车站从上午7时起,每15分钟来一班车。即7:00,7:15,7:30,7:45,……等时刻有汽车到达此站。如果乘客到达此站的时间 X X X是服从7:00到7:30之间的均匀分布的随机变量,试求他候车时间少于5分钟的概率。
:由题设知 X X X~ U ( 0 , 30 ) U(0, 30) U(0,30),其分布函数
$$ F(x)=\begin{cases}
0&x<0\
\frac{x}{30}&0\leq x\leq 30\\
1&x\geq 30

\end{cases}KaTeX parse error: Can't use function '$' in math mode at position 48: …客候车时间少于5分钟(记为事件$̲A$),根据班车时刻表,有三种…P(A)=P({10\leq X\leq15}\cup{25\leq X\leq30})\
=P(10\leq X\leq15)+P(25\leq X\leq30)\
=F(15)-F(10)+F(30)-F(25)\
=\frac{15}{30}-\frac{10}{30}+\frac{30}{30}-\frac{25}{30}=\frac{1}{3}$$
下列Python代码计算本例中的概率 P ( A ) = F ( 15 ) − F ( 10 ) + F ( 30 ) − F ( 25 ) P(A)=F(15)-F(10)+F(30)-F(25) P(A)=F(15)F(10)+F(30)F(25)

from scipy.stats import uniform                     #导入uniform
print('P(A)=%.4f'%(uniform.cdf(x=15, scale=30)-     #F(15)-
                       uniform.cdf(x=10, scale=30)+ #F(10)+
                       uniform.cdf(x=30, scale=30)- #F(30)-
                       uniform.cdf(x=25, scale=30)))#F(25)

程序的第1行导入uniform。第2~5行输出计算结果。注意,调用cdf函数时传递的参数:首个参数x分别表示自变量的值15、10、30和25,第2个参数loc,由于本例中均匀分布的参数 a = 0 a=0 a=0与loc的缺省值相同,故省略。第三个参数scale表示分布参数差 b − a b-a ba,本例中 b − a = 30 b-a=30 ba=30,故传递scale=30。运行该程序,输出

P(A)=0.3333

此即为 P ( A ) = 1 / 3 P(A)=1/3 P(A)=1/3精确到万分位的值。

2. expon分布(指数分布)

Scipy.stats包中的expon对象表示指数分布。下表展示了expon分布的常用函数。

函数名参数功能
rvs(scale, size)scale:分布参数 λ \lambda λ,缺省值为1,size:产生的随机数个数,缺省值为1产生size个随机数
pdf(x, loc, scale)x:自变量取值,scale:与上同概率密度函数 f ( x ) f(x) f(x)
cdf(x, scale)x,scale:与上同累积概率函数(分布函数) F ( x ) F(x) F(x)
ppf(q, scale)q:分位点函数自变量,scale:与上同分布函数的反函数 F − 1 ( q ) F^{-1}(q) F1(q)
sf(x, scale)x:自变量取值,scale:与上同残存函数 1 − F ( x ) 1-F(x) 1F(x)
例2 假定自动取款机对每位顾客的服务时间(单位:min)服从 λ = 3 \lambda=3 λ=3的指数分布,如果有一个顾客恰好在你前头走到空闲的取款机,求:
  1. 你至少等候3分钟的概率;
  2. 你等候的时间在3~6分钟的概率。

:按题设,两人来到的时间一致。一人使用取款机而另一人等待的时间 X X X的分布函数为
F ( x ) = { 0 x < 0 1 − e − x / 3 x ≥ 0 F(x)=\begin{cases} 0&x<0\\ 1-e^{-x/3}&x\geq 0 \end{cases} F(x)={01ex/3x<0x0
因此,
(1)至少等待3分钟的概率为
P ( X ≥ 3 ) = 1 − P ( X < 3 ) = 1 − F ( 3 ) = e − 1 = 0.3678. P(X\geq3)=1-P(X<3)=1-F(3)=e^{-1}=0.3678. P(X3)=1P(X<3)=1F(3)=e1=0.3678.
(2)等待时间在3~6分钟的概率为
P ( 3 ≤ X ≤ 6 ) = F ( 6 ) − F ( 3 ) = e − 1 − e − 2 = 0.2325. P(3\leq X\leq 6)=F(6)-F(3)=e^{-1}-e^{-2}=0.2325. P(3X6)=F(6)F(3)=e1e2=0.2325.
下列代码验算本例的计算结果。

from scipy.stats import expon                           #导入expon
prob1=expon.sf(x=3, scale=3)                            #1-F(3)
prob2=expon.cdf(x=6, scale=3)-expon.cdf(x=3, scale=3)   #F(6)-F(3)
print('P(X>3)=%.4f'%prob1)
print('P(3<=X<=6)=%.4f'%prob2)

程序中第1行导入expon。第2行用残存函数sf计算 P ( X > 3 ) P(X>3) P(X>3)。第3行用cdf函数计算 P ( 3 ≤ X ≤ 6 ) P(3\leq X\leq6) P(3X6)。注意传递给参数scale的是指数分布的参数 λ = 3 \lambda=3 λ=3。运行该程序输出:

P(X>3)=0.3679
P(3<=X<=6)=0.2325

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好
返回《导引》

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值