blackjax-devs / blackjax

BlackJAX is a Bayesian Inference library designed for ease of use, speed and modularity.
https://blackjax-devs.github.io/blackjax/
Apache License 2.0
791 stars 102 forks source link

Separate random proposals and the RMH acceptance step #162

Open rlouf opened 2 years ago

rlouf commented 2 years ago

The RMH acceptance step is used by many MCMC algorithms across the library and we should thus be able to import it from a separate module. Should probably go in proposals.py.

We can also refactor the rmh kernel and rename it random_walk. I am not certain we should expose gaussian random walk as it is rather easy to build a random walk from any proposal. TBD.

rlouf commented 1 year ago

The idea behind this issue is to be able to use Radford Neal's non reversible update of the value to which we compare the acceptance probability (paper).

This will require some thought to apply everywhere throughout the mcmc module, especially with the progressive sampling schemes. But maybe we don't need to do this yet, applying it to vanilla HMC/GHMC would be a good start.

rlouf commented 1 year ago

This is not going to be a breaking change so we can drop this for v1.