1 votos

¿Cómo hacer frente a amplios periodos atípicos causados por factores externos como el COVID?

Estoy trabajando en una serie temporal que se vio significativamente afectada por la pandemia COVID-19, pero que desde entonces se ha recuperado a un comportamiento más normal. Mi objetivo es tener una buena previsión para un par de semanas, junto con el uso de variables regresoras para simular cambios en una etapa posterior, para ello estoy utilizando el paquete SARIMAX de statsmodel en python.

La serie tiene una forma así: enter image description here

Como se puede ver, durante el periodo de parada la serie pierde la variación semanal básica que tenía y se mantiene bastante plana hasta que la parada cesa. El problema principal es que el periodo de parada está sesgando los coeficientes al ajustar el modelo. Las opciones que he considerado son las siguientes:

  1. Utilizar un regresor escalonado durante el periodo de parada.
  2. Eliminar el periodo por completo y considerar que "nunca ocurrió", esto tiene la complicación de que se pierde la estacionalidad anual.
  3. Ajustar el periodo de desconexión para que coincida con la magnitud de los datos anteriores a la crisis.

¿Qué opción sería la correcta? ¿Hay alguna otra que no esté considerando?

0voto

Ignacio Valenzuela Puntos 21

He estado trabajando en mi propia pregunta y puedo informar de los siguientes resultados después de probar las 3 opciones de la serie en cuestión. He hecho un modelo base que solo incluye la variable regresora y he probado las tres aproximaciones a esta con la siguiente validación:

  • Todos los modelos se prueban con los mismos parámetros en un modelo ARIMAX.
  • La prueba incluye una validación de 5 periodos de 30 días cada uno en el "periodo posterior al covid"

El modelo de referencia tiene un MAPE del 19,88% en los 5 períodos.

1. Utilizar un regresor escalonado durante el periodo de parada.

He introducido una variable en el modelo con un valor de 1 durante el periodo de parada y 0 en el resto. Esto fue bastante fácil de implementar

df['shutdown'] = (df.index > pd.to_datetime('2020-03-06')) & (df.index < pd.to_datetime('2020-06-12')) == 1

Añadí esta variable al modelo e hice una interacción con los otros regresores y la añadí a mi modelo ARIMA.

Este enfoque ha dado lugar a un 21,52% de MAPE medio a lo largo de 5 periodos en la validación walk forward.

También se probó añadir el regresor de forma independiente, pero el error fue mayor que el probado inicialmente.

2. Suprimir por completo el período y considerar que "nunca ocurrió".

Para ello, se eliminó por completo el periodo de cierre y se entrenaron los datos en los que cada observación había ocurrido unos meses antes, para luego volver a convertirlos a las fechas originales; por supuesto, esto también se hizo para las variables regresoras.

Esto dio un resultado del 19,88%. El promedio de MAPE en 5 periodos en la validación walk forward, una mejora de rendimiento bastante grande en comparación con el modelo de referencia.

3. Ajustar el periodo de desconexión para que coincida con la magnitud de los datos anteriores a la crisis.

Para ello, la serie se ajustó con un multiplicador para alcanzar los niveles previos a la covacha. Esta era la peor de las opciones, porque se perdía la escala y la relación entre los regresores y la variable dependiente. No tenía sentido validar este modelo con la validación por pasos.

Después de todo esto, se pretendía un enfoque diferente:

4. Añadir la información de COVID-19 al modelo: Número de casos diarios activos.

Obtuve los datos de Nuestro mundo en datos Conjunto de datos COVID y después de limpiar la serie y suavizarla, añadí al modelo el regresor con el número de casos activos diarios.

El resultado fue del 13,56%. El MAPE medio de 5 periodos en la validación walk forward, siendo éste el mejor resultado y recortando 6 puntos porcentuales enteros del error.

La conclusión es que, al menos en este caso, había una variable que explicaba el comportamiento tanto en el periodo de derribo como después, y esto proporcionó el mejor resultado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X