WOE (Weight of Evidence) — «вес доказательства» — это способ кодирования категориальных или разбитых на интервалы числовых признаков на основе их связи с бинарной целевой переменной. Широко используется в кредитном скоринге, риск-моделировании и логистической регрессии.
Формула
Для каждого бина/категории :
где:
- — число объектов класса «0» (например, клиенты без дефолта) в бине ;
- — число объектов класса «1» (например, клиенты с дефолтом) в бине ;
- — общие числа по всей выборке.
Иногда формулу пишут наоборот:
Тогда знак меняется на противоположный. Главное — зафиксировать соглашение. Обычно Bad = 1 (дефолт, отток, мошенничество).
Как читать
- WOE > 0 — в бине относительно больше «хороших» объектов, чем в среднем по выборке.
- WOE < 0 — в бине относительно больше «плохих» объектов.
- WOE = 0 — распределение классов в бине совпадает с общим.
Пример
| Бин | Good | Bad | %Good | %Bad | WOE |
|---|---|---|---|---|---|
| 18–25 | 100 | 50 | 10% | 25% | ln(0.10 / 0.25) = -0.92 |
| 26–40 | 400 | 100 | 40% | 50% | ln(0.40 / 0.50) = -0.22 |
| 41–60 | 500 | 50 | 50% | 25% | ln(0.50 / 0.25) = +0.69 |
Молодые клиенты получают отрицательный WOE — риск выше. Клиенты 41–60 — положительный WOE — риск ниже.
Зачем нужен WOE
- Кодирование категорий. Заменяет категорию на число, сохраняя связь с целевой переменной.
- Линейность с log-odds. WOE-кодирование делает признак линейно связанным с логарифмом шансов — удобно для логистической регрессии.
- Интерпретируемость. Понятно, какие группы рискованнее.
- Работа с пропусками. Пропуски можно выделить в отдельный бин.
- 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.