BICmodel | R Documentation |
this function permits the estimation of the BIC for models for which the function 'BIC' from 'stats' packages does not work.
BICmodel(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 = observe.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' BIC(m) works, then BICmodel(m) = BIC(m).
BIC numerical value
Robersy Sanchez (https://genomaths.com).
AICmodel
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 BIC' function
## from stats' R package and from 'AICmodel' function are equals.
round(BICmodel(nlm), 3) == round(BIC(nlm), 3)
## Now, using residuals from the fitted model:
res <- y - coef(nlm)[1] * exp(coef(nlm)[2] * x)
round(BICmodel(residuals = res, np = 2), 3) == round(BIC(nlm), 3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.