Python 用pymc解释MCMC运行的后验分布
Python 用pymc解释MCMC运行的后验分布,python,regression,bayesian,pymc,Python,Regression,Bayesian,Pymc,pymc太棒了!它真的为MCMC打开了我的世界,所以感谢您编写它 目前,我正在使用pymc通过将函数拟合到观测值来估计一些参数和置信区间。对于大多数观测集,参数的后验分布(pymc.Matplot.plot(MCMCrun))形状良好,类似高斯分布,特定参数(本例中为参数a)的最佳估计和不确定性来自: param_estimate=MCMCrun.a.stats()['mean'] param_estimate=MCMCrun.a.stats()[“标准偏差”] 和置信区间 lower,uppe
pymc
太棒了!它真的为MCMC打开了我的世界,所以感谢您编写它
目前,我正在使用pymc
通过将函数拟合到观测值来估计一些参数和置信区间。对于大多数观测集,参数的后验分布(pymc.Matplot.plot(MCMCrun)
)形状良好,类似高斯分布,特定参数(本例中为参数a
)的最佳估计和不确定性来自:
param_estimate=MCMCrun.a.stats()['mean']
param_estimate=MCMCrun.a.stats()[“标准偏差”]
和置信区间
lower,upper=scipy.stats.mstats.mquantiles(MCMCrun.a.trace(),[0.025,0.975])
然而在某些情况下,后验分布如下
正如你们所看到的,A不应该低于零,在我之前的文章中,我将A和B都设置为均匀的,正的,并且覆盖足够的合理参数空间。我的问题是:
什么是解释A的后验分布的正确方法?
获取轨迹的平均值将产生一个不在后验分布峰值的值,因此不具有真正的代表性。我应该继续运行更多的迭代吗?或者这是我将得到的最佳估计值,即它在0到~7之间?后验分布总结了参数中的后验不确定性,这取决于适合模型的数据集,当然还有模型结构本身。从后验数据中,可以提取中心趋势(平均值或中位数)的度量值和后验可信区间,这可以从后验数据的适当分位数中获得