作者:长行

时间:2019.03.21


统计学解释

二项随机变量是指每次试验只会有两种可能结果的试验,我们定义为事件A和事件A的对立事件。此时,在n次重复试验中,事件A发生的次数X服从二项分布(链接),次数X等于k的概率如下:

实现代码

下面我们来用Python实现两种功能:其一为计算次数X等于k的概率,其二为计算次数X大于等于k的概率。

1.次数X等于k的概率

def binomial_distribution(p,n,x):
c=math.factorial(n)/math.factorial(n-x)/math.factorial(x)
return c*(p**x)*((1-p)**(n-x))
binomial_distribution(0.25,100,25)

结果:

0.09179969176683679

其中p为事件A发生的概率,n为重复试验的次数,x为次数X。我们以“将一套100个四选一选择题蒙到25分”的概率作为例子测试:

2.次数X大于k的概率

def binomial_distribution_morethan(p, n, x):
count = 0
for i in range(x, n, 1):
c = math.factorial(n) / math.factorial(n - i) / math.factorial(i)
count += c * (p ** i) * ((1 - p) ** (n - i))
return count
binomial_distribution_morethan(0.25,100,30)

结果:

0.14954104656657347

其中p为事件A发生的概率,n为重复试验的次数,x为次数X。我们以“将一套100个四选一选择题蒙到30分以上”的概率作为例子测试:

实际应用

二项随机变量的概率计算方法可以应用到各种二项随机变量的情形中,例如:计算随机抽取一组居民样本其中观看某电视节目的人数;随机抽取一组选民样本,其中支持某候选人的人数。