For an overview see the README.
Clay notebooks in notebooks/foerster/, rendered at replikativ.github.io/foerster. Each runs as it renders, in CI on every pull request.
| Notebook | Topics |
|---|---|
| Getting Started | a first model, sample and observe, SMC, the posterior and the evidence |
| Choosing an Inference Algorithm | importance sampling, SMC, particle MCMC, MCMC and BBVI on known posteriors; which to use when |
| Inference Methods | every inference method foerster implements — what it does, when to use it, its options and cost, a run on a model with a known answer, and the papers it comes from |
| Models in Worlds | :world-policy :fork, systems in the world, budgets, what cannot be copied |
| Blocks and HMC | numerical blocks, HMC-within-Gibbs, checking a gradient |
| Streaming SMC | online filtering against the Kalman filter |
| Programmable Inference | the generative function interface, MH by selection, involutive MCMC |
| Interventions and Counterfactuals | seeing and doing, interventions by selector, twin-world counterfactuals |
| From the PyMC Gallery | golf putting (logistic and geometric models compared by LOO) and radon (partial pooling, NUTS on 89 parameters), each against an exact posterior; stochastic volatility (a non-centred path by NUTS, checked by a particle filter) |
| Marketing Mix Modeling | adstock and saturation fit by NUTS on a block, ROAS by counterfactual and in the twin world, a lift test, budget splits by expected response and CVaR — against a known truth |
| Steering a Process | SMC over scored steps of a process without a density, value estimates as twists, trajectories as training data |
| Guide | |
|---|---|
| Language | sites and their options, addresses, selectors, the rules of the spin macro |
| Algorithms | every inference entry point and its options; foerster in an interpreter sandbox |
| Posteriors | reading a measure: particles, traces, summaries, ESS, evidence, training data |
| Checking a Model and its Inference | prior predictive simulation, several methods, R-hat/ESS/MCSE and SMC diagnostics, posterior predictive checks, model comparison, simulation-based calibration |
| Coming from Other PPLs | Stan, PyMC, Turing, Gen, Anglican and WebPPL concepts in foerster, and what foerster does not have yet |
| Extending | your own distributions, policies, proposals, MH moves and kernels; learned twists and proposals |
| Worlds | canonical worlds, their lifecycle, failure and recovery, resources |
| Distributions and Reproducibility | foerster.dist, writing a distribution, seeds and streams |
| Design | inference as handlers of spindel savepoints; how each algorithm works |
| Literature | the systems and papers foerster builds on, by method |
The API reference is on cljdoc, generated from the docstrings.