Прогнозирование временных рядов с использованием LSTM: важность обеспечения устойчивости временных рядов

21

В этой ссылке на Стационарность и разность было упомянуто, что модели, подобные ARIMA, требуют стационарного временного ряда для прогнозирования, поскольку его статистические свойства, такие как среднее значение, дисперсия, автокорреляция и т. Д., Постоянны во времени. Поскольку RNN обладают лучшей способностью изучать нелинейные отношения ( согласно приведенному здесь: «Обещание повторяющихся нейронных сетей для прогнозирования временных рядов» ) и работают лучше, чем традиционные модели временных рядов при больших объемах данных, важно понимать, насколько стационарны данные будут влиять на его результаты. Вопросы, на которые мне нужно знать ответ:

  1. В случае традиционных моделей прогнозирования временных рядов стационарность данных временных рядов облегчает прогнозирование, почему и как?

  2. При построении модели прогнозирования временного ряда с использованием LSTM , важно ли сделать данные временного ряда стационарными? Если так, то почему?

Абхиджай Гилдял
источник

Ответы:

29

В общем, временные ряды на самом деле не отличаются от других проблем машинного обучения - вы хотите, чтобы ваш набор тестов «выглядел» как ваш тренировочный набор, потому что вы хотите, чтобы модель, которую вы изучили на своем тренировочном наборе, все еще соответствовала вашему тестовому набору. Это важная основная концепция стационарности. Временные ряды имеют дополнительную сложность, заключающуюся в том, что в ваших данных может быть долгосрочная структура, которая может оказаться недостаточно сложной для изучения. Например, при использовании авторегрессионного лага N, мы не можем узнать зависимости через интервалы, превышающие N. Следовательно, при использовании простых моделей, таких как ARIMA, мы хотим, чтобы данные также были локально стационарными.

  1. Как вы сказали, стационарный означает, что статистика модели не меняется со временем («локально» стационарно). Модели ARIMA по сути являются регрессионными моделями, в которых вы используете прошлые значения N в качестве входных данных для линейной регрессии для прогнозирования значения N + 1. (По крайней мере, это то, что делает часть AR). Когда вы изучаете модель, вы изучаете коэффициенты регрессии. Если у вас есть временной ряд, в котором вы изучаете связь между прошлыми N точками и следующей точкой, а затем применяете это к другому набору из N точек, чтобы предсказать следующее значение, вы неявно предполагаете, что между N точек предикторов и следующие N + 1-ые точки, которые вы пытаетесь предсказать. Это стационарность. Если вы разделили тренировочный набор на два интервала и тренировались на них отдельно, и получил две очень разные модели - что бы вы из этого сделали? Как вы думаете, вы будете чувствовать себя уверенно, применяя эти модели для прогнозированияновые данные? Какой из них вы бы использовали? Эти проблемы возникают, если данные являются «нестационарными».

  2. Мое мнение о RNN заключается в следующем: вы все еще изучаете шаблон из одного сегмента временного ряда и хотите применить его к другой части временного ряда, чтобы получить прогнозы. Модель учитывает упрощенное представление временных рядов - и если это представление применяется к обучающему набору, но не к тестовому набору, оно не будет работать хорошо. Однако, в отличие от ARIMA, RNN способны изучать нелинейности, и специализированные узлы, такие как узлы LSTM, даже лучше в этом. В частности, LSTM и GRU очень хорошо изучают долгосрочные зависимости. Смотрите, например, этот блог . По сути, это означает, что то, что подразумевается под «стационарностью», является менее хрупким по отношению к RNN, поэтому это несколько менее важно. Однако, чтобы иметь возможность выучить долгосрочные зависимости, вам нужно много данных для обучения.

В конечном итоге доказательство в пудинге. То есть выполните проверку модели так же, как и в любом другом проекте машинного обучения. Если ваша модель предсказывает хорошие данные, вы можете чувствовать себя несколько уверенно в их использовании. Но, как и любой другой проект ML - если ваши тестовые данные значительно отличаются от ваших тренировочных данных, ваша модель не будет работать хорошо.

Том
источник
2
Этот ответ превосходен. Продуманный и тщательный.
StatsSorceress
1
Прошло много времени. Кто-нибудь проверял это предположение?
compguy24