RNN з використанням декількох часових рядів


14

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

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

Крім того, я не намагаюся передбачити майбутні значення часових рядів, я намагаюся отримати класифікацію на основі всіх них.

Як слід підходити до цієї проблеми?

  • Чи існує спосіб використання декількох часових рядів як вхід до RNN?

  • Чи варто спробувати об'єднати часовий ряд в один?

  • Або я повинен просто використовувати дві різні нейронні мережі? І якщо цей останній підхід є правильним, якщо кількість часових рядів збільшується, чи не буде це занадто комп’ютерно інтенсивним?

Відповіді:


10

Багатовимірний часовий ряд - це активна дослідницька тема, в якій ви знайдете багато останніх статей, що займаються цією темою.

Щоб відповісти на ваші запитання, ви можете використовувати одну RNN. Ви можете ввести одне значення для кожного кроку часу. Ніщо не заважає додавати ще одне значення на кожному кроці (якщо ваш датчик синхронізований). Потім ваша модель навчиться класифікувати двовимірний часовий ряд.

Ви перевіряєте цей блог . У вашому випадку тільки вихід відрізняється.

Що стосується двох останніх пунктів, то об'єднання часових рядів в один є ризиковим у тому сенсі, що ви можете втратити важливу інформацію під час процесу. Нарешті, головним недоліком останнього моменту є те, що ви не зможете використовувати потенційну кореляцію між двома часовими рядами для остаточної класифікації.


Якщо ви використовуєте кілька часових рядів, як буде реагувати мережа, якщо з якихось причин для sample1 у вас є 5 серій, але для sample2 у вас є 4, (можливо, тому що у вас немає даних з останнього датчика). Чи потрібно, що якщо ви почнете з 5 серій, це завжди повинно бути 5? Якщо ви повинні включити 5-й часовий ряд для sample2 з фальшивими усередненими даними, щоб я мав усіх 5?
Плоо

1
Ну добре, є різні підходи до відсутніх даних. Я рекомендую вам використовувати значення 0, коли у вас немає значень. Він часто використовується, коли у нас немає всієї послідовності X_t, але нам все одно доводиться вводити послідовність довжиною t. Це називається padding, якщо ви хочете дізнатися більше про це.
Daerken
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.