Learn R Programming

gkwreg (version 2.1.6)

AIC.gkwreg: Akaike Information Criterion for GKw Regression Models

Description

Calculates the Akaike Information Criterion (AIC) for fitted Generalized Kumaraswamy regression models.

Usage

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

Value

If only one object is provided, returns a numeric value with the AIC. If multiple objects are provided, returns a data frame with columns df

and AIC, with rows named according to the object names in the call.

Arguments

object

An object of class "gkwreg", typically obtained from gkwreg.

...

Optionally more fitted model objects.

k

Numeric, the penalty per parameter. Default is k = 2 for classical AIC. Setting k = log(n) gives BIC-equivalent penalty.

Author

Lopes, J. E.

Details

The AIC is computed as: $$AIC = -2\ell(\hat{\theta}) + k \cdot p$$ where \(\ell(\hat{\theta})\) is the maximized log-likelihood and \(p\) is the number of estimated parameters.

When multiple objects are provided, a data frame comparing all models is returned. Lower AIC values indicate better models, balancing goodness-of-fit against model complexity.

For small sample sizes, consider the corrected AIC (AICc): $$AICc = AIC + \frac{2p(p+1)}{n-p-1}$$ where \(n\) is the sample size. This correction is not automatically applied but can be calculated manually.

References

Akaike, H. (1974). A new look at the statistical model identification. IEEE Transactions on Automatic Control, 19(6), 716--723. tools:::Rd_expr_doi("10.1109/TAC.1974.1100705")

Burnham, K. P., & Anderson, D. R. (2004). Multimodel inference: Understanding AIC and BIC in model selection. Sociological Methods & Research, 33(2), 261--304. tools:::Rd_expr_doi("10.1177/0049124104268644")

See Also

gkwreg, logLik.gkwreg, BIC.gkwreg

Examples

Run this code
# \donttest{
# Load example data
data(GasolineYield)

# Fit competing models
fit1 <- gkwreg(yield ~ batch, data = GasolineYield, family = "kw")
fit2 <- gkwreg(yield ~ batch + temp, data = GasolineYield, family = "kw")
fit3 <- gkwreg(yield ~ temp, data = GasolineYield, family = "kw")

# Calculate AIC for single model
AIC(fit1)

# Compare multiple models (with proper names)
AIC(fit1, fit2, fit3)

# Use different penalty
AIC(fit1, k = 4)
# }

Run the code above in your browser using DataLab