Skip to content

Non-reversible continuous MCMCs based on Piecewise-Deterministic Markov Processes

Notifications You must be signed in to change notification settings

SebaGraz/PDMPSampler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PDMCSampler

This repository deals with 3 different non-reversible continuous Markov Chain Monte Carlo algorothms based on piecewise deterministic Markov processes (see Davis, Markov Models and Optimization). We would like to use them for sampling from a continuous diffusion process (see Notes.pdf). The source folder contains:

  • a subfolder Models containing the target distributions we want to sample from (currently only Gaussian)
  • PDSamplers.jl contains the implementation of the ZigZag Sampler, Bouncy Particle Sampler and Coordinate Sampler.
  • Kernels.jl implements the change of the velocity coordinates when the inhomogeneous Poisson event occours.
  • Simulations.jl calls and plots the different algorithms for comparisons
  • Faber1.jl implements the sparse matrix we need to create when we want to run the ZigZag for sampling a linear SDE (See Notes.pdf) for explanations.
  • Finally Experiment.jl calls the ZigZag inside the coordinates of the basis expansion of the Bridge.

Some Plots

Plots coming from the Script Simulations.jl: Comparison of the three algorithms: respectively Bouncy, ZigZag and Coordinate Sampler with the same internal clock fixed to 1000 units. The target distribution is 2d-Gaussian with zero mean and negative correlation.

Bouncy ZigZag Coordinate

Plots coming from the Script Experiment.jl: Final Bridge after 21 seconds of internal clock of ZigZag algorithm and samples every 0.5 seconds from time 1 to time 21 of internal clock (mixing of the algorithm). The target measure is given by the sde $$dX_t = (a + bX_t)dt + dW_t$$ with parameter a = 10.0 ; b = -1.0 ; the number of level before truncation in the Faber Schauder expansion is L = 10 implying 2047 dimensions.

Coordinate Coordinate

Usage

Once you import the folder Source and install the package Ciesielski, you can run both Experiment.jl and Simulations.jl. You can play with the parameters of the Multivariate Gaussian RV and with the coefficients of the Linear sde $$dX_t = (a + bX_t)dt + dW_t$$. It s reccommended

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

About

Non-reversible continuous MCMCs based on Piecewise-Deterministic Markov Processes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages