我正在寻找与Python3中的VGAM::pbetabinom() R包相当的版本,我尝试使用包,但是它没有给出相同的结果。例如,在R中,如果我运行以下命令:
VGAM::pbetabinom(q = 884.0, size = 2425, prob = 0.374491636284026, rho = 9.192015e-05)
I get the following probability result:0.1849791
但是当我用这个包
from scipy.stats import betabinom
betabinom.cdf(884.0, 2425, 0.374491636284026, 9.192015e-05)
then i get the following result:0.00018973589125312118
有没有人知道我是否能在Python中找到一个可以得到一致结果的包?非常感谢你抽出时间。
发布于 2022-07-08 09:29:00
这是因为这两个实现使用了不同的参数化。
Beta -二项分布通常由Beta分布的两个形状参数a和b来表示.但是VGAM使用prob=a/(a+b)和rho=1/(1+a+b)。
下面是如何获得相同结果的方法:
from scipy.stats import betabinom
prob = 0.374491636284026
rho = 9.192015e-05
a = prob * (1/rho - 1)
b = 1/rho - 1 - a
betabinom.cdf(884.0, 2425, a, b)编辑
VGAM还提供了用a和b参数化的Beta-二项式分布:
size <- 10
a <- 2; b <- 4
library(VGAM)
pbetabinom.ab(5, size, a, b)
# 0.8181818您还可以按以下方式使用SuppDists包:
library(SuppDists)
pghyper(5, -a, size, -a-b)
# 0.8181818https://stackoverflow.com/questions/72904987
复制相似问题