predictSE function

Computing Predicted Values and Standard Errors

Computing Predicted Values and Standard Errors

Function to compute predicted values based on linear predictor and associated standard errors from various fitted models. 1.1

predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, ...) ## S3 method for class 'gls' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, ...) ## S3 method for class 'lme' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, level = 0, ...) ## S3 method for class 'mer' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, level = 0, type = "response", ...) ## S3 method for class 'merMod' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, level = 0, type = "response", ...) ## S3 method for class 'lmerModLmerTest' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, level = 0, ...) ## S3 method for class 'unmarkedFitPCount' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, type = "response", c.hat = 1, parm.type = "lambda", ...) ## S3 method for class 'unmarkedFitPCO' predictSE(mod, newdata, se.fit = TRUE, print.matrix = FALSE, type = "response", c.hat = 1, parm.type = "lambda", ...)

Arguments

  • mod: an object of class gls, lme, mer, merMod, lmerModLmerTest, unmarkedFitPCount, or unmarkedFitPCO containing the output of a model.
  • newdata: a data frame with the same structure as that of the original data frame for which we want to make predictions.
  • se.fit: logical. If TRUE, compute standard errors on predictions.
  • print.matrix: logical. If TRUE, the output is returned as a matrix, with predicted values and standard errors in columns. If FALSE, the output is returned as a list.
  • level: the level for which predicted values and standard errors are to be computed. The current version of the function only supports predictions for the populations excluding random effects (i.e., level = 0).
  • type: specifies the type of prediction requested. This argument can take the value response or link, for predictions on the scale of the response variable or on the scale of the linear predictor, respectively.
  • c.hat: value of overdispersion parameter (i.e., variance inflation factor) such as that obtained from Nmix.gof.test. If c.hat > 1, predictSE will multiply the variance-covariance matrix of the predictions by this value (i.e., SE's are multiplied by sqrt(c.hat)). High values of c.hat (e.g., c.hat > 4) may indicate that model structure is inappropriate.
  • parm.type: the parameter for which predictions are made based on the N-mixture model of class unmarkedFitPCount or unmarkedFitPCO classes.
  • ...: additional arguments passed to the function.

Details

predictSE computes predicted values and associated standard errors. Standard errors are approximated using the delta method (Oehlert 1992). Predictions and standard errors for objects of gls class and mixed models of lme, mer, merMod, lmerModLmerTest classes exclude the correlation or variance structure of the model.

predictSE computes predicted values on abundance and standard errors based on the estimates from an unmarkedFitPCount or unmarkedFitPCO object. Currently, only predictions on abundance (i.e., parm.type = "lambda") with the zero-inflated Poisson distribution is supported. For other parameters or distributions for models of unmarkedFit classes, use predict from the unmarked package.

Returns

predictSE returns requested values either as a matrix (print.matrix = TRUE) or list (print.matrix = FALSE) with components:

  • fit: the predicted values.

  • se.fit: the standard errors of the predicted values (if se.fit = TRUE).

Note

For standard errors with better properties, especially for small samples, one can opt for simulations (see Gelman and Hill 2007), or nonparametric bootstrap (Efron and Tibshirani 1998).

References

Efron, B., Tibshirani, R. J. (1998) An Introduction to the Bootstrap. Chapman & Hall/CRC: New York.

Gelman, A., Hill, J. (2007) Data Analysis Using Regression and Multilevel/Hierarchical Models. Cambridge University Press: New York.

Oehlert, G. W. (1992) A note on the delta method. American Statistician 46 , 27--29.

Author(s)

Marc J. Mazerolle

See Also

gls, lme, glmer, simulate.merMod, boot, parboot, nonparboot, pcount, pcountOpen, unmarkedFit-class

Examples

##Orthodont data from Pinheiro and Bates (2000) revisited ## Not run: require(nlme) m1 <- gls(distance ~ age, correlation = corCompSymm(value = 0.5, form = ~ 1 | Subject), data = Orthodont, method= "ML") ##compare against lme fit logLik(m1) logLik(lme(distance ~ age, random = ~1 | Subject, data = Orthodont, method= "ML")) ##both are identical ##compute predictions and SE's for different ages predictSE(m1, newdata = data.frame(age = c(8, 10, 12, 14))) detach(package:nlme) ## End(Not run) ##example with mallard data set from unmarked package ## Not run: require(unmarked) data(mallard) mallardUMF <- unmarkedFramePCount(mallard.y, siteCovs = mallard.site, obsCovs = mallard.obs) ##run model with zero-inflated Poisson abundance fm.mall.one <- pcount(~ ivel + date ~ length + forest, mallardUMF, K=30, mixture = "ZIP") ##make prediction predictSE(fm.mall.one, type = "response", parm.type = "lambda", newdata = data.frame(length = 0, forest = 0, elev = 0)) ##compare against predict predict(fm.mall.one, type = "state", backTransform = TRUE, newdata = data.frame(length = 0, forest = 0, elev = 0)) ##add offset in model to scale abundance per transect length fm.mall.off <- pcount(~ ivel + date ~ forest + offset(length), mallardUMF, K=30, mixture = "ZIP") ##make prediction predictSE(fm.mall.off, type = "response", parm.type = "lambda", newdata = data.frame(length = 10, forest = 0, elev = 0)) ##compare against predict predict(fm.mall.off, type = "state", backTransform = TRUE, newdata = data.frame(length = 10, forest = 0, elev = 0)) detach(package:unmarked) ## End(Not run)
  • Maintainer: Marc J. Mazerolle
  • License: GPL (>= 2)
  • Last published: 2025-03-06

Useful links