AIC                  package:stats                  R Documentation

Akaike's An Information Criterion

Description:

     Generic function calculating 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).

Usage:

     AIC(object, ..., k = 2)

Arguments:

  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'.

     ...: optionally more fitted model objects.

       k: numeric, the "penalty" per parameter to be used; the default
          'k = 2' is the classical AIC.

Details:

     The default method for 'AIC', 'AIC.default()' entirely relies on
     the existence of a 'logLik' method computing the log-likelihood
     for the given class.

     When comparing fitted objects, the smaller the AIC, the better the
     fit.

Value:

     If just one object is provided, returns a numeric value with the
     corresponding AIC (or BIC, or ..., depending on 'k'); 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.

Author(s):

     Jose Pinheiro and Douglas Bates

References:

     Sakamoto, Y., Ishiguro, M., and Kitagawa G. (1986). _Akaike
     Information Criterion Statistics_. D. Reidel Publishing Company.

See Also:

     'extractAIC', 'logLik'.

Examples:

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

