Univariate Slice Sampling Algorithms

Introduction

These algorithms are the "single-variable" slice sampling algorithms originally described by Neal[N2003]. Since these algorithms are univariate, one has to incorporate them into a "meta" multivariate sampler, which are discussed in this section.

Fixed Initial Interval Slice Sampling

This is the most basic form of univariate slice sampling, where the proposals are generated within a fixed interval formed by the window.

SliceSampling.SliceType
Slice(window; max_proposals)

Univariate slice sampling with a fixed initial interval (Scheme 2 by Neal[N2003])

Arguments

  • window::Real: Proposal window.

Keyword Arguments

  • max_proposals::Int: Maximum number of proposals allowed until throwing an error (default: 10000).
source

Adaptive Initial Interval Slice Sampling

These algorithms try to adaptively set the initial interval through a simple search procedure. The "stepping-out" procedure grows the initial window on a linear scale, while the "doubling-out" procedure grows it geometrically. window controls the scale of the increase.

What Should I Use?

This highly depends on the problem at hand. In general, the doubling-out procedure tends to be more expensive as it requires additional log-target evaluations to decide whether to accept a proposal. However, if the scale of the posterior varies drastically, doubling out might work better. In general, it is recommended to use the stepping-out procedure.

SliceSampling.SliceSteppingOutType
SliceSteppingOut(window; max_stepping_out, max_proposals)

Univariate slice sampling by automatically adapting the initial interval through the "stepping-out" procedure (Scheme 3 by Neal[N2003])

Arguments

  • window::Real: Proposal window.

Keyword Arguments

  • max_stepping_out::Int: Maximum number of "stepping outs" (default: 32).
  • max_proposals::Int: Maximum number of proposals allowed until throwing an error (default: 10000).
source
SliceSampling.SliceDoublingOutType
SliceDoublingOut(window; max_doubling_out, max_proposals)

Univariate slice sampling by automatically adapting the initial interval through the "doubling-out" procedure (Scheme 4 by Neal[N2003])

Arguments

  • window::Real: Proposal window.

Keyword Arguments

  • max_doubling_out: Maximum number of "doubling outs" (default: 8).
  • max_proposals::Int: Maximum number of proposals allowed until throwing an error (default: 10000).
source
  • N2003Neal, R. M. (2003). Slice sampling. The Annals of Statistics, 31(3), 705-767.