Coupling from the past
From Wikipedia, the free encyclopedia
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.
[edit] The basic idea
Consider a finite state irreducible aperiodic Markov chain M with state space S and (unique) stationary distribution π. Suppose that we come up with a probability distribution μ on the set of maps with the property that for every fixed , 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 , but it is often worthwhile to consider other distributions. Now let fj for be independent samples from μ.
Suppose that x is chosen randomly according to π and is independent from the sequence fj. (We do now worry for now where this x is comming from.) Then f − 1(x) is also distributed according to π, because π is M-stationary and our assumption on the law of f. Define
Then it follows by induction that Fj(x) is also distributed according to π for every . Now here is the main point. It may happen that for some the image of the map Fn is a single element of S. In other words, Fn(x) = Fn(y) for each . Therefore, we do not need to have access to x in order to compute Fn(x). The algorithm then involves finding some such that Fn(S) is a singleton, and outputing 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[citation needed].
[edit] 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 satisfies . Also, suppose that μ may be chosen to be supported on the set of monotone maps . 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 , and outputing Fn(s0) if Fn(s0) = Fn(s1). If 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.)
[edit] References
- Propp, James Gary & Wilson, David Bruce (1996), Exact sampling with coupled Markov chains and applications to statistical mechanics, “Proceedings of the Seventh International Conference on Random Structures and Algorithms (Atlanta, GA, 1995)”, Random Structures & Algorithms 9 (1): 223–252, MR1611693, ISSN 1042-9832
- Propp, James & Wilson, David (1998), “Coupling from the past: a user's guide”, Microsurveys in discrete probability (Princeton, NJ, 1997), vol. 41, DIMACS Ser. Discrete Math. Theoret. Comput. Sci., Providence, R.I.: American Mathematical Society, pp. 181–192, MR1630414