ПРОГНОЗИРОВАНИЕ МЕТРИК С ПОМОЩЬЮ БИБЛИОТЕКИ ORBIT
Журнал: Научный журнал «Студенческий форум» выпуск №19(370)
Рубрика: Экономика

Научный журнал «Студенческий форум» выпуск №19(370)
ПРОГНОЗИРОВАНИЕ МЕТРИК С ПОМОЩЬЮ БИБЛИОТЕКИ ORBIT
В задачах прогнозирования временных рядов традиционно выделяют два конкурирующих подхода. Первый ориентирован на интерпретируемость: модели позволяют содержательно объяснить динамику наблюдаемого процесса, однако их точность часто ограничена простотой используемых гипотез (например, аддитивной декомпозиции или линейного тренда). Второй подход нацелен на максимизацию предсказательной способности за счёт усложнения модели, что неизбежно приводит к снижнению прозрачности — такие модели получают неформальное определение «чёрных ящиков».
Указанное противоречие между объяснимостью и точностью не является принципиально неустранимым. В последние годы сформировалось направление предиктивной аналитики, которое предлагает компромисс: сохранение достаточно высокой точности прогноза при одновременной разработке методов интерпретации модели и оценки её диагностик. Реализацией этого подхода в области анализа временных рядов является библиотека Orbit, созданная в компании Uber и опубликованная как open-source решение.
Библиотека поддерживает четыре класса моделей, различающихся по своим допущениям и областям применимости.
Модель экспоненциального сглаживания (ETS). Представляет собой простейший вариант, в котором более поздним наблюдениям присваивается больший вес. Модель учитывает только общий уровень ряда и сезонную компоненту, но не поддерживает тренд и внешние регрессоры.
Модель с локальным и глобальным трендами (LGT). В отличие от ETS, данная модель позволяет разделять краткосрочные локальные колебания и долгосрочную глобальную динамику. Допускается включение внешних регрессоров. Основное ограничение — ряд должен состоять из строго положительных значений, что делает LGT применимой для прогнозирования таких метрик, как выручка, число транзакций или объём трафика.
Модель с приглушением локального тренда (DLT). Концептуально близка к LGT, однако допускает отрицательные значения целевой переменной. Ключевой параметр — коэффициент приглушения (damped factor), уменьшающий вклад локальных трендов и тем самым усиливающий роль глобальной динамики. Это свойство полезно в условиях высокой волатильности.
Ядерная модель с варьирующей во времени регрессией (KTR). Наиболее сложная и экспериментальная модель. Поддерживает множественную сезонность (например, суточную и недельную одновременно), демонстрирует меньшие вычислительные затраты при работе с большим числом регрессоров.
Во временных рядах информация не обязательно должна браться из прошлых значений показателя. Мы можем использовать другие временные ряды и оценивать их взаимосвязь с нашим рядом — вдруг они хорошо предсказывают его, тем самым улучшая наш прогноз. Такие временные ряды называются регрессорами или ковариатами. Но если мы хотим предсказывать что-то вместе с регрессорами, мы должны знать будущие значения этих регрессоров, иначе ничего не заработает. Как можно подойти к этой проблеме? Ориентироваться на фиксированные ежегодные события — например, праздники. Такие регрессоры можно создавать в виде бинарной переменной — 1 для наличия события, 0 для отсутствия. Так же можно кодировать известные нам аномалии, чтобы они не так влияли на прогноз. Пытаться предсказать самостоятельно другой временной ряд либо взять какие-то официальные прогнозы, если это какой-то невнутренний показатель (например, ВВП).
Очень часто, чтобы решить проблемы с переобучением, ML-специалисты прибегают к технике регуляризации — дополнительных штрафов к коэффициентам модели, чтобы они не становились слишком большими, особенно если регрессор плохой. Чаще всего это улучшает прогноз модели. Какие у нас есть варианты параметров? regression_penalty — вид регуляризации. Варианты: "fixed ridge" (полагается на заданные априорные распределения), "auto_ridge" (пытается сам подобрать оптимальную регуляризацию), "lasso" (полезен в случае, когда у нас много регрессоров — тогда он “убирает” влияние плохих регрессоров). lasso_scale и auto_ridge_scale — настройка для двух последних опций, число от 0 до 1. Чем оно выше, тем "мягче" регуляризация. regressor_beta_prior — среднее априорного распределения для коэффициента регрессии. По умолчанию 0, но можно задать другое значение, если у нас есть предварительное убеждение о реальном значении этого коэффициента. regressor_sigma_prior — стандартное отклонение априорного распределения для коэффициента регрессии. Чем больше, тем больше неопределённости в его значении (и тем мягче регуляризация). regressor_sign — знак коэффициента регрессии. Полезно, если мы изначально знаем направление взаимосвязи. Возможные варианты: "+" (может быть только положительным), "-" (может быть только отрицательным), "=" (может иметь любое направление).

