UltraNest
UltraNest copied to clipboard
Best way to increase precision/smoothness of posterior distribution
This is really a question rather than an "issue": I have several UltraNest runs on fairly complex models, using the SliceSampler. The runs seem to have converged OK, but the corner plots still look a bit jagged/messy. For the publication this will go in, I'd like to improve this. Is the best way to do this to change (increase) min_ess when doing sampler.run()?
relevant papers here are:
- https://arxiv.org/abs/2402.11936 which essentially diagnoses the graininess of the posterior and
- https://arxiv.org/abs/2308.05816 which gives which parameters generally need to be increased: the product of the number of live points and the number of slice sampler steps should determine the convergence (given a fixed proposal).
- https://arxiv.org/abs/2211.09426 compared a few slice sampler proposals
Thanks, a lot to digest there. Quick initial question re the last of these references: if I wanted to try out the "de-mix" sampler from the paper (which seems to be the most efficient), how would I do that? I can't seem to find it in the docs.
Have a look at https://johannesbuchner.github.io/UltraNest/ultranest.html#ultranest.stepsampler.SliceSampler for the documentation how to select a proposal, and here https://github.com/JohannesBuchner/paper-nested-sampling-stepsampler-comparison/blob/main/calibrator.py#L27 for the mapping of names.
Maybe those short-hand names should be added to the docs of each function.
de-mix is the default proposal in the tutorials, generate_mixture_random_direction()