ARIMA significa media móvil integrada autorregresiva y es una técnica para el análisis de series temporales y para pronosticar posibles valores futuros de una serie temporal.
El modelado autorregresivo y el modelado de media móvil son dos enfoques diferentes para pronosticar datos de series temporales. ARIMA integra estos dos enfoques, de ahí el nombre. La Forecasting es una rama del machine learning que emplea el comportamiento pasado de una serie temporal para predecir uno o más valores futuros de esa serie temporal. Imagine que está comprando helado para abastecer una pequeña tienda. Si sabe que las ventas de helado aumentan constantemente a medida que el clima se calienta, probablemente debería predecir que el pedido de la próxima semana debería ser un poco mayor que el pedido de esta semana. El aumento dependerá de la diferencia entre las ventas de esta semana y las de la anterior No podemos pronosticar el futuro sin un pasado para compararlo, por lo que los datos de series temporales pasadas son muy importantes para ARIMA y para todos los métodos de forecasting y análisis de series temporales.
ARIMA es uno de los enfoques más utilizados para el forecasting de series de tiempo y se puede usar de dos maneras diferentes dependiendo del tipo de datos de series de tiempo con los que esté trabajando. En el primer caso, hemos creado un modelo ARIMA no estacional que no requiere contabilizar la estacionalidad en los datos de series de tiempo. Prevemos el futuro simplemente con base en los patrones de los datos pasados. En el segundo caso, nos damos cuenta de la estacionalidad que son los ciclos regulares que afectan a las series de tiempo. Estos ciclos pueden ser diarios, semanales o mensuales y ayudan a definir patrones en los datos pasados de las series temporales que se pueden utilizar para pronosticar valores futuros. Al igual que gran parte de la ciencia de datos, la base del forecasting es tener buenos datos de series de tiempo con los que entrenar sus modelos. Una serie de tiempo es una secuencia ordenada de mediciones de una variable a intervalos de tiempo igualmente espaciados. Es importante recordar que no todos los conjuntos de datos que tienen un elemento de tiempo son en realidad datos de series de tiempo debido a este requisito de intervalo igualmente espaciado.
En 1970, los estadísticos George Box y Gwilym Jenkins propusieron lo que se conoce como el método Box-Jenkins para adaptarse a cualquier tipo de modelo de series temporales.1 Esta técnica parte de la suposición de que el proceso que generó la serie temporal puede aproximarse empleando un modelo si es estacionario. Consta de cuatro pasos:
Identificación: evalúe si la serie temporal es estacionaria y, en caso contrario, cuántas diferencias se requieren para que sea estacionaria. A continuación, genere datos diferenciados para su uso en gráficos de diagnóstico. Identifique los parámetros de un modelo ARMA para los datos de autocorrelación y autocorrelación parcial.
Estimación: emplee los datos para capacitar los parámetros del modelo (es decir, los coeficientes).
Comprobación de diagnóstico: evaluar el modelo ajustado en el contexto de los datos disponibles y buscar áreas en las que el modelo pueda mejorar. En particular, esto implica comprobar el sobreajuste y calcular los errores residuales.
Forecasting: ahora que tiene un modelo, puede comenzar a pronosticar valores con su modelo.
Una vez que confirmó que su modelo se ajusta correctamente a sus datos, estará listo para comenzar el forecasting ARIMA. Examinaremos cada uno de estos pasos en detalle.
Una serie temporal puede ser estacionaria o no estacionaria. Una serie temporal estacionaria tiene propiedades estadísticas que son constantes a lo largo del tiempo. Esto significa que las estadísticas como la media, la varianza y la autocorrelación no cambian en los datos. La mayoría de los métodos de forecasting estadístico, incluyendo ARIMA, se basan en el supuesto de que las series de tiempo pueden hacerse aproximadamente estacionarias a través de una o más transformaciones. Una serie estacionaria es comparativamente fácil de predecir porque simplemente se puede predecir que las propiedades estadísticas serán aproximadamente las mismas en el futuro que en el pasado. Trabajar con datos no estacionarios es posible pero difícil con un enfoque como ARIMA.
Otra característica clave de los datos de series temporales una tendencia presente en los datos. Por ejemplo, los precios de los productos básicos en una tienda de comestibles de los últimos 50 años mostrarían una tendencia porque la inflación aumentaría esos precios. Predecir datos que contienen tendencias puede ser difícil porque la tendencia oculta los otros patrones en los datos. Si los datos tienen una línea de tendencia estable a la que se revierten constantemente, es posible que sean estacionarios, en cuyo caso la tendencia se puede eliminar simplemente ajustando una línea de tendencia y restando la tendencia de los datos antes de ajustarle un modelo. Si los datos no son estacionarios en la tendencia, entonces podrían ser estacionarios en la diferencia, en cuyo caso la tendencia se puede eliminar mediante la diferenciación. La forma más sencilla de diferenciar es restar el valor anterior de cada valor para obtener una medida del cambio presente en los datos de la serie temporal. Por ejemplo, si Yt es el valor de la serie temporal Y en el periodo t, entonces la primera diferencia de Y en el periodo t es igual a Yt-Yt-1.
Aquí podemos ver un gráfico de series temporales que no son estacionarias. Tiene una evidente tendencia al alza y exhibe estacionalidad.
La estacionalidad aquí es un ciclo regular de 12 meses. Esto podría abordarse diferenciando la serie temporal en 12 unidades, de modo que diferenciemos abril de 1990 con abril de 1989. Luego de aplicar la diferenciación con un retraso de 12 unidades a la serie temporal, podemos ver una serie temporal más estacionaria. La varianza de esta serie temporal sigue cambiando, pero un modelo ARIMA podría ajustar a esta serie temporal y hacer pronósticos con ella.
La estacionariedad puede ser confusa, por ejemplo, una serie temporal que tiene un comportamiento cíclico pero sin tendencia o estacionalidad sigue siendo estacionaria. Mientras los ciclos no tengan una duración fija cuando observamos la serie, no podemos saber dónde ocurrirán los altibajos de los ciclos. En general, una serie temporal estacionaria no tendrá patrones previsibles a largo plazo. Si trazaran los datos de la serie temporal en un gráfico de líneas, se vería aproximadamente horizontal con una varianza constante y sin picos ni caídas significativos.
Podemos ver el grado en que una serie temporal se correlaciona con sus valores pasados calculando la autocorrelación. Calcular la autocorrelación puede responder si los datos muestran aleatoriedad y qué tan relacionada está una observación con una observación inmediatamente adyacente. Esto puede darnos una idea de qué tipo de modelo podría representar mejor los datos. Las autocorrelaciones a menudo se trazan para ver la correlación entre los puntos, hasta la unidad de retraso incluida.
Cada retraso en la autocorrelación se define como:
'r' es cualquier retraso en la autocorrelación, 'T' es la longitud de la serie temporal e 'y' es el valor de la serie temporal. Los coeficientes de autocorrelación conforman la función de autocorrelación o ACF.
En ACF, el coeficiente de correlación se encuentra en el eje x, mientras que el número de rezagos (denominado orden de rezago) se muestra en el eje y. Se puede crear un gráfico de autocorrelación en Python usando plot_acf de la biblioteca statsmodels y se puede crear en R usando la función acf.
En este gráfico ACF de una serie temporal diferenciado por un retraso de 12 unidades de tiempo, el retraso cero se correlaciona perfectamente consigo mismo. El primer desfase es negativo, el segundo ligeramente positivo, el tercero negativo, y así sucesivamente. Notará que el desfase 12 está fuertemente correlacionado consigo mismo. Dado que estábamos mirando datos mensuales, esto tiene sentido. Podemos ver que la autocorrelación mantiene aproximadamente el mismo ciclo a lo largo de la serie temporal, una indicación de que nuestra serie temporal todavía tiene una estacionalidad significativa. Los gráficos ACF también son útiles para ayudar a inferir los parámetros del modelo ARIMA que mejor se ajustarán a estos datos.
Otro gráfico importante en la preparación para usar un modelo ARIMA en datos de series temporales es la función de autocorrelación parcial. Un gráfico de ACF muestra la relación entre yt y yt−k para diferentes valores de k. Si yt e yt−1 están correlacionados, entonces yt−1 e yt−2 también lo estarán. Pero también es posible que yt e yt−2 estén correlacionados porque ambos están conectados a yt−1, en lugar de por cualquier información nueva contenida en yt−2 que podría usar para forecasting yt. Para superar este problema, podemos usar autocorrelaciones parciales para eliminar una serie de observaciones de retraso. Estos miden la relación entre yt e yt−k luego de eliminar los efectos de los retrasos 1 a k. Por lo tanto, la primera autocorrelación parcial es idéntica a la primera autocorrelación, ya que no hay nada entre ellas que eliminar. Cada autocorrelación parcial se puede estimar como el último coeficiente en un modelo autorregresivo.
Ya sea que esté trabajando en R o Python u otro lenguaje de programación o biblioteca, tendrá una forma de calcular el PACF y crear un gráfico PACF para facilitar la inspección. Se puede crear un gráfico de autocorrelación en python usando plot_pacf de la biblioteca statsmodels y se puede crear en R usando la función pacf.
Este PACF emplea los mismos datos que el gráfico ACF anterior. El gráfico PACF comienza desde 1 en lugar de 0 como en el gráfico ACF y muestra fuertes correlaciones hasta el retraso de 1.0, que se correlaciona con el mismo mes del año anterior. Luego de ese primer año, vemos una cantidad decreciente de autocorrelación a medida que aumenta el número de retrasos. Como estábamos viendo datos mensuales con una varianza que cambia de año en año, esto tiene sentido.
Como su nombre lo indica, el acrónimo ARIMA integra los modelos de autorregresión y promedio móvil en un solo modelo en función de los parámetros pasados. Estas dos formas de modelar el cambio a lo largo de la serie temporal están relacionadas, pero tienen algunas diferencias clave. En un modelo de autorregresión, se realiza el forecasting de la variable de interés empleando una combinación lineal de valores pasados de la variable. El término auto-regression indica que es una regresión de la variable contra sí misma. Esta técnica es similar a un modelo de regression lineal en la forma en que emplea valores pasados como entradas para la regression. La autorregresión se define como:
donde εt es ruido blanco. Esto es como una regression múltiple pero con valores rezagados de yt como predictores. Nos referimos a esto como un modelo AR(p), un modelo autorregresivo de orden p.
Por otro lado, un modelo de promedio móvil utiliza los errores de pronóstico pasados en lugar de usar valores pasados de la variable de pronóstico en una regression. Un promedio móvil simplemente promedia k valores en una ventana, donde k es el tamaño de la ventana de promedio móvil, y luego avanza la ventana. Los valores de pronóstico se evalúan utilizando los valores reales para determinar el error en cada paso de la serie temporal. Una media móvil se define como:
εt es ruido blanco. Nos referimos a esto como un modelo MA(q), un modelo de promedio móvil de orden q. Por supuesto, no observamos los valores de εt, por lo que no es realmente una regression en el sentido habitual. Observe que cada valor de yt puede considerarse como un promedio móvil ponderado de los últimos errores de pronóstico.
Normalmente, en un modelo ARIMA se empleará el término autorregresivo (AR) o el término de promedio móvil (MA). El gráfico ACF y el gráfico PACF se emplean a menudo para determinar cuál de estos términos es el más adecuado.
Una vez que la serie temporal se hizo estacionaria y se determinó la naturaleza de las autocorrelaciones, es posible ajustar un modelo ARIMA. Hay tres parámetros clave para un modelo ARIMA, que normalmente se denominan p, d y q.
p: el orden de la parte autorregresiva del ARIMA
d: el grado de diferenciación involucrado
q: el orden de la parte del promedio móvil
Normalmente, estos se escriben en el siguiente orden: ARIMA(p, d, q). Muchos lenguajes y paquetes de programación proporcionan una función ARIMA que se puede llamar con la serie temporal que se analizará y los tres parámetros. La mayoría de las veces, los datos se dividen en un conjunto de entrenamiento y un conjunto de prueba para poder probar la precisión del modelo después de haberlo entrenado. Por lo general, no es posible saber con solo mirar un gráfico de tiempo qué valores de p y q serán los más apropiados para los datos. Sin embargo, a menudo es posible emplear los gráficos de función de autocorrelación (ACF) y de funcion de autocorrelación parcial (PACF) para determinar los valores apropiados para p y q y, por lo tanto, esos gráficos son términos importantes para trabajar con ARIMA.
Una rúbrica aproximada sobre cuándo usar términos de RA en el modelo es cuando:
Una rúbrica aproximada para saber cuándo usar términos de MA en el modelo es cuando:
Hay algunos tipos de modelos tradicionales de ARIMA que puede encontrar.
ARIMA(1,0,0) = modelo autorregresivo de primer orden: si la serie es estacionaria y autocorrelacionada, quizás pueda predecirse como un múltiplo de su propio valor anterior, más una constante. Si las ventas de helado de mañana se pueden predecir directamente empleando sólo las ventas de helado de hoy, entonces se trata de un modelo autorregresivo de primer orden.
ARIMA(0,1,0) = camino aleatorio: si la serie temporal no es estacionaria, el modelo más simple posible para ella es un modelo de camino aleatorio. Un camino aleatorio es diferente de una lista de números aleatorios porque el siguiente valor de la secuencia es una modificación del valor anterior de la secuencia. Así es como se suelen crear los modelos de los valores diferenciados para los precios de las acciones.
ARIMA(1,1,0) = modelo autorregresivo de primer orden diferenciado: si los errores de un modelo de camino aleatorio están autocorrelacionados, tal vez el problema se pueda solucionar agregando un rezago de la variable dependiente a la ecuación de predicción, es decir, haciendo una regresión de la primera diferencia de Y sobre sí misma con un rezago de un periodo.
ARIMA(0,1,1) sin constante = modelos de distensión exponencial simple: Se emplea para datos de series temporales sin estacionalidad ni tendencia. Requiere un único parámetro de distensión que controle la tasa de influencia de las observaciones históricas (indicado con un valor de coeficiente entre 0 y 1). En esta técnica, los valores más cercanos a 1 significan que el modelo presta poca atención a las observaciones pasadas, mientras que los valores más pequeños estipulan que se tiene en cuenta más de la historia durante las predicciones.
ARIMA(0,1,1) con constante = modelos de distensión exponencial simple con crecimiento. Esto es lo mismo que la distensión exponencial simple, excepto que hay un término constante aditivo que hace que el valor Y de la serie temporal crezca a medida que avanza.
Por supuesto, hay muchas otras formas en que los modelos ARIMA pueden ajustarse, por lo que a menudo calculamos varios modelos y los comparamos para ver cuál proporciona el mejor ajuste para nuestros datos. Todos estos son modelos de primer orden, lo que significa que mapean procesos lineales. Hay modelos de segundo orden que mapean procesos cuadráticos y modelos superiores que mapean procesos más complejos.
Normalmente, se ajustan varios modelos ARIMA a los datos y se comparan entre sí para averiguar cuál de ellos predice mejor los patrones observados en los datos de la serie temporal. Existen tres parámetros clave para evaluar la precisión de un modelo ARIMA:
Criterio de información de Akaike o AIC. Esto se usa ampliamente para seleccionar predictores para modelos de regression, y también es útil para determinar el orden de un modelo ARIMA. AIC cuantifica tanto la bondad del ajuste del modelo como la simplicidad del modelo en una sola estadística. Un puntaje AIC más bajo es mejor que un más alto, por lo que preferiríamos el modelo que tiene un puntaje más bajo. AIC favorece los modelos más simples, los modelos más complejos reciben puntajes más altos siempre que su precisión sea aproximadamente la misma que un modelo más simple. También existe el AIC o AICC corregido, que simplemente tiene una pequeña corrección aplicada para el tamaño de la muestra.
Criterio de Información Bayesiano o BIC. Se trata de otro criterio de selección de modelos que penaliza la complejidad aún más que el AIC. Al igual que ocurre con el AIC, los modelos con un BIC más bajo suelen preferir a los que tienen puntajes más altos. Si su modelo se va a emplear para previsiones a largo plazo, puede ser preferible el BIC, mientras que para previsiones a corto plazo puede ser preferible el AIC.
El valor sigma al cuadrado o sigma2 es la varianza de los residuos del modelo. El término sigma describe la volatilidad del proceso hipotético. Si tiene datos altamente volátiles pero un puntaje de sigma al cuadrado muy bajo o, por el contrario, datos no volátiles pero un puntaje de sigma al cuadrado alto, es una señal de que el modelo no está capturando bien el proceso real de generación de datos.
Si retuvimos un conjunto de datos de prueba, también podemos comparar métricas de precisión como RMSE para diferentes intervalos de predicción. El modelo ARIMA puede predecir valores para un solo paso de tiempo en el futuro o para varios pasos a la vez.
Otro enfoque para configurar y comparar modelos ARIMA es emplear Auto-ARIMA, que aplica tareas de configuración automatizadas para generar y comparar modelos ARIMA. Hay múltiples formas de llegar a cualquier modelo óptimo. El algoritmo generará múltiples modelos e intentará minimizar el AICc y el error de la estimación de máxima verosimilitud para obtener un modelo ARIMA.
El modelo autorregresivo integrado de media móvil estacional (SARIMA) o ARIMA estacional es una extensión de ARIMA que admite datos de series temporales con un componente estacional. Para ello, agrega tres nuevos hiperparámetros para especificar la autorregresión, diferenciación y media móvil para el componente estacional de la serie, así como un parámetro adicional para el periodo de la estacionalidad. Un modelo SARIMA se expresa típicamente SARIMA ((p, d, q), (P, D, Q)), donde las letras minúsculas indican el componente no estacional de la serie temporal y las letras mayúsculas, el componente estacional
Los modelos vectoriales autorregresivos (o modelos VAR) se emplean para series temporales multivariantes. Están estructurados de manera que cada variable es una función lineal de los rezagos pasados de sí misma y de los rezagos pasados de las otras variables.
Los modelos ARIMA son una poderosa herramienta para analizar datos de series temporales para comprender procesos pasados, así como para pronosticar valores futuros de una serie temporal. Los modelos ARIMA combinan modelos autorregresivos y modelos de promedio móvil para brindar a un pronosticador una herramienta altamente parametrizable que se puede emplear con una amplia variedad de datos de series temporales.
Obtenga insights únicos del panorama en evolución de las soluciones ABI, en el que se destaquen las principales conclusiones, suposiciones y recomendaciones para los líderes de datos y analytics.
Simplifique el acceso a los datos y automatice su gobernanza. Descubra el poder de integrar una estrategia de lakehouse de datos en su arquitectura de datos, incluida la optimización de costos de sus cargas de trabajo y el escalado de IA y analytics, con todos sus datos, en cualquier lugar.
Explore la guía del líder de datos para crear una organización basada en datos e impulsar la ventaja empresarial.
Descubra cómo un enfoque de lakehouse de datos abierto puede proporcionar datos fiables y una ejecución más rápida de los proyectos de analytics e IA.
Con el fin de prosperar, las empresas deben utilizar los datos para fidelizar a sus clientes, automatizar los procesos empresariales e innovar con soluciones impulsadas por IA.
Desbloquee el valor de los datos empresariales con IBM Consulting y cree una organización impulsada por insights que ofrezca ventajas empresariales.
Presentamos Cognos Analytics 12.0: insights impulsados por IA para una mejor toma de decisiones.
1 Time Series Analysis: Forecasting and Control. Holden Day, 1970.