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)