А. Сначала немного теории

1. Что такое временной ряд?

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

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

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

Примеры данных временных рядов включают:

  • Ежедневные цены на акции
  • Температура моря по месяцам
  • Ежеквартальные продажи для компании
  • Годовая прибыль компании

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

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

2. Основные шаги в задаче прогнозирования

  1. Определение проблемы. Часто это самая сложная часть прогнозирования. Тщательное определение проблемы требует понимания того, как будут использоваться прогнозы, кому они нужны, и как функция прогнозирования вписывается в организацию, требующую прогнозов. Прогнозисту необходимо потратить время на общение со всеми, кто будет участвовать в сборе данных, ведении баз данных и использовании прогнозов для будущего планирования.
  2. Сбор информации. Всегда требуется как минимум два вида информации: (а) статистические данные и (б) накопленный опыт людей, которые собирают данные и используют прогнозы. Часто бывает трудно получить достаточно исторических данных, чтобы соответствовать хорошей статистической модели. Иногда старые данные будут менее полезными из-за структурных изменений в прогнозируемой системе; тогда мы можем использовать только самые свежие данные. Однако помните, что хорошая статистическая модель будет учитывать эволюционные изменения в системе; не выбрасывайте хорошие данные без надобности.
  3. Исследовательский анализ. Всегда начинайте с графического представления данных. Есть ли закономерности? Есть ли значимая тенденция? Важна ли сезонность? Есть ли доказательства наличия бизнес-циклов? Есть ли какие-либо выбросы в данных, которые должны быть объяснены специалистами? Насколько сильны взаимосвязи между переменными, доступными для анализа? Для помощи в этом анализе были разработаны различные инструменты.
  4. Выбор и подгонка моделей. Выбор наилучшей модели зависит от наличия исторических данных, силы взаимосвязи между переменной прогноза и любыми независимыми переменными, а также от способа использования прогнозов. Обычно сравнивают две или три потенциальных модели. Каждая модель сама по себе является искусственной конструкцией, которая основана на наборе предположений (явных и неявных) и обычно включает один или несколько параметров, которые должны быть оценены с использованием известных исторических данных.
  5. Использование и оценка модели прогнозирования. После выбора модели и оценки ее параметров модель используется для составления прогнозов. Эффективность модели можно правильно оценить только после того, как станут доступны данные за прогнозный период. Был разработан ряд методов, помогающих оценить точность прогнозов. Существуют также организационные вопросы использования прогнозов и действий на их основе.

3. Графика временных рядов

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

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

На графиках мы можем наблюдать несколько моделей временных рядов:

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

  1. Ежемесячные продажи жилья (вверху слева) демонстрируют сильную сезонность в течение каждого года, а также сильную цикличность с периодом около 6–10 лет. В данных за этот период нет явной тенденции.
  2. Контракты казначейских векселей США (вверху справа) показывают результаты рынка Чикаго за 100 торговых дней подряд в 1981 году. Здесь нет сезонности, но есть очевидная тенденция к снижению. Возможно, если бы у нас был гораздо более длинный ряд, мы бы увидели, что этот нисходящий тренд на самом деле является частью длинного цикла, но если рассматривать его всего за 100 дней, он кажется трендом.
  3. Квартальное производство электроэнергии в Австралии (внизу слева) демонстрирует сильную тенденцию к увеличению с сильной сезонностью. Здесь нет никаких свидетельств какого-либо циклического поведения.
  4. Ежедневное изменение цены акций Google на момент закрытия (внизу справа) не имеет тенденции, сезонности или цикличности. Есть случайные колебания, которые не кажутся очень предсказуемыми, и нет сильных закономерностей, которые помогли бы разработать модель прогнозирования.

Б. Давайте кодировать, строить и учиться

Импорт библиотек

Импорт данных

Данные ежемесячные и есть две переменные. Один для температуры поверхности моря и один для солености морской поверхности.

1. График времени

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

На этих графиках мы видим:

  • Странные значения, например выбросы и значения, которые необходимо объяснить, поскольку они отличаются от сезонности или тенденции.
  • Периоды отсутствующих наблюдений.
  • Колебания данных. Например, соленость колеблется в 2008 году.
  • тренд, сезонность и цикличность. Например, температура имела сильную сезонность и не имела тенденций или цикличности.

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

  • Обратная заливка
  • Линейная интерполяция
  • Квадратичная интерполяция
  • Среднее значение ближайших соседей
  • Среднее значение сезонных аналогов

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

2. Сезонные графики

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

На сезонном графике мы сразу видим:

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

На графиках тренда и сезонности мы видим:

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

3. График сезонных подсерий

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

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

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

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

Если мы предполагаем аддитивное разложение, то мы можем написать

, где yₜ - данные, Sₜ - сезонная составляющая, Tₜ - составляющая цикла тренда, а Rₜ - составляющая остатка, все в периоде t. В качестве альтернативы мультипликативное разложение можно было бы записать как

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

Построение всех этих цифр вместе дает мгновенное представление о данных.

Я надеюсь, что эта статья помогла вам в начале (или нет) вашего путешествия во времени и сериалах.

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

Справка: Большое спасибо замечательному udemy course за введение в Анализ временных рядов!