Terse report on the fit of one or more spatially explicit capture--recapture models. Models with smaller values of AIC (Akaike's Information Criterion) are preferred. Extraction ([) and logLik methods are included.
# S3 method for secr
AIC(object, ..., sort = TRUE, k = 2, dmax = 10, criterion = c("AICc","AIC"), chat = NULL)
# S3 method for secrlist
AIC(object, ..., sort = TRUE, k = 2, dmax = 10, criterion = c("AICc","AIC"), chat = NULL)
# S3 method for secr
logLik(object, ...)
secrlist(..., names = NULL)
# S3 method for secrlist
[(x, i)
A data frame with one row per model. By default, rows are sorted by ascending 'criterion' (default AICc).
character string describing the fitted model
shape of detection function fitted (halfnormal vs hazard-rate)
number of parameters estimated
maximized log likelihood
Akaike's Information Criterion
AIC with small-sample adjustment of Hurvich & Tsai (1989)
And depending on criterion
:
difference between AICc of this model and the one with smallest AICc
AICc model weight
or
difference between AIC of this model and the one with smallest AIC
AIC model weight
logLik.secr
returns an object of class `logLik' that has
attribute df
(degrees of freedom = number of estimated
parameters).
If the variance inflation factor 'chat' is provided then outputs AIC, AICc etc. are replaced by the corresponding quasi-AIC values labelled QAIC, QAICc etc.
secr
object output from the function
secr.fit
, or a list of such objects with class c("secrlist", "list")
other secr
objects
logical for whether rows should be sorted by ascending AICc
numeric, penalty per parameter to be used; always k = 2 in this method
numeric, maximum AIC difference for inclusion in confidence set
character, criterion to use for model comparison and weights
numeric optional variance inflation factor for quasi-AIC
character vector of names (optional)
secrlist
indices
Models to be compared must have been fitted to the same data and use the
same likelihood method (full vs conditional). From version 4.1 a warning is
issued if AICcompatible
reveals a problem.
AIC is given by
$$ \mbox{AIC} = -2\log(L(\hat{\theta})) + 2K$$
where \(K\) is the number of "beta" parameters estimated.
AIC with small sample adjustment is given by
$$ \mbox{AIC}_c = -2\log(L(\hat{\theta})) + 2K + \frac{2K(K+1)}{n-K-1}.$$
The sample size \(n\) is the number of individuals observed at least once (i.e. the
number of rows in capthist
).
Model weights are calculated as $$w_i = \frac{\exp(-\Delta_i / 2),}{ \sum{\exp(-\Delta_i / 2)}}$$ where \(\Delta\) refers to differences in AIC or AICc depending on the argument `criterion'. AICc is widely used, but AIC may be better (Fletcher 2018, p. 60).
Models for which delta > dmax
are given a weight of zero and are
excluded from the summation. Model weights may be used to form
model-averaged estimates of real or beta parameters with
modelAverage
(see also Buckland et al. 1997, Burnham and
Anderson 2002).
The argument k
is included for consistency with the generic method AIC
.
secrlist
forms a list of fitted models (an object of class
`secrlist') from the fitted models in .... Arguments may include
secrlists. If secr components are named the model names will be retained unless `names' is specified.
(see Examples).
If chat (\(\hat c\)) is provided then quasi-AIC values are computed (secr >= 4.6.0):
$$ \mbox{QAIC} = -2\log(L(\hat{\theta}))/ \hat c + 2K.$$
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.
Fletcher, D. (2019) Model averaging. SpringerBriefs in Statistics. Berlin: Springer-Verlag.
Hurvich, C. M. and Tsai, C. L. (1989) Regression and time series model selection in small samples. Biometrika 76, 297--307.
Turek, D. and Fletcher, D. (2012) Model-averaged Wald confidence intervals. Computational statistics and data analysis 56, 2809--2815.
AICcompatible
,
modelAverage
,
AIC
,
secr.fit
,
print.secr
,
score.test
,
LR.test
,
deviance.secr
## Compare two models fitted previously
## secrdemo.0 is a null model
## secrdemo.b has a learned trap response
AIC(secrdemo.0, secrdemo.b)
## Form secrlist and pass to AIC.secr
temp <- secrlist(null = secrdemo.0, learnedresponse = secrdemo.b)
AIC(temp)
Run the code above in your browser using DataLab