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之间?
最佳答案
后验分布总结了参数中的后验不确定性,条件是要使模型适合您的数据集,当然还要取决于模型结构本身。从后验中,您可以提取中央趋势(均值或中位数)和后验可信区间的量度,这可以从后验的适当分位数获得。