Learn R Programming

RandomFields (version 3.0.5)

Tbm: Turning Bands method

Description

The Turning Bands method is a simulation method for stationary, isotropic random fields in any dimension and defined on arbitrary points or arbitrary grids. It performs a multidimensional simulation by superposing lower-dimensional fields. In fact, the Turning Bands method is called with the Turning Bands model, see RMtbm. For details see RMtbm.

Usage

RPtbm(phi, fulldim, reduceddim, layers, lines,
      linessimufactor, linesimustep, center, points)

Arguments

phi
object of class RMmodel; specifies the covariance function to be simulated; a univariate stationary isotropic covariance model (see RFgetModelNames(type="positive definite",
fulldim
a positive integer. The dimension of the space of the random field to be simulated
reduceddim
a positive integer; less than fulldim. The dimension of the auxiliary hyperplane (most frequently a line, i.e. reduceddim=1 used in the simulation.
layers
a boolean value; for space time model. If TRUE then the turning layers are used whenever a time component is given. If NA the turning layers are used only when the traditional TBM is not applicable. If
lines
Number of lines used. Default: 60.
linessimufactor
linessimufactor or linesimustep must be non-negative; if linesimustep is positive then linesimufactor is ignored. If both arguments are naught then points is used (and mu
linesimustep
If linesimustep is positive the grid on the line has lag linesimustep. See also linesimufactor. Default: 0.0.
center
Scalar or vector. If not NA, the center is used as the center of the turning bands for fulldim. Otherwise the center is determined automatically such that the line length is minimal. See also
points
integer. If greater than 0, points gives the number of points simulated on the TBM line, hence must be greater than the minimal number of points given by the size of the simulated field and the two paramters linesim

Value

  • RPtbm returns an object of class RMmodel

Details

  • 2-dimensional case It is generally difficult to use the turning bands method (RPtbm) directly in the 2-dimensional space. Instead, 2-dimensional random fields are frequently obtained by simulating a 3-dimensional random field (usingRPtbm) and taking a 2-dimensional cross-section. See also the argumentsfulldimandreduceddim.
  • 4-dimensional case The turning layers can be used for the simulations with a (formal) time component. It works for all isotropic models, some special models such asRMnsst, and multiplicate models with that separate the time component.

References

Turning bands
  • Lantuejoul, C. (2002)Geostatistical Simulation: Models and Algorithms.Springer.
  • Matheron, G. (1973). The intrinsic random functions and their applications.Adv. Appl. Probab.,5, 439-468.
  • Strokorb, K., Ballani, F., and Schlather, M. (2014) Tail correlation functions of max-stable processes: Construction principles, recovery and diversity of some mixing max-stable processes with identical TCF.Extremes,Submitted.

Turning layers

  • Schlather, M. (2011) Construction of covariance functions and unconditional simulation of random fields. In Porcu, E., Montero, J.M. and Schlather, M.,Space-Time Processes and Challenges Related to Environmental Problems.New York: Springer.

See Also

RMtbm, RP, RPspectral

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

## isotropic example that forces the use of the turning bands method
model <- RPtbm(RMstable(s=1, alpha=1.8))
x <- seq(-3, 3, 0.1)
z <- RFsimulate(model=model, x=x, y=x)
plot(z)

## anisotropic example that forces the use of the turning bands method
model <- RPtbm(RMexp(Aniso=matrix(nc=2, rep(1,4))))
z <- RFsimulate(model=model, x=x, y=x)
plot(z)

## isotropic example that uses the turning layers method
model <- RMgneiting(orig=FALSE, scale=0.4)
x <- seq(0,10, if (interactive()) 0.1 else 5)
z <- RFsimulate(model, x=x, y=x, z=x, T=c(1,1,5))
plot(z, MARGIN.slices=4, MARGIN.movie=3)


FinalizeExample()

Run the code above in your browser using DataLab