Можно ли использовать прогнозы LSTM в качестве входных данных для следующих временных шагов? - PullRequest
0 голосов
/ 17 апреля 2020

Я работаю с LSTM (в PyTorch) для прогнозирования многомерных временных рядов. Давайте представим ситуацию: у меня есть 2 временных ряда, A и B, и я хочу предсказать t-значение B, используя предыдущие значения A и B (до t). Такое предсказание работает хорошо, моя модель дает хорошие результаты.

Но что, если (во время тестирования, после обучения) я хочу использовать прогнозируемые значения B в качестве входных данных для следующего временного шага вместо реальных значений? Например: я предсказываю первое значение B, делаю шаг, ставлю предсказанное значение вместо реального и делаю предсказание снова. Затем я использую два предсказанных значения вместо реальных двух и так далее. На некоторых этапах во временном ряду В будут только прогнозируемые значения.

Есть ли возможность сделать это?

1 Ответ

1 голос
/ 17 апреля 2020

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

Важным моментом является то, что LSTM выполняется в двух режимах:

  • Для обучения: как стандартная последовательность маркировки. Это обеспеченный ввод, и он должен предсказать один шаг в будущем.

  • Для вывода: он постепенно генерирует новые выборки и использует их в качестве следующего ввода. В PyTorch это должно быть реализовано с явным для l oop.

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