适合beta二项式

时间:2015-02-06 22:19:59

标签: python statistics scipy beta binomial-cdf

我一直在寻找一种方法来将数据拟合到beta二项分布并估算alpha和beta,类似于VGAM库中vglm包的方式。我无法在python中找到如何做到这一点。有一个scipy.stats.beta.fit(),但没有用于beta二项分布。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:4)

我还没有看到Python中对beta-binomial的估计。

如果您只想估计参数,那么您可以使用scipy.optimize来最小化您自己编写的对数似然函数或在互联网搜索后复制代码。

您可以继承rv_discrete以使用scipy.stats.distributions的框架,但scipy中的离散分布没有fit方法。

如果你想使用statsmodels,那么你可以使用scipy.optimize子类GenericLikelihoodModel http://statsmodels.sourceforge.net/devel/dev/generated/statsmodels.base.model.GenericLikelihoodModel.html,但定义了我们最大似然估计所需的大部分内容。 但是,您需要编写对数似然函数的代码。这将提供通常的最大似然结果,例如参数和各种测试的标准误差。

如果您需要beta-binomial回归,则R包gamlss中使用的均值方差参数化会更常见,并且可以重用link函数来约束参数在有效域中。< / p>

作为一个相关示例:这是GenericLikelihoodModel原型的要点,它导致对statsmodel的Beta-Regression的拉取请求:http://gist.github.com/brentp/089c7d6d69d78d26437f

答案 1 :(得分:0)

这个python模块提供了https://github.com/lfiaschi/fastbetabino