| AIC {base} | R Documentation |
This generic function calculates the Akaike information criterion for one or several fitted model objects for which a log-likelihood value can be obtained, according to the formula -2*log-likelihood + k*npar, where npar represents the number of parameters in the fitted model, and k = 2 for the usual AIC, or k = log(n) (n the number of observations) for the so-called BIC or SBC (Schwarz's Bayesian criterion). When comparing fitted objects, the smaller the AIC, the better the fit.
AIC(object, ..., k = 2)
object |
a fitted model object, for which there exists a
logLik method to extract the corresponding log-likelihood, or
an object inheriting from class logLik. |
... |
optional fitted model objects. |
k |
numeric, the ``penalty'' per parameter to be used; the
default k = 2 is the classical AIC. |
if just one object is provided, returns a numeric value
with the corresponding AIC; if more than one object are provided,
returns a data.frame with rows corresponding to the objects and
columns representing the number of parameters in the model
(df) and the AIC.
Jose Pinheiro and Douglas Bates
Sakamoto, Y., Ishiguro, M., and Kitagawa G. (1986). Akaike Information Criterion Statistics. D. Reidel Publishing Company.
data(swiss)
lm1 <- lm(Fertility ~ . , data = swiss)
AIC(lm1)
stopifnot(all.equal(AIC(lm1),
AIC(logLik(lm1))))
## a version of BIC or Schwarz' BC :
AIC(lm1, k = log(nrow(swiss)))