| rtemper {spatstat.random} | R Documentation |
Simulated Annealing or Simulated Tempering for Gibbs Point Processes
Description
Performs simulated annealing or simulated tempering for a Gibbs point process model using a specified annealing schedule.
Usage
rtemper(model, invtemp, nrep, ..., track=FALSE, start = NULL, verbose = FALSE)
Arguments
model |
A Gibbs point process model: a fitted Gibbs point process model
(object of class |
invtemp |
A numeric vector of positive numbers. The sequence of values of inverse temperature that will be used. |
nrep |
An integer vector of the same length as |
start |
Initial starting state for the simulation.
Any data acceptable to |
track |
Logical flag indicating whether to save the transition history of the simulations. |
... |
Additional arguments passed to |
verbose |
Logical value indicating whether to print progress reports. |
Details
The Metropolis-Hastings simulation algorithm
rmh is run for
nrep[1] steps at inverse temperature invtemp[1],
then for
nrep[2] steps at inverse temperature invtemp[2],
and so on.
Setting the inverse temperature to a value \alpha
means that the probability density of the Gibbs model, f(x),
is replaced by g(x) = C\, f(x)^\alpha
where C is a normalising constant depending on
\alpha.
Larger values of \alpha exaggerate the high and low
values of probability density, while smaller values of \alpha
flatten out the probability density.
For example if the original model is a Strauss process,
the modified model is close to a hard core process
for large values of inverse temperature, and close to a Poisson process
for small values of inverse temperature.
Value
A point pattern (object of class "ppp").
If track=TRUE, the result also has an attribute
"history" which is a data frame with columns
proposaltype, accepted,
numerator and denominator, as described
in rmh.default.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
See Also
Examples
stra <- rmhmodel(cif="strauss",
par=list(beta=2,gamma=0.2,r=0.7),
w=square(10))
nr <- if(interactive()) 1e5 else 1e3
Y <- rtemper(stra, c(1, 2, 4, 8), nr * (1:4), verbose=TRUE, track=TRUE)