gpt4 book ai didi

python - Pymc3 条件后验采样

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:24 25 4
gpt4 key购买 nike

我想从 pymc3 中的后验分布中抽样,但以某些变量的特定值为条件。我看到了如何使用 sample_ppc 对后验概率进行采样,但尚不清楚如何有条件地执行此操作。有简单的方法吗?

例如,假设我有这个模型:

with pymc3.Model() as model:
mu = pymc3.Uniform('mu', -3., 3.)
std = pymc3.Uniform('std', 0., 2.)
N = pymc3.Normal('N', mu=mu, sd=std, observed=obs)
start = pymc3.find_MAP()
step = pymc3.NUTS(scaling=start)
trace = pymc3.sample(2000, step, start=start)

如何从 N 的后验分布中以 mu 的值为 1.5 为条件进行采样?

最佳答案

AFAIK,您只能使用 sample_ppc 来获得依赖于输入值的后验预测值。因此,如果您需要在不同点采样或固定参数值,您必须重写模型并从轨迹中获取参数值。按照您的示例,您需要执行以下操作:

ppd = np.random.normal(1.5, trace['std'])

关于python - Pymc3 条件后验采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40763067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com