## The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo

*Matthew D. Hoffman, Andrew Gelman*; 15(Apr):1593−1623, 2014.

### Abstract

Hamiltonian Monte Carlo (HMC) is a Markov chain Monte Carlo
(MCMC) algorithm that avoids the random walk behavior and
sensitivity to correlated parameters that plague many MCMC
methods by taking a series of steps informed by first-order
gradient information. These features allow it to converge to
high-dimensional target distributions much more quickly than
simpler methods such as random walk Metropolis or Gibbs
sampling. However, HMC's performance is highly sensitive to two
user-specified parameters: a step size $\epsilon$ and a desired
number of steps $L$. In particular, if $L$ is too small then the
algorithm exhibits undesirable random walk behavior, while if
$L$ is too large the algorithm wastes computation. We introduce
the No-U-Turn Sampler (NUTS), an extension to HMC that
eliminates the need to set a number of steps $L$. NUTS uses a
recursive algorithm to build a set of likely candidate points
that spans a wide swath of the target distribution, stopping
automatically when it starts to double back and retrace its
steps. Empirically, NUTS performs at least as efficiently as
(and sometimes more efficiently than) a well tuned standard HMC
method, without requiring user intervention or costly tuning
runs. We also derive a method for adapting the step size
parameter $\epsilon$ on the fly based on primal-dual averaging.
NUTS can thus be used with no hand-tuning at all, making it
suitable for applications such as BUGS-style automatic inference
engines that require efficient “turnkey” samplers.

[abs][pdf][bib]