RFfit {RandomFields}R Documentation

Fitting model parameters to spatial data (regionalised variables) and to linear (mixed) models

Description

The function estimates arbitrary parameters of a random field specification with various methods. Currently, the models to be fitted can be

The fitting of max-stable random fields and others has not been implemented yet.

Usage

RFfit(model, x, y = NULL, z = NULL, T = NULL, grid=NULL, data,
      lower = NULL, upper = NULL, methods,
      sub.methods, optim.control = NULL, users.guess = NULL,
      distances = NULL, dim, transform = NULL, params=NULL, ...)

Arguments

model,params

object of class RMmodel, RFformula or formula; best is to consider the examples below, first.
The argument params is a list that specifies free parameters in a formula description, see RMformula.

All parameters that are set to NA will be estimated; see the examples below.

Type RFgetModelNames(type="variogram") to get all options for model.

x

vector of x coordinates, or object of class GridTopology or raster; for more options see RFsimulateAdvanced.

y,z

optional vectors of y (z) coordinates, which should not be given if x is a matrix.

T

optional vector of time coordinates, T must always be an equidistant vector. Instead of T=seq(from=From, by=By, len=Len), one may also write T=c(From, By, Len).

grid

logical; the function finds itself the correct value in nearly all cases, so that usually grid need not be given. See also RFsimulateAdvanced.

data

matrix, data.frame or object of class RFsp;
If a matrix is given the ordering of the colums is the following: space, time, multivariate, repetitions, i.e. the index for the space runs the fastest and that for repetitions the slowest.

lower

list or vector. Lower bounds for the parameters. If lower is a vector, lower has to be a vector as well and its length must equal the number of parameters to be estimated. The order of lower has to be maintained. A component being NA means that no manual lower bound for the corresponding parameter is set.
If lower is a list, lower has to be of (exactly) the same structure of the model.

upper

list or vector. Upper bounds for the parameters. See lower.

methods

Main methods to be used for estimating. If several methods are given, estimation will be performed with each method and the results reported.

sub.methods

variants of the least squares fit of the variogram. variants of the maximum likelihood fit of the covariance function.. See Details.

users.guess

User's guess of the parameters. All the parameters must be given using the same rules as for lower (except that no NA's should be contained).

distances,dim

another alternative for the argument x to pass the (relative) coordinates, see RFsimulateAdvanced.

optim.control

control list for optim, which uses ‘L-BFGS-B’. However parscale may not be given.

transform

obsolete for users; use param instead. transform=list() will return structural information to set up the correct function.

...

for advanced use: further options and control arguments for the simulation that are passed to and processed by RFoptions. If params is given, then ... may include also the variables used in params.

Details

For details on the simulation methods see

If x-coordinates are not given, the function will check data for NAs and will perform imputing.

The function has many more options to tune the optimizer, see RFoptions for details.

If the model defines a Gaussian random field, the options for methods and submethods are currently "ml" and c("self", "plain", "sqrt.nr", "sd.inv", "internal"), respectively.

Value

The result depends on the logical value of spConform. If TRUE, an S4 object is created. In case the model indicates a Gaussian random field, an RFfit object is created.

If spConform=FALSE, a list is returned. In case the model indicates a Gaussian random field, the details are given in fitgauss.

Note

Author(s)

Martin Schlather, schlather@math.uni-mannheim.de, http://ms.math.uni-mannheim.de

References

See Also

RFfitOptimiser, RFlikelihood, RFratiotest, RMmodel, RandomFields, weather.

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")


#########################################################
## simulate some data first                            ## 
points <- 100
x <- runif(points, 0, 3)
y <- runif(points, 0, 3) ## random points in square [0, 3]^2
model <- RMgencauchy(alpha=1, beta=2)
d <- RFsimulate(model, x=x, y=y, grid=FALSE, n=100) #1000


#########################################################
## estimation; 'NA' means: "to be estimated"           ##
estmodel <- RMgencauchy(var=NA, scale=NA, alpha=NA, beta=2) +
            RMtrend(mean=NA)
RFfit(estmodel, data=d)


#########################################################
## coupling alpha and beta                             ##
estmodel <- RMgencauchy(var=NA, scale=NA, alpha=NA, beta=NA) + 
            RMtrend(NA)
RFfit(estmodel, data=d, transform = NA) ## just for information
trafo <- function(a) c(a[1], rep(a[2], 2))
fit <- RFfit(estmodel, data=d,
             transform = list(c(TRUE, TRUE, FALSE), trafo))
print(fit)
print(fit, full=TRUE)






[Package RandomFields version 3.3.7 Index]