【问题标题】:Walkers in emcee not exploring parameter space?主持人中的步行者不探索参数空间?
【发布时间】:2017-08-01 23:31:40
【问题描述】:

首先:对缺少代码和相当模糊的描述表示歉意;我使用的代码有 1000 多行,我不确定它的哪些部分对发布有帮助。

我正在使用 emcee 进行一些贝叶斯参数估计。我的代码使用 50 个 walker,每个都进行 600 次迭代(没有细化),但无论出于何种原因,walker 链似乎收敛得相当快。虽然我启动了 50 个随机分布在 -1 和 1 之间的步行者,但他们并未探索整个参数空间,但似乎很快收敛(通常围绕真实参数值)。图片如下:

实际参数值为 .6 和 .4

实际参数值为-1。和 1.

非常感谢任何建议!

【问题讨论】:

  • 不幸的是,没有一些代码几乎不可能对此发表评论。

标签: python mcmc emcee


【解决方案1】:

这就是他们应该做的 - 快速收敛到高后密度区域。另一个问题是,对于双峰密度,emcee 会产生次优建议,这会减慢收敛速度。这可能是在您的情况下发生的情况,并且在两个示例的第二张图中都可以看到。

emcee 的作者建议(我上次阅读)通过他们已经实施的并行回火(参见文档)来解决这个问题。但是当模式之间的密度相差几个数量级时,它们的实现(我上次检查)将无法工作。

无论如何,多模式后验是所有 MCMC 的祸根,有很多尝试解决这个问题,但没有一个被普遍接受(欢迎来到前沿)。您将不得不探索几个选项,可能超出emcee,才能找到适合您的选项。

【讨论】:

    猜你喜欢
    • 2020-04-21
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    相关资源
    最近更新 更多