При прогнозировании оттока аналитик включил число обращений клиента за неделю после даты прогноза. Какой главный дефект возникает?
Возникает утечка целевой информации: признак использует данные, которые в момент прогноза ещё недоступны. Такая модель может показать завышенное качество на обучении и в офлайн-проверке, но потерпеть неудачу при реальном применении.
Утечки данных стали особенно заметной проблемой с распространением автоматизированного прогнозирования и сложных конвейеров подготовки признаков. Изначально многие аналитические расчёты строились для описания уже известных событий, поэтому временная доступность данных не всегда контролировалась.
Для прогноза этого недостаточно: каждый признак должен быть рассчитан только из информации, известной на заранее определённый момент. Иначе модель фактически получает часть ответа, который должна предсказывать.
Если дата прогноза — 1 июня, обращения клиента с 2 по 8 июня ещё неизвестны. Их включение в признак означает, что при проверке модели используется информация из будущего относительно момента принятия решения.
Последствия могут быть существенными: завышенная оценка качества, неверный выбор модели и неправильное распределение ресурсов. В рабочей системе такой признак либо невозможно будет рассчитать вовремя, либо он будет рассчитан уже после наступления события и потеряет прогностическую ценность.
Сначала фиксируют момент среза — дату и время, на которые формируется прогноз. Затем для каждого признака определяют допустимое временное окно: например, количество обращений за 30 дней до среза, но не после него.
Важно проверять не только название поля, но и происхождение данных. Признак может быть рассчитан из таблицы, которая формально не содержит целевую переменную, но обновляется после события или включает записи с будущими временными метками.
Разбиение данных на обучение и тест должно учитывать время, если модель будет работать на будущих наблюдениях. Случайное перемешивание иногда позволяет обучаться на более поздних периодах и проверяться на более ранних, что скрывает ухудшение качества из-за изменения поведения пользователей или бизнес-процесса.
Нельзя устранять утечку простым удалением признака после получения хорошего результата. Нужно повторно построить весь конвейер признаков и оценить модель на данных, сформированных так же, как в производственной эксплуатации. Компромисс состоит в том, что корректная проверка часто даёт более низкую, но реалистичную метрику качества.
Команда предсказывала отток клиентов на дату ежемесячного расчёта. В первой версии использовалось число обращений в службу поддержки за следующие семь дней. Офлайн-ROC-AUC составила 0,91, но после запуска модель почти не помогала удержанию клиентов.
Рассматривались два варианта. Сохранить признак можно было только при переносе момента принятия решения на неделю вперёд, но тогда команда теряла время для удержания клиента. Исключить признак было безопаснее, однако качество модели снижалось.
Выбрали второй вариант и заменили признак на число обращений за последние 30 дней до даты прогноза. После временной проверки качество стало ниже, зато расчёт стал доступен вовремя, а результат приблизился к фактической эффективности кампании удержания.
1. Достаточно ли разделить данные на обучение и тест, чтобы исключить утечку?
Нет. Разбиение защищает только от некоторых видов переобучения, но не исправляет признак, уже содержащий информацию из будущего. Если будущие данные попали в признаки и обучения, и теста, обе выборки могут давать согласованный, но нереалистично высокий результат.
2. Может ли утечка возникнуть без явного использования целевой переменной?
Да. Например, статус обработки заявки, дата отмены или агрегат обращений после даты прогноза могут быть косвенно связаны с исходом и содержать информацию о будущем. Поэтому проверяют временную доступность и порядок формирования каждого признака, а не только наличие поля с названием целевой переменной.
3. Всегда ли признак из будущего бесполезен?
Нет, если задача действительно решается после появления этой информации. Например, для посмертного анализа или оперативного решения, принимаемого через неделю, такой признак может быть допустим. Критерий определяется не самим признаком, а соответствием его доступности моменту, когда прогноз должен использоваться.