model.average {secr}R Documentation

Model averaging for SECR Models

Description

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 = 'link')

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

Arguments

... secr 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 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
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 weights with small sample adjustment (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 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).

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.

Author(s)

Murray Efford murray.efford@otago.ac.nz

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.

See Also

AIC.secr, secr.fit

Examples

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

data(secrdemo)
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,]


[Package secr version 1.3.0 Index]