如何评估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)
```
我想评估样本点和某些手动输入点(例如合成数据集的真实参数值点)的对数后验值(理想情况下分别为对数先验和对数似然)值。我怎样才能在 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)
```