I've been using pretty standard Gibbs/Metropolis-Hastings samplers that I hand-coded in order to do Bayesian inference via Markov Chain Monte Carlo in order to fit some complex models. However, I'm aware that there are many significant algorithmic improvements available (e.g. this question: What are some well known improvements over textbook MCMC algorithms that people use for bayesian inference?).

Is there a well-known/commonly used software package that implements many of these techniques, that can nonetheless be used for an arbitrary black-box model (i.e. my existing simulation code, not a generalized linear model or anything likely to be pre-implemented)? This doesn't seem to be a feature of BUGS or Stan. I've found Mamba and PyMC - but they seem to require a bit more re-implementation of models than I'd like. Has anyone found software that allows straightforward implementation of inference on a black box function?

closed as off-topic by gung, John, kjetil b halvorsen, Tim, Peter Flom Nov 23 '16 at 14:39

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question appears to be off-topic because EITHER it is not about statistics, machine learning, data analysis, data mining, or data visualization, OR it focuses on programming, debugging, or performing routine operations within a statistical computing platform. If the latter, you could try the support links we maintain." – gung, John, kjetil b halvorsen, Tim, Peter Flom
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Asking for code / packages is off topic here. – gung Nov 23 '16 at 3:33
  • 2
    STAN is more a language than a software, so it should be available for a wide variety of models and problems. And it is definitely state-of-the-art in terms of MCMC developments. – Xi'an Nov 23 '16 at 7:44

For black-box models, you can try generalist codes such as OpenTURNS or Dakota.

Not the answer you're looking for? Browse other questions tagged or ask your own question.