Selección del modelo de series de tiempo: AIC vs. SSE fuera de muestra y su equivalencia

9

AIC se recomienda con frecuencia como criterio para comparar modelos para pronósticos de series de tiempo. Vea, por ejemplo, esto en el contexto de los modelos de regresión dinámica :

El AIC se puede calcular para el modelo final, y este valor se puede usar para determinar los mejores predictores. Es decir, el procedimiento debe repetirse para todos los subconjuntos de predictores a considerar, y el modelo con el valor AICc más bajo seleccionado.

¿Por qué no comparar los modelos en función de su rendimiento fuera de muestra? (por ejemplo, elija el modelo con el SSE más bajo en el pronóstico fuera de muestra). He estado leyendo varios libros de texto y sitios web sobre pronósticos de series de tiempo y no he encontrado esta discusión. Lo más cerca que llegué fue esta entrada de blog sobre los hechos y las falacias de la AIC :

El AIC no es realmente una medida "en muestra". Sí, se calcula utilizando los datos de entrenamiento. Pero asintóticamente, minimizar el AIC es equivalente a minimizar el MSE de validación cruzada de dejar uno fuera para datos de sección transversal, y equivalente a minimizar el MSE de pronóstico de un solo paso fuera de la muestra para modelos de series de tiempo. Esta propiedad es lo que lo convierte en un criterio tan atractivo para usar en la selección de modelos para pronósticos.

En un ejemplo que he estado trabajando (sin embargo, no pude publicar las parcelas aquí; necesito más reputación en este sitio), probé ambos enfoques y la mayoría de las veces AIC y SSE fuera de la muestra no producen lo mismo resultado. El procedimiento que utilicé fue el siguiente:

  1. Dividí los datos en muestras de entrenamiento y prueba (en un punto arbitrario; una pregunta sobre esto a continuación)
  2. Estimé modelos competidores (ARIMA con regresores externos, cambiando los parámetros ARIMA y los regresores) usando la muestra de entrenamiento (primeros 230 períodos; todos los modelos tienen el mismo número de observaciones, por lo que AIC es comparable).
  3. Luego, pronostiqué la serie para los mismos períodos que la muestra de prueba (períodos 231-260).
  4. Para cada modelo, SSE simple como donde es el valor observado de la serie (muestra de prueba) y es el valor pronosticado por el modelo.SSE=t=231260(yt^yt)2ytyt^
  5. Comparé el modelo indicado por AIC (calculado usando datos de entrenamiento) con el modelo con el SSE fuera de muestra más bajo. La mayoría de las veces los modelos seleccionados son diferentes (y al menos visualmente, los seleccionados por SSE funcionan mejor).

Si alguien pudiera explicarme lo que está sucediendo detrás de esto, estaría muy agradecido. Claramente no soy un experto en esto. Solo estoy tratando de enseñarme un poco, así que discúlpeme si pasé por alto algo importante en los libros de texto que he estado leyendo.

Finalmente, una pregunta sobre la división de los datos en muestras de entrenamiento y prueba para series de tiempo. Me parece que hay algo fundamentalmente diferente que usar el mismo procedimiento para datos de sección transversal. Para datos de sección transversal, puede tomar dos muestras aleatorias de todo su conjunto de datos. Para series temporales esto no tiene mucho sentido. Por lo tanto, debe tomar un punto arbitrario para dividir la serie en muestras de entrenamiento y prueba. La cuestión es que, por lo general, el mejor modelo es diferente para cada punto arbitrario. Quizás es por eso que este enfoque no parece ser utilizado con frecuencia. ¿Es esta la razón por la cual se prefiere AIC para la selección del modelo? (Dado que "asintóticamente, minimizar el AIC es ... equivalente a minimizar el MSE de pronóstico de un paso fuera de la muestra para modelos de series de tiempo").

programación de elikes
fuente

Respuestas:

6

¿Por qué no comparar los modelos en función de su rendimiento fuera de muestra?

Por supuesto que puedes hacer eso. Supongo que la ventaja de AIC es un cómputo más rápido y menos codificación (mientras que AIC a menudo se informa automáticamente como parte del diagnóstico del modelo, la validación cruzada para series de tiempo podría no estar fácilmente disponible en su software favorito).

Probé ambos enfoques y la mayoría de las veces AIC y SSE fuera de muestra no producen el mismo resultado.

No parece haber implementado la validación cruzada correctamente. Primero, divide los datos solo una vez mientras se supone que debe dividirlos varias veces. En segundo lugar, evaluó el rendimiento de la predicción basándose en una prueba de predicción de múltiples horizontes diferentes en lugar de múltiples pruebas de predicción de un horizonte fijo. Quizás, por lo tanto, tiene la discrepancia entre AIC y la validación cruzada

Al implementar la validación cruzada en una configuración de series de tiempo, puede hacer uso de ventanas móviles. Tomaría observaciones de a donde es la longitud de la ventana y rodaría de 1 a donde es el tamaño de la muestra. Usted estimaría su modelo en cada ventana móvil y predeciría un período más adelante. Luego recopilaría estas predicciones y las compararía con los valores reales. Eso le daría una métrica de rendimiento de pronóstico fuera de la muestra cuando se utiliza la validación cruzada en una configuración de serie temporal.tt+mmtTm1T

Ver también Hyndman y Athanasopoulos "Pronósticos: principios y práctica", sección 2.5 (desplazarse hacia abajo) y Bergmeir et al. "Una nota sobre la validez de la validación cruzada para evaluar la predicción de series temporales" (2015, documento de trabajo).

al menos visualmente, aquellos [modelos] seleccionados por SSE funcionan mejor

Podría ser que los residuos del modelo no tuvieran la distribución supuesta o que el modelo tuviera otras fallas que invalidaran su AIC de alguna manera. Ese es un argumento por el cual la precisión del pronóstico fuera de la muestra podría preferirse a la AIC en la selección del modelo.

Richard Hardy
fuente
Gracias, haré una validación cruzada como sugieres y publicaré lo que encuentre. Muchas gracias
elikesprogramming