Calculate a weighted average of model estimates (e.g. effects, fitted values, residuals) for a set of models.
Arguments
- est
A list or nested list of numeric vectors, comprising the model estimates. In the latter case, these should correspond to estimates for candidate models for each of a set of different response variables.
- weights
An optional numeric vector of weights to use for model averaging, or a named list of such vectors. The former should be supplied when
est
is a list, and the latter when it is a nested list (with matching list names). Ifweights = "equal"
(default), a simple average is calculated instead.- est.names
An optional vector of names used to extract and/or sort estimates from the output.
Details
This function can be used to calculate a weighted average of model estimates such as effects, fitted values, or residuals, where models are typically competing candidate models fit to the same response variable. Weights are typically a 'weight of evidence' type metric such as Akaike model weights (Burnham & Anderson, 2002; Burnham et al., 2011), which can be conveniently calculated in R using packages such as MuMIn or AICcmodavg. However, numeric weights of any sort can be used. If none are supplied, a simple average is calculated instead.
Averaging is performed via the 'full'/'zero' rather than 'subset'/'conditional'/'natural' method, meaning that zero is substituted for estimates for any 'missing' parameters (e.g. effects) prior to calculations. This provides a form of shrinkage and thus reduces estimate bias (Burnham & Anderson, 2002; Grueber et al., 2011).
References
Burnham, K. P., & Anderson, D. R. (2002). Model Selection and Multimodel Inference: A Practical Information-Theoretic Approach (2nd ed.). Springer-Verlag. https://link.springer.com/book/10.1007/b97636
Burnham, K. P., Anderson, D. R., & Huyvaert, K. P. (2011). AIC model selection and multimodel inference in behavioral ecology: some background, observations, and comparisons. Behavioral Ecology and Sociobiology, 65(1), 23-35. doi:10/c4mrns
Dormann, C. F., Calabrese, J. M., Guillera‐Arroita, G., Matechou, E., Bahn, V., Bartoń, K., Beale, C. M., Ciuti, S., Elith, J., Gerstner, K., Guelat, J., Keil, P., Lahoz‐Monfort, J. J., Pollock, L. J., Reineking, B., Roberts, D. R., Schröder, B., Thuiller, W., Warton, D. I., … Hartig, F. (2018). Model averaging in ecology: A review of Bayesian, information-theoretic, and tactical approaches for predictive inference. Ecological Monographs, 88(4), 485–504. doi:10/gfgwrv
Grueber, C. E., Nakagawa, S., Laws, R. J., & Jamieson, I. G. (2011). Multimodel inference in ecology and evolution: challenges and solutions. Journal of Evolutionary Biology, 24(4), 699-711. doi:10/b7b5d4
Walker, J. A. (2019). Model-averaged regression coefficients have a straightforward interpretation using causal conditioning. BioRxiv, 133785. doi:10/c8zt
Examples
# Model-averaged effects (coefficients)
m <- shipley.growth # candidate models
e <- lapply(m, function(i) coef(summary(i))[, 1])
avgEst(e)
#> (Intercept) DD Date lat
#> 15.135291812 -0.006522619 0.290608333 -0.033495883
# Using weights
w <- runif(length(e), 0, 1)
avgEst(e, w)
#> (Intercept) DD Date lat
#> 16.491775527 -0.008215944 0.288076307 -0.045966647
# Model-averaged predictions
f <- lapply(m, predict)
head(avgEst(f, w))
#> 1 2 3 4 5 6
#> 56.13149 45.80461 42.12180 50.03650 53.71265 55.76698