Анализ временных рядов с использованием модели ненаблюдаемых компонентов в Python

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

Что такое UCM?

Модель ненаблюдаемых компонентов (UCM) (Харви (1989)) выполняет разложение временного ряда на такие компоненты, как тренд, сезонность, цикл и эффекты регрессии, обусловленные рядом предикторов.

Чего ожидать от этой статьи?

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

Временные рамки в исходной статье варьировались в зависимости от серии, но в целом это были 1954–1989 гг. Ниже я использую данные за период 1970–2020 гг. Для всех рядов. Хотя подход ненаблюдаемых компонентов позволяет изолировать сезонную составляющую в модели, ряды, рассматриваемые в статье, и здесь, уже скорректированы на сезонные колебания. Все рассматриваемые здесь ряды данных взяты из Экономических данных Федеральной резервной системы (FRED). Удобно, что библиотека Python Pandas может загружать данные напрямую из FRED.

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

ДЕЙСТВУЙТЕ ВНИМАНИЕ! (p.s. - это не так уж и сложно, поверьте в себя)

Получение данных

Вот как выглядят данные:

О МОДЕЛИ-

Хорошо, вот для чего вы здесь!

Теперь мы знаем: Временной ряд отклика = суперпозиция таких компонентов, как тренд, сезоны, циклы и эффекты регрессии ...

Каждый компонент модели отражает некоторые важные особенности динамики серии. Компоненты модели имеют свои вероятностные модели. Вероятностные компонентные модели включают значимые детерминированные шаблоны как частные случаи.

Вот так выглядит обобщенная модель:

Компоненты-

Тенденция -

Компонент тренда - это динамическое расширение регрессионной модели, которое включает пересечение и линейный временной тренд.

где уровень - это обобщение члена пересечения, которое может динамически изменяться во времени, а тренд - это обобщение временного тренда, так что наклон может динамически изменяться во времени. Для обоих элементов (уровня и тренда) можно рассматривать модели, в которых:

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

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

Особые случаи-

Примеры-

Сезонный -

Сезонная составляющая записывается как:

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

Сезонный образец существует, когда существует постоянный образец изменения под влиянием сезонных факторов (например, квартал года, день недели и т. Д.).

Представления сезонной модели (период = s) -

  1. В виде списка s чисел, сумма которых равна нулю
  2. В виде суммы [s / 2] детерминированных незатухающих циклов, называемых гармониками, периодов s, s / 2, s / 3,…

Здесь [s / 2] = s / 2, если s четное, и [s / 2] = (s-1) / 2, если s нечетное.

Пример: при s = 12 сезонный образец всегда можно записать как сумму шести циклов с периодами 12, 6, 4, 3, 2,4 и 2.

Варианты модели-

  1. Сезонная модель стохастической фиктивной переменной -. Пусть в году будет s сезонов, s = 12 для ежемесячных данных, s = 4 для квартальных данных и s = 2 для двух- годовые данные. Рассмотрим следующую модель сезонного эффекта gamma_t в момент времени t:

В этой модели сумма сезонных эффектов имеет нулевое среднее, хотя их стохастический характер позволяет им развиваться либо медленно с течением времени (когда дисперсия (sigma_w²) мала), либо быстро с течением времени (когда она большая).

2. Сезонная модель детерминированной фиктивной переменной -

В частном случае, когда дисперсия равна 0 в приведенной выше модели, мы имеем следующую так называемую сезонную модель с детерминированной фиктивной переменной. В этой модели сезонные эффекты -

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

где ограничение суммы

подразумевает, что

Примеры-

Цикл -

Циклический компонент предназначен для улавливания циклических эффектов во временных рамках, намного более длительных, чем улавливаемые сезонным компонентом. Например, в экономике термин «цикличность» часто предназначен для обозначения бизнес-цикла, и в этом случае предполагается, что он будет иметь период от «1,5 до 12 лет».

Цикл записывается как:

Параметр λc (частота цикла) является дополнительным параметром, который оценивает MLE. Если сезонный эффект является стохастическим, то необходимо оценить еще один параметр (дисперсия члена ошибки - обратите внимание, что оба члена ошибки здесь имеют одинаковую дисперсию, но предполагается, что они имеют независимые результаты). Циклы в данных временных рядов существуют, когда данные показывают подъемы и спады, которые не относятся к фиксированному периоду. Продолжительность этих колебаний обычно составляет не менее 2 лет.

Варианты модели-

1. Детерминированная циклическая модель. Пусть детерминированный цикл с частотой

быть написано как

Если t наблюдается непрерывно, это периодическая функция с

Период-

Амплитуда

Фаза-

Если ответ измеряется только при целочисленных значениях t, то он не является точно периодическим, если -

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

2. Стохастическая циклическая модель. В качестве альтернативы указанию одного или нескольких детерминированных циклов и введению множества параметров можно указать стохастическую циклическую модель как in-

где 0≤rho≤1 - коэффициент демпфирования, а возмущения vt и vt * независимо распределены как N (0, sigma_v²) случайных величин. Эта модель может фиксировать довольно сложные циклические закономерности в экономических и деловых временных рядах без введения большого количества параметров. Если rho ‹1, ряд имеет стационарное распределение с нулевым средним и дисперсией -

Если rho = 1, ряд нестационарен. Конечно, если дисперсия (sigma_v²) = 0, мы возвращаемся к детерминированной циклической модели.

Примеры-

Нерегулярные -

Предполагается, что нерегулярная составляющая является ошибкой белого шума. Его дисперсия - это параметр, который должен оценить MLE; т.е.

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

В этом случае параметры авторегрессии также будут оцениваться через MLE.

Эффекты регрессии-

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

или для эффектов вмешательства путем включения

Эти дополнительные параметры можно оценить с помощью MLE или путем включения их в формулировку пространства состояний.

Установка моделей UCM

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

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

-Локальный линейный тренд («неограниченная» модель)

-Плавный тренд («ограниченная» модель, поскольку мы устанавливаем ση = 0)

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

Теперь нам подходят следующие модели:

  1. Выход, неограниченная модель
  2. Цены, неограниченная модель
  3. Цены, ограниченная модель

Для моделей ненаблюдаемых компонентов часто более поучительно построить сами оценочные ненаблюдаемые компоненты (например, уровень, тренд и цикл), чтобы увидеть, обеспечивают ли они содержательное описание данных.

Вывод

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

Коэффициенты расположены в следующем порядке - уровень, тренд,
цикл, damping_cycle, период_цикла (= 2 * pi / frequency_cycle) и
нерегулярный. Кроме того, все значения, кроме демпфирования и периодов, увеличиваются путем умножения на 1e7.

Для модели без ограничений по ВНП коэффициент периодического цикла равен 24,63, что является самым высоким среди других, что означает, что это наиболее важный компонент для этой модели.

Заключение

Всем привет! Надеюсь, это было полезно! Чтобы получить коды и опробовать их на себе, перейдите на мой Github. Ссылка ниже -



Автор: Варишу Пант

-Статист, специалист по данным и автор текстов.

Для любых предложений, исправлений или просто побеседовать со мной, свяжитесь со мной здесь-

Https://www.linkedin.com/in/varishu-pant/

Также ознакомьтесь с другими моими блогами (например, с прогнозом популярности на Youtube), опубликованными в Analytics Vidhya здесь-



Я сделал несколько пользовательских функций для облегчения понимания и реализации моделей, вот видео для тех же -

И если вам нравится слушать хип-хоп, у меня есть несколько оригиналов на моем канале Youtube.