AICmodel {usefr} | R Documentation |
this function permits the estimation of the AIC for models for which the function 'AIC' from the 'stats' package does not work.
AICmodel(model = NULL, residuals = NULL, np = NULL)
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. |
if for a given model 'm' AIC(m) works, then AICmodel(m) = AIC(m).
AIC numerical value
Robersy Sanchez (https://genomaths.com).
set.seed(77) x = runif(100, 1, 5) y = 2 * exp(-0.5 * x) + runif(100, 0, 0.1) plot(x, y) 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") ## The estimations of Akaike information criteria given by 'AIC' function ## from stats' R package and from 'AICmodel' function are equal. AICmodel(nlm) == AIC(nlm) ## Now, using residuals from the fitted model: res = y - coef(nlm)[1] * exp(coef(nlm)[2] * x) AICmodel(residuals=res, np=2) == AIC(nlm)