首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python3中等效于R::pbetabinom()函数

在python3中等效于R::pbetabinom()函数
EN

Stack Overflow用户
提问于 2022-07-07 22:49:03
回答 1查看 48关注 0票数 1

我正在寻找与Python3中的VGAM::pbetabinom() R包相当的版本,我尝试使用包,但是它没有给出相同的结果。例如,在R中,如果我运行以下命令:

代码语言:javascript
复制
VGAM::pbetabinom(q = 884.0, size = 2425, prob = 0.374491636284026, rho = 9.192015e-05)
I get the following probability result:

0.1849791

但是当我用这个包

代码语言:javascript
复制
from scipy.stats import betabinom
betabinom.cdf(884.0, 2425, 0.374491636284026, 9.192015e-05)
then i get the following result:

0.00018973589125312118

有没有人知道我是否能在Python中找到一个可以得到一致结果的包?非常感谢你抽出时间。

EN

回答 1

Stack Overflow用户

发布于 2022-07-08 09:29:00

这是因为这两个实现使用了不同的参数化。

Beta -二项分布通常由Beta分布的两个形状参数a和b来表示.但是VGAM使用prob=a/(a+b)和rho=1/(1+a+b)。

下面是如何获得相同结果的方法:

代码语言:javascript
复制
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-二项式分布:

代码语言:javascript
复制
size <- 10
a <- 2; b <- 4

library(VGAM)
pbetabinom.ab(5, size, a, b)
# 0.8181818

您还可以按以下方式使用SuppDists包:

代码语言:javascript
复制
library(SuppDists)
pghyper(5, -a, size, -a-b)
# 0.8181818
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72904987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档