Pronóstico ARIMA con estacionalidad y tendencia, resultado extraño

9

A medida que avanzo en el pronóstico con los modelos ARIMA, estoy tratando de entender cómo puedo mejorar un pronóstico basado en el ajuste ARIMA con la estacionalidad y la deriva.

Mis datos son las siguientes series temporales (más de 3 años, con una clara tendencia al alza y una estacionalidad visible, que parece no estar respaldada por la autocorrelación en los rezagos 12, 24, 36 ??).

    > bal2sum3years.ts
             Jan     Feb     Mar     Apr     May     Jun     Jul     Aug          
    2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729 
    2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888 
    2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416 
             Sep     Oct     Nov     Dec
    2010 2232261 2394644 2468479 2816287
    2011 2480940 2699780 2760268 3206372
    2012 2951516 3119176 3032960 3738256

El modelo sugerido por auto.arima(bal2sum3years.ts)me dio el siguiente modelo:

    Series: bal2sum3years.ts 
    ARIMA(0,0,0)(0,1,0)[12] with drift         

    Coefficients:
              drift
          31725.567
    s.e.   2651.693

    sigma^2 estimated as 2.43e+10:  log likelihood=-321.02
    AIC=646.04   AICc=646.61   BIC=648.39

Sin embargo, acf(bal2sum3years.ts,max.lag=35)no muestra coeficientes acf superiores a 0,3. Sin embargo, la estacionalidad de los datos es bastante obvia: un pico al comienzo de cada año. Así es como se ve la serie en el gráfico: Series temporales originales

El uso del pronóstico fit=Arima(bal2sum3years.ts,seasonal=list(order=c(0,1,0),period=12),include.drift=TRUE), llamado por función forecast(fit), da como resultado que los medios de los próximos 12 meses sean iguales a los últimos 12 meses de los datos más constante. Esto se puede ver llamando plot(forecast(fit)),

Datos reales y pronosticados

También he verificado los residuos, que no están autocorrelacionados pero tienen una media positiva (no cero).

El ajuste no modela la serie de tiempo original con precisión, en mi opinión (azul la serie de tiempo original, rojo es el fitted(fit):

Original vs ajuste

La pregunta es, ¿el modelo es incorrecto? ¿Me estoy perdiendo de algo? ¿Cómo puedo mejorar el modelo? Parece que el modelo literalmente toma los últimos 12 meses y agrega una constante para lograr los próximos 12 meses.

Soy un principiante relativo en modelos de pronóstico de series de tiempo y estadísticas.

Zima
fuente
" El ajuste no modela la serie de tiempo original con precisión, en mi opinión ", ¿por qué esperarías que lo haga?
Glen_b -Reinstate Monica el
@Glen_b, esta opinión se basó en las diferencias que veo cuando miro la trama. Si estoy tratando de pronosticar, por ejemplo, ventas mensuales con fines contables, el error podría ser significativo ...
zima
" Las diferencias que veo cuando miro la trama " es otra forma de decir " no modela la serie de tiempo con precisión ". Esto no está en discusión. Su expresión de deseo de un mejor pronóstico es el mismo deseo que tiene cualquier pronosticador. En muchos casos puede ser muy importante. Sin embargo, este deseo no pone más información en los datos. Cada modelo ARIMA, de hecho, cualquier modelo de serie temporal relevante para esta tarea, tiene un término de error distinto de cero. Habrá siempre ser falta de coincidencia entre los datos y ajuste. ¿Hay algo que te haga pensar que tu modelo ha perdido algo que se puede modelar?
Glen_b -Reinstate Monica el
Acabo de pensar en algo ... Tal vez el modelo ARIMA no puede reflejar los datos debido a que no tiene en cuenta la naturaleza de los datos: la actividad del usuario en el sitio web. Creo que puede haber otros eventos que afectan los números, no solo la estacionalidad, como eventos especiales, promociones ... Tal vez otros métodos de predicción (no ARIMA), pero otros más complejos que involucran técnicas de Machine Learning, pueden predecir mejor los valores. Lo investigaré.
zima
Muy plausible. Si es así, debería poder identificar dicha falla en los residuos. Tenga en cuenta que tanto los modelos ARIMA como los modelos de series temporales estructurales pueden incorporar cosas como eventos especiales y promociones a través de términos de regresión; Los modelos de regresión de series de tiempo son bastante comunes.
Glen_b -Reinstate Monica el

Respuestas:

9

I[12]

Sí, de hecho, el modelo sugerido es "Este junio = Último junio + constante + error", y de manera similar para los otros meses.

¿Qué tiene de malo eso exactamente? Parece ser una excelente descripción de sus datos.

Puede encontrar una descomposición de series de tiempo más intuitiva y más fácil de explicar, tal vez incluso algo basado en un Modelo Estructural Básico , uno con estacionalidad, pero eso no necesariamente implica un modelo que funcione mejor que el que usted tiene. Todavía vale la pena probar una o más de las técnicas de descomposición estándar: hay mucho que decir sobre un modelo que comprenda bien.

Glen_b -Reinstate a Monica
fuente
1

Creo que nuestro problema es que estamos saltando directamente al modelo ARIMA sin probar los modelos tradicionales. Por esta razón, puede encontrar que el modelo no está dando los resultados necesarios. En su caso, probé sus datos, descubrí que hay una estacionalidad cada 12 meses que es clara para usted, pero también descubrí que un promedio móvil simple de 3 términos Ajuste estacional: Multiplicativo es el mejor modelo. En mi opinión, tenemos que probar los algoritmos de pronóstico tradicionales antes de saltar a cualquier técnica avanzada. Previsión de 12 meses para datos de preguntas

Baño
fuente
1
El modelo que está sugiriendo es un modelo ARIMA de la forma (3,0,0) (0,0,0) donde está codificando los tres coeficientes para que sean .333, .333 y .333 y una constante de 0.0. Por lo tanto, no solo está asumiendo la forma del modelo de arima, sino que está asumiendo los valores de los coeficientes Y no existen valores atípicos en la serie. Permita que los datos hablen por sí mismos en términos de la forma del modelo y los valores óptimos para los parámetros ... no tiene nada que perder y mucho que ganar. Si su modelo es correcto, se encontrará. Todos los modelos de arima son funciones ponderadas del pasado.
IrishStat
1
stats.stackexchange.com/questions/40905/… explica cómo se relacionan el modelado ponderado y la arima. De esta manera, un modelo ARIMA puede explicarse como la respuesta a la pregunta ¿Cuántos valores históricos debo usar para calcular una suma ponderada de la ¿pasado? Precisamente, ¿cuáles son esos valores?
IrishStat el