Правильний спосіб використання періодичної нейронної мережі для аналізу часових рядів


67

Рекурентні нейронні мережі відрізняються від "регулярних" тим, що вони мають шар "пам'яті". Завдяки цьому шару, періодичні NN повинні бути корисними при моделюванні часових рядів. Однак я не впевнений, що я правильно розумію, як ними користуватися.

Скажімо, у мене є такий часовий ряд (зліва направо):, [0, 1, 2, 3, 4, 5, 6, 7]моя мета - передбачити i-точку, використовуючи точки i-1і i-2як вхід (для кожного i>2). У "регулярному", неповторному ANN я б обробляв дані таким чином:

 target| input
      2| 1 0
      3| 2 1
      4| 3 2
      5| 4 3
      6| 5 4
      7| 6 5 

Тоді я створив би мережу з двома вхідними та одним вихідним вузлом і тренував би її за даними вище.

Як потрібно змінити цей процес (якщо він взагалі є) у випадку періодичних мереж?


Ви дізналися, як структурувати дані для RNN (наприклад, LSTM)? дякую
mik1904

Відповіді:


49

Те, що ви описуєте, насправді є "підсумним часовим вікном" підходу і відрізняється від мереж, що повторюються. Ви можете використовувати цю методику з будь-яким алгоритмом регресії. Існує величезне обмеження цього підходу: події на входах можуть бути співвіднесені лише з іншими входами / виходами, які лежать не більше, ніж три часові кроки, де t - розмір вікна.

Наприклад, ви можете придумати Марківський ланцюжок порядку t. RNN не страждають від цього теоретично, проте на практиці навчання складно.

y=WxyWx

xiyi=Wxi+Wryi1

Wr

hi

h0=0
hi=σ(W1xi+Wrhi1)
yi=W2hi

σW1W2Wr

Ось схема структури:

схематичні


2
Я неправильно бачу деяку схожість періодичних мереж з фільтрами Kalman? Я бачу це, тому що попередній вихід впливає на даний вихід. Яка практична користь від рекуррентних мереж?
Vass

10
Ви пишете в тому сенсі, що обидва є моделями простору стану. Однак є велика різниця: КФ є повністю імовірнісними, в тому сенсі, що приховані стани мають належне імовірнісне значення. З іншого боку, RNN є детермінованими, і лише результати можуть використовуватися для моделювання розподілу дискримінаційно. Також КФ зазвичай оцінюються за допомогою ЕМ, тоді як РНН оцінюються градієнтними методами. Якщо ви хочете отримати більше деталей, не соромтесь залишити питання та надіслати мені посилання, але коментарі для цього занадто обмежені.
байерж

1
Ні, ковзаюче вікно часу не претендує на вихід мережі, лише на вході.
байерж

2
@bayerj чудова інформація, але я не думаю, що ви відповіли на питання. Як ви структуруєте вхідні вихідні вектори не у розсувному часовому вікні для RNN? Чи можете ви надати пару зразків із набором даних ОП?
Левитикон

1
Це дуже інформативний опис RNN, але я не знаходжу відповіді на запитання ОП: Як потрібно змінити [навчання] у випадку періодичних мереж?
wehnsdaefflae

9

Ви також можете розглянути можливість простого використання ряду перетворень часових рядів для вхідних даних. Тільки для одного прикладу вхідними даними можуть бути:

  1. останнє значення інтервалу (7)
  2. наступне останнє значення інтервалу (6)
  3. дельта між останньою та наступною останньою (7-6 = 1)
  4. третє останнє значення інтервалу (5)
  5. дельта між другою та третьою останньою (6-5 = 1)
  6. середнє значення за останні три інтервали ((7 + 6 + 5) / 3 = 6)

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


1
Ви вкладаєте в це багато знань про домен. Що робити, якщо ви самі не розпізнаєте закономірність часового ряду? Як ви потім побудуєте модель, яка може, особливо якщо це залежить від вкладень, які були нескінченно далекими в минулому?
байерж

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

01[0.1,0.1]101

2
Я не хотів би сказати, що ви ніколи не повинні використовувати періодичні нейронні мережі; зовсім навпаки. Однак якщо завдання (як зазначено у запитанні) полягає в тому, щоб передбачити i з точки (i-1) та (i-2), то ви можете отримати кращий результат швидше, використовуючи ці знання. Я не хочу припускати, що RNN - це ніколи не гарна ідея, але нормально використовувати будь-які знання про домен, щоб пришвидшити навчальний процес (і зменшити ймовірність того, що навчання потрапить на місцевий мінімум тощо). .
rossdavidh

4

Іншою можливістю є історично стійкі нейронні мережі (HCNN) . Ця архітектура може бути більш підходящою для вищезазначених налаштувань, оскільки вони виключають часто довільне розмежування змінних вхідних та вихідних даних і замість цього намагаються повторити повну базову динаміку всієї системи шляхом навчання з усіма спостережуваними.

Під час роботи в Siemens я опублікував доповідь про цю архітектуру у книзі Спрінгера Верлаґа: Циммерманн, Гротманн, Тіц, фон Жуан-Дідрих: Моделювання ринку, прогнозування та аналіз ризиків за допомогою історичних послідовних нейронних мереж

Ось лише, щоб дати уявлення про парадигму, ось короткий уривок:

У цій статті ми представляємо новий тип рецидивуючої NN, що називається історичною послідовною нейронною мережею (HCNN). HCNN дозволяють моделювати високо взаємодіючі нелінійні динамічні системи в декількох масштабах часу. HCNN не розрізняють між входами та виходами, але модельні спостереження, вбудовані в динаміку великого простору стану.

[...]

RNN використовується для моделювання та прогнозування відкритої динамічної системи з використанням нелінійного підходу регресії. Однак багато технічних та економічних застосувань у реальному світі повинні розглядатися в контексті великих систем, в яких різноманітна (нелінійна) динаміка взаємодіє між собою у часі. За проектом на моделі, це означає, що ми не розмежовуємо вхідні та вихідні дані, але говоримо про спостережувані результати. Через часткову спостережливість великих систем нам потрібні приховані стани, щоб можна було пояснити динаміку спостережуваних. Спостережні та приховані змінні повинні поводитися моделлю однаково. Термін спостерігається охоплює вхідні та вихідні змінні (тобтоYτ:=(yτ,uτ)). Якщо ми зможемо реалізувати модель, в якій можна описати динаміку всіх спостережуваних даних, ми зможемо закрити відкриту систему.

... і з висновку:

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

Частини статті можна переглянути публічно: Ось


Чи є у вас доступна програма для завантаження та тестування?
Жульєн Л

@JulienL: На жаль, не тому, що це було власною роботою для Siemens.
vonjd

Шкода, що виглядало багатообіцяюче.
Жульєн Л

@JulienL: Я закликаю вас зв’язатися з Георгом, моїм співавтором. Його електронний лист знаходиться на першій сторінці статті (див. Посилання вище).
фондж
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.