Welcome to BayesBay’s documentation!
BayesBay is a Python package providing a versatile framework for trans-dimensional and hierarchical Markov Chain Monte Carlo (MCMC) sampling. It leverages object-oriented programming principles to facilitate the definition of Bayesian sampling problems across a range of applications. This includes joint inversions of multiple data sets with different forward functions and unknown noise properties, as well as complex parameterizations involving multiple parameters with unknown dimensionality and/or spatially varying priors.
KEY FEATURES
Modular Architecture Each component of the inversion (e.g., parameterization, data noise, forward functions) is treated as a self-contained unit, allowing solution of a wide range of inverse problems.
Trans-dimensional The dimensionality of the inverse problem can be treated as unknown.
Hierarchical When unknown, data errors can be treated as free hyperparameters.
Joint Inversion Support High-level features facilitate integration of multiple data sets, enabling seamless joint inversions.
Flexible Parameterizations BayesBay streamlines the setup of complex prior probabilities, allowing users to incorporate detailed knowledge of the inverse problem.
Discretization Support Includes high-level features for implementing trans-dimensional Voronoi tessellations.
Multi-Processing Capabilities Multiple Markov chains can be distributed across CPUs for parallel execution.
User-Friendly Sampling Settings for burn-in period, model save intervals, number of chains, and CPU allocation can be configured in a single line of code.
Advanced Sampling Techniques Built-in support for parallel tempering and simulated annealing for sampling complex posterior distributions.
Getting started
Standard API
Low-level API
Examples
Development