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

已知mu和alpha,如何在Python中计算负二项分布CDF?

负二项分布参数转换(mu/alpha → SciPy nbinom的n/p)

不同工具对负二项分布的参数化方式存在差异:statsmodels用均值mu和离散参数alpha定义,而SciPy的nbinom则用成功次数n和单次成功概率p定义。两者的转换公式如下:

  • 计算n:n = 1 / alpha
  • 计算p:p = 1 / (1 + alpha * mu)

参数转换逻辑验证

statsmodels中负二项分布的方差为 mu + alpha * mu²,SciPy的nbinom方差为 n*(1-p)/p²,且其均值满足 n*(1-p)/p = mu。联立推导过程:

  1. 由均值公式得 n*(1-p) = mu*p,代入方差公式可得 mu + alpha*mu² = mu/p
  2. 两边除以非零的mu,整理后得到 p = 1/(1 + alpha*mu)
  3. 将p代入均值公式,化简后即可得到 n = 1/alpha

代码示例

已知mu=7.8,alpha=0.2,计算X≤9的累积概率:

from scipy.stats import nbinom

mu = 7.8
alpha = 0.2

# 转换为SciPy nbinom所需参数
n = 1 / alpha
p = 1 / (1 + alpha * mu)

# 计算P(X ≤9)的累积概率
cumulative_prob = nbinom.cdf(k=9, n=n, p=p)
print(cumulative_prob)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:17:34