Compute AIC and AICc for one or several fitted model objects for which a log-likelihood value can be obtained.

# S3 method for ssn_lm
AIC(object, ..., k = 2)

# S3 method for ssn_glm
AIC(object, ..., k = 2)

# S3 method for ssn_lm
AICc(object, ..., k = 2)

# S3 method for ssn_glm
AICc(object, ..., k = 2)

Arguments

object

A fitted model object from ssn_lm() or ssn_glm().

...

Optionally more fitted model objects.

k

The penalty parameter, taken to be 2. Currently not allowed to differ from 2 (needed for generic consistency).

Value

If just one object is provided, a numeric value with the corresponding AIC or AICc.

If multiple objects are provided, a data.frame with rows corresponding to the objects and columns representing the number of parameters estimated (df) and the AIC or AICc.

Details

When comparing models fit by maximum or restricted maximum likelihood, the smaller the AIC or AICc, the better the fit. The AICc contains a correction to AIC for small sample sizes. AIC and AICc comparisons between "ml" and "reml" models are meaningless -- comparisons should only be made within a set of models estimated using "ml" or a set of models estimated using "reml". AIC and AICc comparisons for "reml" must use the same fixed effects. To vary the covariance parameters and fixed effects simultaneously, use "ml".

The AIC is defined as \(-2loglik + 2(npar)\) and the AICc is defined as \(-2loglik + 2n(npar) / (n - npar - 1)\), where \(n\) is the sample size and \(npar\) is the number of estimated parameters. For "ml", \(npar\) is the number of estimated covariance parameters plus the number of estimated fixed effects. For "reml", \(npar\) is the number of estimated covariance parameters.

Examples

# Copy the mf04p .ssn data to a local directory and read it into R
# When modeling with your .ssn object, you will load it using the relevant
# path to the .ssn data on your machine
copy_lsn_to_temp()
temp_path <- paste0(tempdir(), "/MiddleFork04.ssn")
mf04p <- ssn_import(temp_path, overwrite = TRUE)

ssn_mod <- ssn_lm(
  formula = Summer_mn ~ ELEV_DEM,
  ssn.object = mf04p,
  tailup_type = "exponential",
  additive = "afvArea"
)
AIC(ssn_mod)
#> [1] 82.8932
AICc(ssn_mod)
#> [1] 83.47857