Problema: me gustaría extraer el BIC y AICc de un arima() del objeto en R.
Antecedentes: El arima() la función produce una salida de resultados, que incluye los coeficientes estimados, los errores estándar, AIC, BIC, y AICc. Vamos a ejecutar el código de ejemplo para ver cómo se ve:
# Load the sunspots dataset
data(sunspots)
# Build an ARIMA(2,0,2) model and store as an object
model <- arima(x=sunspots, order=c(2,0,2), method="ML")
# Show a summary of the model
model
La salida de resultados para el modelo aparece como esto:
Series: sunspots
ARIMA(2,0,2) with non-zero mean
Coefficients:
ar1 ar2 ma1 ma2 intercept
0.9822 0.0004 -0.3997 -0.1135 51.2652
s.e. 0.1221 0.1196 0.1206 0.0574 8.1441
sigma^2 estimated as 247.9: log likelihood=-11775.69
AIC=23563.39 AICc=23563.42 BIC=23599.05
En la línea inferior, podemos ver los valores de AIC, BIC, y AICc. (Nota: este es el resultado que se muestra por arima() cuando el pronóstico paquete ha sido cargado, es decir, de la biblioteca(previsión))
El acceso a la AIC valor es muy fácil. Uno puede simplemente escriba:
> model$aic
[1] 23563.39
El acceso a la AIC valor de esta manera es posible debido al hecho de que es almacenado como uno de los modelo de los atributos. El código siguiente y de salida va a dejar esto en claro:
> attributes(model)
$names
[1] "coef" "sigma2" "var.coef" "mask" "loglik"
[6] "aic" "arma" "residuals" "call" "series"
[11] "code" "n.cond" "model"
$class
[1] "Arima"
Observe, sin embargo, que bic y aicc no son atributos de modelo, por lo que el siguiente código es de ninguna utilidad para nosotros:
> model$bic
NULL
> model$aicc
NULL
El BIC y AICc valores son, de hecho, calculado por el arima() función, pero el objeto que devuelve no nos da acceso directo a sus valores. Esto es incómodo y me he encontrado con otros que he planteado el problema. Por desgracia, no he encontrado una solución para el problema.
Puede alguien ayudar? Que método puedo utilizar para acceder a los BIC y AICc de la Arima clase de objeto.
Nota: he sugerido una respuesta, pero quisiera escuchar mejoras y sugerencias.
Edición (Versión detalles de lo solicitado):
> R.Version()
$platform
[1] "i686-pc-linux-gnu"
$arch
[1] "i686"
$os
[1] "linux-gnu"
$system
[1] "i686, linux-gnu"
$status
[1] ""
$major
[1] "3"
$minor
[1] "0.2"
$year
[1] "2013"
$month
[1] "09"
$day
[1] "25"
$`svn rev`
[1] "63987"
$language
[1] "R"
$version.string
[1] "R version 3.0.2 (2013-09-25)"
$nickname
[1] "Frisbee Sailing"