Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

model.average

Averaging of SECR Models Using Akaike's Information Criterion


Description

AIC- or AICc-weighted average of estimated ‘real’ or ‘beta’ parameters from multiple fitted secr models.

Usage

model.average(..., realnames = NULL, betanames = NULL, newdata = NULL, 
    alpha = 0.05, dmax = 10, covar = FALSE, average = c("link", "real"),
    criterion = c("AICc","AIC"), CImethod = c("Wald", "MATA"))

collate (..., realnames = NULL, betanames = NULL, newdata = NULL, 
    alpha = 0.05, perm = 1:4, fields = 1:4)

Arguments

...

secr or secrlist objects

realnames

character vector of real parameter names

betanames

character vector of beta parameter names

newdata

optional dataframe of values at which to evaluate models

alpha

alpha level for confidence intervals

dmax

numeric, the maximum AIC or AICc difference for inclusion in confidence set

covar

logical, if TRUE then return variance-covariance matrix

average

character string for scale on which to average real parameters

criterion

character, information criterion to use for model weights

CImethod

character, type of confidence interval (see Details)

perm

permutation of dimensions in output from collate

fields

vector to restrict summary fields in output

Details

Models to be compared must have been fitted to the same data and use the same likelihood method (full vs conditional). If realnames = NULL and betanames = NULL then all real parameters will be averaged; in this case all models must use the same real parameters. To average beta parameters, specify betanames (this is ignored if a value is provided for realnames). See predict.secr for an explanation of the optional argument newdata; newdata is ignored when averaging beta parameters.

Model-averaged estimates for parameter theta are given by

theta-hat = sum( w_k * theta-hat_k)

where the subscript k refers to a specific model and the w_k are AIC or AICc weights (see AIC.secr for details). Averaging of real parameters may be done on the link scale before back-transformation (average="link") or after back-transformation (average="real").

Models for which dAIC > dmax (or dAICc > dmax) are given a weight of zero and effectively are excluded from averaging.

Also,

var(theta-hat) = sum(w_k (var(theta-hat_k) + beta_k^2))

where beta-hat_k = theta-hat_k -- theta-hat and the variances are asymptotic estimates from fitting each model k. This follows Burnham and Anderson (2004) rather than Buckland et al. (1997).

Two methods are offered for confidence intervals. The default ‘Wald’ uses the above estimate of variance. The alternative ‘MATA’ (model-averaged tail area) avoids estimating a weighted variance and is thought to provide better coverage at little cost in increased interval length (Turek and Fletcher 2012). Turek and Fletcher (2012) also found averaging with AIC weights (here criterion = 'AIC') preferable to using AICc weights, even for small samples. CImethod does not affect the reported standard errors.

collate extracts parameter estimates from a set of fitted secr model objects. fields may be used to select a subset of summary fields ("estimate","SE.estimate","lcl","ucl") by name or number.

Value

For model.average, an array of model-averaged estimates, their standard errors, and a 100(1-alpha)% confidence interval. The interval for real parameters is backtransformed from the link scale. If there is only one row in newdata or beta parameters are averaged or averaging is requested for only one parameter then the array is collapsed to a matrix. If covar = TRUE then a list is returned with separate components for the estimates and the variance-covariance matrices.

For collate, a 4-dimensional array of model-specific parameter estimates. By default, the dimensions correspond respectively to rows in newdata (usually sessions), models, statistic fields (estimate, SE.estimate, lcl, ucl), and parameters ("D", "g0" etc.). For particular comparisons it often helps to reorder the dimensions with the perm argument.

Warning

model.average may conflict with a method of the same name in RMark

References

Buckland S. T., Burnham K. P. and Augustin, N. H. (1997) Model selection: an integral part of inference. Biometrics 53, 603–618.

Burnham, K. P. and Anderson, D. R. (2002) Model Selection and Multimodel Inference: A Practical Information-Theoretic Approach. Second edition. New York: Springer-Verlag.

Burnham, K. P. and Anderson, D. R. (2004) Multimodel inference - understanding AIC and BIC in model selection. Sociological Methods & Research 33, 261–304.

Turek, D. and Fletcher, D. (2012) Model-averaged Wald confidence intervals. Computational statistics and data analysis 56, 2809–2815.

See Also

Examples

## Compare two models fitted previously
## secrdemo.0 is a null model
## secrdemo.b has a learned trap response

model.average(secrdemo.0, secrdemo.b)
model.average(secrdemo.0, secrdemo.b, betanames = c("D","g0","sigma"))

## In this case we find the difference was actually trivial...
## (subscripting of output is equivalent to setting fields = 1)

collate (secrdemo.0, secrdemo.b, perm = c(4,2,3,1))[,,1,]

secr

Spatially Explicit Capture-Recapture

v4.4.1
GPL (>= 2)
Authors
Murray Efford
Initial release
2021-05-01

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.