This page documents parameters used to control georob
. It
describes the arguments of the functions control.georob
,
param.transf
, fwd.transf
, dfwd.transf
,
bwd.transf
, control.rq
, control.nleqslv
,
control.nlminb
and control.optim
, which all serve to
control the behaviour of georob
.
control.georob(ml.method = c("REML", "ML"), reparam = TRUE,
maximizer = c("nlminb", "optim"), initial.param = TRUE,
initial.fixef = c("lmrob", "rq", "lm"), bhat = NULL,
min.rweight = 0.25,
param.tf = param.transf(), fwd.tf = fwd.transf(),
deriv.fwd.tf = dfwd.transf(), bwd.tf = bwd.transf(),
psi.func = c("logistic", "t.dist", "huber"),
irwls.maxiter = 50,
irwls.ftol = 1.e-5, force.gradient = FALSE,
min.condnum = 1.e-12, zero.dist = sqrt(.Machine[["double.eps"]]),
error.family.estimation = c("gaussian", "long.tailed"),
error.family.cov.effects = c("gaussian", "long.tailed"),
error.family.cov.residuals = c("gaussian", "long.tailed"),
cov.bhat = TRUE, full.cov.bhat = FALSE, cov.betahat = TRUE,
cov.delta.bhat = TRUE, full.cov.delta.bhat = TRUE,
cov.delta.bhat.betahat = TRUE,
cov.ehat = TRUE, full.cov.ehat = FALSE,
cov.ehat.p.bhat = FALSE, full.cov.ehat.p.bhat = FALSE,
hessian = TRUE,
rq = control.rq(), lmrob = lmrob.control(),
nleqslv = control.nleqslv(),
optim = control.optim(), nlminb = control.nlminb(),
pcmp = control.pcmp(), ...)
param.transf(variance = "log", snugget = "log", nugget = "log", scale = "log",
alpha = c(
RMaskey = "log", RMdewijsian = "logit2", RMfbm = "logit2", RMgencauchy = "logit2",
RMgenfbm = "logit2", RMlgd = "identity", RMqexp = "logit1", RMstable = "logit2"
),
beta = c(RMdagum = "logit1", RMgencauchy = "log", RMlgd = "log"),
delta = "logit1", gamma = c(RMcauchy = "log", RMdagum = "logit1"),
kappa = "logit3", lambda = "log", mu = "log", nu = "log",
f1 = "log", f2 ="log", omega = "identity", phi = "identity", zeta = "identity")
fwd.transf(...)dfwd.transf(...)
bwd.transf(...)
control.rq(tau = 0.5, rq.method = c("br", "fnb", "pfn"),
rq.alpha = 0.1, ci = FALSE, iid = TRUE,
interp = TRUE, tcrit = TRUE, rq.beta = 0.99995, eps = 1e-06,
Mm.factor = 0.8, max.bad.fixup = 3, ...)
control.nleqslv(method = c("Broyden", "Newton"),
global = c("dbldog", "pwldog", "qline", "gline", "none"),
xscalm = c("fixed", "auto"), control = list(ftol = 1e-04), ...)
control.optim(method = c("BFGS", "Nelder-Mead", "CG",
"L-BFGS-B", "SANN", "Brent"), lower = -Inf, upper = Inf,
control = list(reltol = 1e-05), ...)
control.nlminb(control = list(rel.tol = 1.e-5), lower = -Inf,
upper = Inf, ...)
character keyword defining whether non-robust maximum
likelihood (ML
) or restricted maximum likelihood (REML
default) estimates will be computed (ignored if
tuning.psi <= tuning.psi.nr
).
logical. If TRUE
(default) the re-parametrized
variance parameters \(\sigma_B^2\), \(\eta\) and \(\xi\) are
estimated by Gaussian (RE)ML, otherwise the original parameters
\(\tau^2\), \(\sigma_{\mathrm{n}}^2\) and \(\sigma^2\)
(cf. subsection Estimating variance parameters by Gaussian
(RE)ML, section Details of georob
).
logical, controlling whether initial values of
variogram parameters are computed for solving the estimating equations of
the variogram and anisotropy parameters. If initial.param = TRUE
(default) robust initial values of parameters are computed by discarding
outlying observations based on the “robustness weights” of the
initial fit of the regression model by lmrob
and fitting the spatial linear model by Gaussian REML to the pruned data
set. For initial.param = FALSE
no initial parameter values are
computed and the estimating equations are solved with the initial values
passed by param
and aniso
to georob
(see
Details of georob
.
character keyword defining whether the function
lmrob
or rq
is used to
compute robust initial estimates of the regression parameters
\(\mbox{\boldmath$\beta$\unboldmath}\) (default "lmrob"
).
If the fixed effects model matrix has not full columns rank, then
lm
is used to compute initial values of the
regression coefficients.
initial values for the spatial random effects
\(\widehat{\mbox{\boldmath$B$\unboldmath}}\), with
\(\widehat{\mbox{\boldmath$B$\unboldmath}}=\mbox{\boldmath$0$\unboldmath}\)
if bhat
is equal to NULL
(default).
a function such as param.transf
, which returns a
named vector of character strings that define the transformations to be
applied to the variogram parameters for model fitting, see
Details.
a function such as fwd.transf
, which returns a named
list of invertible functions to be used to transform variogram
parameters, see Details.
a function such as dfwd.transf
, which
returns a named list of functions corresponding to the first derivatives
of fwd.tf
, see Details.
a function such as bwd.transf
, which returns the
named list of inverse functions corresponding to fwd.tf
, see
Details.
character keyword defining what \(\psi_c\)-function should be
used for robust model fitting. Possible values are "logistic"
(a
scaled and shifted logistic CDF, default), "t.dist"
(re-descending
\(\psi_c\)-function associated with Student \(t\)-distribution with
\(c\) degrees of freedom) and "huber"
(Huber's
\(\psi_c\)-function).
positive integer equal to the maximum number of
IRWLS iterations to solve the estimating equations of
\(\mbox{\boldmath$B$\unboldmath}\) and
\(\mbox{\boldmath$\beta$\unboldmath}\) (default 50
).
numeric convergence criterion for IRWLS. Convergence is
assumed if the objective function changes in one IRWLS iteration does not
exceed ftol
.
logical controlling whether the estimating
equations or the gradient of the Gaussian restricted log-likelihood are
evaluated even if all variogram parameters are fixed (default
FALSE
).
positive numeric. Minimum acceptable ratio of smallest to
largest singular value of the model matrix
\(\mbox{\boldmath$X$\unboldmath}\) (default 1.e-12
).
positive numeric equal to the maximum distance, separating two sampling locations that are still considered as being coincident.
character keyword, defining the
probability distribution for \(\varepsilon\) (default:
"gaussian"
) that is used to approximate the covariance of
\(\widehat{\mbox{\boldmath$B$\unboldmath}}\) when solving the
estimating equations, see Details.
character keyword, defining the
probability distribution for \(\varepsilon\) (default:
"gaussian"
) that is used to approximate the covariances of
\(\widehat{\mbox{\boldmath$\beta$\unboldmath}}\),
\(\widehat{\mbox{\boldmath$B$\unboldmath}}\) and
\(\mbox{\boldmath$B$\unboldmath}-\widehat{\mbox{\boldmath$B$\unboldmath}}\),
see Details.
character keyword, defining the
probability distribution for \(\varepsilon\) (default:
"long.tailed"
) that is used to approximate the covariances of
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}}=\mbox{\boldmath$Y$\unboldmath}
- \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}} -
\widehat{\mbox{\boldmath$B$\unboldmath}}\) and \(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}} +
\widehat{\mbox{\boldmath$B$\unboldmath}} =\mbox{\boldmath$Y$\unboldmath}
- \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}}\), see Details.
logical controlling whether the covariances of
\(\widehat{\mbox{\boldmath$B$\unboldmath}}\) are returned by
georob
(default FALSE
).
logical controlling whether the full covariance
matrix (TRUE
) or only the variance vector of
\(\widehat{\mbox{\boldmath$B$\unboldmath}}\) is returned (default
FALSE
).
logical controlling whether the covariance matrix of
\(\widehat{\mbox{\boldmath$\beta$\unboldmath}}\) is returned
(default TRUE
).
logical controlling whether the covariances of
\(\mbox{\boldmath$B$\unboldmath}-
\widehat{\mbox{\boldmath$B$\unboldmath}}\) are returned (default TRUE
).
logical controlling whether the full covariance
matrix (TRUE
) or only the variance vector of
\(\mbox{\boldmath$B$\unboldmath}-
\widehat{\mbox{\boldmath$B$\unboldmath}}\) is returned (default TRUE
).
logical controlling whether the covariance
matrix of \(\mbox{\boldmath$B$\unboldmath}-
\widehat{\mbox{\boldmath$B$\unboldmath}}\) and
\(\widehat{\mbox{\boldmath$\beta$\unboldmath}}\) is returned
(default TRUE
).
logical controlling whether the covariances of
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}}=\mbox{\boldmath$Y$\unboldmath}
- \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}} -
\widehat{\mbox{\boldmath$B$\unboldmath}}\) are returned (default TRUE
).
logical controlling whether the full covariance
matrix (TRUE
) or only the variance vector of
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}}=\mbox{\boldmath$Y$\unboldmath}
- \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}} -
\widehat{\mbox{\boldmath$B$\unboldmath}}\) is returned (default FALSE
).
logical controlling whether the covariances of
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}} +
\widehat{\mbox{\boldmath$B$\unboldmath}} =\mbox{\boldmath$Y$\unboldmath}
- \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}}\) are returned (default FALSE
).
logical controlling whether the full
covariance matrix (TRUE
) or only the variance vector
of \(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}}
+ \widehat{\mbox{\boldmath$B$\unboldmath}}
=\mbox{\boldmath$Y$\unboldmath} - \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}}\) is returned (default FALSE
).
logical scalar controlling whether for Gaussian (RE)ML the Hessian should be computed at the MLEs.
a list of arguments passed to rq
or a function such as
control.rq
that generates such a list (see
rq
for allowed arguments).
a list of arguments passed to the control
argument of
lmrob
or a function such as
lmrob.control
that generates such a list (see
lmrob.control
for allowed arguments).
a list of arguments passed to
nleqslv
or a function such as
control.nleqslv
that generates such a list (see
nleqslv
for allowed arguments).
a list of arguments passed to nlminb
or a function such as control.nlminb
that generates such a list
(see nlminb
for allowed arguments).
a list of arguments passed to optim
or a function
such as control.optim
that generates such a list (see
optim
for allowed arguments).
a list of arguments, passed e.g. to pmm
or a
function such as control.pcmp
that generates such a list
(see control.pcmp
for allowed arguments).
for fwd.transf
, dfwd.transf
and
bwd.transf
a named vectors of functions, extending the definition
of transformations for variogram parameters (see Details).
character strings with names of transformation functions of the variogram parameters.
character strings with names of transformation functions of the variogram parameters.
arguments passed
as ...
to rq
. Note that only "br"
,
"fnb"
and "pfn"
methods of rq()
are currently
supported.
arguments passed as
...
to rq
.
control.georob
, control.rq
, control.nleqslv
,
control.optim
and control.nlminb
all create lists with
control parameters passed to georob
,
rq
, nleqslv
,
optim
, nlminb
, respectively.
Note that the list returned by code.georob
contains some
components (irwls.initial
, tuning.psi.nr
,
cov.bhat.betahat
, aux.cov.pred.target
) that cannot be
changed by the user.
param.transf
generates a list with character strings that
define what transformations are used for estimating the variogram
parameters, and fwd.transf
, bwd.transf
and
dfwd.transf
return lists of functions with forward and backward
transformations and the first derivatives of the forward
transformations.
The arguments param.tf
, fwd.tf
, deriv.fwd.tf
,
bwd.tf
define the transformations of the variogram parameters for
RE(ML) estimation. Implemented are currently "log"
,
"logit1"
, "logit2"
, "logit3"
(various variants of
logit-transformation, see code of function fwd.transf
) and "identity"
(= no)
transformations. These are the possible values that the many arguments
of the function param.transf
accept (as quoted character strings)
and these are the names of the list components returned by
fwd.transf
, dfwd.transf
and bwd.transf
. Additional
transformations can be implemented by:
Extending the function definitions by arguments like
fwd.tf = fwd.transf(my.fun = function(x) your transformation)
,
deriv.fwd.tf = dfwd.transf(my.fun = function(x) your derivative)
,
bwd.tf = bwd.transf(my.fun = function(x) your back-transformation)
,
Assigning to a given argument of param.transf
the name of
the new function, e.g. variance = "my.fun"
.
Note the values given for the arguments of param.transf
must match
the names of the functions returned by fwd.transf
,
dfwd.transf
and bwd.transf
.
The robustified estimating equations of robust REML depend on the
covariances of \(\widehat{\mbox{\boldmath$B$\unboldmath}}\).
These covariances (and the covariances of
\(\mbox{\boldmath$B$\unboldmath}-\widehat{\mbox{\boldmath$B$\unboldmath}}\),
\(\widehat{\mbox{\boldmath$\beta$\unboldmath}}\),
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}}\),
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}} +
\widehat{\mbox{\boldmath$B$\unboldmath}}\)) are
approximated by expressions that in turn depend on the variances of
\(\varepsilon\),
\(\psi(\varepsilon/\tau)\) and the expectation
of \(\psi'(\varepsilon/\tau) (= \partial / \partial \varepsilon \,
\psi(\varepsilon/\tau))\). The arguments
error.family.estimation
, error.family.cov.effects
and
error.family.cov.residuals
control what parametric distribution
for \(\varepsilon\) is used to compute the variance of
\(\varepsilon\),
\(\psi(\varepsilon/\tau)\) and the expectation
of \(\psi'(\varepsilon/\tau)\) when
solving the estimating equations (error.family.estimation
),
computing the covariances of
\(\widehat{\mbox{\boldmath$\beta$\unboldmath}}\),
\(\widehat{\mbox{\boldmath$B$\unboldmath}}\) and
\(\mbox{\boldmath$B$\unboldmath}-\widehat{\mbox{\boldmath$B$\unboldmath}}\)
(error.family.cov.effects
) and
computing the covariances of
\(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}}=\mbox{\boldmath$Y$\unboldmath}
- \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}} -
\widehat{\mbox{\boldmath$B$\unboldmath}}\) and \(\widehat{\mbox{\boldmath$\varepsilon$\unboldmath}} +
\widehat{\mbox{\boldmath$B$\unboldmath}}
=\mbox{\boldmath$Y$\unboldmath} - \mbox{\boldmath$X$\unboldmath}
\widehat{\mbox{\boldmath$\beta$\unboldmath}}\) (error.family.cov.residuals
).
Possible options are: "gaussian"
or "long.tailed"
. In
the latter case the PDF of \(\varepsilon\) is assumed to be
proportional to \(1/\tau \, \exp(-\rho(\varepsilon/\tau))\), where
\(\psi(x)=\rho'(x)\).
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
;
plot.georob
for display of RE(ML) variogram estimates;
predict.georob
for computing robust Kriging predictions; and finally
georobMethods
for further methods for the class georob
.
# NOT RUN {
data(meuse)
r.logzn.rob <- georob(log(zinc) ~ sqrt(dist), data = meuse, locations = ~ x + y,
variogram.model = "RMexp",
param = c(variance = 0.15, nugget = 0.05, scale = 200),
tuning.psi = 1, control = control.georob(cov.bhat = TRUE,
cov.ehat.p.bhat = TRUE, initial.fixef = "rq"), verbose = 2)
qqnorm(rstandard(r.logzn.rob, level = 0)); abline(0, 1)
qqnorm(ranef(r.logzn.rob, standard = TRUE)); abline(0, 1)
# }
Run the code above in your browser using DataLab