Model-averaged predictions, optionally with standard errors.
## S3 method for class 'averaging' predict(object, newdata = NULL, se.fit = FALSE, interval = NULL, type = NA, backtransform = FALSE, full = TRUE, ...)
an object returned by
logical, indicates if standard errors should be returned.
This has any effect only if the
currently not used.
the type of predictions to return (see documentation for
arguments to be passed to respective
predicting is possible only with
averaging objects with
"modelList" attribute, i.e. those created via
from a model list, or from
model.selection object with argument
= TRUE (which will recreate the model objects, see
If all the component models are ordinary linear models, the prediction can be
made either with the full averaged coefficients (the argument
TRUE this is the default) or subset-averaged coefficients. Otherwise the
prediction is obtained by calling
predict on each component model and
weighted averaging the results, which corresponds to the assumption that all
predictors are present in all models, but those not estimated are equal zero
(see ‘Note’ in
model.avg). Predictions from component models
with standard errors are passed to
par.avg and averaged in the same way
as the coefficients are.
Predictions on the response scale from generalized models can be calculated by
averaging predictions of each model on the link scale, followed by inverse
transformation (this is achieved with
type = "link" and
backtransform = TRUE). This is only possible if all component models use
the same family and link function. Alternatively, predictions from each model on
response scale may be averaged (with
type = "response" and
backtransform = FALSE). Note that this leads to results differing from
those calculated with the former method. See also
se.fit = FALSE, a vector of predictions, otherwise a list
fit containing the predictions, and
the estimated standard errors.
This method relies on availability of the
predict methods for the
component model classes (except when all component models are of class
The package MuMIn includes
predict methods for
gls that calculate standard errors of the predictions
se.fit = TRUE). They enhance the original predict methods from
package nlme, and with
se.fit = FALSE they return identical result.
MuMIn's versions are always used in averaged model predictions (so it is
possible to predict with standard errors), but from within global environment
they will be found only if MuMIn is before nlme on the
search list (or directly extracted from namespace as
par.avg for details of model-averaged
# Example from Burnham and Anderson (2002), page 100: fm1 <- lm(y ~ X1 + X2 + X3 + X4, data = Cement) ms1 <- dredge(fm1) confset.95p <- get.models(ms1, subset = cumsum(weight) <= .95) avgm <- model.avg(confset.95p) nseq <- function(x, len = length(x)) seq(min(x, na.rm = TRUE), max(x, na.rm=TRUE), length = len) # New predictors: X1 along the range of original data, other # variables held constant at their means newdata <- as.data.frame(lapply(lapply(Cement[, -1], mean), rep, 25)) newdata$X1 <- nseq(Cement$X1, nrow(newdata)) n <- length(confset.95p) # Predictions from each of the models in a set, and with averaged coefficients pred <- data.frame( model = sapply(confset.95p, predict, newdata = newdata), averaged.subset = predict(avgm, newdata, full = FALSE), averaged.full = predict(avgm, newdata, full = TRUE) ) opal <- palette(c(topo.colors(n), "black", "red", "orange")) matplot(newdata$X1, pred, type = "l", lwd = c(rep(2,n),3,3), lty = 1, xlab = "X1", ylab = "y", col=1:7) # For comparison, prediction obtained by averaging predictions of the component # models pred.se <- predict(avgm, newdata, se.fit = TRUE) y <- pred.se$fit ci <- pred.se$se.fit * 2 matplot(newdata$X1, cbind(y, y - ci, y + ci), add = TRUE, type="l", lty = 2, col = n + 3, lwd = 3) legend("topleft", legend=c(lapply(confset.95p, formula), paste(c("subset", "full"), "averaged"), "averaged predictions + CI"), lty = 1, lwd = c(rep(2,n),3,3,3), cex = .75, col=1:8) palette(opal)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.