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