Coupling from the past explained

Among Markov chain Monte Carlo (MCMC) algorithms, coupling from the past is a method for sampling from the stationary distribution of a Markov chain. Contrary to many MCMC algorithms, coupling from the past gives in principle a perfect sample from the stationary distribution. It was invented by James Propp and David Wilson in 1996.

The basic idea

Consider a finite state irreducible aperiodic Markov chain

M

with state space

S

and (unique) stationary distribution

\pi

(

\pi

is a probability vector). Suppose that we come up with a probability distribution

\mu

on the set of maps

f:S\toS

with the property that for every fixed

s\inS

, its image

f(s)

is distributed according to the transition probability of

M

from state

s

. An example of such a probability distribution is the one where

f(s)

is independent from

f(s')

whenever

s\nes'

, but it is often worthwhile to consider other distributions. Now let

fj

for

j\inZ

be independent samples from

\mu

.

Suppose that

x

is chosen randomly according to

\pi

and is independent from the sequence

fj

. (We do not worry for now where this

x

is coming from.) Then

f-1(x)

is also distributed according to

\pi

, because

\pi

is

M

-stationary and our assumption on the law of

f

. Define

Fj:=f-1\circf-2\circ\circf-j.

Then it follows by induction that

Fj(x)

is also distributed according to

\pi

for every

j\inN

. However, it may happen that for some

n\inN

the image of the map

Fn

is a single element of

S

.In other words,

Fn(x)=Fn(y)

for each

y\inS

. Therefore, we do not need to have access to

x

in order to compute

Fn(x)

. The algorithm then involves finding some

n\inN

such that

Fn(S)

is a singleton, and outputting the element of that singleton. The design of a good distribution

\mu

for which the task of finding such an

n

and computing

Fn

is not too costly is not always obvious, but has been accomplished successfully in several important instances.[1]

The monotone case

There is a special class of Markov chains in which there are particularly good choicesfor

\mu

and a tool for determining if

|Fn(S)|=1

. (Here

||

denotes cardinality.) Suppose that

S

is a partially ordered set with order

\le

, which has a unique minimal element

s0

and a unique maximal element

s1

; that is, every

s\inS

satisfies

s0\les\les1

. Also, suppose that

\mu

may be chosen to be supported on the set of monotone maps

f:S\toS

. Then it is easy to see that

|Fn(S)|=1

if and only if

Fn(s0)=Fn(s1)

, since

Fn

is monotone. Thus, checking this becomes rather easy. The algorithm can proceed by choosing

n:=n0

for some constant

n0

, sampling the maps

f-1,...,f-n

, and outputting

Fn(s0)

if

Fn(s0)=Fn(s1)

. If

Fn(s0)\neFn(s1)

the algorithm proceeds by doubling

n

and repeating as necessary until an output is obtained. (But the algorithm does not resample the maps

f-j

which were already sampled; it uses the previously sampled maps when needed.)

References

Notes and References

  1. Web site: Web Site for Perfectly Random Sampling with Markov Chains.