Closed benp175 closed 3 years ago
When the likelihood surface is flat, emcee's attempts to automatically determine the scale of any parameter means that it will try extremely large values. That's fine. We rarely have this issue in practice.
More challenging is the fact that actually angles have a finite range, but the walkers don't always know this. We had some discussion about whether the priors are checked before or after the scaling and/or 2pi-modding. Probably makes sense to check the priors first to help emcee realize that the angles are bound to relatively small values.
I've been doing some runs where there aren't strong (or really any) constraints on the spin pole direction and emcee has been exploring crazy (sometimes almost 10^100) values of the fit parameters for the spins. I've attached a corner_fitparams plot to show the crazy exploration.
I'm pretty sure this is because when the fit parameters are transformed back into physical values, we mod the angles to have them be in the correct range. This essentially means that the prior is never violated, even when the fit parameters are crazy high. We need to implement a prior on the fit value to control the exploration, but I'm not sure where (or how) to implement this. What are others thoughts on how to fix this?
corner_fitparams.pdf