johannesulf / nautilus

Neural Network-Boosted Importance Nested Sampling for Bayesian Statistics
https://nautilus-sampler.readthedocs.io
MIT License
73 stars 8 forks source link

specifying cyclic parameters? #56

Open ajdittmann opened 1 week ago

ajdittmann commented 1 week ago

Would it be reasonable to add support for wrapped / cyclic parameters? I would personally find it quite useful.

johannesulf commented 1 week ago

Hi @ajdittmann, thanks for reaching out! This is certainly a feature I was contemplating for a bit. Can you tell me a bit more about your use case? How many parameters do you have overall and how many are wrapped? My understanding is that support for periodic parameters would "only" increase the sampling efficiency, particularly in cases that the posterior is centered on the bounds. Have you tried modifying your parameters such that the posterior is not centered on the boundary? That would give us some idea of how much support for cyclic parameters would improve things.

ajdittmann commented 1 week ago

The simplest model I'm interested in has 1 cyclic parameter out of 12, but the more complicated ones can have 4 out of 16 or 7 out of 30. In addition to the sampling efficiency, I am concerned about individual modes being split in twain, making it more challenging for the sampler to identify all relevant modes and to achieve converged results, lengthening the process of testing convergence. In principle, if after an initial run the posterior appears appears peaked near one of the boundaries, the parameters could be modified and the model could be rerun. However, the posterior is not always tightly peaked enough for this to be useful, and in any case it would be better to avoid the additional expense incurred by these additional analyses.

johannesulf commented 1 week ago

Thanks! I wasn't recommending that you should always re-run the analysis such that the peak wasn't at the boundary. I was just curious whether you had tested that since it would give us some idea of how much specifying periodic parameters would improve efficiency/convergence.

Unfortunately, I don't think all parts of the algorithm (minimum-volume enclosing ellipsoids, Gaussian Mixture, neural networks etc.) will work with periodic parameters. However, I have some ideas of how runs with periodic parameters could be improved. I'll look into this in the coming weeks.

ajdittmann commented 1 week ago

I've put together a problem to try and test this a little more quantitatively but it will be a while before I have good data - the decreased efficiency makes the misparameterized version take quite a bit longer, at least. Since many other nested sampling packages (mutlinest, dynesty, ultranest, etc.) implement periodic boundaries I suspect the minimum-volume ellipsoids part should be reasonably straightforward. Thanks for looking into this, I look forward to seeing what you come up with.