greta users who spend lots of time tuning the number of leapfrog steps (the
Lmax arguments in
hmc()) and their stepsize (
Among datasets, I have been using
L as few as ~10 to as many as ~100, and stepsizes
epsilon ranging from the default 0.1 to 0.001. Most if not all of the time, I have no idea what I am doing The guidelines in the helpfiles and this forum, and @nick’s scattered suggestions generally served me well (search “tune”, “leapfrog”, “stepsize” etc. in the forum). There are many technical papers on tuning these parameters, but they mostly point out that static HMC (what we have in
greta currently) demands fine tunings and then sell NUTS as an easier alternative.
I really like
greta so I need to befriend the static HMC sampler… but for someone like me, it’s really hard to imagine that a stepsize actually it. Does it have a unit? For example, if I scale my response and/or explanatory variables, that changes the scale of my coefficients, so do I also need to change the step size and number (since the explored parameter space has a different scale…)? Or is this unnecessary, because the
diag_sd also rescale the posterior space… ??? In other words, I don’t know what I’m doing because I don’t know what a stepsize of 10 means relative to the scales of my parameter and data… is 10 too large or too small?
Anyway, not asking for a definite guide here (because they is none…), but just thought to gauge how people usually tune their HMC sampler day to day. I usually increase the number of steps incrementally by 5, with or without decreasing stepsize at the same time. Still don’t know what I’m doing.