-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
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
mcmcwith a functionrunthat runs an mcmc algorithm for stochastic processes observed discretely in time. At an abstract level the mcmc performs inference for some globalstateby going through local updatesteps that work onsubstate(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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels