Экспоненциальное сглаживание прогнозирования для нескольких временных рядов
Я хотел бы прогнозировать 100-кратные временные ряды в r, используя экспоненциальное сглаживание (HW или ARIMA), потому что мои данные очень сезонные. Мои данные в настоящее время настроены как:
Month / Employee1 / Employee2 / Employee3 / ...
2015-01-31 / 1,200,000 / 1,900,000 / 800,000 / ...
2015-02-28 / 1,000,000 / 1,700,000 / 200,000 / ...
... Through 2018-06-30
Я хотел бы прогнозировать с помощью экспоненциального сглаживания для каждого сотрудника на 6 периодов, где частота = 12. Я могу легко сделать это индивидуально, используя прогноз, но я хотел бы запустить всех сотрудников одновременно в один вывод таблицы. Уровень достоверности может быть равен 0 level=c(0,0), так как я хочу один выход.
Любая помощь высоко ценится!
1 ответ
Я понял это и, надеюсь, это поможет в будущем. Мой набор данных называется "Multiforecast_test"
Сначала я сделал это в TS:
ts_test <- ts(Multiforecast_test, start= c(2015,01), frequency=12)
Затем я использовал lapply для запуска функции auto.arima:
arimaforecast <- lapply(ts_test, function(x) forecast(auto.arima(x), h=6,)$mean)
Вывод для моих тестовых данных приводит к:
arimaforecast
$Volume Jul Aug Sep Oct Nov Dec
2018 1005256299 1107626858 929720018 889901375 814714019 839815505
$Employee1 Jul Aug Sep Oct Nov Dec
2018 683043831 800911854 686582210 665243135 613016109 626239041
$Employee2 Jul Aug Sep Oct Nov Dec
2018 198639231 206957874 138334667 148160835 118637508 111321392
$Employee3 Jul Aug Sep Oct Nov Dec
2018 116508747 129413942 111011512 90294567 87439508 92747072
...
Надеюсь, это поможет кому-то в будущем.