超几何分布python代码实现


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

超几何分布python代码实现

超几何分布描述的是:从有限总体中不放回地抽取若干样本时,其中某一类元素出现的次数的概率分布。Python 中可以用 scipy.stats.hypergeom 直接计算,也可以手动实现概率质量函数(PMF)。

用 scipy 实现超几何分布

最常用、最稳妥的方式是调用 SciPy 提供的 hypergeom 类,它已优化并支持批量计算。

参数说明:

  • M:总体大小(比如罐子里总共有多少个球)
  • n:总体中“成功类”元素个数(比如红球有多少个)
  • N:抽取样本数(比如摸出几个球)
  • k:我们关心“抽中多少个红球”(即成功次数)

示例代码:

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)

稿定抠图 稿定抠图

AI自动消除图片背景

稿定抠图 80 查看详情 稿定抠图

其中 C(a,b) 是组合数,即 “a 选 b”。注意:只有当 max(0, N − (M − n)) ≤ k ≤ min(n, N) 时概率非零。

手动实现(使用 math.comb,Python 3.8+):

import math
<p>def hypergeom_pmf(k, M, n, N):
if k < 0 or k > n or k > N or N - k > M - n:
return 0.0
numerator = math.comb(n, k) * math.comb(M - n, N - k)
denominator = math.comb(M, N)
return numerator / denominator if denominator != 0 else 0.0</p><h1>示例:同上参数</h1><p>M, n, N = 50, 10, 5
for k in range(N + 1):
print(f"P(X = {k}) = {hypergeom_pmf(k, M, n, N):.6f}")</p>

生成随机样本(模拟抽样过程)

除了计算概率,你可能还想模拟多次不放回抽样结果:

import numpy as np
<p>def hypergeom_rvs(M, n, N, size=1):</p><h1>创建总体:n 个 1(成功),M-n 个 0(失败)</h1><pre class='brush:python;toolbar:false;'>population = [1] * n + [0] * (M - n)
samples = []
for _ in range(size):
    # 不放回随机抽 N 个
    draw = np.random.choice(population, size=N, replace=False)
    samples.append(draw.sum())  # 统计抽中多少个 1
return np.array(samples)

模拟抽 1000 次,每次抽 5 个

results = hypergeom_rvs(M=50, n=10, N=5, size=1000) print("模拟频次统计:", np.bincount(results, minlength=6))

注意事项与常见错误

使用时容易忽略的细节:

  • 确保 k 的取值范围合法:不能超过 n 或 N,也不能导致另一类不够抽(如 N−k > M−n)
  • SciPy 的 hypergeom 默认对非法 k 返回 0,但手动实现需自己判断边界
  • 大数组合数(如 C(10000, 500))可能导致整数溢出或浮点精度问题,此时建议用对数计算或 scipy 的 logpmf
  • 若需高精度或超大参数,可改用 scipy.stats.hypergeom.logpmf 避免下溢

基本上就这些。scipy 方案适合绝大多数场景;手动实现有助于理解原理,也便于嵌入无外部依赖的轻量环境。

以上就是超几何分布python代码实现的详细内容,更多请关注其它相关文章!


# app  # 不推广的网站有用吗  # 可以用  # 浮点  # 几个  # 迭代  # 合数  # 的是  # 中不  # 多少个  # 抠图  # 放回  # python  # seo怎样优化页面  # 深圳网站建设方案商  # 丽江推广营销方案  # 巴基斯坦做seo  # pos机网站建设方案  # 深圳福田seo优化公司  # 金华网站建设详细教程图  # 淮安抖音关键词排名哪家正规  # 玉溪建设招标网站查询 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 个人所得税办理入口 个人所得税综合所得年度汇算入口  抖音如何进行蓝V认证 抖音企业号申请所需资料与流程  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  教育查询官方网站入口 教育个人档案查询免费官网  C++ cast类型转换总结_C++ reinterpret_cast与const_cast的使用  BunnyStream TUS视频上传指南:解决401认证错误与参数配置  QQ网页版官方账号登录入口 QQ网页版网页版入口快速导航  优酷官网登录入口电脑版 优酷官网网址入口  《东方财富》条件单关闭方法  繁花漫画使用教程  抖音猜你想搜能说明对方搜过吗  哈尔滨城市通昵称修改方法  修复UI元素交互障碍:从“开始”按钮到信息框的平滑过渡实现  食品生产用水只要符合国家规定的生活饮用水卫生标准就可以吗  Flash AS3.0简易相册制作  圆通快递官方入口不需要登录 在线查询入口快速查询  怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  word邮件合并怎么插入个性化图片_Word邮件合并插入个性化图片方法  苹果11如何更换iCloud账号_苹果11账号切换的具体步骤  苹果手机怎么合并照片_苹果手机合并多张照片的操作方法  J*a中逻辑运算符如何使用_逻辑与或非的基础用法讲解  Win11怎么开启HDR_Windows 11显示器画质增强设置  在J*a中如何实现在线问答与评分系统_问答评分项目开发方法说明  服装短视频如何起号推广?服装短视频起号推广有什么要求?  如何解决Casbin日志与应用日志不统一的问题,使用casbin/psr3-bridge实现无缝集成  微信客户端如何找回密码_微信客户端忘记密码找回方法  Python测试中模块导入路径解析的最佳实践  win11怎么设置默认终端为Windows Terminal Win11替代CMD和PowerShell【技巧】  CSS如何在页面中引入重置样式_使用Normalize.css或Reset.css统一浏览器默认样式  Retrofit根路径POST请求:@POST("/") 的应用与解析  智学网成绩单查询系统网_智学网学生平台登录  谷歌浏览器官网地址整理_谷歌浏览器新版直连2026稳定访问  不吃碳水化合物是健康减肥的好办法吗  Lar*el 中高效执行多列更新:单次查询实现  《环球网校》设置报考省市方法  b站怎么用微信登录_b站微信登录方法  lol小红书怎么|直播|?lol小红书|直播|是什么意思?  创客贴登录页面入口 创客贴网页版最新网址链接  视频转蓝光m2ts格式  126邮箱申请入口官网_126邮箱注册免费登录2025  J*aScript模拟悬停与点击:自动化网页动态元素交互指南  c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化  猫眼电影app如何筛选支持退改签的影院_猫眼电影退改签影院筛选方法  VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略  《搜书吧》阅读书籍方法  解决异步Python机器人中同步操作的阻塞问题  PHP页面重载时变量值不重置的实现方法  CSS布局中意外顶部空白的调试与解决:深入理解padding-top  阿里云共享相册入口在哪  MySQL多重关联查询:利用别名高效获取同一表的多个关联字段 

 2025-12-19

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.