Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Один глобальный прогнозировщик на деревьях решений может почти обнулить общий прогноз, даже если нормально работает на отдельных рядах. В препринте Field Nation, который не прошёл рецензирование, приведены замеры самих авторов: производственная модель занизила итог в 30–50 раз, а на M5 разрыв доходил до 496 раз. Командам с иерархическими прогнозами нужно проверять диапазон обучения до вывода модели в прод.
Общий итог оказывается за пределами обучения
Глобальная модель объединяет множество временных рядов и учит для них одну функцию. Например, маркетплейс может подать ей месячные обороты отдельных покупателей, а затем той же моделью попытаться спрогнозировать оборот всей площадки.
У деревьев решений здесь есть структурное ограничение. Лист дерева возвращает значение, рассчитанное по целям из обучающей выборки. Если новый вход превышает всё, что дерево видело, оно не продолжает тренд, а остаётся на значении крайнего листа.
На производственной панели лаг общего оборота превышал медианный лаг отдельного покупателя примерно в 1 088 раз. Модель получала вход другого масштаба, направляла его в крайний лист и выдавала результат, сопоставимый с крупным покупателем, а не со всем маркетплейсом.
Проблема начинается не только при разрыве на несколько порядков. В контролируемом опыте агрегат, который был выше диапазона обучения всего в 1,15 раза, уже терял около трети своего значения. Более глубокие деревья и дополнительные признаки не снимают потолок: они меняют разбиение известных данных, но не учат модель продолжать зависимость за их пределами.
Масштаб можно вернуть тремя способами
Самый прямой вариант — привести каждый ряд к собственному масштабу перед обучением, а после прогноза выполнить обратное преобразование. Тогда отдельный покупатель и общий итог попадают в сопоставимый диапазон, хотя их абсолютные значения различаются.
Второй вариант — добавить агрегат как отдельную строку обучения и дать ей достаточный вес. Это позволяет одной модели увидеть нужный уровень, но при последовательном прогнозе на несколько периодов защита теряет устойчивость: собственные предыдущие ответы снова уводят модель из знакомой области.
Третий вариант — прогнозировать сезонную разность, то есть изменение относительно того же периода прошлого цикла, а не абсолютный уровень. Масштаб исчезает из цели, поэтому этот подход сохранил однократную точность и при последовательном прогнозе. Нормализация отдельных рядов в таком режиме ошибалась сильнее, но не возвращалась к исходному обвалу.
Проверяли именно один глобальный прогнозировщик с абсолютными лагами, обученный на нижнем уровне и вызванный напрямую для общего итога. В производственной панели было 5 658 рядов покупателей и короткое отложенное окно; механизм также воспроизвели на синтетической и нескольких публичных панелях, включая M5, Australian Tourism и UCI Online Retail II. Результат относится к агрегатам за пределами обучающего диапазона: если модель уже обучалась на рядах сопоставимого уровня, причина сбоя исчезает.
Планы меняются для модели, которая обслуживает все уровни
Если система прогнозирует только нижний уровень, а общий итог получает суммированием, описанный сбой не возникает: дерево не вызывают на незнакомом масштабе. Риск появляется в архитектуре, где одна модель должна напрямую обслуживать товары, магазины, регионы и общий итог без отдельной обработки целей.
Перед выпуском такой системы достаточно добавить три проверки:
- Сравнить масштабы. Нужно разделить ожидаемый агрегат на крупнейшую отдельную цель из обучения. Значение выше единицы означает, что запрос уже выходит за диапазон целей дерева.
- Проверить один шаг на фактических лагах. Такой тест отделяет проблему масштаба от накопления ошибок при последовательном прогнозе.
- Повторить полный горизонт рекурсивно. Исправление, которое работает на следующем периоде, может сломаться после подстановки собственных прогнозов в лаги.
Для однократных прогнозов базовым выбором остаётся нормализация каждого ряда. Для горизонта, который модель проходит последовательно, работа даёт практический аргумент в пользу сезонных разностей. Взвешенная строка агрегата подходит, когда принципиально нужна одна ненормализованная модель, но её придётся отдельно испытывать на полном горизонте.
Менять глубину, длину окна, функцию потерь или набор признаков вместо обработки масштаба не стоит. Эти настройки могут улучшить прогноз внутри знакомого диапазона, но не устраняют постоянное поведение дерева за его границей. Значит, проверку диапазона целей следует закрепить в приёмочных тестах модели, а не оставлять на этап настройки гиперпараметров.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



