Parallel Tempering
General Chain-Structured Models
There is an important probability distribution used in applications (Liu, 2008):
where x=(x0,x1,…,xd). This type of model exhibits a so-called "Markovian structure" because
We can simulate from π(x) by an exact method. Note that
The simulating procedure is as follows:

Exact Method for Ising Model
For a one-dimensional Ising Model,
where xi∈{−1,1}. And thus the simulating procedure is much easy. Note that for t=1,…,d,
and Z=2(e−β+eβ)d.
We can use the following Julia program to simulate from π(x):
Parallel Tempering for Ising Model
Liu (2008) also introduced the parallel tempering strategy:

I wrote the following Julia program to implement this procedure and reproduce the simulation example of Liu (2008):
It is important to note that we should use logpdf to avoid too big values, in which the rejection part doesn't work well. Refer to Ising-model.jl for complete source code.
Finally, I reproduce the Figure 10.1 as follows:

and the corresponding autocorrelation plots:

References
Last updated