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

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

В этой статье мы рассмотрим характеристики временных рядов, используя данные закрытия акций Google за последний год. Вы можете найти коды в github repo.

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

Компоненты временных рядов

Все временные ряды можно разделить на три составляющие:

  1. Тенденция: медленные изменения, происходящие во временном ряду.
  2. Сезонность. Шаблоны изменений, которые повторяются через определенные промежутки времени. Это могут быть недельные, месячные, годовые и т. д. Сезонные изменения указывают на отклонения от тренда в определенных направлениях.
  3. Остатки. Необычные события, происходящие в данных, например внезапное увеличение частоты сердечных сокращений у человека во время тренировки. Они вызывают случайные ошибки и также называются «белым шумом».

Визуализация вышеуказанных компонентов называется «декомпозицией».

При изучении графиков в последнее время можно наблюдать тенденцию к увеличению. Кроме того, в данных присутствует сезонность. Если бы в данных не было сезонности, «сезонный» график продолжался бы как прямая линия, начинающаяся с 0.

Наивное предсказание

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

  • Среднее арифметическое. Например, если у нас есть ежедневные данные о запасах и мы хотим предсказать следующие 7 дней, мы можем использовать среднее арифметическое, взяв среднее значение за предыдущие 7 дней в качестве прогноза на следующие 7 дней.
  • Последнее наблюдаемое значение. Опять же, учитывая данные о запасах, если мы хотим предсказать дату 20.01.2023, мы будем использовать значение, наблюдаемое 19.01.2023, в качестве прогноза на 20.01.2023.

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

Случайная прогулка

Random Walk представляет собой путешествие, которое происходит случайным образом, как следует из названия. В этой модели значение следующего шага определяется случайным образом на основе значения текущего шага. Значения, полученные на каждом шаге, обычно определяются случайными величинами, которые независимы и имеют одинаковое распределение.

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

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

Стационарные данные

Модели, используемые для прогнозирования временных рядов, такие как MA, AR, ARMA, предназначены для работы со стационарными данными.

Стационарный процесс – это процесс, статистические свойства которого не меняются во времени. Если среднее значение, дисперсия и автокорреляция временного ряда не меняются с течением времени, то данные считаются стационарными.

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

  • Разность. Это преобразование стабилизирует среднее значение, удаляет тренды и сезонные эффекты. Этот процесс достигается путем вычитания значения предыдущего временного шага y(t-1) из текущего значения y(t). Этот процесс может выполняться несколько раз.

  • Логарифмирование ряда:логарифмирование помогает стабилизировать дисперсию ряда.

ПРИМЕЧАНИЕ.Если мы применяем какое-либо преобразование к временным рядам, нам необходимо обратить этот процесс при получении результатов прогнозирования модели.

Понимание того, являются ли данные стационарными

Чтобы определить, являются ли данные временного ряда стационарными, используется тест Дики-Фуллера (ADF). Подобно t-критерию, устанавливается порог значимости, и p-значение интерпретируется на основе этого порога.

  • Нулевая гипотеза: данные нестационарны.
  • Альтернативная гипотеза:данные стационарны

If:

  • p-значение ‹ пороговое значение (например, 0,01, 0,05 и т. д.), мы можем отклонить нулевую гипотезу и сделать вывод, что данные стационарны.

Когда мы применяем тест Дики-Фуллера к данным закрытия акций Google, мы получаем следующие результаты:

  • Статистика ADF: -1,4904778097402294
  • значение p:0,538216461195455

Если мы рассмотрим порог 0,05 для значения p, мы можем сказать, что эти данные нестационарны.

Функция автокорреляции

Когда у нас есть стационарный ряд, следующим шагом будет определение наличия автокорреляции. Автокорреляционная функция (ACF) измеряет линейную зависимость между лаговыми значениями временного ряда, особенно рассматривая связь между yt и yt-1.

При наличии тренда график АКФ показывает, что коэффициенты высоки для начальных лагов и линейно уменьшаются по мере увеличения лага. Кроме того, если в данных есть сезонность, график ACF также укажет на это.

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

Когда применяется преобразование данных: результаты теста Дики-Фуллера и график ACF

Применение преобразования данных может повлиять на результаты теста Дики-Фуллера и графика АКФ. Преобразовывая данные, мы стремимся сделать их более стационарными и устранить любые тенденции или сезонность.

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

  • Статистика ADF: -15,35612522283515
  • значение p: 3,664746148276414e-28

Поскольку значение p меньше 0,05, теперь мы можем сделать вывод, что мы получили стационарные данные. Когда мы изучаем график АКФ, мы видим, что коэффициенты попадают в доверительный интервал, что указывает на незначительность.

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

Базовая модель

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

Базовая модель будет создана на основе среднего арифметического и последнего наблюдаемого значения. Если мы рассмотрим график прогнозов ниже, мы увидим, что обе модели работают плохо. Однако это не имеет существенного значения. Важно то, что модели, которые мы создадим в будущем, превзойдут эти две модели. Мы можем использовать показатель MSE для этого сравнения. MSE для модели со средним арифметическим значением составляет 2,86, а для модели с последним наблюдаемым значением — 2,56.

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

Рекомендации