1 泊松随机变量
如果一个取值于
0
,
1
,
2
,
⋯
0,1,2,\cdots
0,1,2,⋯的随机变量对某一个
λ
>
0
\lambda\gt 0
λ>0,其概率质量函数为:
p
(
i
)
=
P
{
X
=
i
}
=
e
−
λ
λ
i
i
!
i
=
0
,
1
,
2
,
⋯
p(i) = P\{X=i\}=e^{-\lambda}\cfrac{\lambda^i}{i!}\ \ \ \ \ \ \ i=0,1,2,\cdots
p(i)=P{X=i}=e−λi!λi i=0,1,2,⋯
则称该随机变量为服从参数
λ
\lambda
λ的泊松随机变量。对上述定义的概率质量函数求和为1:
∑
i
=
0
∞
p
(
i
)
=
e
−
λ
∑
i
=
0
∞
λ
i
i
!
=
e
−
λ
e
λ
=
1
\sum_{i=0}^\infty p(i) = e^{-\lambda}\sum_{i=0}^\infty \cfrac{\lambda^i}{i!} = e^{-\lambda}e^{\lambda} = 1
i=0∑∞p(i)=e−λi=0∑∞i!λi=e−λeλ=1
泊松分布有非常广泛的应用,因为当
n
n
n足够大,
p
p
p充分小,而使得
n
p
np
np保持适当的大小时,参数为
(
n
,
p
)
(n,p)
(n,p)的二项随机变量可近似地看作是参数为
λ
=
n
p
\lambda = np
λ=np的泊松随机变量。现来证明这一点:
假设随机变量
X
X
X是一个服从参数为
(
n
,
p
)
(n,p)
(n,p)的二项随机变量,并记
λ
=
n
p
\lambda = np
λ=np,则有:
P
{
X
=
i
}
=
n
!
(
n
−
i
)
!
i
!
∗
p
i
(
1
−
p
)
n
−
i
=
n
!
(
n
−
i
)
!
i
!
∗
(
λ
n
)
i
(
1
−
λ
n
)
n
−
i
=
n
(
n
−
1
)
⋯
(
n
−
i
+
1
)
n
i
∗
λ
i
i
!
∗
(
1
−
λ
/
n
)
n
(
1
−
λ
/
n
)
I
\begin{aligned} P\{X = i\} &= \cfrac{n!}{(n-i)!i!}*p^i(1-p)^{n-i} \\ &= \cfrac{n!}{(n-i)!i!}*(\cfrac{\lambda}{n})^i(1-\cfrac{\lambda}{n})^{n-i}\\ &= \cfrac{n(n-1)\cdots (n-i+1)}{n^i}*\cfrac{\lambda^i}{i!}*\cfrac{(1-\lambda/n)^n}{(1-\lambda/n)^I} \end{aligned}
P{X=i}=(n−i)!i!n!∗pi(1−p)n−i=(n−i)!i!n!∗(nλ)i(1−nλ)n−i=nin(n−1)⋯(n−i+1)∗i!λi∗(1−λ/n)I(1−λ/n)n
对于充分大的
n
n
n和适当的
λ
\lambda
λ有:
(
1
−
λ
n
)
n
≈
e
−
λ
n
(
n
−
1
)
⋯
(
n
−
i
+
1
)
n
i
≈
1
(
1
−
λ
/
n
)
i
≈
1
\begin{aligned} &(1-\cfrac{\lambda}{n})^n\approx e^{-\lambda}\\ &\cfrac{n(n-1)\cdots (n-i+1)}{n^i}\approx 1\\ &(1-\lambda/n)^i \approx 1 \end{aligned}
(1−nλ)n≈e−λnin(n−1)⋯(n−i+1)≈1(1−λ/n)i≈1
因此:
p
{
X
=
i
}
≈
e
−
λ
λ
i
i
!
p\{X=i\} \approx e^{-\lambda}\cfrac{\lambda^i}{i!}
p{X=i}≈e−λi!λi
换句话说,独立重复地进行
n
n
n次试验,每次成功的概率为
p
p
p,当
n
n
n充分大而
p
p
p足够小,使得
n
p
np
np保持适当的话,那么成功的次数近似地服从参数为
λ
=
n
p
\lambda = np
λ=np的泊松分布,这个
λ
\lambda
λ值通常由经验确定。
总结成一句话就是:泊松随机变量近似于
n
n
n很大,
p
p
p很小的二项随机变量,
λ
=
n
p
\lambda = np
λ=np。
2 泊松随机变量的期望和方差
首先计算期望,根据期望的计算公式有
E
[
X
]
=
∑
i
=
0
∞
i
∗
e
−
λ
λ
i
i
!
=
λ
∑
i
=
1
∞
e
−
λ
λ
i
−
1
(
i
−
1
)
!
E[X] = \sum_{i=0}^\infty \cfrac{i*e^{-\lambda}\lambda^i}{i!} = \lambda\sum_{i=1}^\infty \cfrac{e^{-\lambda}\lambda^{i-1}}{(i-1)!}
E[X]=i=0∑∞i!i∗e−λλi=λi=1∑∞(i−1)!e−λλi−1
令
j
=
i
−
1
j = i-1
j=i−1上式得:
E
[
X
]
=
λ
e
−
λ
∑
j
=
0
∞
λ
j
j
!
=
λ
e
−
λ
e
λ
=
λ
E[X] = \lambda e^{-\lambda}\sum_{j=0}^\infty \cfrac{\lambda^{j}}{j!} = \lambda e^{-\lambda}e^\lambda = \lambda
E[X]=λe−λj=0∑∞j!λj=λe−λeλ=λ
计算方差时则先计算
E
[
X
2
]
E[X^2]
E[X2]:
E
[
X
2
]
=
∑
i
=
0
∞
i
2
∗
e
−
λ
λ
i
i
!
=
λ
∑
i
=
1
∞
i
e
−
λ
λ
i
−
1
(
i
−
1
)
!
E[X^2] = \sum_{i=0}^\infty \cfrac{i^2*e^{-\lambda}\lambda^i}{i!} = \lambda\sum_{i=1}^\infty \cfrac{ie^{-\lambda}\lambda^{i-1}}{(i-1)!}
E[X2]=i=0∑∞i!i2∗e−λλi=λi=1∑∞(i−1)!ie−λλi−1
同样令
j
=
i
−
1
j = i-1
j=i−1上式得:
E
[
X
2
]
=
λ
∑
j
=
0
∞
(
j
+
1
)
e
−
λ
λ
j
j
!
=
λ
[
∑
j
=
0
∞
j
e
−
λ
λ
j
j
!
+
∑
j
=
0
∞
e
−
λ
λ
j
j
!
]
=
λ
(
λ
+
1
)
E[X^2] = \lambda \sum_{j=0}^\infty \cfrac{(j+1)e^{-\lambda} \lambda^{j}}{j!} = \lambda[\sum_{j=0}^\infty \cfrac{je^{-\lambda} \lambda^{j}}{j!}+\sum_{j=0}^\infty \cfrac{e^{-\lambda} \lambda^{j}}{j!}] = \lambda(\lambda +1)
E[X2]=λj=0∑∞j!(j+1)e−λλj=λ[j=0∑∞j!je−λλj+j=0∑∞j!e−λλj]=λ(λ+1)
根据方差与期望的关系,方差
V
a
r
(
X
)
Var(X)
Var(X)得:
V
a
r
(
X
)
=
E
[
X
2
]
−
E
[
X
]
2
=
λ
Var(X) = E[X^2] - E[X]^2 = \lambda
Var(X)=E[X2]−E[X]2=λ
由此可见,泊松随机变量的期望和方差均等于参数
λ
\lambda
λ,那此时再来看看与泊松随机变量近似的二项随机变量的期望和方差,
λ
=
n
p
\lambda = np
λ=np,二项随机变量的期望为
n
p
np
np即为
λ
\lambda
λ,二项随机变量的方差为
n
p
(
1
−
p
)
=
λ
(
1
−
p
)
np(1-p) = \lambda(1-p)
np(1−p)=λ(1−p),由于
p
p
p足够小,因此方差也近似为
λ
\lambda
λ。
泊松分布在试验并不独立但是弱相依条件下仍是比较好的近似。
3 泊松范例
考虑 n n n个事件,第 i i i个事件发生的概率为 p i , i = 1 ⋯ n p_i,i=1\cdots n pi,i=1⋯n,如果所有 p i p_i pi都很小,且试验或者独立,或者至多“弱相依”,那么事件发生次数近似地服从参数为 ∑ i = 1 n p i \sum_{i=1}^np_i ∑i=1npi的泊松分布。
4 计算泊松分布函数
如果随机变量
X
X
X服从参数为
λ
\lambda
λ的泊松分布,则:
P
{
X
=
i
+
1
}
=
λ
i
+
1
P
{
X
=
i
}
P\{X=i+1\} = \cfrac{\lambda}{i+1}P\{X = i\}
P{X=i+1}=i+1λP{X=i}
因此要计算分布函数
P
{
X
≤
i
}
P\{X\le i\}
P{X≤i}便可以依据上面的推导关系编写程序计算了。例如:
X
X
X服从均值为100的泊松分布,计算
P
{
X
≤
90
}
P\{X\le 90\}
P{X≤90}
import math
res = []
res_0 = pow(math.e, -100)
res.append(res_0)
for i in range(0,90):
temp = (100/(i+1))*res[-1]
res.append(temp)
print(sum(res))
输出结果为:
0.17138511932176242