# AICmodel: Akaike's Information Criterion (AIC) In genomaths/usefr: Utility Functions for Statistical Analyses

 AICmodel R Documentation

## Akaike's Information Criterion (AIC)

### Description

this function permits the estimation of the AIC for models for which the function 'AIC' from the 'stats' package does not work.

### Usage

``````AICmodel(model = NULL, residuals = NULL, np = NULL)
``````

### Arguments

 `model` if provided, it is an R object from where the residuals and model parameters can be retrieved using resid(model) and coef(model), respectively. `residuals` if provided, it is numerical vector with the residuals: residuals = observed.values - predicted.values, where predicted values are estimated from the model. If the parameter 'model' is not provided, then this parameter must be provided. `np` number of model parameters. If the parameter 'model' is not provided, then 'np' and 'residuals' must be provided.

### Details

if for a given model 'm' AIC(m) works, then AICmodel(m) = AIC(m).

### Value

AIC numerical value

### Examples

``````## Build a set of point holding an exponential decay
set.seed(77)
x = runif(100, 1, 5)
y = 2 * exp(-0.5 * x) + runif(100, 0, 0.1)
plot(x, y)

## Non-linear regression
nlm <- nls(Y ~ a * exp( b * X), data = data.frame(X=x, Y=y),
start=list(a=1.5, b=-0.7),
control=nls.control(maxiter=10^4, tol=1e-05),
algorithm='port')

## Estimations of Akaike information criteria given by 'AIC' function
## from stats' R package and from 'AICmodel' function are equal.
round(AICmodel(nlm), 3) == round(AIC(nlm), 3)

## Now, using residuals from the fitted model:
res = y - coef(nlm) * exp(coef(nlm) * x)

round(AICmodel(residuals = res, np = 2), 3) == round(AIC(nlm), 3)

``````

genomaths/usefr documentation built on April 18, 2023, 3:35 a.m.