Для цикла для создания нескольких прогнозов Холт-Винтерс? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть работающая функция Holt-Winters, которая прогнозирует 52 периода на основе данных за 3 года для одного продукта.Я хотел бы применить тот же код для более чем 2000 продуктов.Я посмотрел везде, и я не могу успешно воспроизвести необходимый цикл for.Идея состоит в том, чтобы сгенерировать эти 2000 прогнозов и добавить выходные данные функции (предсказание) (fit) к фрейму данных, где я мог бы иметь 2000 выходных столбцов, любая помощь будет принята с благодарностью:)

Следующий цикл хорошо работает только для одного временного ряда / продукта / столбца, однако я не могу получить результаты, добавляемые к таймфрейму, так как таймфрейм всегда возвращается пустым

Вот пример моих данных,Есть 156 строк, так как это еженедельные данные:

Time Series Prod1   Prod2   Prod3   Prod4   Prod5
1   1   1   1   1   1
2   1   1   1   1   1
3   1   75  1   1   14
4   52  51  78  62  5
5   30  52  1   25  10
6   27  25  26  50  1
7   25  25  27  25  61
8   65  25  12  75  32
9   24.8    20.8    0.8 20  28
.....

Вот мой код:

for(b in 2:4){
###converting data to time series###
  TSTEST=ts(Test_Data_for_HW_CSV[b], f=52, s=2016+15/52) 

###Time series is now fed to the HW algorithm ### 
  HWTEST=HoltWinters(TSTEST)

###Forecast is now generated####
  PREDTEST=predict(HWTEST,52)

###Both HW's model and Forecast are plotted (this is only working for the last column in the loop)### 
  plot(HWTEST,PREDTEST)

}

Приведенный выше код перебирает 6 столбцов, однако мне нужен каждый прогнозот функции Predict (), хранящейся в одном фрейме данных, до конечного результата которой будет таблица с 6 столбцами, отображающая прогноз на следующие 52 недели для 6 продуктов (как только этот тест сработает, я затем применю его к 2000продукты, упомянутые ранее)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...