Compute AIC and AICc for one or several fitted model objects for which a log-likelihood value can be obtained.
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.
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.
# 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