Probabilistic Effects. λθ

This document is a hub for resources pertaining to the problem at hand.

The purpose of probabilistic programming languages is to provide a convenient DSL for writing probabilistic models which automates parts of the statistical process i.e. fitting, validation.

Most modelling currently taking place in general purpose programming languages such as R. In these languages most models are written from first principles with no automation of fitting. This requires tedious and complicated hand-crafted code for each fitting scenario. This prevents rapidly trying different specific models for the problem at hand, preventing modellers from assessing all models they think will be relevant. Some packages and DSLs exist, such as pomp and STAN, in which models are easier to express and automation is provided. These however are not eDSLS and are ordinarily not Turing Complete, restricting the classes of models that can be used. This also is a barrier to abstractions and reusability.

A further problem is that these DSLs are not extensible in that you have to work with the fitting methods provided by the creators of the DSLs and you cannot extend this.

To this end the goal of monad-bayes is to provide an eDSL in which you can easily and flexibly write probabilistic models and also write fitting methods.

We are going to be examining monad-bayes from a a computational and inferential fitting perspective. Our running example will be the classical SIR model.

See here for an overview of the SIR model as well as fitting methods.

The purpose of choosing this modelling problem is:

  • Familiarity
  • Relevence to current global situation
  • State space nature requiring complex fitting methods
  • Variety of specific concrete scenarios

The specific example we will be looking at will be an incredibly simple state space model which we will use to model an outbreak of influenza in a boarding school.

Last updated on 13 Nov 2020
Published on 13 Nov 2020