如何用 python 计算二项式累积密度函数

How to calculate binomial cumulative density function with python

我有以下二项分布:

去年,布朗克斯第 12 社区委员会和第 11 社区委员会的新建筑数量为 347 座。在这 347 座中,有 107 座发生在第 12 社区委员会。

如果我们随机 select 347 座新建筑中的 70 座,概率分布为:

X ~ B (70, 107/ 347)

如果我想知道这 70 座随机 select 新建筑中有 20 座出现在社区委员会 12 中的概率,我将使用 scipy.stats 按以下方式进行:

binom.pmf (20, 70, 0.3083573487)                                                                                                                                                                  
0.09646726155763652

如果我想知道在这 70 座随机 selected 建筑中,少于或等于 20 座建筑出现在社区委员会 12 中的概率,我将使用 scipy.stats 按以下方式计算:

binom.cdf (20, 70, 0.3083573487)                                                                                                                                                                  
0.39547679625297977

如果我想知道这 70 座随机 selected 建筑中只有不到 20 座建筑出现在社区委员会 12 中的概率,我将使用 scipy.stats 执行以下方法:

binom.cdf (20, 70, 0.3083573487, loc = 1)                                                                                                                                                         
0.2990095346953431

我遇到的问题是找出随机 selected 的 70 栋新建筑中有 20 栋或更多建筑出现在社区委员会 12 中的概率。我知道结果应该是 0.60452320375,但是我找不到获得此结果的 scipy.stats 命令。

任何帮助,不胜感激。

谢谢。

由于概率分布的cdf(x)是从负无穷大到x的积分,所以x到正无穷大的积分是1-cdf(x)。所以对于你的问题,它只是:

probabilityGreaterThan20inCommunity12 = 1 - binom.cdf (20, 70, 107./347)