ELFI - Engine for Likelihood-Free Inference

ELFI is a statistical software package written in Python for Approximative Bayesian Computation (ABC), also known e.g. as likelihood-free inference, simulator-based inference, approximative Bayesian inference etc. This is useful, when the likelihood function is unknown or difficult to evaluate, but a generative simulator model exists.

The probabilistic inference model is defined as a directed acyclic graph, which allows for an intuitive means to describe inherent dependencies in the model. The inference pipeline is automatically parallelized from multiple cores up to a cluster environment. ELFI also handles seeding the random number generators and storing of the generated data for you so that you can easily repeat or fine tune your inference. Additionally, the package includes functionality for visualization.

Currently implemented ABC methods:

  • rejection sampler
  • Sequential Monte Carlo ABC sampler
  • Bayesian Optimization for Likelihood-Free Inference (BOLFI) framework

Other notable included algorithms and methods:

GitHub page: https://github.com/elfi-dev/elfi

See examples under the notebooks directory to get started. Limited user-support may be asked from elfi-support.at.hiit.fi, but the Gitter chat is preferable.