model.average {secr} | R Documentation

## 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

`AIC.secr`, `secr.fit`

### 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,]

[Package secr version 3.2.1 Index]