accept_stat

Quick definition The acceptance statistic used by NUTS for the Metropolis correction. In the original NUTS implementation a slice sampling step was used to sample a state from each Hamiltonian trajectory and accept_stat was the acceptance probability averaged over samples in the slice. In more recent versions of Stan the NUTS algorithm uses multinomial sampling over the states for each Hamiltonian trajectory. For HMC without NUTS accept_stat is the standard Metropolis acceptance probability.

More details

If the leapfrog integrator were perfect numerically, there would no need to do any more randomization per transition than generating a random momentum vector. Instead, what is done in practice to account for numerical errors during integration is to apply a Metropolis acceptance step. If the proposal is not accepted, the previous parameter value is returned for the next draw and used to initialize the next iteration.

By setting the target acceptance parameter to a value closer to 1 (its value must be strictly less than 1 and its default value is 0.8), adaptation will be forced to use smaller step sizes. This can improve sampling efficiency (effective samples per iteration) at the cost of increased iteration times. Raising the target will also allow some models that would otherwise get stuck to overcome their blockages.