Learn R Programming

RandomFields (version 3.1.12)

Coins: Random coin method

Description

The random coin method (or dilution method) is simulation method for stationary Gaussian random fields. It is based on the following procedure: For a stationary Poisson point process on ${\bf R}^d$ consider the random field $$Y(y) = \sum_{x\in X} f(y-x)$$ for a function $f$. The covariance of $Y$ is proportional to the convolution $$C(h) = \int f(x)f(x+h) dx$$ If the intensity of the Poisson point process increases, the random field $Y$ is approaches a Gaussian random field with covariance function $C$.

Usage

RPcoins(phi, shape, boxcox, intensity, method) 

RPaverage(phi, shape, boxcox, intensity, method)

Arguments

phi
object of class RMmodel; specifies the covariance function of the Poisson process; either phi or shape must be given.
shape
object of class RMmodel; specifies the function which is attached to the Poisson points; note that this is not the covariance function of the simulated random field.
boxcox
the one or two parameters of the box cox transformation. If not given, the globally defined parameters are used. see RFboxcox for Details.
intensity
positive number, intensity of the underlying Poisson point process.
method
integer. Default is the value 0 which addresses the current standard procedure. There might be further methods implemented mainly for internal purposes.

Value

References

  • Lantuejoul, C. (2002)Geostatistical Simulation: Models and Algorithms.Springer.

See Also

Gaussian, RP, RPhyperplane, RPspectral, RPtbm.

Examples

Run this code
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again
StartExample()
\dontrun{
x <- seq(0,25, 0.02)
model <- RPcoins(RMspheric())
z <- RFsimulate(model, x, x, spConform=FALSE) # takes 20 sec
Print(sd(as.vector(z)), mean(z))
image(z)


### Gaussian field approximates by Poisson fields
x <- seq(0,10, 0.02)
for (intensity in c(1, 10, 100)) {
 z <- RFsimulate(x=x, model=RPcoins(RMspheric(), intensity = intensity))
 plot(z)
}
}

FinalizeExample()

Run the code above in your browser using DataLab