如何使用pymc3从先验模拟

问题描述 投票:1回答:1

我想用pymc3模拟前面的(而不是后面的)y。

我首先定义了模型:

import pymc3 as pm

with pm.Model() as m:
    mu = pm.Normal('mu', mu=0, sd=10)
    sigma = pm.Uniform('sigma', lower=0, upper=10)
    y = pm.Normal('y', mu=mu, sd=sigma)
    trace = pm.sample(1000, tune=1000)

然后我尝试从模型中获得10个模拟y:

y_pred = pm.sample_ppc(trace, 10, m, size=10)

但结果是空洞的。我搜索了文档,但没有找到相关的例子。用pymc3可以做到吗?

bayesian simulation pymc
1个回答
1
投票

当没有观察到与模型定义相关时,trace包含来自先前的样本。但是,这有时会失败。我们目前正在开发一个sample_prior函数,可以使这个过程更简单,更直接:https://github.com/pymc-devs/pymc3/pull/2876

© www.soinside.com 2019 - 2024. All rights reserved.