AICc               package:AICcmodavg               R Documentation

_C_o_m_p_u_t_i_n_g _A_I_C, _A_I_C_c, _Q_A_I_C, _a_n_d _Q_A_I_C_c

_D_e_s_c_r_i_p_t_i_o_n:

     Functions to computes Akaike's information criterion (AIC), the
     second-order AIC (AICc), as well as their quasi-likelihood
     counterparts (QAIC, QAICc).

_U_s_a_g_e:

     AICc(mod, return.K = FALSE, c.hat = 1, second.ord = TRUE, nobs = NULL) 

     AICc.glm(mod, return.K = FALSE, c.hat = 1, second.ord = TRUE, nobs = 
     NULL)

     AICc.lme(mod, return.K = FALSE, second.ord = TRUE, nobs = NULL)

     AICc.mult(mod, return.K = FALSE, c.hat = 1, second.ord = TRUE, nobs =
     NULL) 

     AICc.polr(mod, return.K = FALSE, second.ord = TRUE, nobs = NULL)

_A_r_g_u_m_e_n_t_s:

     mod: an object of class 'lm', 'glm', 'lme', 'multinom', or 'polr'
          containing the output of a model.  

return.K: logical. If FALSE, the function returns the information
          criteria specified. If TRUE, the function returns K (number
          of estimated parameters) for a given model.  Using this
          argument to facilitate computation of tables was an original
          idea from T. Ergon. 

   c.hat: value of overdispersion parameter (i.e., variance inflation
          factor) such as that obtained from 'c_hat'.  Note that values
          of c.hat different from 1 are only appropriate for binomial
          GLM's with trials > 1 (i.e., success/trial or cbind(success,
          failure) syntax) or with Poisson GLM's.  If c.hat > 1, 'AICc'
          will return the quasi-likelihood analogue of the information
          criterion requested. 

second.ord: logical.  If TRUE, the function returns the second-order
          Akaike  information criterion (i.e., AICc).  

    nobs: this argument allows to specify a numeric value other than
          total sample size to compute the AICc.  This is relevant only
          for linear mixed models where sample size is not
          straightforward. In such cases, one might want to use the
          total number of observations or the number of independent
          clusters as the value of 'nobs'.  

_D_e_t_a_i_l_s:

     'AICc' is a function that calls either 'AICc.glm', 'AICc.lme',
     'AICc.mult', or 'AICc.polr', depending on the class of the object.
      The  current function is implemented for 'lm','glm', 'lme',
     'multinom', and 'polr' classes and computes one of the following
     four information criteria:  Akaike's information criterion (AIC,
     Akaike 1973), the second-order or small sample AIC (AICc, Sugiura
     1978, Hurvich and Tsai 1991), the quasi-likelihood AIC (QAIC,
     Burnham and Anderson 2002), and the quasi-likelihood AICc (QAICc,
     Burnham and Anderson 2002).  Note that AIC and AICc values are
     meaningful to select among mixed models fit by maximum likelihood;
     AIC and AICc based on REML are valid to select among different
     models that only differ in their random effects (Pinheiro and
     Bates 2000).

_V_a_l_u_e:

     'AICc' selects one of the functions below based on the class of
     the  object:

     'AICc.glm' returns the AIC, AICc, QAIC, or QAICc depending on the
     values of the arguments.

     'AICc.lme' returns the AIC or AICc depending on the values of the
     arguments. 

     'AICc.mult' returns the AIC, AICc, QAIC, or QAICc depending on the
     values of the arguments.

     'AICc.polr' returns the AIC or AICc depending on the values of the
     arguments.

_N_o_t_e:

     The actual (Q)AIC(c) values are not really interesting in
     themselves, as they depend directly on the data, parameters
     estimated, and likelihood function.  Furthermore, a single value
     does not tell much about model fit.  Information criteria become
     relevant when compared to one another for a given data set and set
     of candidate models.

_A_u_t_h_o_r(_s):

     Marc J. Mazerolle

_R_e_f_e_r_e_n_c_e_s:

     Akaike, H. (1973) Information theory as an extension of the
     maximum  likelihood principle. In:  _Second International
     Symposium on Information  Theory_, pp. 267-281. Petrov, B.N.,
     Csaki, F., Eds, Akademiai Kiado, Budapest. 

     Anderson, D. R. (2008) _Model-based Inference in the Life
     Sciences: a primer on evidence_. Springer: New York.

     Burnham, K. P., Anderson, D. R. (2002) _Model Selection and
     Multimodel Inference: a practical information-theoretic approach_.
     Second edition. Springer: New York.

     Burnham, K. P., Anderson, D. R. (2004) Multimodel inference:
     understanding AIC and BIC in model selection. _Sociological
     Methods and Research_ *33*, 261-304.

     Hurvich, C. M., Tsai, C.-L. (1991) Bias of the corrected AIC
     criterion for underfitted regression and time series models.
     _Biometrika_ *78*, 499-509. 

     Pinheiro, J. C., Bates, D. M. (2000) _Mixed-effect models in S and
     S-PLUS_. Springer Verlag: New York.  

     Sugiura, N. (1978) Further analysis of the data by Akaike's
     information  criterion and the finite corrections. _Communications
     in Statistics:  Theory and Methods_ *A7*, 13-26.

_S_e_e _A_l_s_o:

     'aictab', 'confset', 'importance', 'evidence', 'c_hat', 'modavg',
     'modavgpred'

_E_x_a_m_p_l_e_s:

     ##cement data from Burnham and Anderson (2002, p. 101)
     data(cement)
     ##run multiple regression - the global model in Table 3.2
     glob.mod <- lm(y ~ x1 + x2 + x3 + x4, data = cement)

     ##compute AICc with full likelihood
     AICc(glob.mod, return.K = FALSE)

     ##compute AIC with full likelihood 
     AICc(glob.mod, return.K = FALSE, second.ord = FALSE)
     ##note that Burnham and Anderson (2002) did not use full likelihood
     ##in Table 3.2 and that the MLE estimate of the variance was
     ##rounded to 2 digits after decimal point  


     ##compute AICc for mixed model on Orthodont data set in Pinheiro and
     ##Bates (2000)
     require(nlme)
     m1 <- lme(distance ~ age, random = ~1 | Subject, data = Orthodont,
     method= "ML")
     AICc(m1, return.K = FALSE)

