Multiple-try Metropolis

From HandWiki
Revision as of 00:49, 14 June 2021 by imported>OrgMain (over-write)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Multiple-try Metropolis (MTM) is a sampling method that is a modified form of the Metropolis–Hastings method, first presented by Liu, Liang, and Wong in 2000. It is designed to help the sampling trajectory converge faster, by increasing both the step size and the acceptance rate.


Problems with Metropolis–Hastings

In Markov chain Monte Carlo, the Metropolis–Hastings algorithm (MH) can be used to sample from a probability distribution which is difficult to sample from directly. However, the MH algorithm requires the user to supply a proposal distribution, which can be relatively arbitrary. In many cases, one uses a Gaussian distribution centered on the current point in the probability space, of the form [math]\displaystyle{ Q(x'; x^t)=\mathcal{N}(x^t;\sigma^2 I) \, }[/math]. This proposal distribution is convenient to sample from and may be the best choice if one has little knowledge about the target distribution, [math]\displaystyle{ \pi(x) \, }[/math]. If desired, one can use the more general multivariate normal distribution, [math]\displaystyle{ Q(x'; x^t)=\mathcal{N}(x^t;\mathbf{\Sigma}) }[/math], where [math]\displaystyle{ \mathbf{\Sigma} }[/math] is the covariance matrix which the user believes is similar to the target distribution.

Although this method must converge to the stationary distribution in the limit of infinite sample size, in practice the progress can be exceedingly slow. If [math]\displaystyle{ \sigma^2 \, }[/math] is too large, almost all steps under the MH algorithm will be rejected. On the other hand, if [math]\displaystyle{ \sigma^2 \, }[/math] is too small, almost all steps will be accepted, and the Markov chain will be similar to a random walk through the probability space. In the simpler case of [math]\displaystyle{ Q(x'; x^t)=\mathcal{N}(x^t;I) \, }[/math], we see that [math]\displaystyle{ N \, }[/math] steps only takes us a distance of [math]\displaystyle{ \sqrt{N} \, }[/math]. In this event, the Markov Chain will not fully explore the probability space in any reasonable amount of time. Thus the MH algorithm requires reasonable tuning of the scale parameter ([math]\displaystyle{ \sigma^2 \, }[/math] or [math]\displaystyle{ \mathbf{\Sigma} }[/math]).

Problems with high dimensionality

Even if the scale parameter is well-tuned, as the dimensionality of the problem increases, progress can still remain exceedingly slow. To see this, again consider [math]\displaystyle{ Q(x'; x^t)=\mathcal{N}(x^t;I) \, }[/math]. In one dimension, this corresponds to a Gaussian distribution with mean 0 and variance 1. For one dimension, this distribution has a mean step of zero, however the mean squared step size is given by

[math]\displaystyle{ \langle x^2 \rangle =\int_{-\infty}^\infty x^2\frac{1}{\sqrt{2 \pi}}e^{-\frac{x^2}{2}}=1 }[/math]

As the number of dimensions increases, the expected step size becomes larger and larger. In [math]\displaystyle{ N \, }[/math] dimensions, the probability of moving a radial distance [math]\displaystyle{ r \, }[/math] is related to the Chi distribution, and is given by

[math]\displaystyle{ P_n(r) \propto r^{n-1}e^{-r^2/2} }[/math]

This distribution is peaked at [math]\displaystyle{ r=\sqrt{N-1} \, }[/math] which is [math]\displaystyle{ \approx\sqrt{N} \, }[/math] for large [math]\displaystyle{ N \, }[/math]. This means that the step size will increase as the roughly the square root of the number of dimensions. For the MH algorithm, large steps will almost always land in regions of low probability, and therefore be rejected.

If we now add the scale parameter [math]\displaystyle{ \sigma^2 \, }[/math] back in, we find that to retain a reasonable acceptance rate, we must make the transformation [math]\displaystyle{ \sigma^2 \rightarrow \sigma^2/N }[/math]. In this situation, the acceptance rate can now be made reasonable, but the exploration of the probability space becomes increasingly slow. To see this, consider a slice along any one dimension of the problem. By making the scale transformation above, the expected step size is any one dimension is not [math]\displaystyle{ \sigma \, }[/math] but instead is [math]\displaystyle{ \sigma/\sqrt{N} }[/math]. As this step size is much smaller than the "true" scale of the probability distribution (assuming that [math]\displaystyle{ \sigma \, }[/math] is somehow known a priori, which is the best possible case), the algorithm executes a random walk along every parameter.

The multiple-try Metropolis algorithm

Suppose [math]\displaystyle{ Q(\mathbf{x},\mathbf{y}) }[/math] is an arbitrary proposal function. We require that [math]\displaystyle{ Q(\mathbf{x},\mathbf{y})\gt 0 }[/math] only if [math]\displaystyle{ Q(\mathbf{y},\mathbf{x})\gt 0 }[/math]. Additionally, [math]\displaystyle{ \pi(\mathbf{x}) }[/math] is the likelihood function.

Define [math]\displaystyle{ w(\mathbf{x},\mathbf{y})=\pi(\mathbf{x})Q(\mathbf{x},\mathbf{y})\lambda(\mathbf{x},\mathbf{y}) }[/math] where [math]\displaystyle{ \lambda(\mathbf{x},\mathbf{y}) }[/math] is a non-negative symmetric function in [math]\displaystyle{ \mathbf{x} }[/math] and [math]\displaystyle{ \mathbf{y} }[/math] that can be chosen by the user.

Now suppose the current state is [math]\displaystyle{ \mathbf{x} }[/math]. The MTM algorithm is as follows:

1) Draw k independent trial proposals [math]\displaystyle{ \mathbf{y}_1,\ldots,\mathbf{y}_k }[/math] from [math]\displaystyle{ Q(\mathbf{x},.) }[/math]. Compute the weights [math]\displaystyle{ w(\mathbf{y}_j,\mathbf{x}) }[/math] for each of these.

2) Select [math]\displaystyle{ \mathbf{y} }[/math] from the [math]\displaystyle{ \mathbf{y}_i }[/math] with probability proportional to the weights.

3) Now produce a reference set by drawing [math]\displaystyle{ \mathbf{x}_1,\ldots,\mathbf{x}_{k-1} }[/math] from the distribution [math]\displaystyle{ Q(\mathbf{y},.) }[/math]. Set [math]\displaystyle{ \mathbf{x}_k=\mathbf{x} }[/math] (the current point).

4) Accept [math]\displaystyle{ \mathbf{y} }[/math] with probability

