【问题标题】:How to evaluate the log-posterior in pymc3如何评估 pymc3 中的对数后验
【发布时间】:2017-08-07 13:35:42
【问题描述】:

我想在样本点和一些手动输入的点(例如,合成数据集的真实参数值点)处评估对数后验(理想情况下分别是对数先验和对数似然)值。如何在 PyMC3 中实现这一点?

更新: 我找到了logp() 方法,但是用于多个点不是很方便。是否有一些标准/惯用的方法?

更新: 这个[y.logp(trace[i]) for i in range(len(trace))] 可以工作,但是超级慢。

更新: 速度慢是因为y是观察到的随机变量,调用模型的logp方法效果很快。

【问题讨论】:

标签: python bayesian pymc3


【解决方案1】:

好的,现实是最好在他们的discourse forum.上问PyMC3相关的问题

所以to get the values of log-posterior after sampling使用

logp = mvg_model.logp lnp = np.array([logp(trace.point(i,chain=c)) for c in trace.chains for i in range(len(trace))])

To save them during sampling使用

```

with model:
   llk = pm.Deterministic(likelihood_name, model.logpt)

```

【讨论】:

    猜你喜欢
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 2021-05-20
    • 2016-09-13
    相关资源
    最近更新 更多