Модель предсказания временного ряда

Обзор моделей прогнозирования временных рядов

Дата публикации Oct 3, 2019

О чем эта статья?

В этой статье представлен обзор основных моделей, доступных для моделирования временных рядов и прогнозирования их развития. Модели были разработаны вра такжепитон, Соответствующий код доступенВот,

Прогнозирование временных рядов — это горячая тема, которая имеет множество возможных применений, таких как прогнозирование цен на акции, прогнозирование погоды, бизнес-планирование, распределение ресурсов и многие другие. Хотя прогнозирование можно рассматривать как подмножество контролируемых проблем регрессии, некоторые определенные инструменты необходимы из-за временного характера наблюдений.

Что такое временной ряд?

Временные ряды обычно моделируются посредством случайного процессаУ (т),то есть последовательность случайных величин. В условиях прогнозирования мы оказываемся во времениTи мы заинтересованы в оценкеУ (т + Н),используя только информацию, доступную на времят.

Как проверить и протестировать модель временного ряда?

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

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

Если мы заинтересованы в прогнозировании следующегоNвременные шаги, мы можем применить процедуру перекрестной проверки для1,2, . пшаги впереди Таким образом, мы также можем сравнить достоверность прогнозов для разных временных горизонтов.

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

Краткое исследование данных

В следующем разделе мы будем применять различные модели прогнозирования для прогнозирования эволюции индекса промышленного производства, который количественноЭлектрооборудование, произведенное в зоне евро.

Данные могут быть легко загружены черезfpp2пакет в R. Чтобы сделать данные доступными вне R, вы можете просто запустить следующий код в среде R.

Набор данных соответствует ежемесячному производству электрооборудования (компьютер, электронная и оптическая продукция) в зоне евро (17 стран) в период с января 1996 года по март 2012 года. Мы сохраняемпоследние 2 года для тестированияцели.

Временной ряд имеет пик в конце 2000 года, а другой — в 2007 году. Огромное уменьшение, которое мы наблюдаем в конце 2008 года, возможно, связано с глобальным финансовым кризисом, который произошел в течение этого года.

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

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

Модели прогнозирования временных рядов

Мы рассмотрим следующие модели:

  1. Наивный, SNaive
  2. Сезонное разложение (+ любая модель)
  3. Экспоненциальное сглаживание
  4. АРИМА, САРИМА
  5. GARCH
  6. Динамические линейные модели
  7. TBATS
  8. пророк
  9. NNETAR
  10. LSTM

Мы заинтересованы в прогнозировании индекса промышленного производства на 12 месяцев. Поэтому данные даны в срокT, мы хотели бы предсказать значения, принятые индексом в разыт + 1, . т + 12.

Мы будем использоватьСредняя абсолютная ошибка (MAE)оценить производительность моделей.

Читайте также:  Как упаковать печенье с предсказанием

1) Наивный, SNaive

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

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

Расширение Наивной модели даетсяSNaïve(Сезонная наивная) модель. Предполагая, что временной ряд имеет сезонную составляющую и что период сезонностиTпрогнозы, заданные моделью SNaive, определяются как:

Поэтому прогнозы на следующиеTвременные шаги равны предыдущемуTвременные шаги. В нашем приложении SNaive прогноз на следующий год равен прошлогодним наблюдениям.

Эти модели часто используются какэталонные модели, На следующих графиках показаны прогнозы, полученные с помощью двух моделей на 2007 год.

Модели были установлены с использованием naive а также snaive функциипрогнозR пакет.

2) сезонное разложение (+ любая модель)

Если данные показывают некоторую сезонность (например, ежедневно, еженедельно, ежеквартально, ежегодно), может быть полезно разбить исходный временной ряд на сумму трех компонентов:

гдеS (T)является сезонной составляющей,Т (т)является компонентом цикла тренда, иR (T)является оставшимся компонентом.

Существует несколько методов для оценки такого разложения. Самый основной называетсяклассическое разложениеи состоит в:

  1. Оценка тренда T (t) через скользящее среднее
  2. ВычислительныйS (T)как средний ряд торгуемыхУ (т) -T (т)за каждый сезон (например, за каждый месяц)
  3. Вычисление оставшейся серии какR (T) = Y (т) -T (т) -S (т)

Классическая декомпозициябыл расширеннесколькими способами. Его расширения позволяют:

  • иметь непостоянную сезонность
  • вычислить начальные и последние значения разложения
  • избегать чрезмерного сглаживания

Чтобы получить обзор методов декомпозиции временных рядов, вы можете нажатьВот, Мы воспользуемся преимуществомSTL разложение, который, как известно, универсален и надежен.

