Before concluding we provide a brief sketch of probabilistic inference in Birch.
This section will be expanded in future.
Inference methods include those of the ParticleFilter class hierarchy, for sequentially filtering a model, and of the ParticleSampler class hierarchy, which build on these to draw samples from the posterior distribution.
As a model runs it emits an event every time a simulate (
<~), observe (
~>) or assume (
~) operator executes. The inference method registers an appropriate event handler (from the Handler hierarchy) to handle these. The events provide insight into the model, and a means to influence its execution. The inference method may, for example, implement:
Importance sampling by using a combination of simulation and observation to compute importance weights.
Particle filtering or Sequential Monte Carlo by extending importance sampling with resampling between epochs.