JohannesBuchner / PyMultiNest

Pythonic Bayesian inference and visualization for the MultiNest Nested Sampling Algorithm and PyCuba's cubature algorithms.
http://johannesbuchner.github.io/PyMultiNest/
Other
195 stars 88 forks source link

Output from ProgressPrinter of watch module #195

Closed samajdar closed 3 years ago

samajdar commented 3 years ago

Hi,

I am running PyMultiNest on a function which is taking a while and I am wondering how to find out how much time the run still needs to finish. I imported ProgressPrinter from the watch module and I can see the number of "rejected points" and "alive points" being printed as output. Since the run is suffciently mature, the number of rejected points (244360) have stabilised. I wanted to ask if there is a way of knowing how much longer the run would take or make a rough estimate from these numbers? I am running on a pbs cluster so I am unable to read the verbose output giving ln(Z) etc. as the standard output gets written after the run finishes. I am using nlive=4096 and a tolerance of 0.1. Please let me know whether I should provide more details about my run.

Please feel free to redirect me elsewhere if my question is not relevant here.

JohannesBuchner commented 3 years ago

If you are running with INS, then the INS and NS ln(Z) estimates should come together. That's one indicator of the current state, but it is not possible to estimate how long it will still take.

As long as the live points are concentrated into a single point, the posterior bulk has not been reached yet.

samajdar commented 3 years ago

Ah okay. I am not running with INS. But I suppose there is no way of telling from just the number of rejected points alone. Thanks for the prompt response.