Learn R Programming

RandomFields (version 1.0.15)

CondSimu: Conditional Simulation

Description

the function returns conditional simulations of a random field

Usage

CondSimu(krige.method, x, y=NULL, z=NULL, grid,  model, param,
         method=NULL, n=1, register=0, gridtriple=FALSE, 
         err.model=NULL, err.param=NULL, err.method=NULL,
         err.register=1, given, data, tol=1e-05, pch=".")

Arguments

krige.method
Assumptions on the random field which corresponds to the respective kriging method; currently only "S" (simple kriging) and "O" (ordinary kriging) possible.
x
matrix or vector of x coordinates; points to be kriged.
y
vector of y coordinates.
z
vector of z coordinates.
grid
logical; determines whether the vectors x, y, and z should be interpreted as a grid definition, see Details.
model
string; covariance model of the random field. See CovarianceFct, or type PrintModelList() to get all options for model
param
parameter vector: param=c(mean, variance, nugget, scale,...); the parameters must be given in this order; further parameters are to be added in case of a parametrised class of covariance functions, see
method
NULL or string; method used for simulating, see RFMethods, or type PrintMethodList() to get all options.
n
number of realisations to generate.
register
0:9; place where intermediate calculations are stored; the numbers are aliases for 10 internal registers; see GaussRF for further details.
gridtriple
logical. Only relevant if grid==TRUE. If gridtriple==TRUE then x, y, and z are of the form c(start,end,step); if gridtriple==FALSE then x
err.model
string; covariance model that describes the measurement error. See CovarianceFct, or type PrintModelList() to get all options for <
err.param
parameter vector: err.param=c(mean, variance, nugget, scale,...); the parameters must be given in this order; further parameters are to be added in case of a parametrised class of covariance functions, see
err.method
Currently, only "nugget" or NULL is sensible; see method for further information.
err.register
see register for details.
given
matrix or vector of locations where data are available; note that it is not possible to give the points in form of a grid definition.
data
the values measured.
tol
considered only if grid=TRUE; tolerated distances of a given point to the nearest grid point to be regarded as being zero; see Details.
pch
character. The included kriging procedure can be quite time consuming. The character pch is printed after roughly each 80th part of calculation.

code

grid

cr

n==1: * grid==FALSE. A vector of simulated values is returned (independent of the dimension of the random field) * grid==TRUE. An array of the dimension of the random field is returned. n>1: * grid==FALSE. A matrix is returned. The columns contain the repetitions. * grid==TRUE. An array of dimension $d+1$, where $d$ is the dimension of the random field as given by x, y, and z, is returned. The last dimension contains the repetitions.

Details

The same way as GaussRF the function CondSimu allows for simulating on grids or arbitrary locations. However simulation on a grid is sometimes performed as if the points were at arbitrary locations, what may imply a great reduction in speed. This happens when the given locations do not ly on the specified grid, since in an intermediate step simulation has to be performed simultaneously on both the grid defined by x, y, z, and the locations of given. Comments on specific parameters
  • grid==FALSE: the vectorsx,y, andzare interpreted as vectors of coordinates
  • (grid==TRUE) && (gridtriple==FALSE): the vectorsx,y, andzare increasing sequences with identical lags for each sequence. A corresponding grid is created (as given byexpand.grid).
  • (grid==TRUE) && (gridtriple==FALSE): the vectorsx,y, andzare triples of the form (start,end,step) defining a grid (as given byexpand.grid(seq(x$start,x$end,x$step), seq(y$start,y$end,y$step), seq(z$start,z$end,z$step)))

References

Chiles, J.-P. and Delfiner, P. (1999) Geostatistics. Modeling Spatial Uncertainty. New York: Wiley.

Cressie, N.A.C. (1993) Statistics for Spatial Data. New York: Wiley. Goovaerts, P. (1997) Geostatistics for Natural Resources Evaluation. New York: Oxford University Press. Wackernagel, H. (1998) Multivariate Geostatistics. Berlin: Springer, 2nd edition.

See Also

CovarianceFct, GaussRF, Kriging RandomFields,

Examples

Run this code
## creating random variables first
## here, a grid is chosen, but any arbitrary points for which
## data are given are fine.  Indeed if the data are given on a
## grid, the grid has to be expanded before calling `CondSimu',
## see below.
## However, locations where values are to be simulated,
## should be given in form of a grid definition whenever
## possible 
param <- c(0, 1, 0, 1)
model <- "exponential"
RFparameters(PracticalRange=FALSE)
p <- 1:7
data <- GaussRF(x=p, y=p, grid=TRUE, model=model, param=param)

# another grid, where values are to be simulated
step <- 0.25 # or 0.3
x <-  seq(0, 7, step)

# standardisation of the output
lim <- range( c(x, p) )
zlim <- c(-2.6, 2.6)
colour <- rainbow(100)

## visualise generated spatial data
image(p, p, data, xlim=lim, ylim=lim, zlim=zlim, col=colour)
#conditional simulation
krige.method <- "O" ## random field assumption corresponding to
                   ## those of ordinary kriging
cz <- CondSimu(krige.method, x, x,  grid=TRUE,
               model=model, param=param,
               given=expand.grid(p,p),# if data are given on a grid
                                      # then expand the grid first
               data=data)

image(x, x, cz, col=colour, xlim=lim, ylim=lim, zlim=zlim)

Run the code above in your browser using DataLab