anova.gam {mgcv} | R Documentation |
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.
anova.gam(object, ..., dispersion = NULL, test = NULL) print.anova.gam(x,...)
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" . |
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.
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.
Unless the models have no penalized terms then these methods are only approximate.
Simon N. Wood simon@stats.gla.ac.uk
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.
gam
, predict.gam
,
gam.check
, summary.gam
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")