Este problema se produjo varias veces cuando estaba tratando de encontrar los mejores parámetros para los modelos ARIMA en R. He aquí un ejemplo:
Mis datos son:
22 41 34 29 27 41 37 17 40 38 31 25 27 30 36 42 26 31 28 20 36 37 39 29 53 59 43 36 33 43 33 17 43 42 52 44 45 51 66 45 38 41 37 37 52 55 43 40 61 45 71 57 66 85 85 37 51 58 50 56 47 63 89 57 54 76 73 51 82 119 108 86
Leo mis datos y los transformo en objeto ts:
data <- read.table('test_data.txt')
data <- as.data.frame(t(data))
ts.test <- ts(data, start = c(2014, 1), frequency = 12)
Intento encontrar los mejores parámetros utilizando auto.arima()
de una variable exógena tt
:
tt <- seq(length(ts.test))
auto.arima(ts.test, xreg = tt)
El resultado es el siguiente:
## Series: ts.test
## Regression with ARIMA(0,0,1)(2,0,0)[12] errors
##
## Coefficients:
## ma1 sar1 sar2 intercept xreg
## 0.5386 0.2667 0.2558 21.7004 0.7458
## s.e. 0.0951 0.1298 0.1515 5.3415 0.1128
##
## sigma^2 estimated as 132.9: log likelihood=-277.4
## AIC=566.79 AICc=568.09 BIC=580.45
Y cuando lo intento con Arima()
:
Arima(ts.test, xreg = tt, order = c(0, 0, 1),
seasonal = list(order = c(2, 0, 0), period = 12))
Da los mismos resultados con auto.arima()
en términos de $\sigma^2$ y el AIC, así como la probabilidad:
## Series: ts.test
## Regression with ARIMA(0,0,1)(2,0,0)[12] errors
## Coefficients:
## ma1 sar1 sar2 intercept xreg
## 0.5386 0.2667 0.2558 21.7004 0.7458
## s.e. 0.0951 0.1298 0.1515 5.3415 0.1128
##
## sigma^2 estimated as 132.9: log likelihood=-277.4
## AIC=566.79 AICc=568.09 BIC=580.45
Pero cuando intento encajarlo con arima()
:
arima(ts.test, xreg = tt, order = c(0, 0, 1),
seasonal = list(order = c(2, 0, 0), period = 12))
Me da:
## Call:
## arima(x = ts.test, order = c(0, 0, 1), seasonal = list(order = c(2, 0, 0), period = 12), xreg = tt)
##
## Coefficients:
## ma1 sar1 sar2 intercept xreg
## 0.5386 0.2667 0.2558 21.7004 0.7458
## s.e. 0.0951 0.1298 0.1515 5.3415 0.1128
##
## sigma^2 estimated as 123.6: log likelihood = -277.4, aic = 564.79
Obsérvese que las 3 funciones dan los mismos parámetros y sus errores estándar, pero el arima()
da diferentes $\sigma^2$ y un AIC diferente (siempre aumentado en 2 con respecto al otro AIC) mientras que la probabilidad sigue siendo la misma.
¿Alguien puede dar una explicación? Muchas gracias.