Что такое данные временных рядов
Временной ряд - это последовательность числовых точек данных по упорядоченной последовательности временных шагов.Одно из ключевых различий с данными временного ряда заключается в том, что время рассматривается не как любая другая переменная, а как первичная ось. Временной ряд является измеряемым и переменным, и к нему относятся четыре общих компонента данных:
- Уровень: Это относится к среднему базовому значению временного ряда, если он является прямой линией.
- Тенденции: Данные временных рядов часто движутся вверх или вниз в пределах предсказуемых закономерностей.
- Сезонность: Часто встречаются сезонные колебания, которые повторяются в течение определенного периода времени.
- Переменчивость: Также называется волатильностью, это относится к случайным колебаниям данных, которые не попадают ни в одну из других категорий. Помимо случайных вариаций, колебания могут возникать в результате особых событий, таких как новости.
Что такое прогнозирование временных рядов
Прогнозирование временных рядов - это процесс построения модели, которая обучается на основе исторических данных и использует наблюдения для прогнозирования будущих наблюдений.
При анализе временных рядов цель исследования, как правило, заключается в том, чтобы понять, из-за чего что-либо случилось в наших данных временных рядов. С другой стороны, при прогнозировании временных рядов нас не обязательно волнует, почему что-то случилось в нашем наборе данных, а скорее то, что произойдет в будущем.
Одним из важных отличий прогнозирования временных рядов является то, что будущие данные совершенно недоступны для нас, поэтому они должны оцениваться с использованием статистического или машинного метода прогнозирования.
Методы прогнозирования статистических рядов
- Простое среднее: Также называемое арифметическим средним, простое среднее вычисляется путем взятия суммы единичных наблюдений и деления их на общее количество наблюдений за период времени.
- Средневзвешенное: Средневзвешенное значение аналогично простому среднему, хотя на него влияют весовые коэффициенты, присваиваемые каждому значению данных. Например, если математический класс имеет три теста в каждом семестре, и каждый тест взвешен по-разному, то средневзвешенное значение определит, насколько каждый из них повлиял на нашу итоговую оценку.
- Простое скользящее среднее (SMA): Другой способ построить простое скользящее среднее - брать среднее только для различных подмножеств за весь период времени. Например, при инвестировании принято брать среднюю цену за предыдущие 10, 20, 50, 100 или 200 дней.
- Экспоненциальное сглаживание: Экспоненциальное сглаживание аналогично простому скользящему среднему, но вместо этого оно придает большее значение последним точкам данных. Другими словами, SMA взвешивает все прошлые наблюдения одинаково, в то время как экспоненциальное сглаживание придает выраженное понижающее значение с течением времени.
- Двойное и тройное экспоненциальное сглаживание: также известное как прогнозирование Холт-Винтерс, оно учитывает сезонные закономерности и долгосрочные тренды в прогнозе.
Как уже упоминалось, до этого момента мы рассматривали только одномерные данные временных рядов. Однако в реальном мире данные часто бывают в виде многомерных временных рядов, а это означает, что существует множество переменных, которые влияют на прогноз будущих значений.
Двумя наиболее распространенными методами прогнозирования данных многомерных временных рядов являются векторная авторегрессия (VAR) и авторегрессивное скользящее среднее (ARIMA).
- Векторная авторегрессия (VAR): В модели VAR каждая переменная является линейной функцией собственных прошлых значений, а так же прошлых значений. Этот аспект VAR-модели позволяет фиксировать линейные зависимости между несколькими переменными, так как они допускают более чем одну развивающуюся переменную.
- Автоматическое регрессионное скользящее среднее (ARIMA): ARIMA - это еще одна модель прогнозирования, целью которой является описание данного временного ряда на основе его собственных прошлых значений. Другими словами, она нацелена на "объяснение" корреляций в данных для прогнозирования будущих значений.
Машинное обучение Методы прогнозирования временных рядов
До сих пор мы обсуждали классические статистические подходы к прогнозированию временных рядов, но в нашем распоряжении имеется также много моделей машинного обучения.
К числу наиболее распространенных методов машинного обучения прогнозированию временных рядов относятся:
- XGBoost: XGBoost - это программное обеспечение с открытым исходным кодом, предоставляющее платформу для градиентного форсирования, которое представляет собой метод машинного обучения для решения проблем классификации и регрессии, в результате чего получается модель прогнозирования.
- Регрессия основных компонентов (PCR): Основанная на общей статистической технике Principal Component Analysis (PCA), технология является регрессионным анализом, который часто используется, когда объясняющие переменные сильно коррелируют.
- Повторяющиеся нейронные сети (RNNs): Сети регрессионного нейроанализа (RNNs) представляют собой класс искусственных нейронных сетей, которые часто используются для прогнозирования временных рядов. В отличие от других нейросетей, Сети RNN имеют связи между узлами, которые упорядочены последовательно, то есть их внутреннее состояние позволяет им обрабатывать последовательности временных входов (т.е. данные временных рядов).
- Сети длинной кратковременной памяти (LSTM): Сети LSTM представляют собой вариант сетей RNN, которые специализируются на изучении более длинных последовательностей данных временных рядов, что делает их особенно полезными при прогнозировании временных рядов.
Проблемы прогнозирования
Как мы уже говорили, точное прогнозирование в бизнесе является одним из важнейших аспектов в корпоративном планировании. Однако, независимо от того, используете ли вы статистический метод или метод машинного обучения, построение точной модели прогнозирования является сложной задачей.
Некоторые из основных проблем в области прогнозирования включают в себя:
- Конечные данные: если вы используете модель машинного обучения прогнозированию, то первой задачей является нахождение достаточного количества данных, доступных в качестве входных. Например, если вы - новая компания и имеете только один год данных о продажах, точное прогнозирование на следующий год не реалистично с учетом имеющихся данных.
- Перегрузка факторов: Тот факт, что машинное обучение может включать в модель миллионы факторов, является одновременно и сильной стороной, и проблемой при прогнозировании. С одной стороны, вы никогда не сможете включить все эти факторы в ручной метод прогнозирования, хотя определить, какие факторы на самом деле влияют на последующие временные периоды, довольно сложно.
Итог: Прогнозирование временных рядов
Как уже говорилось, для одномерных данных временных рядов мы можем использовать статистические методы, включая простые средние, скользящие средние и экспоненциальное сглаживание. Для многомерных данных временных рядов два наиболее распространенных статистических метода называются векторной авторегрессией (VAR) и авторегрессивным скользящим средним (ARIMA).
Если вместо этого мы хотим использовать алгоритм машинного обучения, то существует несколько техник: Повторяющиеся нейронные сети (Recurrent Neural Networks) и в частности сети LSTM, очень полезен при прогнозировании временных рядов.
Долгосрочные и среднесрочные прогнозы валютных пар и криптовалют. Компания прогнозирования экономики Rate-Live проводит математико-статистические способы прогнозирования на базе точных исторических данных.