Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/georob_variogram.R
The function fit.variogram.model
fits a variogram model to a sample
variogram by (weighted) non-linear least squares. There are print
,
summary
and
lines
methods for summarizing and displaying fitted variogram
models.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | fit.variogram.model(sv,
variogram.model = c("RMexp", "RMaskey", "RMbessel", "RMcauchy",
"RMcircular", "RMcubic", "RMdagum", "RMdampedcos", "RMdewijsian",
"RMfbm", "RMgauss", "RMgencauchy", "RMgenfbm", "RMgengneiting",
"RMgneiting", "RMlgd", "RMmatern", "RMpenta", "RMqexp",
"RMspheric", "RMstable", "RMwave", "RMwhittle"),
param, fit.param = default.fit.param()[names(param)],
aniso = default.aniso(), fit.aniso = default.fit.aniso(),
variogram.object = NULL,
max.lag = max(sv[["lag.dist"]]), min.npairs = 30,
weighting.method = c("cressie", "equal", "npairs"),
control = control.fit.variogram.model(),
verbose = 0)
control.fit.variogram.model(maximizer = c("nlminb", "optim"),
param.tf = param.transf(), fwd.tf = fwd.transf(),
deriv.fwd.tf = dfwd.transf(), bwd.tf = bwd.transf(),
hessian = TRUE, optim = control.optim(), nlminb = control.nlminb())
## S3 method for class 'fitted.variogram'
print(x, digits = max(3, getOption("digits") - 3), ...)
## S3 method for class 'fitted.variogram'
summary(object, correlation = FALSE, signif = 0.95, ...)
## S3 method for class 'fitted.variogram'
lines(x, what = c("variogram", "covariance", "correlation"),
from = 1.e-6, to, n = 501, xy.angle = 90, xz.angle = 90,
col = 1:length(xy.angle), pch = 1:length(xz.angle), lty = "solid", ...)
|
sv |
an object of class |
variogram.model |
a character keyword defining the variogram model to
be fitted. Currently, most basic variogram models provided by the
package RandomFields can be fitted (see Details of
|
param |
a named numeric vector with initial values of the variogram
parameters. The following parameter names are allowed (see
Details of
|
fit.param |
a named logical vector (or a function such as
|
aniso |
a named numeric vector with initial values (or a function such as
|
fit.aniso |
a named logical vector (or a function such as
|
variogram.object |
an optional list that defines a possibly nested variogram model. Each component is itself a list with the following components:
Note that the arguments |
max.lag |
a positive numeric defining the maximum lag distance to be used for fitting or plotting variogram models (default all lag classes). |
min.npairs |
a positive integer defining the minimum number of data
pairs required so that a lag class is used for fitting a variogram
model (default |
weighting.method |
a character keyword defining the weights for non-linear least squares. Possible values are:
|
verbose |
positive integer controlling logging of diagnostic messages to the console during model fitting. |
control |
a list with the components |
maximizer |
character keyword defining the optimizer for nonlinear
least squares. Possible values are |
hessian |
logical scalar controlling whether the Hessian should be computed at the nonlinear least squares estimates. |
param.tf |
a function such as |
fwd.tf |
a function such as |
deriv.fwd.tf |
a function such as |
bwd.tf |
a function such as |
nlminb |
a list of arguments passed to |
optim |
a list of arguments passed to |
object, x |
an object of class |
digits |
positive integer indicating the number of decimal digits to print. |
correlation |
logical controlling whether the correlation matrix of
the fitted variogram parameters is computed (default |
signif |
confidence level for computing confidence intervals for
variogram parameters (default |
what |
the quantity that should be displayed (default |
from |
numeric, minimal lag distance used in plotting variogram models. |
to |
numeric, maximum lag distance used in plotting variogram models (default: largest lag distance of current plot). |
n |
positive integer specifying the number of equally spaced lag
distances for which semi-variances are evaluated in plotting variogram
models (default |
xy.angle |
numeric (vector) with azimuth angles (in degrees, clockwise positive from north) in x-y-plane for which semi-variances should be plotted. |
xz.angle |
numeric (vector) with angles in x-z-plane (in degrees, clockwise positive from zenith to south) for which semi-variances should be plotted. |
col |
color of curves to distinguish curves relating to different azimuth angles in x-y-plane. |
pch |
type of plotting symbols added to lines to distinguish curves relating to different angles in x-z-plane. |
lty |
line type for plotting variogram models. |
... |
additional arguments passed to methods. |
The parametrization of geometrically anisotropic variograms is
described in detail in georobIntro
, and the section
Details of georob
describes how the parameter
estimates are constrained to permissible ranges. The same
mechanisms are used in fit.variogram.model
.
The method summary
computes confidence intervals of the estimated
variogram and anisotropy parameters from the Hessian matrix of the residual
sums of squares, based on the asymptotic normal distribution of least
squares estimate estimates. Note that the Hessian matrix with respect to
the transformed variogram and anisotropy parameters is used for
this. Hence the inverse Hessian matrix is the covariance matrix of the
transformed parameters, confidence intervals are first computed for the
transformed parameters and the limits of these intervals are transformed
back to the orginal scale of the parameters. Optionally, summary
reports the correlation matrix of the transformed parameters, also
computed from the Hessian matrix.
The function fit.variogram.model
generates an object of class
fitted.variogram
which is a list with the following components:
sse |
the value of the object function (weighted residual sum of squares) evaluated at the solution. |
variogram.object |
the estimated parameters of a possibly nested variograms model. This is a list that contains for each variogram model structure the following components:
|
param.tf |
a character vector listing the transformations of the variogram parameters used for model fitting. |
fwd.tf |
a list of functions for variogram parameter transformations. |
bwd.tf |
a list of functions for inverse variogram parameter transformations. |
converged |
logical indicating whether numerical maximization by
|
convergence.code |
a diagnostic integer issued by
|
iter |
a named integer vector of length two with the number of
function and gradient evaluations by |
call |
the matched call. |
residuals |
a numeric vector with the residuals, that is the sample semi-variance minus the fitted values. |
fitted |
a numeric vector with the modelled semi-variances. |
weights |
a numeric vector with the weights used for fitting. |
hessian |
a symmetric matrix with the Hessian at
the solution (missing if |
hessian.tfpa |
a symmetric matrix with the Hessian at the solution
with respect to the transformed variogram and anisotropy parameters
(missing if |
hessian.ntfpa |
a symmetric matrix with the Hessian at the solution
with respect to the non-transformed variogram and anisotropy parameters
(missing if |
Andreas Papritz andreas.papritz@env.ethz.ch.
Cressie, N. A. C. (1993) Statistics for Spatial Data. New York: John Wiley & Sons.
georobIntro
for a description of the model and a brief summary of the algorithms;
georob
for (robust) fitting of spatial linear models;
georobObject
for a description of the class georob
;
profilelogLik
for computing profiles of Gaussian likelihoods;
plot.georob
for display of RE(ML) variogram estimates;
control.georob
for controlling the behaviour of georob
;
georobModelBuilding
for stepwise building models of class georob
;
cv.georob
for assessing the goodness of a fit by georob
;
georobMethods
for further methods for the class georob
;
predict.georob
for computing robust Kriging predictions;
lgnpp
for unbiased back-transformation of Kriging prediction
of log-transformed data;
georobSimulation
for simulating realizations of a Gaussian process
from model fitted by georob
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | data(wolfcamp)
## fitting an isotropic IRF(0) model
r.sv.iso <- sample.variogram(pressure~1, data = wolfcamp,
locations = ~x + y, lag.dist.def = seq(0, 200, by = 15))
## Not run:
r.irf0.iso <- fit.variogram.model(r.sv.iso, variogram.model = "RMfbm",
param = c(variance = 100, nugget = 1000, scale = 1., alpha = 1.),
fit.param = default.fit.param(scale = FALSE, alpha = TRUE))
summary(r.irf0.iso, correlation = TRUE)
plot(r.sv.iso, type = "l")
lines(r.irf0.iso, line.col = "red")
## End(Not run)
## fitting an anisotropic IRF(0) model
r.sv.aniso <- sample.variogram(pressure~1, data = wolfcamp,
locations = ~x + y, lag.dist.def = seq(0, 200, by = 15),
xy.angle.def = c(0., 22.5, 67.5, 112.5, 157.5, 180.))
## Not run:
r.irf0.aniso <- fit.variogram.model(r.sv.aniso, variogram.model = "RMfbm",
param = c(variance = 100, nugget = 1000, scale = 1., alpha = 1.5),
fit.param = default.fit.param(scale = FALSE, alpha = TRUE),
aniso = default.aniso(f1 = 0.4, omega = 135.),
fit.aniso = default.fit.aniso(f1 = TRUE, omega = TRUE),
control = control.fit.variogram.model(
maximizer = "optim",
optim = control.optim(
method = "BFGS", hessian = TRUE, control = list(maxit = 5000)
)
))
summary(r.irf0.aniso, correlation = TRUE)
plot(r.sv.aniso, type = "l")
lines(r.irf0.aniso, xy.angle = seq(0, 135, by = 45))
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.