Стационарность, случайное блуждание, белый шум, модели временных рядов и оценка моделей.

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

Содержание:

  1. Введение: что такое анализ временных рядов и его важность?
  2. Что такое стационарность временных рядов и их типов?
  3. Белый шум и случайное блуждание
  4. Функция автокорреляции (ACF) и функция частичной автокорреляции (PACF)
  5. Модели: авторегрессия (AR), скользящая средняя (MA), авторегрессия-скользящая средняя (ARMA), модель авторегрессии – скользящего среднего с экзогенными входными данными (ARMAX) и авторегрессивная интегрированная скользящая средняя (ARIMA).
  6. Определение порядка моделей
  7. Диагностика модели
  8. Метод Бокса-Дженкинса

1. Введение:

Анализ временных рядов - это статистический метод, связанный с данными временных рядов или анализом тенденций. Во временных рядах данные находятся в серии определенных периодов времени или интервалов.

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

Временной ряд состоит из следующих компонентов:

  • Тренд: тенденция показывает общую тенденцию данных к увеличению или уменьшению в течение длительного периода времени. Тренд - это плавная, общая, долгосрочная, средняя тенденция. Не всегда необходимо, чтобы увеличение или уменьшение происходило в одном и том же направлении в течение заданного периода времени.
  • Сезонность: закономерности, которые часто повторяются через равные промежутки времени. Например: высокие продажи каждые выходные.
  • Цикличность: Цикличность - это повторяющийся образец, но без фиксированного периода.

Объем анализа временных рядов:

  • Анализ фондового рынка
  • Экономическое прогнозирование
  • Инвентарные исследования
  • Прогнозирование спроса
  • Прогнозирование продаж и многое другое

2] Стационарность:

Стационарный означает, что распределение данных не меняется со временем.

  • Нет тенденции: не растет и не сокращается.
  • Среднее значение и постоянная дисперсии: среднее расстояние между точками данных от нулевой линии не меняется.
  • Константа автокорреляции: то, как каждое значение во временном ряду связано со своими соседями, остается неизменным.

◦ Виды стационарных:

  • Сильная стационарность: все распределение данных не зависит от времени.
  • Слабая стационарность: среднее значение, дисперсия и автокорреляция не зависят от времени (т.е. для автокорреляции corr [(X (t), X (t − τ)] является функцией только τ)

◦ Тест на стационарность: Расширенный тест Дики Фуллера

  • Нулевая гипотеза состоит в том, что временной ряд нестационарен.
  • Альтернативная гипотеза состоит в том, что временной ряд нестационарен.
  • Тест Дики-Фуллера используется только для проверки тренда.

◦ Сделать временной ряд стационарным:

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

  • Стационарность за счет дифференцирования временных рядов
  • Ведение журнала временных рядов
  • Извлечение квадратного корня из временного ряда
  • Принимая пропорциональное изменение (df.shift (1) / df)

3] Белый шум и случайное блуждание:

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

Белый шум - это серия с:

  • Постоянное среднее
  • Постоянная дисперсия
  • Нулевые автокорреляции при всех лагах

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

Случайное блуждание: случайное блуждание - это еще одна модель временных рядов, в которой текущее наблюдение совпадает с предыдущим наблюдением с шумом .

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

4] Функция автокорреляции и функция частичной автокорреляции:

Автокорреляция: автокорреляция - это корреляция отдельного временного ряда с отставшей копией самого себя. Это также называется однократной корреляцией.

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

ACF показывает не только автокорреляцию с одним лагом, но и всю функцию автокорреляции для разных лагов.

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

5] Модели:

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

5.1) Модель AR:

В модели авторегрессии мы регрессируем значения временного ряда по сравнению с предыдущими значениями того же временного ряда.

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

Порядок модели - это количество использованных лагов (p). а для стационарного -1 ‹a1, a2, .., ap‹ 1. Если параметр AR (p) равен 0, то процесс является белым шумом.

5.2] Модель MA:

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

Порядок модели - это количество использованных лагов (q). а для стационарного -1 ‹m1, m2, .., mq‹ 1. Если параметр MA (p) равен 0, то процесс является белым шумом.

5.3] Модель ARMA:

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

5.4) Модель ARMAX:

ARMAX - это модель зависимой переменной с задержкой и независимых переменных с задержкой. Одним из возможных расширений модели ARMA является использование экзогенного. Это означает, что мы моделируем временной ряд, используя другие независимые переменные, а также сам временной ряд.

Это похоже на комбинацию модели ARMA и нормальной модели линейной регрессии.

  • Экзогенный ARMA
  • Используйте внешние переменные, а также временные ряды
  • ARMAX = ARMA + линейная регрессия

В принципе, модель ARMAX - это модель линейной регрессии, в которой используется процесс типа ARMA [т.е. w (t)] для моделирования остатков:

5.5) Модель ARIMA:

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

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

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

Модель ARIMA характеризуется тремя терминами: p, d, q.

куда,

  • p - порядок члена AR
  • q - порядок члена MA
  • d - количество разностей, необходимых для того, чтобы временной ряд стал стационарным.

