predict.ssanova {gss}R Documentation

Predicting from Smoothing Spline ANOVA Fits

Description

Evaluate terms in a smoothing spline ANOVA fit at arbitrary points. Standard errors of the terms can be requested for use in constructing Bayesian confidence intervals.

Usage

predict[.ssanova](obj, newdata, se.fit=FALSE,
                  include=obj$terms$labels)

Arguments

obj Object of class inheriting from "ssanova".
newdata Data frame or model frame in which to predict.
se.fit Flag indicating if standard errors are required.
include List of model terms to be included in the prediction. The partial and offset terms, if present, are to be specified by "partial" and "offset", respectively.

Value

For se.fit=FALSE, predict.ssanova returns a vector of the evaluated fit.
For se.fit=TRUE, predict.ssanova returns a list consisting of the following components.

fit Vector of evaluated fit.
se.fit Vector of standard errors.

Author(s)

Chong Gu, chong@stat.purdue.edu

References

Gu, C. and Wahba, G. (1993), Smoothing spline ANOVA with component-wise Bayesian "confidence intervals". Journal of Computational and Graphical Statistics, 2, 97–117.

See Also

Fitting functions ssanova, ssanova and methods summary.ssanova, summary.gssanova, fitted.ssanova.

Examples

## Fit a model with thin-plate marginals, where geog is 2-D
data(LakeAcidity)
fit <- ssanova(ph~log(cal)*geog,"tp",LakeAcidity)
## Obtain estimates and standard errors on a grid
new <- data.frame(cal=1,geog=I(matrix(0,1,2)))
new <- model.frame(~log(cal)+geog,new)
predict(fit,new,se=TRUE)
## Evaluate the geog main effect
predict(fit,new,se=TRUE,inc="geog")
## Evaluate the sum of the geog main effect and the interaction
predict(fit,new,se=TRUE,inc=c("geog","log(cal):geog"))
## Evaluate the geog main effect on a grid
grid <- seq(-.04,.04,len=21)
new <- model.frame(~geog,list(geog=cbind(rep(grid,21),rep(grid,rep(21,21)))))
est <- predict(fit,new,se=TRUE,inc="geog")
## Plot the fit and standard error
par(pty="s")
contour(grid,grid,matrix(est$fit,21,21),col=1)
contour(grid,grid,matrix(est$se,21,21),add=TRUE,col=2)