首先:对缺乏代码和相当模糊的描述道歉;我正在使用的代码长达1000多行,我不确定它的哪些部分会有用。
我正在使用主持人做一些贝叶斯参数估计。我的代码使用50个步行器,每个步行器进行600次迭代(没有细化),但无论出于何种原因,助行器链似乎很快收敛。当我在-1和1之间随机分布时启动50个步行者时,他们不会探索整个参数空间,但似乎快速收敛(通常围绕真实的参数值)。图片如下:
实际参数值为.6和.4
实际参数值为-1。和1。
非常感谢任何建议!
答案 0 :(得分:0)
这就是他们应该做的事情 - 快速收敛到高后密度区域。另一个问题是,对于双峰密度,主持人会产生次优的提议,这会减慢收敛速度。这可能是您遇到的情况,并且在两个示例的第二个图中都可以看到。
emcee
的作者建议(我上次阅读)通过并行调节(参见文档)来解决这个问题。但是当模式之间的密度相差几个数量级时,它们的实现(我上次检查时)将无效。
无论如何,多模式后卫是所有MCMC的祸根,并且有很多尝试来解决这个问题,没有一个被普遍接受(欢迎来到最前沿)。您将不得不探索几个选项,可能超出emcee
,以找到适合您的选项。