第三章离散概率分布的实例
3.1 离散均匀分布
离散均匀分布是指对于个事件{},他们发生的概率都相同的概率分布,记作{},因此很好理解,它的概率密度函数为
由级数公式,可得:
可得{}的期望和方差为
下面给出上式的证明:
所以
下面对方差进行证明
所以
下面通过matplotlib为读者展示均匀分布的概率分布图
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
N=10
y=np.array([1/N for i in range(N)])
plt.bar(range(len(y)),y)
plt.title("uniform distribution")
plt.show()
3.2 二项分布
要介绍二项分布,首先要介绍伯努利试验。
伯努利试验是一个具有两种可能结果的独立重复的试验,试验结果为成功或失败。独立且重复地掷一枚相同的硬币是一个典型的伯努利试验。令为试验成功的概率,那为试验失败的概率。二项分布是指次伯努利试验中试验成功的次数的概率分布,用表示。由上述定义可知,二项分布的概率密度函数为:
二项分布的期望和方差:
下面对上式进行证明:
所以的矩量母函数为:
将上式代入二项式定理的推导结果:
下面通过matplotlib为读者展示二项分布的概率分布图
from scipy.special import comb,perm
n=10
p=0.5
def f(x):
return p**x*(1-p)**(n-x)*comb(n,x)
x=np.arange(0,10)
y=np.array(list(map(f,x)))
plt.bar(x,y)
plt.title("Binomial distribution")
plt.show()
3.3 超几何分布
考虑一个摸球的场景,一个包里有个球,其中个球为,个球为,从中取出个球。在该情况下,有两种取球的方案,第一种是有放回采样,另一种是无放回采样。
可以想象,在有放回采样的情况下,一个球总是从全部的个球中抽取。采样的过程相当于伯努利试验,因此抽个球,含有个球的概率分布可表示为
而在无放回的情况下,包里球的数量随试验的进行而不断减少。因此,球与球的数量之比取决于历次抽样情况。在这种情况下,抽取个球,含有个球的概率分布称为超几何分布,记作
从个球中取出个球的组合数为,从个B球中取出个B球的组合数为,以及从个球中取出个球的组合数,将上述因子结合,可得的概率分布函数为:
给出的期望和方差:
下面给出上式的证明:
因为概率密度函数满足,所以有:
可得:
可得
将代入可得
方差可表示为
对期望的推导与上面类似,用式可得:
将其代入可得:
下面通过matplotlib为读者展示超几何分布的概率分布图
N=100
M=50
n=10
def f(x):
return comb(M,x)*comb(N-M,n-x)/comb(N,n)
x=np.arange(0,10)
y=list(map(f,x))
plt.bar(x,y)
plt.title("Hypergeometric distribution")
plt.show()
3.4 泊松分布
如果在伯努利试验中,试验成功的概率非常小,小到几乎每次试验都已失败告终。尽管成功的概率极其小,只要试验的次数足够多,伯努利试验总会成功几次的。确实,已知二项分布,那么当重复伯努利试验的次数,成功的概率时,期望为,即平均有三次试验成功。
这意味着,只要试验的次数足够多,试验成功次数非零的概率也不会那么小。那么我们更为精确地给出二项分布的概率密度函数
那么的概率为
很明显,计算的代价十分昂贵。但若用近似值,易得值为,但正确的值约为,因此,这是非常粗略的近似。
可以用泊松小数定律来解决这个问题:对于,
啊这,这个定律非常神妙,这俺就不证明了(因为俺证不出来~)
那么这个概率分布因此被称为泊松分布,记为,它的概率分布函数为
它的期望和方差都是
下面通过matplotlib为读者展示泊松分布的概率分布图
lamb=10
def f(x):
return np.e**(-lamb)*lamb**x/perm(x,x)
x=np.arange(0,20)
y=list(map(f,x))
plt.bar(x,y)
plt.title("Poisson distribution")
plt.show()
3.5 负二项分布
让我们考虑试验成功概率为的伯努利试验。直到第次试验成功时,试验失败的次数服从负二项分布,记为
既然在次试验中要有次试验成功,那么第次试验总是成功的。此外,在前次试验中有次试验失败的组合数为。将这些组合到一起,可得的概率密度函数
的期望和方差为:
下面通过matplotlib为读者展示负二项分布的概率分布图
k=5
p=0.4
def f(x):
return comb(k+x-1,x)*p**k*(1-p)**x
x=np.arange(0,30)
y=list(map(f,x))
plt.bar(x,y)
plt.title("Negative binomial distribution")
plt.show()
3.6 几何分布
让我们考虑试验成功概率为的伯努利试验。直到第一次试验成功时,试验失败的次数服从几何分布,即时的负二项分布,因此它的概率密度函数为
将代入,可得它的矩量母函数为
对其求导得
下面通过matplotlib为读者展示几何分布的概率分布图
p=0.3
def f(x):
return p*(1-p)**x
x=np.arange(0,10)
y=list(map(f,x))
plt.bar(x,y)
plt.title("Geometric distribution")
plt.show()