Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий

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

Рассмотрим задачи подробнее.

Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий

1) Прогнозирование спроса.

Цель: снизить складские издержки и оптимизировать график работы персонала.

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

2) Прогнозирование нагрузки на службу доставки

Цель: не допустить коллапса логистики при пиковых нагрузках.

Как решается: прогнозируя количество заказов, вывести на линию оптимальное количество машин и курьеров.

3) Прогнозирование нагрузки на контактный центр

Цель: при минимуме затрат на фонд оплаты труда обеспечить требуемую доступность контактного центра.

Как решается: прогнозирование количество звонков во времени, составим оптимальное расписание для операторов.

4) Прогнозирование трафика

Цель: спрогнозировать количество серверов и пропускного канала для устойчивой работы. Чтобы ваш сервис не упал в день премьеры популярного сериала или футбольного матча 😉

5) Прогнозирование оптимального времени инкассации банкоматов

Цель: минимизация объема наличности, хранимой в сети АТМ

6) Решения задачи холодного старта в рекомендательных системах

Цель: рекомендовать релевантные товары новым пользователям.

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

Решение: популярность товаров зависит от времени, когда сделана рекомендация. Использование прогнозирование временного ряда помогает выявить релевантные товары в каждый конкретный момент времени.

Лайфхаки построения рекомендательных систем мы рассмотрели в предыдущей статье.

7) Поиск аномалий

Цель: выявить проблемы в работе оборудования и нестандартные ситуации в бизнесе
Решение: если измеряемое значение выбивается из доверительного интервала прогноза, аномалия выявлена. Если это АЭС, пора наращивать квадрат расстояния 😉

Алгоритмы для решения задачи

1) Скользящее среднее

Простейшим алгоритмом является скользящее среднее. Давайте посчитаем среднее значение на нескольких последних элементах и сделаем прогноз. В прогнозе погоды больше чем на 10 дней, используется подобный подход.

Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий

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

Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий

Так, можно задать коэффициент W, чтобы максимальный вес приходился на 2 последних дня и входные.

Учет циклических факторов

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

Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий
Рис. 1. Пример декомпозиции временного ряда на тренд, сезонный компонент и шум

Экспоненциальное сглаживание – решение учета циклических факторов.

Рассмотрим 3 базовых подхода

1. Простое сглаживание (модель Брауна)

Представляет собой вычисление взвешенного среднего на последних 2-х элементах ряда.

2. Двойное сглаживание (модель Хольта)

Принимает в расчет изменение тренда и колебания значений остатков вокруг этого тренда.

Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий

Вычисляем предсказание изменения остатков ® и тренда (d). Итоговое значение y — сумма этих двух величин.

3. Тройное сглаживание (модель Хольта — Винтерса)

Тройное сглаживание дополнительно учитывает сезонные колебания.

Временные ряды в прогнозировании спроса, нагрузки на КЦ, товарных рекомендациях и поиске аномалий

Формулы для тройного сглаживания.

Алгоритм ARIMA и SARIMA

Особенностью временных рядов для применения ARIMA заключается в связи прошлых значений связанных с текущими и будущими.

SARIMA – расширение для рядов с сезонной составляющей. SARIMAX – расширение, включающее внешнюю регрессионную составляющую.

ARIMA-модели позволяют моделировать интегрированные или разностно-стационарные временные ряды.

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

Далее ряд преобразуется взятием разности соответствующего порядка и уже для преобразованной модели строится некоторая ARMA-модель.

ARMA — линейная модель множественной регрессии.

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

XGBoost – куда же без него

Если у ряда нет внутренней выраженной структуры, но есть внешние влияющие факторы (менеджер, погода и т.д.), то можно смело использовать такие модели машинного обучения как бустинг, случайные леса, регрессия, нейронные сети и SVM.

Из опыта работы команды DATA4, прогнозирование временных рядов, одна из основных задач для решения оптимизации складских затрат, затрат на персонал, оптимизации обслуживания сетей АТМ, логистики и построения рекомендательных систем. Сложные модели, такие как SARIMA дают качественный результат, но требуют больших затрат времени и подходят только для определенного круга задач.

В следующей статье мы рассмотрим основные подходы к поиску аномалий.

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Статьи на какую тему вам интересны

  • Рекомендательные системы

  • Распознавание изображений

  • Обработка речи и текстов

  • Новые архитектуры в DNN

  • Временные ряды и поиск аномалий

  • ML в бизнесе, кейсы использования

Проголосовали 17 пользователей. Воздержались 3 пользователя.

Источник: habr.com