Один из способовиспользовать разложение для прогнозированияЦели следующие:

  1. Разложить обучающие временные ряды с помощью некоторого алгоритма декомпозиции (например, STL):Y (t) = S (t) + T (t) + R (t).
  2. Вычислитьс учетом сезонных колебанийвременная последовательностьУ (т) -S (т), использованиелюбая модельВам нравится прогнозировать эволюцию сезонно скорректированных временных рядов.
  3. Добавьте к прогнозам сезонность последнего периода времени во временном ряду (в нашем случаеS (T)за прошлый год).

На следующем рисунке показаны временные ряды индекса промышленного производства с учетом сезонных колебаний.

На следующем графике показаны прогнозы, полученные на 2007 год с использованием разложения STL и наивной модели для согласования с сезонно скорректированными временными рядами.

Разложение было установлено с использованием stl функциястатистикаR пакет.

3) Экспоненциальное сглаживание

Экспоненциальное сглаживание является одним из наиболее успешных методов классического прогнозирования. В своей основной форме это называетсяпростое экспоненциальное сглаживаниеи его прогнозы дают:

Модели были установлены с использованием ets функцияпрогнозR пакет.

4) АРИМА, САРИМА

Что касается экспоненциального сглаживания, такжеARIMAМодели являются одним из наиболее широко используемых подходов для прогнозирования временных рядов. Название является аббревиатурой от AutoRegressive Integrated Moving Average.

ВавторегрессионныйМодели прогнозов соответствуют линейной комбинации прошлых значений переменной. ВСкользящая средняяМодель прогноза соответствует линейной комбинации прошлых ошибок прогноза.

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

SarimaМодель (Seasonal ARIMA) расширяет ARIMA, добавляя линейную комбинацию сезонных прошлых значений и / или ошибок прогноза.

Для полного ознакомления с моделями ARIMA и SARIMA щелкнитеВот,

На следующих графиках показаны прогнозы, полученные на 2007 год с использованием модели SARIMA и модели ARIMA для сезонно скорректированных временных рядов.

Читайте также:  Когда свергнут единую россию предсказания

Модели были установлены с использованием auto.arima а также Arima функциипрогнозR пакет.

5) ГАРЧ

Предыдущие модели предполагали, что члены ошибки в случайных процессах, порождающих временные ряды, былигетероскедастичныт.е. с постоянной дисперсией.

Вместо этогоGARCHМодель предполагает, что дисперсия слагаемых ошибок следует процессу AutoRegressive Moving Average (ARMA), что позволяет ей изменяться во времени. Это особенно полезно для моделирования финансовых временных рядов, волатильность которых изменяется во времени. Название является аббревиатурой от Обобщенной авторегрессионной условной гетероскедастичности.

Обычно процесс ARMA предполагается и для среднего значения Для полного ознакомления с моделями GARCH вы можете нажатьВота такжеВот,

На следующих графиках показаны прогнозы, полученные на 2007 год с использованием модели GARCH, чтобы соответствовать сезонно скорректированным временным рядам.

Модель была установлена ​​с помощью ugarchfit функцияrugarchR пакет.

6) Динамические линейные модели

Динамические линейные модели представляют другой класс моделей для прогнозирования временных рядов. Идея в том, что в каждый разTэти модели соответствуют линейной модели, но регрессиякоэффициенты меняются во времени, Пример динамической линейной модели приведен ниже.

В предыдущей модели коэффициенты⍺ (т)а такжеβ (т)следить за процессом случайной прогулки.

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

На следующем графике показаны прогнозы, полученные на 2007 год с использованием динамической линейной модели для согласования с сезонно скорректированными временными рядами. Из-забольшие вычислительные затратыМне пришлось держать модель предельно простой, что приводило к плохим прогнозам.

Модель была установлена ​​с помощью dlmMLE функцияDLMR пакет.

7) TBATS

Модель TBATS является моделью прогнозирования, основанной на экспоненциальном сглаживании. Название является аббревиатурой для тригонометрического, преобразования Бокса-Кокса, ошибок ARMA, трендовых и сезонных компонентов.

Главной особенностью модели TBATS является ее способность справляться смножественные сезонностипутем моделирования каждой сезонности с помощью тригонометрического представления на основе рядов Фурье. Классический пример сложной сезонности дается ежедневными наблюдениями за объемами продаж, которые часто имеют недельную и годовую сезонность.

Для полного ознакомления с моделью TBATS нажмитеВот,

На следующем графике показаны прогнозы, полученные на 2007 год с использованием модели TBATS для подбора временных рядов.

