georobModelBuilding {georob}R Documentation

S3 Methods for Stepwise Building Fixed-Effects Models for Class georob

Description

This page documents the methods deviance, logLik, extractAIC, add1, drop1, step and waldtest for the class georob. The package georob provides a generic step function and a default method which is identical with the (non-generic) function step.

Usage


## S3 method for class 'georob'
deviance(object, warn = TRUE, REML = FALSE, ...)

## S3 method for class 'georob'
logLik(object, warn = TRUE, REML = FALSE, ...)

## S3 method for class 'georob'
extractAIC(fit, scale = 0, k = 2, ...)

## S3 method for class 'georob'
add1(object, scope, scale = 0, test = c("none", "Chisq"), k = 2,
    trace = FALSE, fixed = TRUE, use.fitted.param = TRUE, verbose = 0,
    ncores = 1, ...)

## S3 method for class 'georob'
drop1(object, scope, scale = 0, test = c("none", "Chisq"), k = 2,
    trace = FALSE, fixed = TRUE, use.fitted.param = TRUE, verbose = 0,
    ncores = 1, ...)

step(object, ...)

## Default S3 method:
step(object, scope, scale = 0,
    direction = c("both", "backward", "forward"), trace = 1,
    keep = NULL, steps = 1000, k = 2, ...)

## S3 method for class 'georob'
step(object, scope, scale = 0,
    direction = c("both", "backward", "forward"), trace = 1,
    keep = NULL, steps = 1000, k = 2,
    fixed.add1.drop1 = TRUE, fixed.step = fixed.add1.drop1,
    use.fitted.param = TRUE, verbose = 0, ncores = 1, ...)

## S3 method for class 'georob'
waldtest(object, ..., vcov = NULL, test = c("F", "Chisq"),
    name = NULL)

Arguments

object, fit

an object of class georob, see georobObject.

direction

a character keyword with the mode of stepwise search, see step.

fixed, fixed.add1.drop1

a logical scalar controlling whether the variogram parameters are not adjusted when adding or dropping model terms by add1 and drop1 (default TRUE), see Details.

fixed.step

a logical scalar controlling whether the variogram parameters are not adjusted after having called add1 and drop1 in step (default TRUE), see Details.

k

a numeric specifying the 'weight' of the equivalent degrees of freedom (=: edf) part in the AIC formula, see extractAIC.

keep

a filter function whose input is a fitted model object and the associated AIC statistic, and whose output is arbitrary, see step.

name

a function for extracting a suitable name/description from a fitted model object. By default the name is queried by calling formula, see waldtest.

ncores

an integer specifying the number of cores used for parallelized execution of add1 and drop1. If larger than one then the minimum of ncores, parallel::detectCores() and the number of terms to be added or dropped determines the number of cores that is actually used.

REML

a logical scalar controlling whether the restricted log-likelihood should be extracted (default TRUE).

scale

a numeric, currently not used, see extractAIC.

scope

defines the range of models examined in the stepwise search. This should be either a single formula, or a list containing components upper and lower, both formulae, see step for details.

steps

a numeric with the maximum number of steps to be considered (default is 1000), see step.

test

a character keyword specifying whether to compute the large sample Chi-squared statistic (with asymptotic Chi-squared distribution) or the finite sample F statistic (with approximate F distribution), see waldtest.

trace

a numeric. If positive, information is printed during the running of step, see step.

use.fitted.param

