extractAIC
Extract AIC from a Fitted Model
Computes the (generalized) Akaike An Information Criterion for a fitted parametric model.
- Keywords
- models
Usage
extractAIC(fit, scale, k = 2, ...)
Arguments
- fit
- fitted model, usually the result of a fitter like
lm
. - scale
- optional numeric specifying the scale parameter of the
model, see
scale
instep
. Currently only used in the"lm"
method, wherescale
specifies the estimate of the error variance, andscale = 0
indicates that it is to be estimated by maximum likelihood. - k
- numeric specifying the weight of the
equivalent degrees of freedom ($=:$
edf
) part in the AIC formula. - ...
- further arguments (currently unused in base R).
Details
This is a generic function, with methods in base R for classes
"aov"
, "glm"
and "lm"
as well as for
"negbin"
(package \href{https://CRAN.R-project.org/package=#1}{\pkg{#1}}MASSMASS) and "coxph"
and
"survreg"
(package \href{https://CRAN.R-project.org/package=#1}{\pkg{#1}}survivalsurvival).
The criterion used is
$$AIC = - 2\log L + k \times \mbox{edf},$$
where $L$ is the likelihood and edf
the equivalent degrees
of freedom (i.e., the number of free parameters for usual parametric
models) of fit
.
For linear models with unknown scale (i.e., for lm
and
aov
), $-2 log L$ is computed from the
deviance and uses a different additive constant to
logLik
and hence AIC
. If $RSS$
denotes the (weighted) residual sum of squares then extractAIC
uses for $-2 log L$ the formulae $RSS/s - n$ (corresponding
to Mallows' $Cp$) in the case of known scale $s$ and
$n log (RSS/n)$ for unknown scale.
AIC
only handles unknown scale and uses the formula
$n*log(RSS/n) + n + n*log 2pi - sum(log w)$
where $w$ are the weights. Further AIC
counts the scale
estimation as a parameter in the edf
and extractAIC
does not.
For glm
fits the family's aic()
function is used to
compute the AIC: see the note under logLik
about the
assumptions this makes.
k = 2
corresponds to the traditional AIC, using k =
log(n)
provides the BIC (Bayesian IC) instead.
Note that the methods for this function may differ in their
assumptions from those of methods for AIC
(usually
via a method for logLik
). We have already
mentioned the case of "lm"
models with estimated scale, and
there are similar issues in the "glm"
and "negbin"
methods where the dispersion parameter may or may not be taken as
free. This is immaterial as extractAIC
is only used
to compare models of the same class (where only differences in AIC
values are considered).
Value
-
A numeric vector of length 2, with first and second elements giving
- edf
- the equivalent degrees of freedom
for the fitted model
fit
. - AIC
- the (generalized) Akaike Information Criterion for
fit
.
Note
This function is used in add1
, drop1
and step
and the similar functions in package
\href{https://CRAN.R-project.org/package=#1}{\pkg{#1}}MASSMASS from which it was adopted.
References
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. New York: Springer (4th ed).