gpt4 book ai didi

pymc - 如何在PyMC3中采样多个链

转载 作者:行者123 更新时间:2023-12-04 13:32:02 54 4
gpt4 key购买 nike

我正在尝试在PyMC3中采样多个链。在PyMC2中,我将执行以下操作:

for i in range(N):
model.sample(iter=iter, burn=burn, thin = thin)

我应该在PyMC3中做同样的事情吗?我看到'sample'方法中有一个'njobs'参数,但是当我为其设置值时会抛出错误。我想使用采样链来获取“pymc.gelman_rubin”输出。

最佳答案

要串行运行它们,您可以对PyMC 2使用类似的方法
例子。主要区别在于,每次调用sample都会返回一个
多链跟踪实例(在此实例中仅包含一条链)
案件)。 merge_traces将采用多链实例的列表,并且
创建具有所有链的单个实例。

#!/usr/bin/env python3

import pymc as pm
import numpy as np

from pymc.backends.base import merge_traces

xobs = 4 + np.random.randn(20)

model = pm.Model()
with model:
mu = pm.Normal('mu', mu=0, sd=20)
x = pm.Normal('x', mu=mu, sd=1., observed=xobs)
step = pm.NUTS()

with model:
trace = merge_traces([pm.sample(1000, step, chain=i)
for i in range(2)])

关于pymc - 如何在PyMC3中采样多个链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446738/

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