您的问题是,拟合beta二项式模型与拟合具有等于比率的值的Beta模型并不相同.我将在这里用bbmle软件包进行说明,该软件包将适合与VGAM相似的模型(但我更熟悉).
预备赛:
library("VGAM") ## for dbetabinom.ab
x
201,865,573,188,450,229,629,708,250,508)
y
library("bbmle")
拟合β二项式模型:
mle2(y~dbetabinom.ab(size=x+y,shape1,shape2),
data=data.frame(x,y),
start=list(shape1=2,shape2=30))
## Coefficients:
## shape1 shape2
## 1.736046 26.871526
这或多或少与您引用的VGAM结果完全吻合.
现在,使用相同的框架来适应Beta模型:
mle2(y/(x+y) ~ dbeta(shape1,shape2),
data=data.frame(x,y),
start=list(shape1=2,shape2=30))
## Coefficients:
## shape1 shape2
## 1.582021 24.060570
这符合您的Python测试版拟合结果. (我确定如果您使用VGAM来适应Beta,您也会得到相同的答案.)