18 votos

ETS() función, cómo evitar la previsión de no en línea con los datos históricos?

Estoy trabajando en un alogorithm en R para automatizar mensual, cálculo de pronósticos. Estoy utilizando, entre otros, el ets() la función de la previsión de paquete para calcular el pronóstico. Se está trabajando muy bien.

Desafortunadamente, para algunos específicos de series de tiempo, el resultado que obtengo es raro.

Por favor, encontrar a continuación el código que estoy usando :

train_ts<- ts(values, frequency=12)
fit2<-ets(train_ts, model="ZZZ", damped=TRUE, alpha=NULL, beta=NULL, gamma=NULL, 
            phi=NULL, additive.only=FALSE, lambda=TRUE, 
            lower=c(0.0001,0.0001,0.0001,0.8),upper=c(0.9999,0.9999,0.9999,0.98), 
            opt.crit=c("lik","amse","mse","sigma","mae"), nmse=3, 
            bounds=c("both","usual","admissible"), ic=c("aicc","aic","bic"),
            restrict=TRUE)  
ets <- forecast(fit2,h=forecasthorizon,method ='ets')   

Por favor, que se encuentra por debajo de la que se trate la historia del conjunto de datos :

 values <- c(27, 27, 7, 24, 39, 40, 24, 45, 36, 37, 31, 47, 16, 24, 6, 21, 
35, 36, 21, 40, 32, 33, 27, 42, 14, 21, 5, 19, 31, 32, 19, 36, 
29, 29, 24, 42, 15, 24, 21)

Aquí, en el gráfico, verá los datos históricos (negro), el amueblada valor (verde) y el pronóstico(azul). La previsión es que, definitivamente, no en líneas con el amueblada valor.

¿Tiene usted alguna idea sobre cómo "obligado" el forecat de estar "en línea" con el histórico de ventas? Te agradezco mucho por su ayuda.

Saludos.enter image description here

12voto

Senseful Puntos 116

Como @forecaster ha señalado, esto es causado por los valores atípicos en el final de la serie. Usted puede ver el problema con claridad si se hace una gráfica de la estimación de nivel de componente a lo largo de la parte superior:

plot(forecast(fit2))
lines(fit2$states[,1],col='red')

Nota el aumento en el nivel en el final de la serie.

Una manera de hacer que el modelo más sólido a los valores atípicos es reducir el espacio de parámetros, de modo que los parámetros de suavizado debe tomar los valores más pequeños:

fit2 <- ets(train_ts, upper=c(0.3,0.2,0.2,0.98))  
plot(forecast(fit2))

enter image description here

8voto

forecaster Puntos 3015

Este es el libro de texto el caso de tener valores atípicos en el final de la serie y sus consecuencias no deseadas. El problema con los datos es que los dos últimos puntos son los valores extremos, es posible que desee identificar y tratar a los valores atípicos antes de ejecutar los algoritmos de pronósticos. Voy a actualizar mi respuesta y análisis de la tarde de hoy en algunas de las estrategias para identificar valores atípicos. Abajo está la actualización rápida.

Cuando vuelvo a ejecutar ets con los dos últimos puntos de datos retirado, que obtener un pronóstico razonable. Por favor, ver más abajo:

values.clean <- c(27, 27, 7, 24, 39, 40, 24, 45, 36, 37, 31, 47, 16, 24, 6, 21, 
                  35, 36, 21, 40, 32, 33, 27, 42, 14, 21, 5, 19, 31, 32, 19, 36, 
                  29, 29, 24, 42, 15)## Last two points removed

train_ts.clean<- ts(values.clean, frequency=12)
fit2.clean<-ets(train_ts.clean)  
ets.f.clean <- forecast(fit2.clean,h=24)
plot(ets.f.clean)

enter image description here

7voto

Owen Fraser-Green Puntos 642

@forecaster es correcto que el último valor es un valor atípico PERO periood 38 (la penúltima) el valor no es un valor atípico al tomar en cuenta las tendencias de la temporada y de la actividad. Esta es una definición/momento de enseñanza para la prueba/evaluación alternativa robusta enfoques. Si usted no identificar y ajustar para las anomalías de la varianza se infla causando otros elementos que no se encuentran. Período de 32 también es un valor atípico. Los períodos de 3,32 y 1 son también los valores atípicos. Hay una diferencia estadísticamente significativa en la tendencia de las series para el primer 17 de valores, sino que disminuye a partir de entonces, comenzando en el período de 18 años. Así que, en realidad, hay dos tendencias en los datos. La lección aprendida aquí es que simple enfoques que asumen que no hay tendencia o una forma particular de una tendencia y/o tácitamente supone una forma específica de la auto-regresivo proceso deben ser seriamente cuestionada. Adelante un buen pronóstico debe tener en cuenta la posible continuación de la actividad excepcional encontrar en el punto final (punto 39). Es imposible extraer de los datos.

Este es posiblemente el modelo de utilidad:

enter image description here El modelo final las estadísticas son aquí enter image description here El Real/Ajuste y Previsión gráfica es muy interesante, ya que pone de relieve la excepcional actividad. enter image description here

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