Skip to content

Outline of the desired functionality of the package #1

@mmider

Description

@mmider

Before starting to code this package let's flesh out some of the desired functionality. Below I will already include some of the suggestions from @fmeulen and @mschauer. Feel free to edit or add.

Deliverables

  • A struct mcmc with a function run that runs an mcmc algorithm for stochastic processes observed discretely in time. At an abstract level the mcmc performs inference for some global state by going through local update steps that work on substate(state)s.
  • A set of pre-defined update steps suitable for standard diffusion inference (say, imputation of diffusion paths)
  • Functionality for convenient definition of update steps (this can be similar to the solution in DiffusionDefinition.jl)
  • An advanced user guide for defining these update steps from scratch in a systematic way. Even though it is called an advanced user guide, the steps that need to be taken here should be fairly simple.

Desired functionality

  • User passes a sequence of updates in a collection and this counts as one mcmc iteration.
  • Independence of parameter updates from the specificity of inference for diffusion processes. In particular it should be possible to employ generic adaptive schemes or gradient-based updates on any subset of parameters that the user pleases. So, for instance, the specific update steps should worry about how to provide gradients, but they should not concern how to use those gradients to update the parameters. (This will also automatically mean that having parameters in the observation noise can be handled).
  • Feed back some of the information to update steps so that some additional adaptation can be performed that is beyond what a generic mcmc would have access to, for instance updates to auxiliary diffusion laws.
  • Implement callbacks that save and—in conjunction with DiffusionVis.jl—automatically visualize the progress of MCMC runs. Allow for interruption of mcmc runs without losing the information about the chain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions