Series de tiempo como brújula empresarial

Isra Mata
Nowports Tech and Product
11 min readMay 11, 2020
Foto por Shawn Lee en Unsplash

En tiempos de incertidumbre y cambios de paradigmas, se ha vuelto esencial tener una dirección clara y un plan de acción contundente que prevenga a nuestro barco terminar en la deriva. Si bien, los CEO y gerentes se enfrentan cada día con la toma de grandes decisiones, también es verdad que nuestra vida personal está llena de disyuntivas que tienen un impacto directo en nuestra calidad de vida.

Hay muchas maneras de mantenerse informado de los temas que tienen relevancia con nuestro día a día. En esta ocasión nos enfocaremos en una herramienta versátil que nos puede ayudar a describir el pasado, modelar el presente e incluso darnos una buena idea de qué nos depara el futuro. No, no hablo de las bolas mágicas de cristal, sino del análisis de las series de tiempo.

Series de tiempo y donde encontrarlas

Una serie de tiempo puede ser descrita como una secuencia de observaciones de la misma variable a lo largo de un periodo. Para obtener el mayor provecho de esta, los intervalos con los que se realiza la observación deben ser regulares (cada hora, mes, año, etcétera). Dichas series son de utilidad para encontrar patrones que posteriormente pueden ser usados para la toma de decisiones.

Interés del término ‘Super bowl’ mostrado por Google Trends.

Utilizando Google Trends, podemos visualizar el comportamiento de las búsquedas por Internet a lo largo del tiempo. Esta herramienta nos permite filtrar por periodo y región, en este caso se presentan las búsquedas a nivel global durante los últimos 5 años.

En el primer ejemplo notamos que una vez al año, alrededor de febrero, el interés por el Super Bowl sube de forma considerable. Asimismo, en septiembre de los últimos cinco, el término iPhone ha incrementado su popularidad. Pero, ¿esto qué nos dice?

En ambos casos, el comportamiento de los usuarios en Internet es consecuencia de eventos que acontecen durante esos periodos. Por ejemplo, cada septiembre, la compañía de Apple presenta el lanzamiento de sus nuevos productos, siendo uno de los más populares el iPhone.

¿Qué sucede respecto a la popularidad del Super Bowl? ¡Seguramente ya lo intuyeron! Estas dos series de tiempo son claros comportamientos que se repiten en ciertas temporadas anuales; en otras palabras, ejemplos de variación estacional (sí, como el clima y las estaciones del año).

Interés del término ’iPhone’ mostrado por Google Trends.

Pasando a temas más serios, las series de tiempo también pueden ser usadas en el contexto económico; como para analizar el cambio de precio en las divisas. En la siguiente gráfica podemos observar cómo ha variado, durante los últimos cuatro años, el precio del dólar estadounidense respecto al peso mexicano. Si bien en este ejemplo la tendencia de la serie de tiempo no es tan obvia, aún se pueden observar pequeños patrones de cambio. Nótese la alza del precio cerca del inicio de un nuevo año.

Precio del dólar estadounidense respecto al peso mexicano. Fuente: Market Insiders

Elementos / descomposición

Para entender mejor el comportamiento de las series de tiempo debemos conocer los elementos básicos que la componen.

  • Tendencia. Se ejemplifica como el promedio del cambio a través del tiempo; puede ser estable, a la baja, o a la alza. Una tendencia a la alza indica un incremento en la variable que se mide; por el contrario, una tendencia negativa ocurre cuando el valor disminuye a lo largo del tiempo.
  • Estacionalidad. Se refiere a las variaciones que suceden de manera regular en un lapso de tiempo (como cada semana o año) a causa de eventos que se repiten de manera periódica. Forman parte de un patrón recurrente en cada periodo medido.
  • Variaciones cíclicas. A diferencia de las estacionales, las cíclicas no siguen lapsos de tiempo determinados; en su lugar, se comportan como oscilaciones cuyo periodo y amplitud son variables. Las cuatro fases que componen un ciclo son: incremento, recesión, depresión y recuperación.
  • Variación aleatoria. Las que no muestran regularidad, se consideran aleatorias. Su origen puede estar relacionado con eventos ocasionales de cualquier tipo (como tormentas, guerras o eventos políticos), o deberse a errores en el registro de los datos.
Descomposición parcial de una serie de tiempo.

Técnicas de forecasting (univariable)

