Как нормировать доход клиента для оценки платежеспособности?
Что проверяют
Отличаете ли вы статистическое масштабирование признака от приведения дохода к сопоставимому виду, который отражает, сколько человек реально может платить. Следом часто спрашивают, как учесть нерегулярный доход и регион.
Как отвечать
Разделите задачу на два слоя.
Первый слой, бизнесовый: доход приводят к единой базе.
- период и налоги: всё переводят в среднемесячный доход после НДФЛ, премии и разовые выплаты усредняют за 6 или 12 месяцев, а не берут последний месяц;
- надёжность источника: заявленный доход, справка о доходах, выписка из Социального фонда и поступления на счёт весят по-разному. Часто берут минимум из заявленного и подтверждённого или дисконтируют неподтверждённую часть;
- долговая нагрузка: итоговый признак обычно не сам доход, а отношение платежей к нему. В России банки обязаны считать ПДН, показатель долговой нагрузки: среднемесячные платежи по всем кредитам к среднемесячному доходу;
- контекст: 80 тысяч в Москве и в малом городе значат разное, поэтому полезен признак «доход к медиане по региону», а для исторических данных поправка на инфляцию.
Второй слой, модельный. Доход распределён с тяжёлым правым хвостом, поэтому его логарифмируют (np.log1p) и винзоризируют по 1 и 99 перцентилям. Для градиентного бустинга масштабирование не нужно вовсе, деревьям важен только порядок значений. Для логистической регрессии и классических скоркарт доход часто бьют на интервалы и кодируют через WoE, что заодно снимает проблему выбросов.
Параметры нормировки (среднее, перцентили, границы бинов) считают только на обучающей выборке и сохраняют вместе с моделью.
Где спотыкаются
Отвечают только про z-score и min-max. Это техника для признака, а не ответ на вопрос о платёжеспособности.
Удаляют «выбросы» по доходу. Высокий доход у реального клиента это не ошибка, его ограничивают, а не выкидывают, иначе модель не видит целый сегмент.
Считают статистики нормировки по всему датасету, включая тест. Это утечка, и метрики на валидации выходят завышенными.