Liesel: A Probabilistic Programming Framework#
Welcome to the API documentation of Liesel, a probabilistic programming framework with a focus on semi-parametric regression. It includes:
Liesel, a library to express statistical models as Probabilistic Graphical Models (PGMs). Through the PGM representation, the user can build and update models in a natural way.
Goose, a library to build custom MCMC algorithms with several parameter blocks and MCMC kernels such as the No U-Turn Sampler (NUTS), the Iteratively Weighted Least Squares (IWLS) sampler, or different Gibbs samplers. Goose also takes care of the MCMC bookkeeping and the chain post-processing.
RLiesel, an R interface for Liesel which assists the user with the configuration of semi-parametric regression models such as Generalized Additive Models for Location, Scale and Shape (GAMLSS) with different response distributions, spline-based smooth terms and shrinkage priors.
The name “Liesel” is an homage to the Gänseliesel fountain, landmark of Liesel’s birth city Göttingen.
Installation#
You can install Liesel via pip:
$ pip install liesel
If you want to work with the latest development version of Liesel or use PyGraphviz for prettier plots of the model graphs, see the README in the main repository.
Now you can get started. Throughout this documentation, we import Liesel as follows:
import liesel.model as lsl
import liesel.goose as gs
We also commonly use the following imports:
import jax
import jax.numpy as jnp
import numpy as np
import tensorflow_probability.substrates.jax.distributions as tfd
We provide overviews of the most important building blocks provided by liesel.model
and liesel.goose
in Model Building (liesel.model) and
MCMC Sampling (liesel.goose), respectively.
Tutorials#
To start working with Liesel, our tutorials might come in handy, starting with a tutorial on linear regression. An overview of our tutorials can be found here: Liesel tutorials.
Further Reading#
For a scientific discussion of the software, see our paper on arXiv.
Acknowledgements#
Liesel is being developed by Paul Wiemann and Hannes Riebl at the University of Göttingen with support from Thomas Kneib. Important contributions were made by Joel Beck, Alex Afanasev, Gianmarco Callegher and Johannes Brachem. We are grateful to the German Research Foundation (DFG) for funding the development through grant 443179956.
API Reference#
Liesel modeling framework. |
|
Goose MCMC framework. |
|
Additional functionality that does not belong to the core of the Liesel framework. |
|
Extra distributions for JAX-TFP. |
|
Extra bijectors for JAX-TFP. |
Experimental Liesel add-ons. |