Una vez que conocemos los componentes de las series de tiempo, podemos pasar al siguiente paso: predicción. ¡No tan rápido, vaquero! Antes de pasar a la predicción cuantitativa, dos condiciones debe cumplirse:

  1. Que exista la suficiente información numérica histórica disponible.
  2. Que se pueda asumir que algunos patrones del pasado continuarán en el futuro.

Algunos dominios donde se aplica con frecuencia las predicción de series de tiempo son:

  • Análisis de ventas
  • Análisis del mercado de valores
  • Predicción de producción agrícola
  • El cambio de precio de un producto

Manos a la obra

Distintas técnicas de predicción han sido desarrolladas con el objetivo de obtener resultados más certeros. Cada una de las estrategias de predicción varían principalmente en tres elementos: desempeño (precisión), complejidad y estrategia.

A continuación se describen de manera muy breve algunas de las técnicas de predicción más populares y su implementación en Python. El ejemplo está basado en el artículo de Gurchetan Singh y se adaptó usando datos de COVID‑19 — Mobility Trends Reports publicado por Apple. La versión actualizada de esa información está disponible aquí. El jupyter notebook y los datos utilizados a continuación están disponibles en este repositorio de Github.

Las técnicas cubiertas son:

  1. Enfoque ingenuo
  2. Promedio simple
  3. Promedio móvil
  4. Suavizado exponencial simple
  5. Tendencia lineal de Holt
  6. Método estacional de invierno de Holt
  7. ARIMA

Datos

Las series de tiempo utilizadas en los ejemplos muestran el impacto que ha tenido COVID-19 en la movilidad de la Ciudad de México, donde la cuarentena comenzó a partir del 23 de marzo, con la implementación de la llamada Jornada Nacional de Sana Distancia. La información disponible abarca desde el 13 de enero de 2020 hasta el 6 de mayo de 2020. En esta ocasión, el 80% de los datos se usa para entrenamiento y el resto para validar la certeza de la predicción.

Al abrir python, comenzamos por importar lo módulos necesarios para este ejercicio y cargando la información. Es importante recordar que primero hay que instalar los módulos usando un instalador de paquetes como Pip.

Enfoque ingenuo

En ocasiones los patrones que muestran las series de tiempo parecen tener cierta estabilidad. Cuando el cambio en las observación no muestra una tendencia estacional o cíclica, podemos asumir que seguirá siendo estable en el futuro; después de todo, así se ha venido comportando, ¿cierto?

En verdad, es una medida simplista de ver las cosas, pero en ciertos escenarios puede llegar a ser aplicable. Esta técnica asume que el futuro se comportará exactamente igual que el último valor medido, así que la predicción propaga el valor de la última observación hacia el futuro.

La métrica de error elegida para evaluar la predicción es la de Error Cuadrático Medio (RMSE). En este caso, vemos que el error es muy bajo (2.52); sin embargo la predicción no captura en lo absoluto los patrones de comportamiento.

Promedio simple

Esta utiliza más información respecto a observaciones pasadas; sin embargo, permanece simplista debido a que no toma en cuenta variaciones en los patrones. La técnica predice que el futuro se comportará igual que el promedio de las observaciones pasadas.

En este caso, el error aumenta de forma considerable, con un RMSE de 54.05. Recordemos que la información utilizada muestra un cambio radical en su comportamiento debido a la situación sin precedentes.

Promedio móvil

Es más selectivo en la información que utiliza para realizar su predicción y solo toma una cantidad p de observaciones pasadas. Esta muestra permite tomar en cuenta la tendencia de comportamiento más reciente. El parámetro p influye directamente en la calidad de predicción, porque nos permite controlar el punto a partir del cual se toma en cuenta la información.

Cómo podemos observar, utilizar el promedio móvil resulta en una reducción del RMSE obtenido con el promedio simple. No es una gran reducción, pero la predicción toma en cuenta, en cierto grado, la tendencia mostrada en las últimas fechas.

Suavizado exponencial simple

A pesar de utilizar las observaciones pasadas, los métodos vistos hasta ahora tratan cada observación con la misma importancia o peso, sin considerar cuándo ocurrió.

Al analizar la gráfica de serie de tiempo, se nota una relación entre el valor de cada observación y el momento en el que se realizó, con las recientes más bajas. Está intuición nos lleva a considerar que puede ser sensato atribuir pesos mayores a observaciones más recientes que a observaciones del pasado distante. La técnica de suavizado exponencial simple funciona con este principio.

La predicción se realiza utilizando promedios ponderados donde los pesos disminuyen exponencialmente a medida que las observaciones provienen de un pasado más lejano. En otra palabras, los pesos más pequeños se asocian con las observaciones más antiguas. El resultado de esta predicción tiene un RMSE de 3.52, mismo que se ve reflejado en la gráfica.

