anova.gam {mgcv}R Documentation

Hypothesis tests related to GAM fits

Description

Performs hypothesis tests relating to one or more fitted gam objects. For a single fitted gam object, Wald tests of the significance of each parametric and smooth term are performed. Otherwise the fitted models are compared using an analysis of deviance table. The tests are usually approximate, unless the models are un-penalized.

Usage

anova.gam(object, ..., dispersion = NULL, test = NULL)
print.anova.gam(x,...)

Arguments

object,... fitted model objects of class gam as produced by gam().
x an anova.gam object produced by a single model call to anova.gam().
dispersion a value for the dispersion parameter: not normally used.
test what sort of test to perform for a multi-model call. One of "Chisq", "F" or "Cp".

Details

If more than one fitted model is provided than anova.glm is used. If only one model is provided then the significance of each model term is assessed using Wald tests: see summary.gam for details of the actual computations. In the latter case print.anova.gam is used as the printing method.

Value

In the multi-model case anova.gam produces output identical to anova.glm, which it in fact uses.
In the single model case an object of class anova.gam is produced, which is in fact an object returned from summary.gam.
print.anova.gam simply produces tabulated output.

WARNING

Unless the models have no penalized terms then these methods are only approximate.

Author(s)

Simon N. Wood simon@stats.gla.ac.uk

References

For details of the calculation of the covariance matrix used for the Wald tests see:

Wood (2004) On confidence intervals for GAMs based on penalized regression splines. Technical report of the Statistics department, University of Glasgow, UK.

See Also

gam, predict.gam, gam.check, summary.gam

Examples

library(mgcv)
set.seed(0)
n<-200
sig<-2
x0 <- rep(1:4,50)
x1 <- runif(n, 0, 1)
x2 <- runif(n, 0, 1)
x3 <- runif(n, 0, 1)
y <- 2 * x0
y <- y + exp(2 * x1) - 3.75887
y <- y + 0.2 * x2^11 * (10 * (1 - x2))^6 + 10 * (10 * x2)^3 * (1 - x2)^10 - 1.396
e <- rnorm(n, 0, sig)
y <- y + e
x0<-as.factor(x0)
b<-gam(y~x0+s(x1)+s(x2)+s(x3))
anova(b)
b1<-gam(y~x0+s(x1)+s(x2))
anova(b,b1,test="F")

[Package mgcv version 1.1-5 Index]