You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中应用Poisson-Gamma分布(负二项分布)?

用负二项分布实现Poisson-Gamma混合分布的概率计算

核心结论

Poisson-Gamma混合分布(即Poisson参数λ服从Gamma分布的边缘分布)本质就是负二项分布(Negative Binomial Distribution),不需要自定义复杂的混合分布逻辑,直接用SciPy内置的nbinom类就能完成计算。

参数对应关系

Poisson-Gamma混合需要两个关键参数:

  1. Gamma分布的形状参数α(决定分布的离散程度)
  2. Gamma分布的均值μ_λ(即原Poisson分布参数λ的期望,对应你原来的mu_X=1.7)

转换为SciPy中nbinom的参数(注意SciPy的nbinom定义是成功n次前出现k次失败的概率):

  • n = α(Gamma的形状参数)
  • p = α / (α + μ_λ) (由负二项分布均值公式μ = n*(1-p)/p推导而来,确保混合后的分布均值等于μ_λ)

代码实现

假设你指定Gamma的形状参数α=2(可根据实际场景调整),代码如下:

from scipy.stats import nbinom

# Gamma分布参数:形状α、均值μ_λ(对应原Poisson的mu_X)
alpha = 2
mu_lambda = 1.7

# 转换为SciPy nbinom的参数
nbinom_n = alpha
nbinom_p = alpha / (alpha + mu_lambda)

# 计算X=1、2、3的概率并求和
one = nbinom.pmf(1, nbinom_n, nbinom_p)
two = nbinom.pmf(2, nbinom_n, nbinom_p)
three = nbinom.pmf(3, nbinom_n, nbinom_p)

from_1_to_3 = one + two + three
print(from_1_to_3)

关于负二项分布的参数定义疑问

  • 无需额外考虑“成败次数”的逻辑:SciPy的nbinom已经封装了负二项分布的概率计算,只要参数对应正确,就能直接得到Poisson-Gamma混合分布的结果。
  • 若对参数定义有混淆:只需记住我们的目标是让混合分布的均值等于原Poisson的期望μ_λ,按照上面的参数转换公式设置n和p即可,不必纠结不同定义的差异。

内容的提问来源于stack exchange,提问作者Drankenkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:16:25