extractAIC               package:stats               R Documentation

Extract AIC from a Fitted Model

Description:

     Computes the (generalized) Akaike *A*n *I*nformation *C*riterion
     for a fitted parametric model.

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' in 'step'.  Currently only used in the '"lm"'
          method, where 'scale' specifies the estimate of the error
          variance, and 'scale = 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 '"aov"',
     '"coxph"', '"glm"', '"lm"', '"negbin"' and '"survreg"' classes.

     The criterion used is

                     AIC = - 2*log L +  k * 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'),
     -2log 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 -
     2log 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.

     For 'glm' fits the family's 'aic()' function 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.

Value:

     A numeric vector of length 2, giving

     edf: the '*e*quivalent *d*egrees of *f*reedom' for the fitted
          model 'fit'.

     AIC: the (generalized) Akaike Information Criterion for 'fit'.

Note:

     This function is used in 'add1', 'drop1' and 'step' and similar
     functions in package 'MASS' from which it was adopted.

Author(s):

     B. D. Ripley

References:

     Venables, W. N. and Ripley, B. D. (2002) _Modern Applied
     Statistics with S._ New York: Springer (4th ed).

See Also:

     'AIC', 'deviance', 'add1', 'step'

Examples:

     utils::example(glm)
     extractAIC(glm.D93)#>>  5  15.129

