WOE (Weight of Evidence) — «вес доказательства» — это способ кодирования категориальных или разбитых на интервалы числовых признаков на основе их связи с бинарной целевой переменной. Широко используется в кредитном скоринге, риск-моделировании и логистической регрессии.

Формула

Для каждого бина/категории :

где:

  • — число объектов класса «0» (например, клиенты без дефолта) в бине ;
  • — число объектов класса «1» (например, клиенты с дефолтом) в бине ;
  • — общие числа по всей выборке.

Иногда формулу пишут наоборот:

Тогда знак меняется на противоположный. Главное — зафиксировать соглашение. Обычно Bad = 1 (дефолт, отток, мошенничество).

Как читать

  • WOE > 0 — в бине относительно больше «хороших» объектов, чем в среднем по выборке.
  • WOE < 0 — в бине относительно больше «плохих» объектов.
  • WOE = 0 — распределение классов в бине совпадает с общим.

Пример

БинGoodBad%Good%BadWOE
18–251005010%25%ln(0.10 / 0.25) = -0.92
26–4040010040%50%ln(0.40 / 0.50) = -0.22
41–605005050%25%ln(0.50 / 0.25) = +0.69

Молодые клиенты получают отрицательный WOE — риск выше. Клиенты 41–60 — положительный WOE — риск ниже.

Зачем нужен WOE

  1. Кодирование категорий. Заменяет категорию на число, сохраняя связь с целевой переменной.
  2. Линейность с log-odds. WOE-кодирование делает признак линейно связанным с логарифмом шансов — удобно для логистической регрессии.
  3. Интерпретируемость. Понятно, какие группы рискованнее.
  4. Работа с пропусками. Пропуски можно выделить в отдельный бин.
  5. IV (Information Value). На основе WOE считают информационную ценность признака:

Шкала IV примерно такая:

  • < 0.02 — бесполезный признак;
  • 0.02–0.1 — слабый;
  • 0.1–0.3 — средний;
  • 0.3–0.5 — сильный;
  • 0.5 — подозрительно сильный, возможна утечка данных.

Важные предостережения

  • WOE использует целевую переменную. Это разновидность target encoding. Если считать WOE на всех данных, включая validation/test, возникает target leakage. Считать только на train, внутри кросс-валидации или пайплайна.
  • Нужен бинарный target. Для многоклассовой задачи WOE напрямую не применить.
  • Мелкие бины переобучаются. Редкие категории лучше объединять или сглаживать.
  • Числовые признаки сначала биннят. Далее WOE считается по интервалам.
  • Знак зависит от соглашения. Проверяйте, что считаете Bad, а что Good.

Коротко: WOE — это логарифм отношения долей «хороших» и «плохих» в бине. Он превращает категории в числа, помогает логистической регрессии и лежит в основе IV. Но поскольку использует target, требует аккуратной валидации, чтобы не допустить target leakage.