Closed ColmTalbot closed 3 years ago
I have seen this pop up before, and usually it is precisely because of an underflow error due to really small covariances when this happens:
Another data point is that this was looking at a posterior which was much narrower than the prior.
Would it be possible to just reparameterize the problem here? Or should I try and add in even more safety checks? Also, are you using v1.0.1 (pip) or 1.0.2 (github)?
This case was passed on to me from someone else, so I'm not entirely sure which version was being used.
I suggested that they try just reducing the prior range.
Is there any possible fix to the underflow, or attempt to create the bounds multiple times? Otherwise, it might be helpful to throw an error saying that it can't construct bounds that contain the point.
Yea, I can try to include a specific warning when this occurs. I can also add in some additional error checks in line with #78 and #140. I'll leave the issue open and mark this as a small fix so I can patch it in next time I get around to fixing up the code. Thanks.
A very late follow-up to this, but I believe the recent improvements to the stability and behaviour of the bounding distributions (#219 and others) should now resolve this and other similar issues, so I'm tentatively closing this.
Hi @joshspeagle, I've seen the following error a few times
Unfortunately, I haven't been able to make a really firm reproducible version of this error as it generally happens quite late in the sampling.
It looks like this is the offending code block
https://github.com/joshspeagle/dynesty/blob/c95c2ec938d847e5e3672e6caa5f700846327dc4/dynesty/nestedsamplers.py#L645-L656 https://github.com/joshspeagle/dynesty/blob/c95c2ec938d847e5e3672e6caa5f700846327dc4/dynesty/nestedsamplers.py#L657-L666
The issue seems to be that the new bounding ellipses don't contain the point being evolved. A
while nidx ==0:
rather thanif nidx == 0:
might resolve this. However, it was preceded by this warningI'm not sure if this happened immediately before the failure, but is it possible that the issue is down to the remaining volume underflowing? Another data point is that this was looking at a posterior which was much narrower than the prior.
Have you seen this behaviour before?