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])
然而在某些情况下,后验分布看起来像
正如你所看到的A,不应该低于零,在我之前我将A和B都设置为Uniform,正面并覆盖足够的合理参数空间。我的问题是:
解释A的后验分布的正确方法是什么?
采用迹线的平均值现在将产生一个不在后验分布峰值的值,因此不具有真正的代表性。我应该继续运行更多迭代吗?或者这是我得到的A的最佳估计,即它在0到7之间?
答案 0 :(得分:1)
后验分布总结了参数的后验不确定性,条件是您使用模型的数据集,当然还有模型结构本身。从后验,你可以提取一个集中趋势(平均值或中位数)和后可信区间的度量,可以从适当的后验分位数中获得。