package prbnmcn-dagger-test

  1. Overview
  2. Docs
Probabilistic programming library: tests

Install

Dune Dependency

Authors

Maintainers

Sources

0.0.3.tar.gz
md5=3fb82cc81ef81557f3325ef2c8611e35
sha512=41498634a1872cfd98afea4e35d8ffff08e444cd1a8dffd5d2a8aea57dc7578129c4832929fb6bf03c0f2edbfe1f85949533cf2e574273449ff526af1975aa28

Description

dagger probabilistic programming library: tests

Published: 22 Jul 2023

README

dagger: a probabilistic programming library

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 plus facilities for defining custom resampling strategies.

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 and the examples it contains.

Some more examples are 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

  • a basic kalman filter example

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

  • an implementation of the algorithm described in Adaptive approximate Bayesian computation by Beaumont et al.

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)

Dependencies (8)

  1. prbnmcn-gnuplot = "0.0.4"
  2. prbnmcn-dagger-stats = version
  3. prbnmcn-dagger-gsl = version
  4. qcheck-alcotest >= "0.18.1"
  5. qcheck >= "0.17"
  6. prbnmcn-stats >= "0.0.7"
  7. prbnmcn-dagger = version
  8. dune >= "2.8"

Dev Dependencies (1)

  1. odoc with-doc

Used by

None

Conflicts

None