foerster
Probabilistic inference in forkable worlds, for Clojure.
Tutorials rendered from source;
API reference on cljdoc.
Tutorials
- Getting Started — a first model, sample and observe, SMC, the posterior
- Choosing an Inference Algorithm — importance sampling, SMC, particle MCMC, MCMC, BBVI on known posteriors; guides; composed kernels
- Models in Worlds — canonical forks, budgets, what cannot be copied
- Blocks and HMC — numerical blocks, HMC-within-Gibbs, checking gradients
- Streaming SMC — online filtering against the Kalman filter
- Programmable Inference — the generative function interface, MH by selection, involutive MCMC
- Steering a Process — tilting a process by a reward with SMC; trajectories as training data
- Interventions and Counterfactuals — seeing, doing, and what would have been
- A Gallery of Classic Models — pencils, regression, seven scientists, label switching, branching, coal-mining disasters and eight schools, each against an exact answer
Guides
- Language — sites, addresses, and the rules of the spin macro
- Algorithms — every inference entry point and its options
- Posteriors — reading a measure: summaries, diagnostics, evidence
- Extending — policies, proposals, MH moves and kernels
- Worlds — canonical worlds, their lifecycle, failure and recovery
- Distributions and Reproducibility — foerster.dist, seeds and streams
- Design — inference as handlers of spindel savepoints
- Literature — the papers and systems foerster builds on