使用pymc解释MCMC运行的后验分布

时间:2015-02-13 14:10:23

标签: python regression bayesian pymc

pymc很棒!它真的为MCMC开辟了我的世界,所以感谢您对它进行编码。

目前我正在使用pymc通过将函数拟合到观察值来估计一些参数和置信区间。对于大多数观察集,参数的后验分布(pymc.Matplot.plot(MCMCrun))形状很好,类似于高斯,并且某个参数(在这种情况下为参数a)的最佳估计和不确定性来自来自:

param_estimate = MCMCrun.a.stats()['mean']

param_estimate = MCMCrun.a.stats()['standard deviation']

和来自

的置信区间

lower,upper = scipy.stats.mstats.mquantiles(MCMCrun.a.trace(), [0.025, 0.975])

然而在某些情况下,后验分布看起来像 Posterior distribution fro parameter A and B.

正如你所看到的A,不应该低于零,在我之前我将A和B都设置为Uniform,正面并覆盖足够的合理参数空间。我的问题是:

解释A的后验分布的正确方法是什么?

采用迹线的平均值现在将产生一个不在后验分布峰值的值,因此不具有真正的代表性。我应该继续运行更多迭代吗?或者这是我得到的A的最佳估计,即它在0到7之间?

1 个答案:

答案 0 :(得分:1)

后验分布总结了参数的后验不确定性,条件是您使用模型的数据集,当然还有模型结构本身。从后验,你可以提取一个集中趋势(平均值或中位数)和后可信区间的度量,可以从适当的后验分位数中获得。