Supongamos que tengo un poco más de 20,000 series de tiempo mensuales que abarcan desde enero de 2005 hasta diciembre de 2011. Cada uno de estos representa datos de ventas globales para un producto diferente. ¿Qué sucedería si, en lugar de calcular pronósticos para todos y cada uno de ellos, quisiera centrarme solo en un pequeño número de productos que "realmente importan"?
Podría clasificar esos productos por ingresos anuales totales y recortar la lista usando Pareto clásico. Aún así me parece que, aunque no contribuyen mucho al resultado final, algunos productos son tan fáciles de pronosticar que dejarlos fuera sería un mal juicio. Un producto que vendió 50 dólares cada mes durante los últimos 10 años puede no parecer mucho, pero requiere tan poco esfuerzo generar predicciones sobre ventas futuras que yo también podría hacerlo.
Digamos que divido mis productos en cuatro categorías: altos ingresos / fácil de pronosticar - bajos ingresos / fácil de pronosticar - altos ingresos / difícil de pronosticar - bajos ingresos / difícil de pronosticar.
Creo que sería razonable dejar atrás solo aquellas series de tiempo que pertenecen al cuarto grupo. Pero, ¿cómo puedo evaluar exactamente la "capacidad de predicción"?
El coeficiente de variación parece ser un buen punto de partida (también recuerdo haber visto algún artículo al respecto hace un tiempo). Pero, ¿qué pasa si mis series temporales exhiben estacionalidad / cambios de nivel / efectos de calendario / tendencias fuertes?
Me imagino que debería basar mi evaluación solo en la variabilidad del componente aleatorio y no en el de los datos "en bruto". ¿O me estoy perdiendo algo?
¿Alguien ha tropezado con un problema similar antes? ¿Cómo lo harían ustedes?
Como siempre, cualquier ayuda es muy apreciada.
Este es un problema bastante común en el pronóstico. La solución tradicional es calcular los errores de porcentaje absoluto medio (MAPE) en cada elemento. Cuanto más bajo sea el MAPE, más fácilmente se pronostica el artículo.
Un problema con eso es que muchas series contienen valores cero y luego MAPE no está definido.
Propuse una solución en Hyndman y Koehler (IJF 2006) [Versión de preimpresión] utilizando errores medios de escala absoluta (MASE). Para series de tiempo mensuales, la escala se basaría en pronósticos ingenuos estacionales dentro de la muestra. Es decir, si es una observación en el tiempo , los datos están disponibles desde los tiempos 1 a y entonces un error escalado es , donde es un pronóstico de usando cualquier método de pronóstico que esté implementando para ese elemento. Tome el valor absoluto medio de los errores escalados para obtener el MASE. Por ejemplo, puede usar un origen móvil (también conocido comoyt t T Q=1T−12∑t=13T|yt−yt−12|, qt=(yt−y^t)/Q y tythy^t yt validación cruzada de series de tiempo ) y tome el valor absoluto medio de los errores resultantes de un paso (o paso ).h
Las series que son fáciles de pronosticar deben tener valores bajos de MASE. Aquí "fácil de pronosticar" se interpreta en relación con el pronóstico ingenuo estacional. En algunas circunstancias, puede tener más sentido usar una medida base alternativa para escalar los resultados.
fuente
Quizás le interese ForeCA: Análisis de componentes pronosticables (descargo de responsabilidad: soy el autor). Como su nombre indica, es una técnica de reducción de dimensiones / separación de fuente ciega (BSS) para encontrar la mayoría de las señales pronosticables de muchas series de tiempo multivariadas, más o menos estacionarias. Para su caso particular de 20,000 series de tiempo, puede que no sea lo más rápido (la solución involucra espectros de potencia multivariados y actualización analítica iterativa del mejor vector de peso; además, supongo que podría encontrarse con el problema de ).p≫n
También hay un paquete R ForeCA disponible en CRAN (de nuevo: soy el autor) que implementa la funcionalidad básica; en este momento es compatible con la funcionalidad para estimar la medida de predicción para series de tiempo univariadas y tiene algunas buenas funciones de envoltura para espectros multivariados (nuevamente 20,000 series de tiempo es probablemente demasiado para manejar a la vez).Ω(xt)
Pero tal vez pueda intentar usar la medida MASE propuesta por Rob para hacer una separación gruesa de la cuadrícula de los 20,000 en varios subgrupos y luego aplicar ForeCA a cada uno por separado.
fuente
Esta respuesta es muy tardía, pero para aquellos que todavía están buscando una medida adecuada de capacidad de predicción para las series de tiempo de demanda de productos, les sugiero que busquen una entropía aproximada .
La demanda del producto tiende a tener un componente estacional muy fuerte, lo que hace que el coeficiente de variación (CV) sea inapropiado. ApEn (m, r) puede manejar esto correctamente. En mi caso, dado que mis datos tienden a tener una fuerte estacionalidad semanal, configuré los parámetros m = 7 yr = 0.2 * std como se recomienda aquí .
fuente