从PyMC3中定制密度的后验分布中抽样

时间:2016-07-07 04:51:15

标签: python bayesian pymc3

我试图从我的模型中获得预测分布,这恰好是自定义概率。这恰好是法线的混合。

with RE2:
    trace = pm.variational.sample_vp(v_params, draws=5000)


trigger.set_value(triggers_test)
cc.set_value(cc_test)
y_output.set_value(np.zeros((len(y_test),)))

ppc = pm.sample_ppc(trace, model=RE2, samples=2000)  

y_pred = ppc['R'].mean(axis=0)[:,None]

但是,我收到错误:AttributeError: 'DensityDist' object has no attribute 'random'。有没有办法从分销中抽样?我能够得到痕迹,我可以稍微玩一下,但我希望有更好的东西。

如果有帮助:

R = pm.DensityDist('R', logp_nmix(mus, stds, pi), observed=y_output)

当pm.DensityDist应用于潜在变量而非观察变量时,我能够正确地得到后验(即pm.sample_ppc工作)。

0 个答案:

没有答案