Я пытаюсь сравнить скорость выборки между PyMC и PyMC3.
PyMC:
p1 = pymc.Normal('p1', 10, 0.5)
p2 = pymc.Gamma('p2', 11, 5)
p3 = pymc.Normal('p3', p1, p2)
model = pymc.Model([p1, p2, p3])
mcmc = pymc.MCMC(model)
mcmc.use_step_method(pymc.Metropolis, p1, p2, p3)
mcmc.sample(10000, progress_bar=True)
Это заняло 2,7 с
PyMC3:
with pm.Model() as model:
p1 = pm.Normal('p1', 10, 0.5)
p2 = pm.Gamma('p2', 11, 5)
p3 = pm.Normal('p3', p1, p2)
steps = pm.Metropolis(vars=[p1, p2, p3])
trace = pm.sample(10000,step=steps, progressbar=True)
Это заняло 6,6 с
Этонормальный?Я пропускаю некоторые приемы оптимизации для PyMC3?