对非经典分布的随机变量,当然可以按博文《自定义离散型分布》中介绍的方法,自定义rv_discrete(离散型)或rv_continuos(连续型)的子类(详见博文《自定义连续型分布》),然后调用其expect函数计算数学期望。
例1 有3只球,4个盒子,盒子的编号为1、2、3。将球逐个独立地,随机地放入4个盒子中去。以
X
X
X表示其中至少有一只球的盒子的最小号码(例如
X
=
3
X=3
X=3表示第1号,第2号盒子是空的,第3号盒子至少有一只球),计算
E
(
X
)
E(X)
E(X)。
解: 显然,
X
X
X的取值为
{
1
,
2
,
3
,
4
}
\{1, 2, 3, 4\}
{1,2,3,4}。设
A
i
A_i
Ai表示
i
i
i号盒是空的(
i
=
1
,
2
,
3
,
4
i=1, 2, 3, 4
i=1,2,3,4)。每个球放入1号盒的概率为
1
/
4
1/4
1/4,没有放入1号盒的概率为
3
/
4
3/4
3/4。
P
(
X
=
1
)
=
P
(
A
‾
1
)
=
1
−
P
(
A
1
)
=
1
−
(
3
4
)
3
=
37
64
P(X=1)=P(\overline{A}_1)=1-P(A_1)=1-\left(\frac{3}{4}\right)^3=\frac{37}{64}
P(X=1)=P(A1)=1−P(A1)=1−(43)3=6437
P
(
X
=
2
)
=
P
(
A
1
A
‾
2
)
=
P
(
A
1
)
P
(
A
‾
2
∣
A
1
)
=
P
(
A
1
)
(
1
−
P
(
A
2
∣
A
1
)
)
=
(
3
4
)
3
[
1
−
(
2
3
)
3
]
=
27
64
⋅
19
27
=
19
64
P(X=2)=P(A_1\overline{A}_2)=P(A_1)P(\overline{A}_2|A_1)\\ =P(A_1)(1-P(A_2|A_1))=\left(\frac{3}{4}\right)^3\left[1-\left(\frac{2}{3}\right)^3\right]\\ =\frac{27}{64}\cdot\frac{19}{27}=\frac{19}{64}
P(X=2)=P(A1A2)=P(A1)P(A2∣A1)=P(A1)(1−P(A2∣A1))=(43)3[1−(32)3]=6427⋅2719=6419
P
(
X
=
3
)
=
P
(
A
1
A
2
A
‾
3
)
=
P
(
A
1
)
P
(
A
2
∣
A
1
)
P
(
A
‾
3
∣
A
1
A
2
)
=
(
3
4
)
3
(
2
3
)
3
[
1
−
(
1
2
)
3
]
=
7
64
P(X=3)=P(A_1A_2\overline{A}_3)=P(A_1)P(A_2|A_1)P(\overline{A}_3|A_1A_2)\\ =\left(\frac{3}{4}\right)^3\left(\frac{2}{3}\right)^3\left[1-\left(\frac{1}{2}\right)^3\right]=\frac{7}{64}
P(X=3)=P(A1A2A3)=P(A1)P(A2∣A1)P(A3∣A1A2)=(43)3(32)3[1−(21)3]=647
P
(
X
=
4
)
=
P
(
A
1
A
2
A
3
A
‾
4
)
=
P
(
A
1
)
P
(
A
2
∣
A
1
)
P
(
A
3
∣
A
1
A
2
)
P
(
A
‾
4
∣
A
1
A
2
A
3
)
=
(
3
4
)
3
(
2
3
)
3
(
1
2
)
3
=
1
64
P(X=4)=P(A_1A_2A_3\overline{A}_4)=P(A_1)P(A_2|A_1)P(A_3|A_1A_2)P(\overline{A}_4|A_1A_2A_3)\\ =\left(\frac{3}{4}\right)^3\left(\frac{2}{3}\right)^3\left(\frac{1}{2}\right)^3=\frac{1}{64}
P(X=4)=P(A1A2A3A4)=P(A1)P(A2∣A1)P(A3∣A1A2)P(A4∣A1A2A3)=(43)3(32)3(21)3=641
即
X
X
X~
(
1
2
3
4
37
64
19
64
7
64
1
64
)
\begin{pmatrix}1&2&3&4\\\frac{37}{64}&\frac{19}{64}&\frac{7}{64}&\frac{1}{64}\end{pmatrix}
(164372641936474641),
E
(
X
)
=
1
⋅
37
64
+
2
⋅
19
64
+
3
⋅
7
64
+
4
⋅
1
64
=
25
16
E(X)=1\cdot\frac{37}{64}+2\cdot\frac{19}{64}+3\cdot\frac{7}{64}+4\cdot\frac{1}{64}=\frac{25}{16}
E(X)=1⋅6437+2⋅6419+3⋅647+4⋅641=1625。
下列代码定义分布律为
(
1
2
3
4
37
64
19
64
7
64
1
64
)
\begin{pmatrix}1&2&3&4\\\frac{37}{64}&\frac{19}{64}&\frac{7}{64}&\frac{1}{64}\end{pmatrix}
(164372641936474641)的离散型分布,调用其expect函数计算
E
(
X
)
E(X)
E(X)。
import numpy as np #导入numpy
from scipy.stats import rv_discrete #导入rv_discrete
X=np.array([1,2,3,4]) #随机变量
P=np.array([37/64, 19/64,7/64, 1/64]) #X的分布概率
mydist=rv_discrete(values=(X, P)) #自定义离散分布
Ex=mydist.expect() #计算数学期望
print('E(X)=%.4f'%Ex)
第3~4行设置分布律数据X和P。第5行用分布律数据X和P定义离散型分布mydist。第6行调用该分布的expect函数,计算随机变量 X X X的数学期望 E ( X ) E(X) E(X)。运行程序,输出
E(X)=1.5625
恰为
E
(
X
)
=
25
16
E(X)=\frac{25}{16}
E(X)=1625精确到万分位的值。
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好。
返回《导引》