walkers stuck in low probability space

356 views
Skip to first unread message

William Heymann

unread,
Oct 2, 2020, 4:15:35 AM10/2/20
to emcee users
Hi all,

I was looking at some of my results recently and I noticed that on some of my runs that take a long time to converge I have walkers stuck in low probability space and was wondering how to deal with that.

I have attached a picture of what this looks like. In this one some of the chains found their way back eventually and some did not.

for the moves I am using 10% DEsnooker, 81% DEmove and 9% DEmove with gamma = 1.0 (from the paper linked from emcee)

My cost function is expensive and can take a minute or more to evaluate

I am using an empirical error model using a Kernel Density Estimator since my errors are not random, independent and normally distributed. I think walkers get trapped because of this because I think they end up trapped in tiny fluctuations of the kernel density estimator.

What I was thinking of doing is take any chain that has spent more than about 10 steps in a low probability region and kick it back to a high probability region. My first thought on that is that any walker more than about 4 orders of magnitude below the highest probability is probably in too low of a probability region. In the end I really only care about 5-95 CI on each variable and maybe 1-99 CI under some circumstances.

Any thoughts on this or other ideas on how to solve this problem?

Thanks
mixing_LIN_KA_LIN_KD Comp_0 Bound_0.png

Dan Foreman-Mackey

unread,
Oct 2, 2020, 10:28:18 AM10/2/20
to William Heymann, emcee users
My usual recommendation here is to run a burn in as follows:

1. Run a short (few hundred steps) chain
2. Reinitialize all the walkers near the point with maximum log probability seen so far
3. Return to step 1 a few times
4. Then run your final chain starting where you ended up for your last run of step 1

That normally does the trick!

--
You received this message because you are subscribed to the Google Groups "emcee users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to emcee-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/emcee-users/CAKWqKovWo1JHaf3%3DqSkfuRAxek1PPLg4Hui4OWpWQpZr4rtq7w%40mail.gmail.com.
--
Dan Foreman-Mackey
Associate Research Scientist
Flatiron Institute

William Heymann

unread,
Oct 12, 2020, 6:26:04 AM10/12/20
to Dan Foreman-Mackey, emcee users
I have implemented this in my code and it seems to be working without any problems. I have not had any trapped walkers since implementing this.

This is probably good general purpose advice for using emcee since for any trivial system with a very quick executing function it won't make any real difference but for any harder one the differences can be quite substantial. Basically this makes emcee much more robust by doing this.

Thanks for all the help.
Reply all
Reply to author
Forward
0 new messages