Markov Chain Monte Carlo methods suffer from several issues among which:
- Getting MCMC to work out of the box is hard;
- Current frameworks are not built for production;
- Hard to express models in a PPL-friendly way;
- No easy-to-use software to cover most common use cases (Bambi);
It would be rather nice to have a tool like
import aesara.tensor as at
import aemcmc
import daeploy
srng = at.random.RandomStream(0)
mu_rv = srng.normal(0, 1)
s_rv = srng.halfnormal(1.)
Y_t = srng.normal(0, s_rv)
# samples locally
results = aemcmc.sample(
{Y_t: data},
num_warmup=1000,
num_samples=1000
)
# samples automatically, on the cloud
results = deploy.sample(
{Y_t: data},
num_warmup=1000,
num_samples=1000
)