Analysis of Deviance for a Generalized Additive Model

Description

Produces an ANODEV table for a set of GAM models, or else a summary for a single GAM model

Usage

1
2
3
4
## S3 method for class 'gam'
anova(object, ..., test)
## S3 method for class 'gam'
summary(object, dispersion=NULL,...)

Arguments

object

a fitted gam

...

other fitted gams for anova

test

a character string specifying the test statistic to be used. Can be one of '"F"', '"Chisq"' or '"Cp"', with partial matching allowed, or 'NULL' for no test.

dispersion

a dispersion parameter to be used in computing standard errors

Details

These are methods for the functions anova or summary for objects inheriting from class ‘gam’. See anova for the general behavior of this function and for the interpretation of ‘test’.

When called with a single ‘gam’ object, a special pair of anova tables for ‘gam’ models is returned. This gives a breakdown of the degrees of freedom for all the terms in the model, separating the projection part and nonparametric part of each, and returned as a list of two anova objects. For example, a term specified by ‘s()’ is broken down into a single degree of freedom for its linear component, and the remainder for the nonparametric component. In addition, a type of score test is performed for each of the nonparametric terms. The nonparametric component is set to zero, and the linear part is updated, holding the other nonparametric terms fixed. This is done efficiently and simulataneously for all terms.

Author(s)

Written by Trevor Hastie, following closely the design in the "Generalized Additive Models" chapter (Hastie, 1992) in Chambers and Hastie (1992).

References

Hastie, T. J. (1992) Generalized additive models. Chapter 7 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth \& Brooks/Cole.

Hastie, T. and Tibshirani, R. (1990) Generalized Additive Models. London: Chapman and Hall.

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. New York: Springer.

Examples

1
2
3
4
5
data(gam.data)
gam.object <- gam(y~s(x,6)+z,data=gam.data)
anova(gam.object)
gam.object2 <- update(gam.object, ~.-z)
anova(gam.object, gam.object2, test="Chisq")