直观地说,“热身后有 214 个不同的过渡”的警告是什么意思。意思是?
我知道获得的样本是无用的,增加adapter_delta和max_treedepth以及降低步长会有所帮助。此外,重新参数化也有帮助。
我想知道当发生发散过渡时实际发生了什么。
在 Stan 参考手册的第 14.5 节发散转换中,它指出“在哈密顿量发散后沿模拟轨迹的位置将永远不会被选为 MCMC 算法的下一次绘制”。这是否意味着在发散过渡之后,随后的过渡都被拒绝了?因此最后接受的提案(和当前状态)将在后验样本中多次返回?
我注意到,在使用分层模型时,我得到了许多不同的转换(这在互联网上的博客中有很好的记录),但我的一些参数(似乎是)收敛,而其他参数则不是。但是,在联合模型中,每个命题都应该是一个参数向量,如果这个建议在发散转换后被拒绝(以及之后的所有其他人,如上所述),所有边际分布不应该是发散的吗?
诊断图似乎表明,说已经收敛并且没有。我的一个例子是标准偏差为零。我认为这意味着在第一个提案之后存在分歧的过渡,因此所有其他提案被拒绝,因此,在其返回的样本中只有一个唯一值。但是,我的样本曾经(或看起来)很好。但建议不应该在第一次提案后被拒绝,因此sample 也应该只有一个唯一值。
现在考虑一个只有一个参数的模型。假设我的初始命题远离后验密度高的区域,并假设这条链永远不会到达后验密度高的区域。这是当 Stan 返回消息说“热身后有 x 个不同的转换。”时吗?既然它可以看到 MCMC 代码没有从感兴趣的后验分布中采样“足够”?
我认为这种直觉是错误的一个原因是因为我过去运行过没有收敛的 MCMC 代码(仅仅是因为没有运行足够的迭代)并且我没有收到此错误消息。
任何人都可以直观地解释过渡分歧时发生的情况吗?如果提案最终到达高后密度区域会发生什么?是否有可能找到 MCMC 采样器发散的位置,然后丢弃样本直到它们再次收敛?
如果哈密顿量发散沿着模拟轨迹的位置将永远不会被接受。如果我有 214 个发散过渡,这一定意味着我进入了一个发散阶段,然后切换回收敛阶段,然后又切换到另一个发散阶段。否则,我应该只有一个发散过渡。这很难理解,因为根据手册,在轨迹发散后不接受任何提案,所以在轨迹发散后,它不应该一直发散到最后吗?另外,为什么 MCMC 代码不只是在找到发散轨迹后终止?x 个不同的跃迁如何累积?