超几何分布描述有限总体中不放回抽样时某类元素出现次数的概率分布,核心参数为总体大小M、成功类数量n、抽样数N及成功次数k;可用scipy.stats.hypergeom计算PMF或手动实现,并支持随机抽样模拟。

超几何分布描述的是:从有限总体中不放回地抽取若干样本时,其中某一类元素出现的次数的概率分布。Python 中可以用 scipy.stats.hypergeom 直接计算,也可以手动实现概率质量函数(PMF)。
用 scipy 实现超几何分布
最常用、最稳妥的方式是调用 SciPy 提供的 hypergeom 类,它已优化并支持批量计算。
参数说明:
- M:总体大小(比如罐子里总共有多少个球)
- n:总体中“成功类”元素个数(比如红球有多少个)
- N:抽取样本数(比如摸出几个球)
- k:我们关心“抽中多少个红球”(即成功次数)
示例代码:
立即学习“Python免费学习笔记(深入)”;
from scipy.stats import hypergeom
import numpy as np
<h1>总体 M=50,其中 n=10 个是目标类(如次品),抽 N=5 个</h1><p>M, n, N = 50, 10, 5</p><h1>计算 k=0,1,2,3,4,5 时的概率</h1><p>k = np.arange(0, N + 1)
pmf_values = hypergeom.pmf(k, M, n, N)</p><p>for k_val, prob in zip(k, pmf_values):
print(f"P(X = {k_val}) = {prob:.6f}")</p>登录后复制
手动实现 PMF(加深理解)
超几何分布的 PMF 公式为:
P(X = k) = C(n, k) × C(M − n, N − k) / C(M, N)
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~