The Bayesian Analysis Toolkit (BAT.jl) is an open source software package that provides user-friendly tooling to tackle statistical problems encountered in Bayesian inference.
BAT.jl is focused on use cases that cannot easily be expressed in a domain-specific language, but instead require application-specific custom-written models. Typical examples are use cases that need to access large data sets or depend on external software frameworks, or that are computationally very costly and need to be manually optimized. For example, BAT.jl was recently used to infer parton PDFs from HERA data by interfacing inference algorithms and prior definitions in Julia with a forward-model based on the QCDNUM library in Fortran. BAT.jl has also been used to infer Proton bunch parameters in the AWAKE experiment. In combination with DifferentialEquations.jl, BAT.jl has been used to infer parameters of compartmental epidemiological models.
For the standard task in Bayesian inference, sampling from the posterior, BAT.jl supports a variety sampling algorithms like MCMC, nested sampling and importance sampling. An option to perform variational inference based on machine-learned normalizing flowsis currently in preparation, as well as deeper integration with the Julia measure theory packages.
BAT.jl can compute Bayesian evidences by integrating over the the non-normalized posterior using our adaptive harmonic mean algorithm (AHMI) algorithm, bridge-sampling, or several common integration algorithms like VEGAS. To speed up MCMC sampling and improve sampling quality, BAT supports parallelized sampling via space partitioning.
BAT.jl's capability to automatically transform prior distributions to the space (normal or uniform) preferred for a given algorithm can also be utilized to perform Bayesian guided maximum likelihood estimation, which makes ML fits converge faster while still de-facto independent of prior choices.
In addition to presenting BAT we offer a tutorial so attendees can quicky and easily try out BAT.jl for themselves.