use*_*890 6 python beta statistics scipy binomial-cdf
我一直在寻找一种将数据拟合到 beta 二项式分布并估计 alpha 和 beta 的方法,类似于 VGAM 库中的 vglm 包的方式。我还没有找到如何在 python 中做到这一点。有一个 scipy.stats.beta.fit() ,但没有用于 beta 二项式分布的内容。有没有办法做到这一点?
我还没有看到 Python 中 beta 二项式的估计。
如果你只是想估计参数,那么你可以使用 scipy.optimize 来最小化对数似然函数,你可以自己编写或在互联网搜索后复制代码。
您可以进行子类化rv_discrete以使用 scipy.stats.distributions 的框架,但 scipy 中的离散分布没有方法fit。
如果你想使用 statsmodels,那么你可以继承GenericLikelihoodModel http://statsmodels.sourceforge.net/devel/dev/ generated/statsmodels.base.model.GenericLikelihoodModel.html ,它使用 scipy.optimize 但定义了我们需要的大部分内容最大似然估计。但是,您需要编写对数似然函数的代码。这将提供通常的最大似然结果,例如参数和各种测试的标准误差。
如果您需要 beta 二项式回归,那么 R 包 gamlss 中使用的均值方差参数化会更常见,并且可以重用函数link来将参数限制在有效域中。
作为一个相关示例:这是 GenericLikelihoodModel 原型的要点,它导致对 statsmodels 的 Beta 回归提出拉取请求:http://gist.github.com/brentp/089c7d6d69d78d26437f
| 归档时间: |
|
| 查看次数: |
3600 次 |
| 最近记录: |