R: RFformula - syntax to design random field models with trend...

RFformula {RandomFields} | R Documentation

## RFformula - syntax to design random field models with trend or linear mixed models

### Description

It is described how to create a formula, which can e.g. be used as an argument of `RFsimulate` and `RFfit` to simulate and to fit data accordingly to the model described by the formula.

In general, the created formula serves two purposes:

- to describe models in the “Linear Mixed Models”-framework including fixed and random effects

- to define models for random fields including trend surfaces from a geostatistical point of view.

Thereby, fixed effects and trend surfaces are adressed via the expression `RMfixed` and the function `RMtrend`; the covariance structures of the zero-mean multivariate normally distributed random effects and random field components are adressed by objects of class `RMmodel`, which allow for a very flexible covariance specification.

### Details

The formula should be of the type

response ~ fixed effects + random effects + error term

or

response ~ trend + zero-mean random field + nugget effect,

respectively.

Thereby:

- response
  optional; name of response variable

- fixed effects/trend:
  optional, should be a sum (using `+`) of components either of the form `X@RMfixed(beta)` or `RMtrend(...)` with X being a design matrix and β being a vector of coefficients (see `RMfixed` and `RMtrend`).
  Note that a fixed effect of the form X is interpreted as `X@RMfixed(beta=NA)` by default (and β is estimated provided that the formula is used in `RFfit`).

- random effects/zero-mean random field:
  optional, should be a sum (using `+`) of components of the form `Z@model` where Z is a design matrix and `model` is an object of class `RMmodel`.
  `Z@model` describes a vector of random effects which is normally distributed with zero mean and covariance matrix Z Σ Z^T where Z^T is the transpose of Z and Σ is the covariance matrix according to `model`.
  Note that a random effect/random fluctuation of the form `model` is viewed as `I@model` where I is the identity matrix of corresponding dimension.

- error term/nugget effect
  optional, should be of the form `RMnugget(...)`. `RMnugget` describes a vector of iid Gaussian random variables.

  Please note that the character “@” in the RFformula-context can only be used to multiply design-matrices with corresponding vectors of fixed or random effects, whereas in the context of S4-classes “@” is used to access slots of corresponding objects.

### IMPORTANT

Note that in formula constants are interpreted as part of a mixed model, i.e. the corresponding parameter has to be estimated (e.g. `~ 1 + ...`) whereas models not given as formula the parameters to be estimated must be given explicitely.

### Note

(additional) argument names should always start with a capital letter. Small initial letters are reserved for `RFoptions`.

### Author(s)

Martin Schlather, schlather@math.uni-mannheim.de

### References

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

- McCulloch, C. E., Searle, S. R. and Neuhaus, J. M. (2008) Generalized, linear, and mixed models. Hoboken, NJ: John Wiley & Sons.

- Ruppert, D. and Wand, M. P. and Carroll, R. J. (2003) Semiparametric regression. Cambridge: Cambridge University Press.

### See Also

`RMmodel`, `RFsimulate`, `RFfit`, `RandomFields`.

### Examples

    RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
    ##                   RFoptions(seed=NA) to make them all random again

    RFoptions(modus_operandi="sloppy")

    ##############################################################
    #
    # Example  : Simulation and fitting of a two-dimensional
    # Gaussian random field with exponential covariance function
    #
    ###############################################################

    V <- 10
    S <- 0.3
    M <- 3
    model <- RMexp(var=V, scale=S) + M
    x <- y <- seq(1, 3, 0.1)

    simulated <- RFsimulate(model = model, x=x, y=y)
    plot(simulated)

    # an alternative code to the above code:
    simulated2 <- RFsimulate(model = ~ 1@RMfixed(beta=M) +
                   RMexp(var=V, scale=S),x=x, y=y, V=V, S=S, M=M)
    plot(simulated2)

    # Estimate parameters of underlying covariance function via
    # maximum likelihood
    model.na <- ~ 1@RMfixed(beta=NA) + RMexp(var=NA, scale=NA)
    fitted <- RFfit(model=model.na, data=simulated)

    # compare sample mean of data with ML estimate:
    mean(simulated@data[,1])
    fitted

[Package RandomFields version 3.1.50 Index]