Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

RFfit

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

  • An important optional argument is boxcox which indicates a Box-Cox transformation; see boxcox in RFoptions and RFboxcox for details.

  • Instead of optim, other optimisers can be used, see RFfitOptimiser.

  • Several advanced options can be found in sections ‘General options’ and ‘fit’ of RFoptions.

  • In particular, boxcox, boxcox_lb, boxcox_ub allow Box-Cox transformation.

  • This function does not depend on the value of RFoptions()$PracticalRange. The function RFfit always uses the standard specification of the covariance model as given in RMmodel.

Author(s)

References

  • Burnham, K. P. and Anderson, D. R. (2002) Model selection and Multi-Model Inference: A Practical Information-Theoretic Approach. 2nd edition. New York: Springer.

See Also

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)

RandomFields

Simulation and Analysis of Random Fields

v3.3.10
GPL (>= 3)
Authors
Martin Schlather [aut, cre], Alexander Malinowski [aut], Marco Oesting [aut], Daphne Boecker [aut], Kirstin Strokorb [aut], Sebastian Engelke [aut], Johannes Martini [aut], Felix Ballani [aut], Olga Moreva [aut], Jonas Auel[ctr], Peter Menck [ctr], Sebastian Gross [ctr], Ulrike Ober [ctb], Paulo Ribeiro [ctb], Brian D. Ripley [ctb], Richard Singleton [ctb], Ben Pfaff [ctb], R Core Team [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.