6] Определение порядка моделей:

6.1) Использование ACF и PACF для выбора порядка модели: просмотрев графики функции автокорреляции (ACF) и частичной автокорреляции (PACF) разностных рядов, вы можете предварительно определить количество необходимых терминов AR и / или MA, т. е. p, q.

ACF используется для определения порядка термина MA, а PACF - для AR. Существует правило большого пальца, согласно которому для MA задержка, при которой ACF внезапно отключается, соответствует порядку MA, как и для PACF и AR.

Если амплитуда ACF уменьшается с увеличением задержки, а PACF обрывается после некоторой задержки p, то у нас есть модель AR (p).

Если амплитуда ACF обрывается после некоторого запаздывания q, а
амплитуда PACF уменьшается, то у нас есть модель MA (q)
.

6.2) Кретиария информации: два популярных скорректированных критерия согласия.

6.2.1) Информационный критерий Акаике (AIC):

  • AIC - это матрица, которая показывает нам, насколько хороша модель. Модель, которая делает более точные прогнозы, получает более низкий балл AIC.
  • AIC также наказывает модели с большим количеством параметров. Это означает, что если мы установим слишком высокий порядок по сравнению с данными, мы получим высокое значение IC. Это мешает нам переобучаться обучающим данным.

6.2.2) Байесовский информационный критерий (BIC):

  • BIC похож на AIC, модели, которые лучше соответствуют данным, имеют более низкие BIC, а BIC наказывает слишком сложные модели.
  • BIC наказывает дополнительные заказы на модели больше, чем AIC, поэтому BIC иногда предлагает более простую модель. (BIC отдает предпочтение более простым моделям)

7] Диагностика модели:

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

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

7.1) Средняя абсолютная ошибка:
насколько велики остатки и насколько далеко наши прогнозы от истинных значений. Затем вычислите mae остатков.
Если модель подходит, остатки будут белыми гауссовыми с центром на нуле.

7.2) Диагностика графика:

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

7.2.2) Гистограмма плюс расчетная плотность: показывает распределение остатков. Гистограмма показывает нам измеренное распределение. Зеленые линии показывают сглаженные версии, а оранжевые линии показывают нормальное распределение.

7.2.3) Нормальный Q-Q: График нормального Q-Q - это еще один способ показать, как распределение остатков модели сравнивается с нормальным распределением.

Если наши остатки нормально распределены, то все точки должны лежать вдоль красной линии, за исключением, возможно, некоторых значений на обоих концах.

7.2.4) Коррелограмма: последний график - это коррелограмма, которая представляет собой просто график ACF остатков, а не данных. 95% корреляций для лага больше нуля не должны быть значимыми. Если существует значительная корреляция в остатках, это означает, что в данных есть информация, которую наша модель не зафиксировала. Остатки коррелированы. Вам следует увеличить p или q.

7.2.5) Сводная статистика:

  • Вероятность (Q) - это p-значения, связанные с нулевой гипотезой о том, что остатки не имеют корреляционной структуры.
  • Вероятность (JB) - это p-значения, связанные с нулевой гипотезой о том, что остатки имеют нормальное гауссовское распределение.
  • Если какое-либо значение p меньше 0,05, мы отклоняем нулевую гипотезу.

8] Метод Бокса-Дженкинса:

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

  • Идентификация
    На этом этапе мы исследуем и характеризуем данные, чтобы найти их форму, подходящую для моделирования.
    • Является ли временной ряд стационарным?
    • Какая разность сделает его стационарным?
    • Какие преобразования сделают его стационарным?
    • Какие значения p и q наиболее перспективны?
  • Инструменты идентификации
    • Постройте временной ряд df.plot ()
    • Используйте расширенный тест Дики-Фуллера adfuller ()
    • Используйте преобразования и / или дифференцирование df. diff (), np.log (), np.sqrt ()
    • Постройте ACF / PACF plot_acf (), plot_pacf ()
  • Оценка
    Это включает использование численных методов для оценки коэффициентов AR и MA данных.
    Это делается автоматически, когда мы вызываем метод models.fit (). < br /> • Используйте данные для обучения коэффициентов модели
    • Сделано для нас с помощью model.fit ()
    • Выбирайте между моделями с использованием AIC и BIC: results.aic, results.bic
  • Диагностика модели: на этом этапе мы оцениваем качество наиболее подходящей модели.
    • Не коррелированы ли остатки.
    • Нормально ли распределяются остатки.
  • Решение
    Используя информацию, полученную в результате статистических тестов и графиков на этапе диагностики, нам необходимо принять решение. Достаточно ли хороша модель или нам нужно вернуться и доработать.
    Если остатки не такие, какими они должны быть, мы вернемся и переосмыслим наш выбор, сделанный на предыдущих этапах. Если с остатками все в порядке, мы можем делать прогнозы.

Заключение:

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

Спасибо за прочтение. Надеюсь, это помогло вам понять основные концепции анализа временных рядов.

Следуйте за мной в Medium. Как всегда, я приветствую обратную связь, и с ней можно связаться в Linkedin.