Модель была установлена ​​с помощью tbats функцияпрогнозR пакет.

8) Пророк

Пророк является еще одной моделью прогнозирования, которая позволяет иметь дело смножественные сезонности, Этопрограммное обеспечение с открытым исходным кодомвыпущен FacebookОсновная команда Data Science,

Модель пророка предполагает, что временной ряд можно разложить следующим образом:

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

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

Есть два вариантатенденциявременные ряды: модель насыщающего роста и кусочно-линейная модель. МногопериодныйсезонностьМодель опирается на ряд Фурье. Эффект известный и обычайHolydaysмогут быть легко включены в модель.

Модель пророка вставлена ​​вБайесовские рамкии это позволяет сделать полный последующий вывод, чтобы включить неопределенность параметров модели в неопределенность прогноза.

Для полного знакомства с моделью Пророка нажмитеВот,

На следующем графике показаны прогнозы, полученные на 2007 год с использованием модели Пророка для подбора временных рядов.

Модель была установлена ​​с помощью prophet функцияпророкR пакет.

9) НЕТАР

Модель NNETAR — это полностью подключенная нейронная сеть. Акроним расшифровывается как Neural NETwork AutoRegression.

Модель NNETAR принимаетвведите последние элементы последовательностидо времениTи выводит прогнозируемое значение во времяT + 1, Для выполнения многоэтапных прогнозов сеть применяется итеративно.

Читайте также:  Предсказание от своего ангела хранителя

При наличии сезонности входные данные могут включать также временные ряды с сезонной задержкой. Для полного знакомства с моделями NNETAR нажмитеВот,

На следующих графиках показаны прогнозы, полученные на 2007 год, полученные с использованием модели NNETAR с сезонно-запаздывающим вводом и модели NNETAR для сезонно скорректированных временных рядов.

Модели были установлены с использованием nnetar функцияпрогнозR пакет.

10) LSTM

Модели LSTM можно использовать для прогнозирования временных рядов (а также других рекуррентных нейронных сетей). LSTM — это аббревиатура, обозначающая долгосрочные воспоминания.

Состояние сети LSTM представляется через вектор пространства состояний. Эта техника позволяетотслеживать зависимостиновых наблюдений с прошлыми (даже очень далекими).

LSTM могут извлечь выгоду изтрансферное обучениеметоды, даже когда применяются к стандартным временным рядам, как показаноВот, Тем не менее, они в основном используются с неструктурированными данными (например, аудио, текст, видео)

Чтобы получить полное представление об использовании LSTM для прогнозирования временных рядов, щелкнитеВот,

На следующем графике показаны прогнозы на первый год в тестовом наборе, полученные путем подгонки модели LSTM к сезонно скорректированным временным рядам.

Модель была установлена ​​с помощьюKerasфреймворк на Python.

оценка

Мы выполнили выбор модели черезперекрестная проверкапроцедура описана ранее. Мы не рассчитывали его для динамических линейных моделей и моделей LSTM из-за их высокой вычислительной стоимости и низкой производительности.

На следующем рисунке мы показываем перекрестную проверку MAE для каждой модели и для каждого временного горизонта.

Мы видим, что для временных горизонтов, превышающих 4, модель NNETAR с учетом сезонных колебаний показала лучшие результаты, чем другие. Давайте проверим общее значение MAE, рассчитанное путем усреднения по различным временным горизонтам.

Модель NNETAR с учетом сезонных колебанийданные былилучшая модельдля этой заявки, так как она соответствовала самой низкой перекрестной проверке MAE.

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

Как еще улучшить производительность

Другие методы для повышения производительности моделей могут быть:

  • Использование разных моделей для разных временных горизонтов
  • Объединение нескольких прогнозов (например, с учетом среднего прогноза)
  • Bootstrap Агрегирование

Последний метод можно обобщить следующим образом:

  1. Разложить исходный временной ряд (например, с помощью STL)
  2. Создайте набор похожих временных рядов путем случайного перемешивания фрагментов компонента «Остаток»
  3. Установите модель на каждый временной ряд
  4. Средние прогнозы каждой модели

Для полного введения в Агрегирование начальной загрузки, нажмитеВот,

Другие модели

Другие модели не включены в этот список, например:

  • Любая стандартная модель регрессии, для которой требуется время (и / или другие функции)
  • Энкодер Декодермодели, которые обычно используются в задачах НЛП (например, перевод)
  • WaveNetи другиеВнимание Сетикоторые обычно применяются к неструктурированным данным (например, Text-to-Speech)

Заключительные замечания

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

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

Источник

Оцените статью