概率统计Python计算:连续型2-维随机向量分布的概率计算

在这里插入图片描述
为计算连续型随机向量 ( X , Y ) ∈ D (X, Y)\in D (X,Y)D的概率 P ( ( X , Y ) ∈ D ) P((X, Y)\in D) P((X,Y)D)要用到2-重积分: ∬ D f ( x , y ) d x d y \iint\limits_{D}f(x, y)dxdy Df(x,y)dxdy,其中 f ( x , y ) f(x, y) f(x,y) ( X , Y ) (X, Y) (X,Y)的联合密度函数。若 D D D可表示为
D = { ( x , y ) ∣ a ≤ x ≤ b , g 1 ( x ) ≤ y ≤ g 2 ( x ) } D=\{(x, y)|a\leq x\leq b, g_1(x)\leq y\leq g_2(x)\} D={(x,y)axb,g1(x)yg2(x)}
scipy提供的强大的积分计算模块integrate中的dblquad函数能快速地进行2次积分 ∫ a b ( ∫ g 1 ( x ) g 2 ( x ) f ( x , y ) d y ) d x \int_{a}^{b}\left(\int_{g_1(x)}^{g_2(x)}f(x, y)dy\right)dx ab(g1(x)g2(x)f(x,y)dy)dx的计算。该函数的调用接口如下
dblquad(f, a, b, g1, g2) \text{dblquad(f, a, b, g1, g2)} dblquad(f, a, b, g1, g2)
其中,参数f表示被积函数 f ( x , y ) f(x, y) f(x,y)。参数a,b是变量 x x x的积分下限 a a a和上限 b b b,这是2个常数参数。参数g1,g2表示变量 y y y的积分下限 g 1 ( x ) g_1(x) g1(x)和上限 g 2 ( x ) g_2(x) g2(x)。g1和g2可同时为常量,也可以同时为函数。
例1 设连续型2-维随机向量 ( X , Y ) (X, Y) (X,Y)的密度函数为
f ( x , y ) = { 3 x 0 < x < 1 , 0 < y < x 0 其他 {f(x,y)=}\begin{cases} 3x & 0<x<1, 0<y<x\\ 0 & \text{其他} \end{cases} f(x,y)={3x00<x<1,0<y<x其他
计算概率 P ( X ≤ 3 / 4 ) P(X\leq3/4) P(X3/4)
:考虑平面上表示事件 X ≥ 3 / 4 X\geq3/4 X3/4的区域
D = { ( x , y ) ∣ x ≥ 3 / 4 } = { ( x , y ) ∣ 3 / 4 ≤ x < + ∞ , − ∞ < y < + ∞ } D=\{(x, y)|x\geq3/4\}=\{(x,y)|3/4\leq x<+\infty, -\infty<y<+\infty\} D={(x,y)x3/4}={(x,y)∣3/4x<+,<y<+}
如下图中直线 x = 3 / 4 x=3/4 x=3/4右侧部分。
在这里插入图片描述

而联合密度函数 f ( x , y ) f(x,y) f(x,y)非零区域为图中由 x = 1 x=1 x=1 y = 0 y=0 y=0 y = x y=x y=x围成的三角形部分。两者的交集为图中深色区域,即 3 / 4 < x < 1 , 0 < y < x 3/4<x<1, 0<y<x 3/4<x<1,0<y<x。于是
P ( X ≥ 3 / 4 ) = ∬ D f ( x , y ) d x d y = ∫ 3 / 4 ∞ ∫ − ∞ + ∞ f ( x , y ) d x d y = ∫ 3 / 4 1 ∫ 0 x 3 x d x d y = 3 ∫ 3 / 4 1 x ( ∫ 0 x d y ) d x = 3 ∫ 3 / 4 1 x 2 d x = 1 − ( 3 4 ) 3 = 37 64 . P(X\geq3/4)=\iint\limits_{D}f(x, y)dxdy=\int_{3/4}^{\infty}\int_{-\infty}^{+\infty}f(x, y)dxdy=\int_{3/4}^{1}\int_{0}^{x}3xdxdy\\ =3\int_{3/4}^{1}x\left(\int_{0}^{x}dy\right)dx=3\int_{3/4}^{1}x^2dx=1-\left(\frac{3}{4}\right)^3=\frac{37}{64}. P(X3/4)=Df(x,y)dxdy=3/4+f(x,y)dxdy=3/410x3xdxdy=33/41x(0xdy)dx=33/41x2dx=1(43)3=6437.
下列代码验算本例计算结果。

from scipy.integrate import dblquad #导入dblquad
f=lambda y, x: 3*x                  #定义被积函数
g1=lambda x: 0                      #定义y的积分下限
g2=lambda x: x                      #定义y的积分上限
p, _=dblquad(f, 3/4, 1, g1, g2)     #计算P(X>=3/4)
print('P(X>=3/4)=%.4f'%p)

程序中的第2行用lambda运算符定义被积函数 f ( x , y ) f(x,y) f(x,y)。注意,两个自变量的书写顺序须与积分的顺序保持一致:先y后x。第3、4行分别定义y的下限g1和上限g2,由于上限是函数x,故下限即使是0也要形式上定义为函数。第5行调用dblquad计算 P ( X ≥ 3 / 4 ) = ∫ 3 / 4 1 ( ∫ 0 x 3 x d y ) d x P(X\geq3/4)=\int_{3/4}^{1}\left(\int_{0}^{x}3xdy\right)dx P(X3/4)=3/41(0x3xdy)dx,结果存于p。运行程序,输出:

P(X>=3/4)=0.5781

恰为 P ( X ≥ 3 / 4 ) = 37 64 P(X\geq3/4)=\frac{37}{64} P(X3/4)=6437的精确到千分位的近似值。
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好
返回《导引》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值