📅  最后修改于: 2023-12-03 15:11:41.700000             🧑  作者: Mango
超几何分布是指从有限个物件中抽出 $n$ 个物件,其中有 $m$ 个是特定物件的概率分布。超几何分布可以用于一些随机抽样的场景,例如从一批产品中随机抽取样本并检测其中有多少次合格,或者从一批人员中随机抽取样本并检测其中有多少人有某种特征。
超几何分布的公式如下:
$$P(X=k)=\frac{\binom{m}{k}\binom{N-m}{n-k}}{\binom{N}{n}}$$
其中,$X$ 表示抽到特定物件的次数,$k$ 表示 $X$ 的取值,$N$ 表示总物件数,$m$ 表示特定物件的数量,$n$ 表示抽取的次数。
Python 中提供了一个名为 hypergeom
的超几何分布模块,使用该模块可以轻松计算超几何分布的概率。
from scipy.stats import hypergeom
可以使用 pmf
方法计算超几何分布的概率。
'''
计算在共 20 个球中,5 个是红球,从中抽取 10 个球,其中有 3 个红球的概率
'''
hypergeom.pmf(3, 20, 5, 10)
运行结果如下:
0.3206639709384756
可以使用 cdf
方法计算超几何分布的累积概率。
'''
计算在共 20 个球中,5 个是红球,从中抽取 10 个球,其中有不超过 3 个红球的概率
'''
hypergeom.cdf(3, 20, 5, 10)
运行结果如下:
0.6241214533212849