I’m pleased to announce the first release of prbnmcn-dagger (dagger for short).
dagger is a library/edsl for probabilistic programming. Models are written in a monadic language and inference is performed by backends implementing that monadic interface.
In this first release, dagger only implements variants of lightweight Metropolis-Hastings.
You can have a look at the README or jump straight at the documentation
Some notable sources of inspiration for this project are:
I’m proud to announce the release of version 0.0.2 of prbnmcn-dagger.
This version adds Sequential Monte-Carlo, a.k.a. particle filters-based inference to the library.
Here’s the full changelog:
- Add beta distribution to Gsl samplers
- Refactor Cps monad
- Add SMC inference
- Simplify handler type, modularize effect definitions away from Cps_monad
- Fix typo: bernouilli → bernoulli (report by @nilsbecker)
I also wrote the following article: Applying Sequential Monte-Carlo to time series forecasting
It contains some use cases for the library, I hope some find it fun
To conclude this post, and as a partial answer to @gasche 's question in an older thread, I believe that unlike some other inference techniques, single-shot continuations are enough to implement SMC. Without getting into the details, the implementation is very reminiscent of that of lightweight threading libraries. I look forward to experiment with a fibre-based implementation!