Таблетки машинного обучения — выпуск №3

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

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

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

Данные временных рядов можно разложить на разные компоненты:

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

Модели декомпозиции

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

Аддитивная модель

Эти модели предполагают, что наблюдаемый временной ряд представляет собой сумму его элементов:

y(t) = тренд + сезонность + остаток

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

Мультипликативная модель

Эти модели предполагают, что наблюдаемый временной ряд является произведением его элементов:

y(t) = тренд × сезонность × остаток

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

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

log(y(t)) = log(тренд) + log(сезонность) + log(остаток)

Другие модели

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

  • Псевдоаддитивная модель
  • Экспоненциальное сглаживание
  • Локально оцененное сглаживание диаграммы рассеяния (LOESS)
  • Частотные методы

модель САРИМА

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

Однако, если наши данные демонстрируют сезонность, нам потребуется сезонная модель ARIMA или так называемая SARIMA. Модель SARIMA является расширением модели ARIMA для явного моделирования сезонного компонента в одномерных данных.

Модель SARIMA(p,d,q)(P,D,Q)m определяется семью параметрами. Три исходят из части ARIMA, а дополнительные четыре параметра характеризуют моделирование сезонного элемента:

Тенденция:

  • p : порядок авторегрессии тренда.
  • d : порядок изменения тренда
  • q : порядок трендовой скользящей средней.

Сезонность:

  • P : сезонный авторегрессионный порядок
  • D : порядок сезонной разницы
  • Q : порядок сезонной скользящей средней.
  • m : количество временных шагов для сезонного периода.

Выбор параметров

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

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

p и q будут выбраны, как показано в предыдущей статье, при просмотре элемента тренда с использованием графиков ACF и PACF. d будет выбран таким образом, чтобы тренд был стационарным.

Точно так же графики ACF и PACF используются для оценки значений P и Q путем изучения корреляции сезонных задержек. D будет выбран, чтобы сделать период сезонного элемента постоянным.

Однако вы можете просто использовать auto-ARIMA, если у вас есть частота m, чтобы выбрать последние шесть параметров.

Ограничения

Ограничение моделей SARIMA заключается в том, что их можно использовать только с одной сезонностью. Например, могут быть случаи, когда у нас может быть сезонность в течение дня, в течение недели, а также в течение года. Есть и другие модели, способные справиться с этим, например: ТБАБС.

Попробуй сам!

Разложите ваши данные

Если вы хотите разложить некоторые данные временных рядов, вы можете следовать пошаговому руководству (и коду), которым я поделился в Твиттере:

Создайте свою модель Auto-ARIMA

Здесь у вас есть, как построить свою собственную модель Auto-ARIMA:

Построить модель Auto ARIMA | Kagglewww.kaggle.com
Исследуйте и запускайте код машинного обучения с помощью Kaggle Notebooks | Использование данных из источников данных без подключения

Если вам понравился этот контент, не забудьте подписаться на мою новостную рассылку и следить за мной в Твиттере!