prbnmcn-dagger-stats

Probabilistic programming library: prbnmcn-stats-based samplers
README

The dagger library for probabilistic programming in OCaml.
Currently implements:

  • Single-site Metropolis-Hastings, a.k.a. lightweight Metropolis-Hastings

  • Incrementalized single-site MH, similar to that implemented in Hakaru10

  • Sequential Monte-Carlo, with systematic and stratified resampling

The main package is prbnmcn-dagger. Packages prbnmcn-dagger-gsl and prbnmcn-dagger-stats
provide distributions implemented respectively through the GSL (GPL-licensed) and
prbnmcn-stats (MIT-licensed).

Look no further for the documentation.

Examples will be made available in the examples subdirectory. For now, you'll find:

  • an implementation of a 2d ising model and a toy study of its behaviour around its critical temperature

  • an experiment on forecasting wind power production using an ad-hoc Kalman filter

Contributing

Contributions and issue reports are welcome. Development currently happen on https://gitlab.com/igarnier/monorepo/ but
I can take care of cherry-picking pull requests submitted here.

Trivia

The name dagger refers to two things:

  • a good mathematical framework for giving a semantics to probabilistic
    programming is a certain dagger category of Markov
    kernels, see eg this or that paper;
    Bayesian inversion corresponds to a particular symmetry of a mathematical
    structure and this symmetry is denoted using the † symbol.

  • the underlying representation of the probabilistic model when using the
    incrementalized backend is as a directed acyclic graph (ie a DAG, which
    sounds exactly like the French translation of dagger)

Install
Published
27 Mar 2022
Sources
0.0.2.tar.gz
md5=d3453c4f3dfe1b7b2e979e6ab03c7a1e
sha512=a0f3f9190b23a408724d24bf47fb5c5fd9b4fdefa4d3b19bbc67117aa20fb7799045d9046a535365772f131947c2bd931d756226a9571fba84201e713a87e8ca
Dependencies
odoc
with-doc
prbnmcn-stats
= "0.0.4"
dune
>= "2.8"
Reverse Dependencies