Liesel: A Probabilistic Programming Framework for Developing Semi-Parametric Regression Models and Custom Bayesian Inference Algorithms
Liesel is a probabilistic programming framework focusing on but not limited to semi-parametric regression. It comprises a graph-based model building library, a Markov chain Monte Carlo (MCMC) library with support for modular inference algorithms combining multiple kernels (both implemented in Python), and an R interface (RLiesel) for the configuration of semi-parametric regression models. Each component can be used independently of the others, e.g. the MCMC library also works with third-party model implementations. Our goal with Liesel is to facilitate a new research workflow in computational statistics: In a first step, the researcher develops a model graph with pre-implemented and well-tested building blocks as a base model, e.g. using RLiesel. Then, the graph can be manipulated to incorporate new research ideas, before the MCMC library can be used to run and analyze a default or user-defined MCMC procedure. The researcher has the option to combine powerful MCMC algorithms such as the No U-Turn Sampler (NUTS) with self-written kernels. Various tools for chain post-processing and diagnostics are also provided. Considering all its components, Liesel enables efficient and reliable statistical research on complex models and estimation algorithms. It depends on JAX as a numerical computing library. This way, it can benefit from the latest machine learning technology such as automatic differentiation, just-in-time (JIT) compilation, and the use of high-performance computing devices such as tensor processing units (TPUs).
READ FULL TEXT