概率统计Python计算:连续型随机向量边缘分布或条件分布概率计算

在这里插入图片描述
对于连续型随机向量 ( X , Y ) (X,Y) (X,Y)的边缘分布和条件分布而言,密度函数都是一元函数。为计算随机变量取值落入指定区间 I = ( a , b ) I=(a, b) I=(a,b)的概率 P ( X ∈ I ) = ∫ a b f ( x ) d x P(X\in I)=\int_{a}^{b}f(x)dx P(XI)=abf(x)dx,可以调用scipy.integrate包中的quad函数。该函数的调用接口为:
quad(f, a, b) \text{quad(f, a, b)} quad(f, a, b)
其中,参数f表示被积函数 f ( x ) f(x) f(x),a和b分别表示积分下限 a a a和上限 b b b
例1 ( X , Y ) (X, Y) (X,Y)的密度函数为
f ( x , y ) = { 1 y < x < 2 − y , 0 < y < 1 0 其他 {f(x,y)=}\begin{cases} 1&y<x<2-y, 0<y<1\\ 0&\text{其他} \end{cases} f(x,y)={10y<x<2y,0<y<1其他
计算(1) P ( 0.5 < X < 3 / 1.5 ) P(0.5<X<3/1.5) P(0.5<X<3/1.5);(2) f Y ∣ X ( y ∣ x ) f_{Y|X}(y|x) fYX(yx);(3) P ( 0.1 < Y ≤ 0.4 ∣ X = 1.5 ) P(0.1<Y\leq0.4|X=1.5) P(0.1<Y0.4∣X=1.5)在这里插入图片描述
:(1)为计算 P ( 0.5 < X < 1.5 ) P(0.5<X<1.5) P(0.5<X<1.5),先算得 X X X的边缘密度函数 f X ( x ) f_X(x) fX(x)。由于对 x ≤ 0 x\leq0 x0 x ≥ 2 x\geq2 x2 f ( x , y ) = 0 f(x, y)=0 f(x,y)=0,故此时 f X ( x ) = ∫ − ∞ + ∞ f ( x , y ) d y = 0 f_X(x)=\int_{-\infty}^{+\infty}f(x, y)dy=0 fX(x)=+f(x,y)dy=0。下设 x ∈ ( 0 , 2 ) = ( 0 , 1 ] ∪ ( 1 , 2 ) x\in(0, 2)=(0, 1]\cup(1, 2) x(0,2)=(0,1](1,2)
x ∈ ( 0 , 1 ] x\in(0, 1] x(0,1]时,
f X ( x ) = ∫ − ∞ + ∞ f ( x , y ) d y = ∫ 0 x d y = x f_X(x)=\int_{-\infty}^{+\infty}f(x, y)dy=\int_{0}^{x}dy=x fX(x)=+f(x,y)dy=0xdy=x
x ∈ ( 1 , 2 ) x\in(1, 2) x(1,2)时,
f X ( x ) = ∫ − ∞ + ∞ f ( x , y ) d y = ∫ 0 2 − x d y = 2 − x f_X(x)=\int_{-\infty}^{+\infty}f(x, y)dy=\int_{0}^{2-x}dy=2-x fX(x)=+f(x,y)dy=02xdy=2x
综上所述,
f X ( x ) = { x 0 < x ≤ 1 2 − x 1 < x < 2 0 其他 {f_X(x)=}\begin{cases}x&0<x\leq1\\ 2-x&1<x<2\\ 0&\text{其他} \end{cases} fX(x)= x2x00<x11<x<2其他
于是
P ( 0.5 < X < 1.5 ) = ∫ 0.5 1.5 f X ( x ) d x = ∫ 0.5 1 x d x + ∫ 1 1.5 ( 2 − x ) d x = x 2 2 ∣ 0.5 1 + 2 ∣ 1 1.5 − x 2 2 ∣ 1 1.5 = 0.75 P(0.5<X<1.5)=\int_{0.5}^{1.5}f_X(x)dx=\int_{0.5}^{1}xdx+\int_{1}^{1.5}(2-x)dx\\ =\frac{x^2}{2}\big|_{0.5}^1+2\big|_{1}^{1.5}-\frac{x^2}{2}\big|_{1}^{1.5}=0.75 P(0.5<X<1.5)=0.51.5fX(x)dx=0.51xdx+11.5(2x)dx=2x2 0.51+2 11.52x2 11.5=0.75
(2)我们知道, f Y ∣ X ( y ∣ x ) = f ( x , y ) f X ( x ) f_{Y|X}(y|x)=\frac{f(x,y)}{f_X(x)} fYX(yx)=fX(x)f(x,y)仅在 f X ( x ) ≠ 0 f_X(x)\not=0 fX(x)=0处存在,故当 x ∈ ( 0 , 1 ] x\in(0, 1] x(0,1]时,
f Y ∣ X ( y ∣ x ) = { 1 x 0 < y < x 0 其他 {f_{Y|X}(y|x)=}\begin{cases} \frac{1}{x}&0<y<x\\ 0&\text{其他} \end{cases} fYX(yx)={x100<y<x其他
而当 x ∈ ( 1 , 2 ) x\in(1,2) x(1,2)时,
f Y ∣ X ( y ∣ x ) = { 1 2 − x 0 < y < 2 − x 0 其他 f_{Y|X}(y|x)=\begin{cases} \frac{1}{2-x}&0<y<2-x\\ 0&\text{其他} \end{cases} fYX(yx)={2x100<y<2x其他
(3)由于 x = 1.5 ∈ ( 1 , 2 ) x=1.5\in(1, 2) x=1.5(1,2),故
f Y ∣ X ( y ∣ 1.5 ) = { 1 2 − 1.5 0 < y < 2 − 1.5 0 其他 {f_{Y|X}(y|1.5)=}\begin{cases} \frac{1}{2-1.5}&0<y<2-1.5\\ 0&\text{其他} \end{cases} fYX(y∣1.5)={21.5100<y<21.5其他

f Y ∣ X ( y ∣ 1.5 ) = { 2 0 < y < 0.5 0 其他 {f_{Y|X}(y|1.5)}=\begin{cases} 2&0<y<0.5\\ 0&\text{其他} \end{cases} fYX(y∣1.5)={200<y<0.5其他
于是
P ( 0.1 < Y ≤ 0.4 ∣ X = 1.5 ) = ∫ 0.1 0.4 f Y ∣ X ( y ∣ 1.5 ) d y = ∫ 0.1 0.4 2 d y = 0.6. P(0.1<Y\leq0.4|X=1.5)=\int_{0.1}^{0.4}f_{Y|X}(y|1.5)dy=\int_{0.1}^{0.4}2dy=0.6. P(0.1<Y0.4∣X=1.5)=0.10.4fYX(y∣1.5)dy=0.10.42dy=0.6.
下列代码验算本例计算结果。

from scipy.integrate import quad			#导入quad
fx=lambda x: x if x<=1 else 2-x				#X的边缘密度函数
p, _=quad(fx, 0.5, 1.5)						#计算P(0.5<X<1.5)
print('P(0.5<X<1.5)=%.2f'%p)
f=lambda x: 1/0.5 if x>0 and x<0.5 else 0	#X|Y=1.5的密度函数
p, _=quad(f, 0.1, 0.4)						#计算P(0.1<Y<=0.4|X=1.5)
print('P(0.1<Y≤0.4|X=1.5)=%.4f'%p)

根据各行注释,不难理解该程序。需要注意的是,由于区间 ( 0.5 , 1.5 ) (0.5,1.5) (0.5,1.5)位于 f X ( x ) f_X(x) fX(x)的非零区间 ( 0 , 2 ) (0,2) (0,2)内,故计算 P ( 0.5 < X < 1.5 ) P(0.5<X<1.5) P(0.5<X<1.5)的积分式中只取 f X ( x ) f_X(x) fX(x)对应的非零表达式(见第2行)。相仿地,第5行设置 f Y ∣ X ( y ∣ 1.5 ) f_{Y|X}(y|1.5) fYX(y∣1.5)时,也仅考虑其非零表达式“2”。运行程序,输出:

P(0.5<X<1.5)=0.75
P(0.1<Y≤0.4|X=1.5)=0.60

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值