a logical scalar controlling whether fitted values of param (and aniso are used as initial values when variogram parameters are fitted afresh for adding and dropping terms from the model (default TRUE). If equal to FALSE then the initial values in object[["call"]] are used.

vcov

a function for estimating the covariance matrix of the regression coefficients, see waldtest.

verbose

a positive integer controlling logging of diagnostic messages to the console during model fitting, see georob (default 0).

warn

a logical scalar controlling whether warnings should be suppressed.

...

additional arguments passed to methods (see in particular waldtest.default).

Details

For a non-robust fit the function deviance returns the residual deviance

(\boldsymbol{Y} - \boldsymbol{X} \widehat{\boldsymbol{\beta}})^{\mathrm{T}} (\widehat{\tau}^2 \boldsymbol{I} + \boldsymbol{\Gamma}_{\widehat{\theta}})^{-1} (\boldsymbol{Y} - \boldsymbol{X} \widehat{\boldsymbol{\beta}})

(see georobPackage for an explanation of the notation). For a robust fit the deviance is not defined. The function then computes with a warning the deviance of an equivalent Gaussian model with heteroscedastic nugget \tau^2/\boldsymbol{w} where \boldsymbol{w} are the “robustness weights” rweights, see georobObject.

logLik returns the maximized (restricted) log-likelihood. For a robust fit, the log-likelihood is not defined. The function then computes the (restricted) log-likelihood of an equivalent Gaussian model with heteroscedastic nugget (see above).

The methods extractAIC, add1, drop1 and step are used for stepwise model building.
If fixed=TRUE or fixed.add1.drop1=TRUE (default) then the variogram parameters are kept fixed at the values of object. For fixed=FALSE or fixed.add1.drop1=FALSE the variogram parameters are fitted afresh for each model tested by add1 and drop1. Then either the variogram parameters in object$initial.objects (use.fitted.param=FALSE) or the fitted parameters of object (use.fitted.param=TRUE) are used as initial values. For fixed.step=TRUE the variogram parameters are not fitted afresh by step after the calls to drop1 and add1 have been completed, unlike for fixed.step=FALSE where the parameters are estimated afresh for the new model that minimized AIC (BIC) in the previous step.

In addition, the functions of the R package multcomp can be used to test general linear hypotheses about the fixed effects of the model.

Value

The method deviance.georob returns the deviance of the fitted spatial linear model with the attributes log.det.covmat containing the logarithm of the determinant of the covariance matrix \tau^2 \boldsymbol{I} + \boldsymbol{\Gamma}_\theta of the observations and optionally log.det.xticovmatx with the logarithm of the determinant of \boldsymbol{X}^\mathrm{T} (\tau^2 \boldsymbol{I} + \boldsymbol{\Gamma}_\theta)^{-1} \boldsymbol{X} , when REML = true, see Details above.

The method logLik.georob returns an object of class logLik with the maximized (restricted) log-likelihood, see Details above and logLik.

The method extractAIC.georob returns a numeric vector of length 2 with the first and second elements giving the equivalent degrees of freedom and the (generalized) Akaike Information Criterion for the fitted model fit.

The methods add1.georob and drop1.georob return objects of class anova which are data.frames summarizing the differences in fit between models. In addition to the customary variables Df and AIC the output contains a logical variable Converged which signals (non-)convergence when fitting the respective sub-model.

The generic function step returns the stepwise selected model plus optionally some additional attributes depending on the method.

The methods step.default and step.georob return the stepwise-selected model with up to two additional components (anova, keep), see step for details.

The method waldtest.georob returns an object of class anova which contains the residual degrees of freedom, the difference in degrees of freedom, Wald statistic (either "Chisq" or "F") and corresponding p-value.

Author(s)

Andreas Papritz papritz@retired.ethz.ch.

See Also

georobPackage 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;

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; and finally

sample.variogram and fit.variogram.model for robust estimation and modelling of sample variograms.

Examples

data(meuse)

## Gaussian REML fit
r.logzn.reml <- 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 = 1000)
summary(r.logzn.reml, correlation = TRUE)

deviance(r.logzn.reml)
logLik(r.logzn.reml)

waldtest(r.logzn.reml, .~. + ffreq)

step(r.logzn.reml, ~ sqrt(dist) + ffreq + soil)

## robust REML fit
if(interactive()){
  ## example is run only in interactive session because cpu times exceeds 5 s

  r.logzn.rob <- update(r.logzn.reml, tuning.psi = 1)

  deviance(r.logzn.rob)
  logLik(r.logzn.rob)
  logLik(r.logzn.rob, REML=TRUE)

  step(r.logzn.rob, ~ sqrt(dist) + ffreq + soil, fixed.step=FALSE, trace=2)
}

[Package georob version 0.3-19 Index]