PyMC中的Beta分布式线性模型

时间:2013-12-19 17:18:04

标签: pymc

了解本应该提出的问题,而不是旧的Google网上论坛, 我一直在寻找在PyMC中参数化Beta分布式线性模型,Chris Fonnesbeck建议将其作为:

“只是对β的重新参数化,其中\ 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)$$

并使用gamma-distributed \ phi:

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

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

由于 亚伦

1 个答案:

答案 0 :(得分:0)

这取决于您希望线性模型如何影响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