如何评估pymc3中的log-posterior

How to evaluate the log-posterior in pymc3

我想评估样本点和某些手动输入点(例如合成数据集的真实参数值点)的对数后​​验值(理想情况下分别为对数先验和对数似然)值。我怎样才能在 PyMC3 中实现这个?

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

更新: 这 [y.logp(trace[i]) for i in range(len(trace))] 有效,但速度超慢。

更新: 缓慢是由于 y 是观察到的随机变量,调用模型的 logp 方法很快。

好的,实际情况是最好在他们的 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)

```