Я працюю над алогоритмом R, щоб автоматизувати щомісячний розрахунок прогнозу. Я використовую, серед іншого, функцію ets () з пакету прогнозів для обчислення прогнозу. Це працює дуже добре.
На жаль, для деяких конкретних часових рядів результат, який я отримую, дивний.
Будь ласка, знайдіть нижче код, який я використовую:
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')
Нижче ви знайдете відповідний набір даних історії:
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)
Тут, на графіку, ви побачите історичні дані (чорний), встановлене значення (зелений) та прогноз (синій). Прогноз, безумовно, не відповідає рядкам із заданим значенням.
Чи маєте ви якесь уявлення про те, як «прив’язати» випадок, щоб він «відповідав» історичним продажам?

Зверніть увагу на підвищення рівня в кінці серії.

Кінцева статистика моделі наведена тут.
Графік фактичного / відповідного та прогнозування цікавий тим, що підкреслює виняткову активність.
ets. Середній / рівень історичних даних становить близько 20, а середній / рівень прогнозу - близько 50. Не знаєте, чому це станеться? чи можете ви запустити базовийetsі побачити, чи отримаєте ви однакові результати?