RNN с использованием нескольких временных рядов

14

Я пытаюсь создать нейронную сеть, используя временные ряды в качестве входных данных, чтобы обучать ее на основе типа каждой серии. Я читал, что, используя RNN, вы можете разделить входные данные на пакеты и использовать каждую точку временного ряда в отдельных нейронах и, в конечном итоге, обучить сеть.

Однако я пытаюсь использовать несколько временных рядов в качестве входных данных. Так, например, вы можете получить вход от двух датчиков. (Итак, два временных ряда), но я хочу использовать оба из них, чтобы получить окончательный результат.

Также я не пытаюсь предсказать будущие значения временных рядов, я пытаюсь получить классификацию, основанную на всех из них.

Как мне подойти к этой проблеме?

  • Есть ли способ использовать несколько временных рядов в качестве входных данных для RNN?

  • Должен ли я попытаться объединить временные ряды в один?

  • Или мне просто использовать две разные нейронные сети? И если этот последний подход верен, если число временных рядов увеличивается, разве это не будет слишком требовательным к компьютеру?

Ploo
источник

Ответы:

10

Многовариантные временные ряды - это активная исследовательская тема, в которой вы найдете много недавних работ, посвященных этой теме.

Чтобы ответить на ваши вопросы, вы можете использовать один RNN. Вы можете ввести одно значение для каждого временного шага. Ничто не мешает вам добавлять другое значение на каждом временном шаге (если ваш датчик синхронизирован). Затем ваша модель научится классифицировать по двумерным временным рядам.

Вы проверяете этот блог . В вашем случае отличается только выход.

Что касается двух последних моментов, объединять временные ряды в один рискованно в том смысле, что вы можете потерять важную информацию в процессе. Наконец, главный недостаток вашего последнего пункта заключается в том, что вы не сможете использовать потенциальную корреляцию между двумя временными рядами для окончательной классификации.

Daerken
источник
Если вы используете несколько временных рядов, как сеть будет реагировать, если по какой-то причине для образца 1 у вас есть 5 серий, а для образца 2 у вас 4 (возможно, потому что у вас нет данных с последнего датчика). Нужно ли, чтобы, начиная с 5 серии, всегда было 5? Если вы включите 5-й временной ряд для sample2 с поддельными усредненными данными, я приказываю иметь все 5?
Плоо
1
да ладно есть разные подходы к отсутствующим данным. Я бы порекомендовал вам использовать значение 0, когда у вас нет значений. Это часто используется, когда у нас нет всей последовательности X_t, но нам все еще нужно ввести последовательность длиной t. Это называется padding, если вы хотите узнать больше об этом.
Daerken