krige.conv
Spatial Prediction -- Conventional Kriging
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).
- Keywords
- spatial
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
anddata
as described next. Typically an object of theclass
"geodata"
- a geoR data-set. If not provided the argumentscoords
anddata
must be provided instead.- coords
an \(n \times 2\) matrix or data-frame with the 2-D coordinates of the \(n\) data locations. By default it takes the component
coords
of the argumentgeodata
, if provided.- data
a vector with n data values. By default it takes the component
data
of the argumentgeodata
, if provided.- locations
an \(N \times 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 thegeodata
object, if present. Setting toNULL
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 inkrige.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 inoutput.control
. Default values are assumed for arguments not provided. See documentation foroutput.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 settingtype.krige = "OK"
and specifying the trend model using the argumentstrend.d
andtrend.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 argumentlocations
.- obj.model
a list with the model parameters. Typically an output of
likfit
orvariofit
.- 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 ofoutput.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 functioncoords.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:
a vector with predicted values.
a vector with predicted variances.
estimates of the \(\beta\), parameter
implicit in kriging procedure. Not included if type.krige = "SK"
.
an \(ni \times 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
.
messages about the type of prediction performed.
the function call.
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)
# }