АналитикаАнализ данныхАналитик данных

При подготовке модели аналитик стандартизировал признак, вычислив среднее и стандартное отклонение по объед...

При подготовке модели аналитик стандартизировал признак, вычислив среднее и стандартное отклонение по объединённым обучающим и тестовым данным. Какое искажение возникает?

Проходите собеседования с ИИ помощником Hintsage

Краткий ответ

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

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

Исторический контекст

Разделение данных на обучающую и тестовую выборки появилось как способ оценивать обобщающую способность модели, а не её способность запомнить конкретный набор наблюдений. Однако утечка возможна не только через целевую переменную: её создают и операции подготовки признаков, если они используют информацию за пределами обучающей части.

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

Постановка проблемы

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

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

Подробное решение

Для стандартизации сначала вычисляют параметры на обучающей выборке:

  • среднее признака;
  • стандартное отклонение признака.

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

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

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

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

Ситуация из практики

Команда прогнозировала отток клиентов. В исходных данных тестовый период содержал необычно много клиентов с очень высокими расходами, поэтому общее среднее и стандартное отклонение заметно отличались от параметров обучающего периода.

Рассматривались три варианта. Использовать параметры всей выборки было проще, но это давало утечку и делало оценку менее честной. Пересчитывать параметры отдельно для каждой выборки было ещё хуже: тогда модель видела статистику будущего периода в момент его оценки. Вычислять параметры только на обучающем периоде было методологически корректно, хотя итоговая метрика немного снизилась.

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

Что кандидаты часто упускают

  1. Меняется ли вывод, если тестовая выборка использовалась только для стандартизации, без целевых значений?

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

  1. Можно ли вычислить параметры стандартизации отдельно для каждого нового объекта или небольшого рабочего пакета?

Обычно нет: это меняет определение признака между наблюдениями и использует сведения из самого оцениваемого пакета. Для пакетной обработки допустима заранее спроектированная адаптация к распределению, но тогда её нужно оценивать на отдельной схеме, например на временном периоде, имитирующем эксплуатацию. В стандартной постановке применяют параметры, полученные при обучении.

  1. Как выявить утечку, если итоговая метрика выглядит правдоподобно?

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