De la lectura de los mensajes en este sitio sé que hay un R función auto.arima
(en el forecast
paquete ). También sé que IrishStat un miembro de este sitio construyó el paquete comercial autobox a principios de la década de 1980. Dado que estos dos paquetes existen hoy en día y seleccionan automáticamente modelos arima para conjuntos de datos dados, ¿qué hacen de forma diferente? ¿Producirán posiblemente modelos diferentes para el mismo conjunto de datos?
Respuestas
¿Demasiados anuncios?Representan dos enfoques diferentes para dos problemas similares pero diferentes. Yo escribí auto.arima
y @IrishStat es el autor de Autobox
.
auto.arima()
se ajusta a modelos ARIMA (estacionales) que incluyen términos de deriva. Autobox
ajusta los modelos de función de transferencia para manejar los cambios de nivel y los valores atípicos. Un modelo ARIMA es un caso especial de un modelo de función de transferencia.
Aunque haya desactivado los cambios de nivel y la detección de valores atípicos en Autobox
se obtendría un modelo ARIMA diferente de auto.arima()
debido a las diferentes elecciones de cómo identificar los parámetros ARIMA.
En mis pruebas sobre el M3 y los datos de la competencia M, auto.arima()
produce previsiones más precisas que Autobox
para estos datos. Sin embargo, Autobox
será mejor con datos que contengan valores atípicos importantes y cambios de nivel.
EDIT: Por tu comentario, creo que si desactivas muchos de autobox
probablemente obtendría una respuesta similar a la de auto.arima
. Pero si no lo hace, y en presencia de valores atípicos, definitivamente habrá una diferencia: auto.arima
no se preocupa por los valores atípicos, mientras que autobox
los detectará y los tratará adecuadamente, lo que permitirá obtener un modelo mejor. También puede haber otras diferencias, y estoy seguro de que IrishStat puede describirlas.
Creo que autobox
detecta los valores atípicos y otras cosas más allá de la búsqueda de los mejores coeficientes AR, I y MA. Si eso es correcto, requeriría más análisis y un par de otras funciones de R para tener una funcionalidad similar. Y IrishStats es un miembro valioso de esta comunidad, y bastante amigable.
Por supuesto, R es gratuito y puede hacer un montón de cosas más allá de ARIMA.
Otra opción libre para el ARIMA de tipo económico es X13-ARIMA SEATS
de la Oficina del Censo de Estados Unidos, que es de código abierto. Hay binarios para Windows y Linux, pero se compiló sin problemas en mi Mac, dado que ya había cargado el compilador gfortran de gnu. Es el sucesor de X12-ARIMA
y acaba de salir al mercado en los últimos días, tras años de desarrollo y pruebas. (Actualiza el X12 y también añade funciones de SEATS/TRAMO. X12 es la herramienta oficial estadounidense, mientras que SEATS/TRAMO es del Banco de España y es la "herramienta europea").
Me gusta mucho el X12 (y ahora el X13). Si se emite una buena cantidad de diagnósticos y se lee a través de ellos y se aprende lo que significan, son realmente una educación bastante buena en ARIMA y series de tiempo. He desarrollado mi propio flujo de trabajo, pero hay un paquete de R x12
para hacer la mayor parte del trabajo desde R (todavía hay que crear el archivo de modelo de entrada (".spc") para X12).
Yo digo que X12 es bueno en el "estilo económico" ARIMA para significar datos mensuales con más de 3 años de datos. (Se necesitan más de 5 años de datos para utilizar algunas funciones de diagnóstico). Tiene una función de identificación de valores atípicos, puede manejar todo tipo de especificaciones de valores atípicos y puede manejar los días festivos, los días festivos flotantes, los efectos del día de negociación y una serie de cosas económicas. Es la herramienta que utiliza el gobierno de EE.UU. para crear datos ajustados estacionalmente.
michael/wayne
AUTOBOX entregará/identificará definitivamente un modelo diferente si se cumplen una o varias de las siguientes condiciones
1) hay pulsos en los datos
2) hay un desplazamiento de 1 o más niveles/pasos en los datos
3) si hay pulsos estacionales en los datos
4) hay una o más tendencias horarias locales en los datos que no se remedian simplemente
5) si los parámetros del modelo cambian con el tiempo
6) si la varianza de los errores cambia con el tiempo y ninguna transformación de potencia es adecuada.
En cuanto a un ejemplo concreto, sugeriría que ambos seleccionaran/hicieran una serie temporal y la colgaran en la web. Yo utilizaré AUTOBOX para analizar los datos de forma desatendida y colgaré los modelos en la lista. A continuación, ejecuta el programa R y luego cada uno de vosotros hace un análisis objetivo por separado de ambos resultados, señalando las similitudes y las diferencias. Enviadme esos dos modelos completos con todo el material de apoyo disponible, incluidos los términos de error finales, para que haga mis comentarios. Resume y presenta estos resultados a la lista y luego pide a los lectores de la lista que VOTEN por el procedimiento que les parezca mejor.