При подготовке модели аналитик стандартизировал признак, вычислив среднее и стандартное отклонение по объединённым обучающим и тестовым данным. Какое искажение возникает?
Возникает утечка информации из тестовой выборки: параметры стандартизации частично зависят от данных, которые должны оставаться невидимыми до финальной оценки. Из-за этого оценка качества может стать немного оптимистичной и перестаёт точно отражать процедуру, которая будет применяться к новым данным.
Правильно вычислять среднее и стандартное отклонение только по обучающей выборке, а затем применять эти параметры без переоценки к валидационной, тестовой и рабочей данным.
Разделение данных на обучающую и тестовую выборки появилось как способ оценивать обобщающую способность модели, а не её способность запомнить конкретный набор наблюдений. Однако утечка возможна не только через целевую переменную: её создают и операции подготовки признаков, если они используют информацию за пределами обучающей части.
Поэтому подготовку данных рассматривают как часть обучаемого процесса. Параметры импутации, масштабирования, отбора признаков и других преобразований должны определяться внутри обучающей выборки.
Тестовая выборка нужна для независимой финальной проверки. Если её распределение участвует в вычислении параметров преобразования, аналитик уже использует сведения о тесте до измерения результата.
При случайном разбиении и одинаковом распределении данных эффект может быть небольшим, особенно при большом объёме выборки. Но при малом тесте, выбросах или заметном сдвиге распределения оценка может измениться существенно. В результате команда способна выбрать модель, которая выглядит лучше на отчёте, но хуже работает на будущих данных.
Для стандартизации сначала вычисляют параметры на обучающей выборке:
Затем каждое значение в обучающей, валидационной и тестовой выборках преобразуют с использованием именно этих зафиксированных параметров. Тестовая выборка не должна влиять ни на масштабирование, ни на заполнение пропусков, ни на отбор признаков.
Искажение возникает потому, что среднее и разброс теста становятся частью состояния преобразователя. Даже если целевые значения теста не использовались, информация о распределении самих признаков уже была передана в процесс обучения и настройки.
Это не означает, что стандартизация всегда обязательна. Для некоторых моделей масштаб признаков почти не влияет на результат, тогда как для методов на расстояниях, линейных моделей с регуляризацией и градиентной оптимизации она может быть важна. Но правило разделения данных остаётся тем же.
В рабочем контуре сохранённые параметры получают на обучающем периоде и применяют к новым наблюдениям. Периодическое переобучение может обновить эти параметры, но только в рамках заранее определённой процедуры; нельзя задним числом пересчитывать их на тесте ради улучшения метрики.
Команда прогнозировала отток клиентов. В исходных данных тестовый период содержал необычно много клиентов с очень высокими расходами, поэтому общее среднее и стандартное отклонение заметно отличались от параметров обучающего периода.
Рассматривались три варианта. Использовать параметры всей выборки было проще, но это давало утечку и делало оценку менее честной. Пересчитывать параметры отдельно для каждой выборки было ещё хуже: тогда модель видела статистику будущего периода в момент его оценки. Вычислять параметры только на обучающем периоде было методологически корректно, хотя итоговая метрика немного снизилась.
Выбрали третий вариант и зафиксировали преобразование в едином конвейере. После этого оценка стала консервативнее, зато при проверке на следующем временном периоде она оказалась ближе к реальному результату, поэтому решение было принято как более надёжное.
Да, это всё равно утечка, хотя обычно менее сильная, чем использование целевой переменной. Распределение признаков теста содержит информацию о будущем наборе данных и может повлиять на параметры преобразования. При строго независимой финальной оценке тест должен оставаться полностью невидимым до завершения разработки.
Обычно нет: это меняет определение признака между наблюдениями и использует сведения из самого оцениваемого пакета. Для пакетной обработки допустима заранее спроектированная адаптация к распределению, но тогда её нужно оценивать на отдельной схеме, например на временном периоде, имитирующем эксплуатацию. В стандартной постановке применяют параметры, полученные при обучении.
Нужно провести аудит границ данных для каждого шага подготовки: выяснить, на каком наборе рассчитываются статистики, выбираются признаки и принимаются пороги. Полезно повторить оценку в конвейере, где все преобразования обучаются внутри каждого обучающего фолда, а для временных данных использовать разбиение по времени. Если результат заметно ухудшается после такого исправления, прежняя оценка, вероятно, была завышена из-за утечки.