Прогнозування часових рядів за допомогою LSTM: Важливість зробити стаціонарні часові ряди


20

У цьому посиланні на "Стаціонарність та диференціювання " було зазначено, що такі моделі, як ARIMA, потребують стаціонарного часового ряду для прогнозування, оскільки його статистичні властивості, такі як середнє значення, дисперсія, автокореляція тощо, є постійними у часі. Оскільки RNN мають кращу здатність до вивчення нелінійних зв’язків ( як зазначено тут: Обіцяння періодичних нейронних мереж для прогнозування часових рядів ) і виконуються краще, ніж традиційні моделі часових рядів, коли дані великі, важливо зрозуміти, наскільки стаціонаризовано дані вплинуть на його результати. Питання, на які я повинен знати відповідь, наступні:

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

  2. Під час створення моделі прогнозування часових рядів з використанням LSTM , чи важливо зробити дані часових рядів нерухомими? Якщо так, то чому?

Відповіді:


28

Загалом часові ряди насправді не відрізняються від інших проблем машинного навчання - ви хочете, щоб ваш тестовий набір "виглядав" як ваш навчальний набір, тому що ви хочете, щоб модель, яку ви дізналися на своєму навчальному наборі, все ще підходила для вашого тестового набору. Це важлива основна концепція щодо стаціонарності. Часові ряди мають додаткову складність у тому, що у ваших даних може бути довгострокова структура, що ваша модель може бути недостатньо складною для навчання. Наприклад, використовуючи авторегресивне відставання N, ми не можемо вивчити залежності через інтервали довші ніж N. Отже, при використанні простих моделей, таких як ARIMA, ми хочемо, щоб дані також були локально нерухомими.

  1. Як ви вже сказали, стаціонарне означає лише, що статистика моделі не змінюється з часом ("локально" нерухома). Моделі ARIMA по суті є регресійними моделями, де ви використовуєте минулі значення N як вхід до лінійної регресії для прогнозування значення N + 1-го. (Принаймні, так робить AR-частина). Коли ви вивчаєте модель, ви вивчаєте коефіцієнти регресії. Якщо у вас є часовий ряд, в якому ви дізнаєтесь про зв'язок між минулими N точками та наступною точкою, а потім застосуєте їх до іншого набору N точок, щоб передбачити наступне значення, ви неявно припускаєте, що однакове відношення має місце між N балів прогнозувальника та наступна N + 1-я точка, яку ви намагаєтеся передбачити. Це стаціонарність. Якщо ви розділили свій навчальний набір на два інтервали та тренувались на них окремо, і отримали дві дуже різні моделі - що б ви зробили з цього висновок? Як ви думаєте, ви б почували себе впевнено, застосовуючи ці моделі для прогнозуваннянові дані? Який би ви використовували? Ці проблеми виникають, якщо дані "нестаціонарні".

  2. Мій погляд на RNN - це так - ви все ще вивчаєте шаблон із одного сегмента часового ряду, і ви все ще хочете застосувати його до іншої частини часового ряду, щоб отримати прогнози. Модель вивчає спрощене подання часового ряду - і якщо це подання застосовується на тренувальному наборі, але не в тестовому наборі, воно не буде добре працювати. Однак, на відміну від ARIMA, RNN здатні вивчати нелінійності, а спеціалізовані вузли на зразок вузлів LSTM в цьому навіть краще. Зокрема, LSTM та GRU дуже добре вивчають довгострокові залежності. Дивіться, наприклад, цю публікацію в блозі . Фактично це означає, що те, що мається на увазі під «стаціонарністю», є менш крихким з RNN, тому це викликає менше занепокоєння. Для того, щоб мати можливість вивчити довгострокові залежності, вам потрібно багато даних для навчання.

Зрештою, доказ є в пудингу. Тобто зробіть валідацію моделі так, як ви хотіли б з будь-яким іншим проектом машинного навчання. Якщо ваша модель добре прогнозує дані про витримку, ви можете відчувати себе впевнено у використанні. Але, як і будь-який інший проект МЛ - якщо ваші тестові дані коли-небудь значно відрізняються від ваших даних про навчання, ваша модель не працюватиме добре.


2
Ця відповідь відмінна. Добре продуманий і ретельний.
StatsSorceress

1
Пройшло багато часу. Хтось перевіряв це припущення?
compguy24
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.