pymc – 多级模型中的奇数相关后验迹图

我正在尝试使用简单的多级模型进行PyMC3.当使用伪造和真实数据时,随机效果分布的轨迹彼此移动(见下图)并且看起来是相同轨迹的偏移.这是NUTS的预期工件还是模型问题的指示?

这是关于实际数据的跟踪图:

这是模型的IPtyhon notebook和用于创建虚假数据的函数.这是corresponding gist.

最佳答案 我希望这可以根据alpha上的组平均分布来实现.如果你考虑一下,如果群体意味着转移它会影响所有alphas到相同程度.你可以通过对一些alphas进行组均值跟踪的散点图来确认这一点.对于大多数采样器而言,分层模型通常很难,因为组均值和方差与各个RV之间存在这些复杂的相互依赖关系.有关详细信息,请参见
http://arxiv.org/abs/1312.0906.

在你的特定情况下,跟踪对我来说看起来并不太令人担忧,特别是在1000次迭代之后.所以你可能只是放弃那些作为老化,并记住你有一些采样噪声,但可能总体上是正确的.此外,您可能希望执行后验预测检查,以查看模型是否可以重现您感兴趣的数据中的模式.

或者,您可以尝试使用pm.find_hessian()来估计更好的粗体,例如https://github.com/pymc-devs/pymc/blob/3eb2237a8005286fee32776c304409ed9943cfb3/pymc/examples/hierarchical.py#L51

我还发现这篇文章看起来很有趣(还没有读过,但在PyMC3中实现可能很酷):arxiv-web3.library.cornell.edu/pdf/1406.3843v1.pdf

点赞