AIC.gkwfit: Calculate AIC or BIC for gkwfit Objects

AIC.gkwfitR Documentation

Calculate AIC or BIC for gkwfit Objects

Description

Computes the Akaike Information Criterion (AIC) or variants like the Bayesian Information Criterion (BIC) for one or more fitted model objects of class "gkwfit".

Usage

## S3 method for class 'gkwfit'
AIC(object, ..., k = 2)

Arguments

object

An object of class "gkwfit", typically the result of a call to gkwfit.

...

Optionally, more fitted model objects of class "gkwfit".

k

Numeric scalar specifying the penalty per parameter. The default k = 2 corresponds to the traditional AIC. Use k = log(n) (where n is the number of observations) for the BIC (Bayesian Information Criterion).

Details

This function calculates an information criterion based on the formula -2 \times \log Likelihood + k \times df, where df represents the number of estimated parameters in the model (degrees of freedom).

It relies on the logLik.gkwfit method to extract the log-likelihood and the degrees of freedom for each model.

When comparing multiple models fitted to the same data, the model with the lower AIC or BIC value is generally preferred. The function returns a sorted data frame to facilitate this comparison when multiple objects are provided.

Value

  • If only one object is provided: A single numeric value representing the calculated criterion (AIC or BIC).

  • If multiple objects are provided: A data.frame with rows corresponding to the models and columns for the degrees of freedom (df) and the calculated criterion value (named AIC, regardless of the value of k). The data frame is sorted in ascending order based on the criterion values. Row names are derived from the deparsed calls of the fitted models.

Author(s)

Lopes, J. E.

See Also

gkwfit, AIC, logLik.gkwfit, BIC.gkwfit

Examples


set.seed(2203)
y <- rkw(1000, alpha = 2.5, beta = 1.5)

# Fit different models to the same data
fit1_kw <- gkwfit(y, family = "kw", silent = TRUE)
fit2_bkw <- gkwfit(y, family = "bkw", silent = TRUE)
fit3_gkw <- gkwfit(y, family = "gkw", silent = TRUE)

# Calculate AIC for a single model
aic1 <- AIC(fit1_kw)
print(aic1)

# Compare AIC values for multiple models
aic_comparison <- c(AIC(fit1_kw), AIC(fit2_bkw), AIC(fit3_gkw))
print(aic_comparison)



gkwreg documentation built on April 16, 2025, 1:10 a.m.