Прогнозирование временных рядов LSTM, стабилизация прогнозов - PullRequest
0 голосов
/ 06 марта 2020

Мой код написан на R с использованием библиотек Keras и Tensorflow. Я создаю модель LSTM для прогнозирования 100 будущих значений. Моя входная форма (100,200,1).

Допустим, мои входные данные - X. Я делаю прогноз на временном шаге t = 201 и получаю столбец Y прогнозов. Затем я создаю Xnew = c (X [2: 200], Y) новую переменную, в которой я объединяю X (кроме первого столбца) и Y. Я использую этот Xnew для прогнозирования следующего шага по времени.

То, что происходит, заключается в том, что после определенного числа прогнозируемых будущих временных шагов (около 15), прогнозы становятся постоянными для каждого временного шага впоследствии. Кто-нибудь знает, почему это происходит?

prdvec = function(dat,modname, numpreds, cnt, scl){

  model = load_model_hdf5(modname)

  inpt = dat
  pred = list()

  for(i in 1:numpreds){
    pred[[i]] <- predict(model, reshape_X_3d((inpt[,1:ncol(inpt)]-cnt)/scl), batch_size = 1)
    inpt = cbind(inpt[,2:ncol(inpt)],(pred[[i]]*scl+cnt))
    print(i)
    flush.console()
  }

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