Стационарность, случайное блуждание, белый шум, модели временных рядов и оценка моделей.
В этой статье мы собираемся изучить, что такое анализ временных рядов? Каковы его возможности в будущем? и ключевые концепции анализа временных рядов.
Содержание:
- Введение: что такое анализ временных рядов и его важность?
- Что такое стационарность временных рядов и их типов?
- Белый шум и случайное блуждание
- Функция автокорреляции (ACF) и функция частичной автокорреляции (PACF)
- Модели: авторегрессия (AR), скользящая средняя (MA), авторегрессия-скользящая средняя (ARMA), модель авторегрессии – скользящего среднего с экзогенными входными данными (ARMAX) и авторегрессивная интегрированная скользящая средняя (ARIMA).
- Определение порядка моделей
- Диагностика модели
- Метод Бокса-Дженкинса
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.