Estoy trabajando en un alogoritmo en R para automatizar un cálculo de pronóstico mensual. Estoy usando, entre otros, la función ets () del paquete de pronóstico para calcular el pronóstico. Está funcionando muy bien.
Desafortunadamente, para algunas series de tiempo específicas, el resultado que obtengo es extraño.
A continuación, encuentre 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')
A continuación, encontrará a continuación el conjunto de datos del historial en cuestión:
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 valor ajustado (verde) y el pronóstico (azul). El pronóstico definitivamente no está en línea con el valor ajustado.
¿Tienes alguna idea sobre cómo "vincular" al forecat para que esté "en línea" con las ventas históricas?
ets
. La media / nivel de los datos históricos es de alrededor de 20 y la media / nivel del pronóstico es de alrededor de 50. ¿No está seguro de por qué sucedería esto? ¿puedes ejecutar un básicoets
y ver si obtienes los mismos resultados?