Compute Model-averaged Parameter Estimate from User-supplied Input Based on (Q)AIC(c)
Compute Model-averaged Parameter Estimate from User-supplied Input Based on (Q)AIC(c)
This function model-averages the estimate of a parameter of interest among a set of candidate models, and computes the unconditional standard error and unconditional confidence intervals as described in Buckland et al. (1997) and Burnham and Anderson (2002).
1.1
logL: a vector of log-likelihood values for the models in the candidate model set.
K: a vector containing the number of estimated parameters for each model in the candidate model set.
modnames: a character vector of model names to facilitate the identification of each model in the model selection table. If NULL, the function uses the names in the cand.set list of candidate models. If no names appear in the list, generic names (e.g., Mod1, Mod2) are supplied in the table in the same order as in the list of candidate models.
estimate: a vector of estimates for each of the models in the candidate model set. Estimates can be either beta estimates for a parameter of interest or a single prediction from each model.
se: a vector of standard errors for each of the estimates appearing in the estimate vector.
second.ord: logical. If TRUE, the function returns the second-order Akaike information criterion (i.e., AICc). This argument is ignored if useBIC = TRUE.
nobs: the sample size required to compute the AICc, QAICc, BIC, or QBIC.
uncond.se: either, "old", or "revised", specifying the equation used to compute the unconditional standard error of a model-averaged estimate. With uncond.se = "old", computations are based on equation 4.9 of Burnham and Anderson (2002), which was the former way to compute unconditional standard errors. With uncond.se = "revised", equation 6.12 of Burnham and Anderson (2002) is used. Anderson (2008, p. 111) recommends use of the revised version for the computation of unconditional standard errors and it is now the default.
conf.level: the confidence level (1−α) requested for the computation of unconditional confidence intervals.
c.hat: value of overdispersion parameter (i.e., variance inflation factor) such as that obtained from c_hat. Note that values of c.hat
different from 1 are only appropriate for binomial GLM's with trials > 1 (i.e., success/trial or cbind(success, failure) syntax), with Poisson GLM's, single-season and dynamic occupancy models (MacKenzie et al. 2002, 2003), N-mixture models (Royle 2004, Dail and Madsen 2011), or capture-mark-recapture models (e.g., Lebreton et al. 1992). If c.hat > 1, modavgCustom will return the quasi-likelihood analogue of the information criteria requested and multiply the variance-covariance matrix of the estimates by this value (i.e., SE's are multiplied by sqrt(c.hat)).
useBIC: logical. If TRUE, the function returns the Bayesian information criterion (BIC) when c.hat = 1 or the quasi-likelihood BIC (QBIC) when c.hat > 1.
Details
modavgCustom computes a model-averaged estimate from the vector of parameter estimates specified in estimate. Estimates and their associated standard errors must be specified in the same order as the log-likelihood, number of estimated parameters, and model names. Estimates provided may be for a parameter of interest (i.e., beta estimates) or predictions from each model. This function is most useful when model input is imported into R from other software (e.g., Program MARK, PRESENCE) or for model classes that are not yet supported by the other model averaging functions such as modavg or modavgPred.
Returns
modavgCustom creates an object of class modavgCustom with the following components:
Mod.avg.table: the model selection table
Mod.avg.est: the model-averaged estimate
Uncond.SE: the unconditional standard error for the model-averaged estimate
Conf.level: the confidence level used to compute the confidence interval
Lower.CL: the lower confidence limit
Upper.CL: the upper confidence limit
References
Anderson, D. R. (2008) Model-based Inference in the Life Sciences: a primer on evidence. Springer: New York.
Buckland, S. T., Burnham, K. P., Augustin, N. H. (1997) Model selection: an integral part of inference. Biometrics 53 , 603--618.
Burnham, K. P., Anderson, D. R. (2002) Model Selection and Multimodel Inference: a practical information-theoretic approach. Second edition. Springer: New York.
Dail, D., Madsen, L. (2011) Models for estimating abundance from repeated counts of an open population. Biometrics 67 , 577--587.
Lebreton, J.-D., Burnham, K. P., Clobert, J., Anderson, D. R. (1992) Modeling survival and testing biological hypotheses using marked animals: a unified approach with case-studies. Ecological Monographs 62 , 67--118.
MacKenzie, D. I., Nichols, J. D., Lachman, G. B., Droege, S., Royle, J. A., Langtimm, C. A. (2002) Estimating site occupancy rates when detection probabilities are less than one. Ecology 83 , 2248--2255.
MacKenzie, D. I., Nichols, J. D., Hines, J. E., Knutson, M. G., Franklin, A. B. (2003) Estimating site occupancy, colonization, and local extinction when a species is detected imperfectly. Ecology
84 , 2200--2207.
Royle, J. A. (2004) N-mixture models for estimating population size from spatially replicated counts. Biometrics 60 , 108--115.
## Not run:##model averaging parameter estimate (natural average)##vector with model LL'sLL <- c(-38.8876,-35.1783,-64.8970)##vector with number of parametersKs <- c(7,9,4)##create a vector of names to trace back models in setModnames <- c("Cm1","Cm2","Cm3")##vector of beta estimates for a parameter of interestmodel.ests <- c(0.0478,0.0480,0.0478)##vector of SE's of beta estimates for a parameter of interestmodel.se.ests <- c(0.0028,0.0028,0.0034)##compute model-averaged estimate and unconditional SE based on AICcmodavgCustom(logL = LL, K = Ks, modnames = Modnames, estimate = model.ests, se = model.se.ests, nobs =121)##compute model-averaged estimate and unconditional SE based on BICmodavgCustom(logL = LL, K = Ks, modnames = Modnames, estimate = model.ests, se = model.se.ests, nobs =121, useBIC =TRUE)##model-averaging with shrinkage based on AICc##set up candidate modelsdata(min.trap)Cand.mod <- list()##global model Cand.mod[[1]]<- glm(Num_anura ~ Type + log.Perimeter, family = poisson, offset = log(Effort), data = min.trap)Cand.mod[[2]]<- glm(Num_anura ~ Type + Num_ranatra, family = poisson, offset = log(Effort), data = min.trap)Cand.mod[[3]]<- glm(Num_anura ~ log.Perimeter + Num_ranatra, family = poisson, offset = log(Effort), data = min.trap)Model.names <- c("Type + log.Perimeter","Type + Num_ranatra","log.Perimeter + Num_ranatra")##model-averaged estimate with shrinkage (glm model type is already supported)modavgShrink(cand.set = Cand.mod, modnames = Model.names, parm ="log.Perimeter")##equivalent manual version of model-averaging with shrinkage##this is especially useful when model classes are not supported##extract vector of LLLLs <- sapply(Cand.mod, FUN =function(i) logLik(i)[1])##extract vector of KKs <- sapply(Cand.mod, FUN =function(i) attr(logLik(i),"df"))##extract betasbetas <- sapply(Cand.mod, FUN =function(i) coef(i)["log.Perimeter"])##second model does not include log.Perimeterbetas[2]<-0##extract SE'sses <- sapply(Cand.mod, FUN =function(i) sqrt(diag(vcov(i))["log.Perimeter"]))ses[2]<-0##model-averaging with shrinkage based on AICcmodavgCustom(logL = LLs, K = Ks, modnames = Model.names, nobs = nrow(min.trap), estimate = betas, se = ses)##model-averaging with shrinkage based on BICmodavgCustom(logL = LLs, K = Ks, modnames = Model.names, nobs = nrow(min.trap), estimate = betas, se = ses, useBIC =TRUE)## End(Not run)