Найти в Дзене

Holt-Winters' Model в Машинном обучении простыми словами

Модель Хольта-Винтера (алгоритм тройного экспоненциального сглаживания) – метод прогнозирования Временных рядов (Time Series), учитывающий тренд, Cезонность (Seasonality) и Шум (Noise). Анализ временных рядов – это наиболее широко используемая область Науки о данных (Data Science) и Машинного обучения (ML); он использует исторические данные, чтобы определить тенденцию. На прогнозируемые значения могут влиять определенные внешние факторы, которые известны как Предиктор (Predictor Variable), например, на продажи продукта влияет скидка, или температура зависит от влажности и скорости ветра и т.д. Специалисту по анализу данных доступен ряд алгоритмов прогнозирования временных рядов, но выбор зависит от бизнес-задач и Датасета (Dataset). Для анализа могут использоваться простые методы прогнозирования временных рядов, таких как Скользящее среднее (Moving Average), Экспоненциальное сглаживание (Exponential Smoothing), Модель Бокса — Дженкинса (ARIMA) и т.д. Более продвинутое прогнозирование п
Фото: Atle Mo / Unsplash
Фото: Atle Mo / Unsplash

Модель Хольта-Винтера (алгоритм тройного экспоненциального сглаживания) – метод прогнозирования Временных рядов (Time Series), учитывающий тренд, Cезонность (Seasonality) и Шум (Noise).

-2

Анализ временных рядов – это наиболее широко используемая область Науки о данных (Data Science) и Машинного обучения (ML); он использует исторические данные, чтобы определить тенденцию. На прогнозируемые значения могут влиять определенные внешние факторы, которые известны как Предиктор (Predictor Variable), например, на продажи продукта влияет скидка, или температура зависит от влажности и скорости ветра и т.д.

Специалисту по анализу данных доступен ряд алгоритмов прогнозирования временных рядов, но выбор зависит от бизнес-задач и Датасета (Dataset). Для анализа могут использоваться простые методы прогнозирования временных рядов, таких как Скользящее среднее (Moving Average), Экспоненциальное сглаживание (Exponential Smoothing), Модель Бокса — Дженкинса (ARIMA) и т.д. Более продвинутое прогнозирование подразумевает Глубокое обучение (Deep Learning) и Рекуррентные нейросети (RNN), Долгую краткосрочную память (LSTM), Экстремальный градиентный бустинг (XGBoost), Градиентный бустинг (GB) и т.д.

Экспоненциальное сглаживание Холта-Винтера, названное в честь двух его авторов – Чарльза Холта (Charles Holt) и Питера Винтера (Peter Winter), является одним из старейших методов анализа временных рядов, который учитывает тенденции и сезонность при прогнозировании. Этот метод имеет три основных аспекта: среднее значение с учетом тренда и сезонности. Эти три аспекта представляют собой три типа экспоненциального сглаживания, поэтому метод также известен как тройное экспоненциальное сглаживание. Разберем подробно каждый из аспектов.

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

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

Тройное экспоненциальное сглаживание: statsmodels

Давайте посмотрим, как работает метод, с помощью примера. У нас есть хронология посещаемости веб-сайта за несколько дней, давайте попробуем предсказать количество посетителей на следующие 3 дня. Для начала импортируем необходимые библиотеки:

-3

Импортируем данные об уникальных посетителях сайта:

-4

-5

Заполним пробелы в столбце посещаемости, если таковые имеются, и построим Ящик с усами (Boxplot), чтобы увидеть Выбросы (Outlier) – значительно отстоящие от основного массива Наблюдения (Observation):

-6

-7

Рассчитаем Стандартизованную оценку (Z-Score) для каждого наблюдения, то есть меру удаленности от Среднего значения (Mean):

-8

-9

Сгруппируем данные по месяцам с помощью метода resample() и отобразим результат на графике:

-10

-11

Разложим временной ряд на компоненты:

-12

-13

Разделим датасет на Тренировочные данные (Train Data) и Тестовые данные (Test Data):

-14

Построим график, отображающий прогноз посещаемости:

-15

-16

Ограничения метода

Несмотря на то, что метод Холта-Винтера дает отличный результат, он все же имеет определенные недостатки. Одним из основных ограничений этого алгоритма является мультипликативная характеристика сезонности: модель работает, когда у нас есть временные рамки с очень небольшими суммами. Временной ряд с точками, имеющими значения 10 и 1, провоцирует фактическую разницу в 9 пунктов, то есть первое число больше второго на 1000%. Более того, сезонность, которая тоже является относительным понятием, может резко исказить прогнозы, что и произошло с нашим прогнозом посещаемости.

Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.

Автор оригинальной статьи: Snehal_bm

Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал. И попробуйте курсы на Udemy.