Skip to contents

The dust2 package provides an engine for running dynamical systems in discrete or continuous time and where the processes are stochastic or deterministic. We focus on Markov models where the problem reduces to describing how model state changes as a function of its current state (and possibly time) but without reference to where it has come from. Superficially, the problem is not very hard (see vignette("design")), but dust2 takes care of many practical and bookkeeping details such as:

  • Running systems in parallel on multi-core machines, even those involving random numbers
  • Providing useful verbs for efficiently working with groups of simulations (different parameters, starting conditions or stochastic realisations)
  • Comparing simulations to time-series of data, and implementing sequential Monte Carlo methods such as a bootstrap particle filter

Get started

Roadmap

This package is a ground-up rewrite of dust and will eventually become version 2.0.0 of dust, which we will then release to CRAN. It exists separately for now to facilitate development and use alongside the original dust, and is being developed in parallel with odin2 and monty (previously mcstate). Some of the functionality here was originally found in mcstate and some of the previous version of dust can now be found in monty (e.g., the random number library).

Installation

To install dust2:

remotes::install_github("mrc-ide/dust2", upgrade = FALSE)

License

MIT © Imperial College of Science, Technology and Medicine