Init_to_values smart?

Hi everyone,

I was wondering if it’s a good idea to initialize NUTS/HMC to a decent position in the parameter space?

For instance, in a set of ODEs I can run MCMC as a regression per equation (very quickly, seconds) before I run it for the entire system (very slow, many hours). I could initialize the latter using the median posterior parameter values found by the former (using init_to_values()).

I /was wondering if I can reduce the warmup phase, for instance from 1000 to 500 or even fewer samples, if I initialize with a good guess like that?

it’s hard to say in general. this sort of thing is generally best determined empirically. i would expect that it may help you a bit (the first few steps won’t be “wasted” looking for the region of high posterior probability) but it probably won’t be a game changer. in other words, i wouldn’t expect such a trick to enable you to reduce your warmup phase substantially (though perhaps a bit). though, again, it’s hard to say in general

1 Like

Thanks for this clear answer!