[math]\displaystyle{ r=\text{min} \left(1, \frac{ w(\mathbf{y}_1,\mathbf{x} )+ \ldots+ w(\mathbf{y}_k,\mathbf{x}) }{ w(\mathbf{x}_1,\mathbf{y})+ \ldots+ w(\mathbf{x}_k,\mathbf{y}) } \right) }[/math]

It can be shown that this method satisfies the detailed balance property and therefore produces a reversible Markov chain with [math]\displaystyle{ \pi(\mathbf{x}) }[/math] as the stationary distribution.

If [math]\displaystyle{ Q(\mathbf{x},\mathbf{y}) }[/math] is symmetric (as is the case for the multivariate normal distribution), then one can choose [math]\displaystyle{ \lambda(\mathbf{x},\mathbf{y})=\frac{1}{Q(\mathbf{x},\mathbf{y})} }[/math] which gives [math]\displaystyle{ w(\mathbf{x},\mathbf{y})=\pi(\mathbf{x}) }[/math].


Multiple-try Metropolis needs to compute the energy of [math]\displaystyle{ 2k-1 }[/math] other states at every step. If the slow part of the process is calculating the energy, then this method can be slower. If the slow part of the process is finding neighbors of a given point, or generating random numbers, then again this method can be slower. It can be argued that this method only appears faster because it puts much more computation into a "single step" than Metropolis-Hastings does.

See also


  • Liu, J. S., Liang, F. and Wong, W. H. (2000). The multiple-try method and local optimization in Metropolis sampling, Journal of the American Statistical Association, 95(449): 121–134 JSTOR