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

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

Прокачка деревьев

Это семейство моделей не работает с данными временных рядов по умолчанию. Нужно найти способ объяснить бустинг деревьев, как найти временные зависимости в данных. Самый простой способ — создать значимые функции из необработанных входных данных. Например, если ваши данные представляют собой поток сигналов от разных детекторов в равноудаленных временных рамках, на каждом тике вы можете взять набор лаговых значений, набор лаговых разностей, движущиеся метрики, оконную статистику и т. д. Убедитесь, что ваши функции не содержат неограниченные значения, такие как цена акций, потому что эта функция может стать неожиданной для моделирования при проверке. После части ограничения функций вы можете работать с фреймворками деревьев решений, как если бы у вас были простые табличные данные. Если мы примем во внимание конкуренцию Kaggle, мы увидим, что gbdt с функциями, созданными вручную, дает хорошую производительность даже в прогнозировании.

Здесь мы также можем перечислить другие методы, не предназначенные для временных рядов. Я редко видел хорошие решения с линейными моделями или k-средними, но однажды я добился удивительно хорошего результата с SVM.

эконометрический

Здесь мы можем перечислить множество методов из экономики или физики. Насколько мне известно, подавляющее большинство из них основано на различных типах авторегрессии. Этот метод имеет очень интересную математическую основу, и всегда интересно читать материалы и статьи, но, по моему опыту, всегда есть лучшая модель из простого мл. Если вы начинаете свои исследования в области прогнозирования, вам обязательно нужно пройти базовый курс эконометрики, потому что он дает хороший обзор, но будьте готовы выбросить эти знания в реальной жизни. С другой стороны, вы всегда можете попробовать эконометрическую идею в ручных функциях для другого метода. Иногда технический анализ может улучшить качество модели (taLib — хорошая отправная точка).

РНН

Рекуррентная нейронная сеть — очень полезный инструмент в прогнозировании. Он основан на довольно простой идее управления с обратной связью, но, как и все хорошие идеи, его можно развить до гораздо более сложных архитектур. Преимущество rnn в том, что он широко изучался из-за шумихи по НЛП, поэтому вы можете найти множество руководств и примеров кода даже для свежих статей. Плохо то, что сложно найти эффективное решение и нужно разбираться во всех тонкостях, чтобы добиться должной производительности. Например, в задаче NLP вы можете использовать простой генератор последовательностей, но если вы работаете с миллионами точечных данных, нарезка данных станет вашим узким местом. Также простой RNN обычно дает плохие результаты, поэтому лучше знать принцип работы LSTM и GRU. Если вы пойдете глубже, проверьте модели DeepAR, MQRnn, IndRnn, mLSTM, возможно, некоторые идеи помогут.

Причинные извилины

Сверточные слои произвели настоящую революцию в задачах обработки изображений в 2016 году. Кажется, что историю машинного обучения можно разделить на две части: до свертки и после. Поэтому многие исследователи начали находить новые применения консетей, и прогнозирование не является исключением. Самая популярная сеть, которая обрабатывает временные ряды, — это WaveNet от DeepMind, которая применяет несколько причинно-следственных сверточных слоев с расширением и остаточными связями. Также существует временная конверсионная сеть, которая делает то же самое, но конверсионные слои сложены как полносвязная сеть.

Модели внимания

На сегодняшний день это самый популярный тип моделей. Почти каждую неделю на archive.org появляется новая статья с ключевым словом «внимание». Опять же, он использует очень хорошую идею, которую можно распространять на бесконечное количество новых идей. «Внимание — это все, что вам нужно» — это оригинальная статья, в которой впервые были предложены Трансформеры…