Manejo de datos faltantes en un modelo de suavizado exponencial

14

No parece haber una forma estándar de tratar los datos faltantes en el contexto de la familia de modelos de suavizado exponencial. En particular, la implementación de R llamada ets en el paquete de pronóstico parece tomar la subsecuencia más larga sin datos faltantes, y el libro "Pronóstico con suavizado exponencial" de Hyndman et al. no parece hablar de datos faltantes en absoluto.

Me gustaría hacer un poco más, si mis usuarios me lo piden explícitamente (y si los datos que faltan no aparecen demasiado juntos o en demasiados períodos que son exactamente una temporada aparte). En particular, lo que tengo en mente es lo siguiente. Durante la simulación, cada vez que encuentro un valor perdido , sustituyo el pronóstico del punto actual ˜ y t por y t , de modo que ε t = 0 . Esto, por ejemplo, haría que el punto de datos no sea considerado para el proceso de optimización de parámetros.yty~tytεt=0 0

Una vez que tengo un ajuste razonable para los parámetros, puedo estimar la desviación estándar de los errores (se supone que es normal con la media ) y verificar que el uso de valores para ϵ t generados a partir de esa distribución no disminuya la probabilidad en un factor importante. También usaría tales valores para pronosticar (usando simulación).0 0ϵt

¿Existen dificultades conocidas con este método?

Erik P.
fuente
¿Has considerado usar un proceso gaussiano con un núcleo de covarianza exponencial? Parece una forma natural de manejar datos faltantes y derivar intervalos de confianza. R tiene el paquete GPFit en el que podrías investigar.
LE Rogerson el

Respuestas:

2

Tu enfoque tiene sentido. Una pieza comercial de software con la que estuve asociado durante un par de años hizo exactamente esto.

Su esquema se aplica al suavizado exponencial único (SES), pero, por supuesto, podría aplicar el mismo tratamiento a los componentes de tendencia o estacionales. Para los de temporada, necesitaría retroceder un ciclo estacional completo, al igual que para actualizar.

Otra alternativa sería, por supuesto, simplemente interpolar los valores faltantes. Esta es una opción en las versiones más recientes de ets(..., na.action="na.interp").

Por lo poco que sé de los modelos de espacio de estado, no debería ser demasiado difícil simplemente tratar los datos faltantes como no observados. No estoy seguro de por qué esto no está implementado en el forecastpaquete. Una búsqueda rápida en el blog de Rob Hyndman realmente no arrojó nada útil.

Stephan Kolassa
fuente