Blang: Bayesian declarative modelling of general data structures and inference via algorithms based on distribution continua
This work addresses a gap in making Bayesian analysis accessible for complex, non-Euclidean data structures, which is incremental as it builds on existing methods like BUGS and Monte Carlo techniques.
The authors tackled the problem of performing Bayesian inference on non-standard data structures, such as networks and phylogenies, by introducing Blang, a domain-specific language and library that enables declarative modeling and scalable inference using advanced Monte Carlo methods.
Consider a Bayesian inference problem where a variable of interest does not take values in a Euclidean space. These "non-standard" data structures are in reality fairly common. They are frequently used in problems involving latent discrete factor models, networks, and domain specific problems such as sequence alignments and reconstructions, pedigrees, and phylogenies. In principle, Bayesian inference should be particularly well-suited in such scenarios, as the Bayesian paradigm provides a principled way to obtain confidence assessment for random variables of any type. However, much of the recent work on making Bayesian analysis more accessible and computationally efficient has focused on inference in Euclidean spaces. In this paper, we introduce Blang, a domain specific language and library aimed at bridging this gap. Blang allows users to perform Bayesian analysis on arbitrary data types while using a declarative syntax similar to BUGS. Blang is augmented with intuitive language additions to create data types of the user's choosing. To perform inference at scale on such arbitrary state spaces, Blang leverages recent advances in sequential Monte Carlo and non-reversible Markov chain Monte Carlo methods.