【问题标题】:Beta-distributed linear model in PyMCPyMC 中的 Beta 分布线性模型
【发布时间】:2013-12-20 05:09:39
【问题描述】:

在这里而不是在旧的 Google 网上论坛上回答本应是一个问题, 我一直希望在 PyMC 中参数化一个 Beta 分布的线性模型,Chris Fonnesbeck 建议这样做:

"只是对 beta 的重新参数化,其中 \alpha = \mu \phi 和 \beta = (1-\mu) \phi。 所以,你所需要的只是: new_beta = Lambda('new_beta', lambda x=x, mu=mu, phi=phi: beta_like(x, mu*phi, (1-mu)*phi))"

这很好——我的下一个问题是在哪里插入线性模型组件,我认为应该在 \mu 上,例如:

$$\mu = \exp(b_0+b_1x)$$

并且具有伽马分布的 \phi:

phi = Gamma('phi', alpha=0.001, beta=0.001)

这是正确的吗?注意我们在这里使用 PyMC2

谢谢 亚伦

【问题讨论】:

    标签: pymc


    【解决方案1】:

    这取决于您希望线性模型如何影响 beta 模型。正如您在此处描述的mu 一样,它不是 beta 的平均值,它只是平均值的归一化常数。如果您希望将 alpha 和 beta 描述为 beta 的均值和方差,则类似于以下内容:

    alpha = mu * (mu*(1-mu)/var - 1)
    beta = (1 - mu) * (mu*(1-mu)/var - 1)
    

    也许更简单的方法是使用平均值 mu 和样本大小 nu:

    alpha = mu * nu
    beta = (1-mu) * nu
    

    【讨论】:

    • 那太好了 - 我会试一试并报告。非常感谢!
    猜你喜欢
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2014-07-10
    • 2015-11-10
    • 1970-01-01
    • 2014-01-10
    相关资源
    最近更新 更多