Skip to contents

monty is a toolbox for Monte Carlo methods. It is designed to help run MCMC with models that do not fit closely within the paradigms of packages such as stan - for example some likelihood you have written by hand.

See the package vignette for a basic introduction.

The package is in an early, though rapid, stage of development and we cannot guarantee that interfaces will not change (in fact, we can guarantee that they will really). However the core concepts have now solidified.

The core of the package is built around some basic ideas:

monty is a complete rewrite of some of the ideas in mcstate, though other bits of mcstate have moved into dust2.

The dust2 package provides machinery to run particle filters for sequential Monte Carlo methods using the random number support in monty and can create statistical models that can be used with monty’s samplers

The odin2 package can generate dynamical models that use monty’s random number generators and can be used as part of dust2 particle filter. The odin2 DSL and monty DSL are closely related.

Roadmap

The basic functionality of this package is in place, but we plan to do work on:

  • expanding runners to include parallel chains (a basic parallel runner exists, but we will port over the callr-based runner from mcstate)
  • improving debugging tools if models fail mid-chain
  • implementing parallel tempering, allowing you to compose with any other supported sampler
  • improving support for nested models
  • improving and expanding the DSL

Installation

Please install from our r-universe:

install.packages(
  "monty",
  repos = c("https://mrc-ide.r-universe.dev", "https://cloud.r-project.org"))

If you prefer, you can install from GitHub with remotes:

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

License

MIT © Imperial College of Science, Technology and Medicine