Coupling from the past

From HandWiki

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 π (π is a probability vector). Suppose that we come up with a probability distribution μ on the set of maps f:SS with the property that for every fixed sS, 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 ss, but it is often worthwhile to consider other distributions. Now let fj for j be independent samples from μ.

Suppose that x is chosen randomly according to π and is independent from the sequence fj. (We do not worry for now where this x is coming from.) Then f1(x) is also distributed according to π, because π is M-stationary and our assumption on the law of f. Define

Fj:=f1f2fj.

Then it follows by induction that Fj(x) is also distributed according to π for every j. However, it may happen that for some n the image of the map Fn is a single element of S. In other words, Fn(x)=Fn(y) for each yS. Therefore, we do not need to have access to x in order to compute Fn(x). The algorithm then involves finding some n such that Fn(S) is a singleton, and outputting the element of that singleton. The design of a good distribution μ 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 choices for μ and a tool for determining if |Fn(S)|=1. (Here || denotes cardinality.) Suppose that S is a partially ordered set with order , which has a unique minimal element s0 and a unique maximal element s1; that is, every sS satisfies s0ss1. Also, suppose that μ may be chosen to be supported on the set of monotone maps f:SS. 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 f1,,fn, and outputting Fn(s0) if Fn(s0)=Fn(s1). If Fn(s0)Fn(s1) the algorithm proceeds by doubling n and repeating as necessary until an output is obtained. (But the algorithm does not resample the maps fj which were already sampled; it uses the previously sampled maps when needed.)

References

  • Propp, James Gary; Wilson, David Bruce (1996). pp. 223–252. 
  • Propp, James; Wilson, David (1998), "Coupling from the past: a user's guide", Microsurveys in discrete probability (Princeton, NJ, 1997), DIMACS Ser. Discrete Math. Theoret. Comput. Sci., 41, Providence, R.I.: American Mathematical Society, pp. 181–192, doi:10.1090/dimacs/041/09, ISBN 9780821808276