R: Spatial Prediction - Conventional Kriging

krige.conv {geoR} | R Documentation

## Spatial Prediction – Conventional Kriging

### Description

This function performs spatial prediction for fixed covariance parameters using global neighbourhood.

Options available implement the following types of kriging: SK (simple kriging), OK (ordinary kriging), KTE (external trend kriging) and UK (universal kriging).

### Usage

    krige.conv(geodata, coords=geodata$coords, data=geodata$data,
               locations, borders, krige, output)

    krige.control(type.krige = "ok", trend.d = "cte", trend.l = "cte",
                obj.model = NULL, beta, cov.model, cov.pars, kappa,
                nugget, micro.scale = 0, dist.epsilon = 1e-10,
                aniso.pars, lambda)

### Arguments

`geodata` | a list containing elements `coords` and `data` as described next. Typically an object of the `class` `"geodata"` - a geoR data-set. If not provided the arguments `coords` and `data` must be provided instead.
`coords` | an n x 2 matrix or data-frame with the 2-D coordinates of the n data locations. By default it takes the component `coords` of the argument `geodata`, if provided.
`data` | a vector with n data values. By default it takes the component `data` of the argument `geodata`, if provided.
`locations` | an N x 2 matrix or data-frame with the 2-D coordinates of the N prediction locations, or a list for which the first two components are used. Input is internally checked by the function `check.locations`.
`borders` | optional. By default reads the element `borders` from the `geodata` object, if present. Setting to `NULL` prevents this behavior. If a two column matrix defining a polygon is provided the prediction is performed only at locations inside this polygon.
`krige` | a list defining the model components and the type of kriging. It can take an output to a call to `krige.control` or a list with elements as for the arguments in `krige.control`. Default values are assumed for arguments or list elements not provided. See the description of arguments in ‘krige.control’ below.
`output` | a list specifying output options. It can take an output to a call to `output.control` or a list with elements as for the arguments in `output.control`. Default values are assumed for arguments not provided. See documentation for `output.control` for further details.
`type.krige` | type of kriging to be performed. Options are `"SK", "OK"` corresponding to simple or ordinary kriging. Kriging with external trend and universal kriging can be defined setting `type.krige = "OK"` and specifying the trend model using the arguments `trend.d` and `trend.l`.
`trend.d` | specifies the trend (covariate) values at the data locations. See documentation of `trend.spatial` for further details. Defaults to `"cte"`.
`trend.l` | specifies the trend (covariate) values at prediction locations. It must be of the same type as for `trend.d`. Only used if prediction locations are provided in the argument `locations`.
`obj.model` | a list with the model parameters. Typically an output of `likfit` or `variofit`.
`beta` | numerical value of the mean (vector) parameter. Only used if `type.krige="SK"`.
`cov.model` | string indicating the name of the model for the correlation function. Further details can be found in the documentation of the function `cov.spatial`.
`cov.pars` | a 2 elements vector with values of the covariance parameters sigma^2 (partial sill) and phi (range parameter), respectively.

`kappa` | additional smoothness parameter required by the following correlation functions: `"matern"`, `"powered.exponential"`, `"cauchy"` and `"gneiting.matern"`.
`nugget` | the value of the nugget variance parameter tau^2. Defaults to zero.
`micro.scale` | micro-scale variance. If different from zero, the nugget variance is divided into 2 terms: micro-scale variance and measurement error. This affect the precision of the predictions. Often in practice, these two variance components are indistinguishable but the distinction can be made here if justifiable. See the section `DETAILS` in the documentation of `output.control`.
`dist.epsilon` | a numeric value. Locations which are separated by a distance less than this value are considered co-located.
`aniso.pars` | parameters for geometric anisotropy correction. If `aniso.pars = FALSE` no correction is made, otherwise a two elements vector with values for the anisotropy parameters must be provided. Anisotropy correction consists of a transformation of the data and prediction coordinates performed by the function `coords.aniso`.
`lambda` | numeric value of the Box-Cox transformation parameter. The value lambda = 1 corresponds to no transformation and lambda = 0 corresponds to the log-transformation. Prediction results are back-transformed and returned is the same scale as for the original data.

### Details

According to the arguments provided, one of the following different types of kriging: SK, OK, UK or KTE is performed. Defaults correspond to ordinary kriging.

### Value

An object of the `class` `kriging`. The attribute `prediction.locations` containing the name of the object with the coordinates of the prediction locations (argument `locations`) is assigned to the object. Returns a list with the following components:

`predict` | a vector with predicted values.
`krige.var` | a vector with predicted variances.
`beta.est` | estimates of the beta, parameter implicit in kriging procedure. Not included if `type.krige = "SK"`.
`simulations` | an ni x n.sim matrix where ni is the number of prediction locations. Each column corresponds to a conditional simulation of the predictive distribution. Only returned if `n.sim > 0`.
`message` | messages about the type of prediction performed.
`call` | the function call.

Other results can be included depending on the options passed to `output.control`.

### Author(s)

Paulo J. Ribeiro Jr. paulojus@leg.ufpr.br,
Peter J. Diggle p.diggle@lancaster.ac.uk.

### References

Further information on the package geoR can be found at:
http://www.leg.ufpr.br/geoR.

### See Also

`output.control` sets output options, `image.kriging` and `persp.kriging` for graphical output of the results, `krige.bayes` for Bayesian prediction and `ksline` for a different implementation of kriging allowing for moving neighborhood. For model fitting see `likfit` or `variofit`.

### Examples

    ## Not run:
    # Defining a prediction grid
    loci <- expand.grid(seq(0,1,l=21), seq(0,1,l=21))
    # predicting by ordinary kriging
    kc <- krige.conv(s100, loc=loci,
                     krige=krige.control(cov.pars=c(1, .25)))
    # mapping point estimates and variances
    par.ori <- par(no.readonly = TRUE)
    par(mfrow=c(1,2), mar=c(3.5,3.5,1,0), mgp=c(1.5,.5,0))
    image(kc, main="kriging estimates")
    image(kc, val=sqrt(kc$krige.var), main="kriging std. errors")
    # Now setting the output to simulate from the predictive
    # (obtaining conditional simulations),
    # and to compute quantile and probability estimators
    s.out <- output.control(n.predictive = 1000, quant=0.9, thres=2)
    set.seed(123)
    kc <- krige.conv(s100, loc = loci,
             krige = krige.control(cov.pars = c(1,.25)),
             output = s.out)
    par(mfrow=c(2,2))
    image(kc, val=kc$simul[,1], main="a cond. simul.")
    image(kc, val=kc$simul[,1], main="another cond. simul.")
    image(kc, val=(1 - kc$prob), main="Map of P(Y > 2)")
    image(kc, val=kc$quant, main="Map of y s.t. P(Y < y) = 0.9")
    par(par.ori)

    ## End(Not run)

[Package geoR version 1.7-5.2 Index]