Método de tendencia lineal de Holt

El método anterior hizo un gran trabajo en reducir el error de la predicción; sin embargo, sigue sin mostrar patrones en la variación del comportamiento. Al recordar los elementos básicos de las series de tiempo, podemos afirmar que la tendencia es parte fundamental en la evolución de las series.

La técnica de Holt extiende el suavizado exponencial simple para incluir la tendencia en el pronóstico de datos. Esta técnica es un suavizado exponencial aplicado tanto al valor promedio en la serie, como a la tendencia. El RMSE de la predicción es 3.43 y la gráfica refleja como se toma en cuenta la tendencia.

Método de temporada de invierno de Holt

Tomar en cuenta la estacionalidad del conjunto de datos, nos ayuda a que los valores pronosticados sigan los patrones de las observaciones pasadas. Por lo tanto, necesitamos un método que tenga en cuenta tanto la tendencia como la estacionalidad. Afortunadamente, ¡el método del Invierno de Holt hace eso! La idea detrás de Invierno de Holt es aplicar un suavizado exponencial a los componentes estacionales, además del nivel y la tendencia.

La ecuación de nivel muestra un promedio ponderado entre la observación ajustada estacionalmente y el pronóstico no estacional para el tiempo t. La ecuación de tendencia es idéntica al método lineal de Holt. La ecuación estacional muestra un promedio ponderado entre el índice estacional actual y el índice estacional de la misma temporada el periodo pasado. En este método podemos implementar técnicas aditivas y multiplicativas. Se prefiere el método aditivo en variaciones estacionales constantes a través de la serie, mientras que el método multiplicativo sirve cuando las variaciones estacionales cambian proporcionalmente.

A pesar de que la predicción obtenida es menos certera, con un RMSE de 15.18, los valores pronosticados reflejan de forma más fiel el comportamiento general de la serie de tiempo.

ARIMA

Uno de los modelos mas populares para series temporales es ARIMA. Su nombre proviene de la estrategia que utiliza (Autoregressive integrated moving average), que se traduce en media móvil integrada autorregresiva. Mientras que los modelos de suavizado exponencial se basaron en una descripción de tendencia y estacionalidad en los datos, los modelos ARIMA tienen como objetivo describir las correlaciones en los datos entre sí. Este modelo, al igual que los anteriores, tiene áreas de oportunidad, siendo ARIMA-estacional una versión mejorada. Considera la estacionalidad del conjunto de datos, al igual que el método de Invierno de Holt.

El RMSE de esta predicción es 2.36, resultando en el error más bajo de todos. Esto se debe a que la predicción logra capturar de forma fiel los patrones de cambio representados en los datos, misma que se refleja en una superposición parcial de los datos reales contra los pronosticados.

Limitaciones

Es importante ser conscientes que ningún método de predicción es infalible. Cualquier acontecimiento que intentemos predecir estará influenciado, directa o indirectamente, por una cantidad de variables que no siempre son fáciles de medir; o inclusive por factores cuya relación con el evento en cuestión no resulta intuitiva.

Un claro ejemplo de vínculos poco intuitivos es la relación entre la venta de Pop-tarts y los huracanes descubierta por analistas de Walmart al analizar los hábitos de consumo de sus clientes.

Series de tiempo multivariadas

Los métodos de predicción que exploramos resultan útiles para introducirse al tema, debido a que sólo involucran una variable. Sin embargo, existen otros más sofisticados, que tienen la capacidad de modelar como un evento se ve impactado por varios factores.

Las series de tiempo multivariadas son aquellas que tiene más de una variable dependiente del tiempo. Un análisis de este tipo es más complejo, dado que las variables dependen no solo de sus propios valores pasados, sino también dependen de otros valores. Este artículo por Analytics Vidhya brinda una introducción al modelado y pronóstico de series temporales multivariadas.

Antes de irnos

En general, el modelado y la predicción de las series de tiempo son herramientas que tienen el potencial de proveer información útil que nos ayude a tomar decisiones informadas. Entre más profundo y completo sea nuestro análisis, mayor será la calidad de la información que obtendremos. Una última cosa a considerar es que, en este mundo tan interconectado, una pequeña acción de un lado del mundo puede tener consecuencias inmensas en el otro. Más allá de las predicciones, el sentido crítico es el mejor compañero que tenemos al navegar por la incertidumbre.

Referencias

Recursos relacionados

Lecturas

Datos

--

--