Slice Sampling

Radford M. Neal, Dept. of Statistics and Dept. of Computer Science, University of Toronto

Markov chain sampling methods that automatically adapt to characteristics of the distribution being sampled can be constructed by exploiting the principle that one can sample from a distribution by sampling uniformly from the region under the plot of its density function. A Markov chain that converges to this uniform distribution can be constructed by alternating uniform sampling in the vertical direction with uniform sampling from the horizontal `slice' defined by the current vertical position, or more generally, with some update that leaves the uniform distribution over this slice invariant. Variations on such `slice sampling' methods are easily implemented for univariate distributions, and can be used to sample from a multivariate distribution by updating each variable in turn. This approach is often easier to implement than Gibbs sampling, and more efficient than simple Metropolis updates, due to the ability of slice sampling to adaptively choose the magnitude of changes made. It is therefore attractive for routine and automated use. Slice sampling methods that update all variables simultaneously are also possible. These methods can adaptively choose the magnitudes of changes made to each variable, based on the local properties of the density function. More ambitiously, such methods could potentially allow the sampling to adapt to dependencies between variables by constructing local quadratic approximations. Another approach is to improve sampling efficiency by suppressing random walks. This can be done using `overrelaxed' versions of univariate slice sampling procedures, or by using `reflective' multivariate slice sampling methods, which bounce off the edges of the slice.

Technical Report No. 2005, Dept. of Statistics (August 2000), 40 pages: postscript, pdf.

Also available from arXiv.org.

Software implementing methods described in this paper is available here and here.


Associated references: This technical report became the following paper:
Neal, R. M. (2003) ``Slice sampling'' (with discussion), Annals of Statistics, vol. 31, pp. 705-767: abstract, text from online journal site, associated references, associated software, more associated software.

These derived from the following earlier technical report:
Neal, R. M. (1997) ``Markov chain Monte Carlo methods based on `slicing' the density function'', Technical Report No. 9722, Dept. of Statistics, University of Toronto, 27 pages: abstract, postscript, pdf, associated references.