In order to use pypfilt you will need to define the following things:

  • A simulation model that describes the behaviour of the system;

  • Prior distribution(s) and parameter bounds;

  • Some observations of the system (either real or simulated from the simulation model);

  • An observation model that describes how the simulation model and the observations are related;

    • Use the Univariate base class to define observation models in terms of any univariate scipy.stats distribution.

  • Simulation and particle filter settings, such as:

    • Choose a time scale (either Scalar or Datetime);

    • Particle filter settings, such as the resampling threshold and whether to use post-regularisation;

    • Select appropriate summary tables to record things of interest; and

    • A seed for the pseudo-random number generator, so that the results are reproducible.

All of this information is collected into a single TOML file, which pypfilt can then use to generate forecasts.


TOML is a simple, easy to read configuration file format, similar to JSON and YAML.