Прогнозирование с использованием повторяющейся нейронной сети в наборе временных рядов

Описание

Учитывая набор данных, который имеет 10 последовательностей - последовательность соответствует дню записей стоимости запаса, - где каждая составляет 50 выборочных записей значений запаса, которые разделяются на 5-минутные интервалы, начиная с утра или 9:05 утра. Тем не менее, есть одна дополнительная запись (51-й образец), которая доступна только в наборе для обучения, которая на 2 часа позже, а не на 5 минут, чем последний записанный образец в 50 образцовых записях. Этот 51-й образец должен быть предсказан для набора тестов, где также указаны первые 50 образцов.

Я использую рекуррентную нейронную сеть pybrain для этой проблемы, которая группирует последовательности вместе, а метка (или обычно называемая целевой y) каждого образца x_i является образцом следующего шага времени x_(i+1) - типичная формулировка в прогнозировании временных рядов.

Пример

A sequence for one day is something like:

    Signal id    Time      value
        1     -  9:05   -   23
        2     -  9:10   -   31
        3     -  9:15   -   24
       ...    -  ...    -   ...
       50     -  13:15  -   15

Below is the 2 hour later label 'target' given for the training set 
and is required to be predicted for the testing set
       51     -  15:15   -   11

Вопрос

Теперь, когда моя рекуррентная нейронная сеть (RNN) обучила этим 10 последовательностям, если она столкнется с другой последовательностью, как бы использовать RNN для прогнозирования значений запаса 2 hours после последнего образца в последовательности?

Обратите внимание, что у меня также есть "на 2 часа позже, чем последние значения выборочных запасов" для каждой из обучающих последовательностей, но я не уверен, как включить это в обучение RNN, так как он ожидает одинаковые временные интервалы между образцами. Спасибо!

Ответ 1

Я надеюсь, что это поможет вам

Рекуррентная структура сети

enter image description here


Несколько советов

Выбор текущей сети

Более зрелая нейронная сеть с длинной короткой временной памятью (LSTM) отлично подходит для такого рода задач. LSTM способен обнаруживать общие "фигуры" и "вариации" в "графике" запаса, и есть много исследований, которые пытаются доказать, что такие формы на самом деле происходят в реальной жизни! См. эту ссылку для примера.

Точность

Если вы хотите, чтобы сеть достигла более высокой точности, я бы порекомендовал вам также подавать в сеть значения акций за предыдущий год (в ту же дату), так что количество входов удваивается от 50 до 100. Хотя сеть может быть хорошо оптимизирована на вашем наборе данных, она никогда не сможет предсказать непредсказуемое поведение будущего;)