double arrow

Логистическая регрессия и ROC-анализ


Логистическая регрессия – полезный классический инструмент для решения задачи регрессии и классификации. В последние годы логистическая регрессия получила распространение в скоринге для расчета рейтинга заемщиков и управления кредитными рисками. Поэтому, несмотря на свое «происхождение» из статистики, логистическую регрессию и ROC- анализ (аппарат для анализа качества моделей) почти всегда можно увидеть в наборе Data Mining алгоритмов.

Основная цель данного метода, как и множественного регрессионного анализа вообще, состоит в выявлении связи между несколькими независимыми переменными (называемыми также регрессорами или предикторами) и зависимой переменной. Бинарная логистическая регрессия применяется в тех случаях, когда зависимая переменная может принимать только два значения. Иными словами, с ее помощью можно оценить


вероятность того, что одна из двух альтернатив наступит для конкретного испытуемого (например, возврат кредита/дефолт).

Например, при множественной линейной регрессии предполагается, что зависимая переменная является линейной функцией независимых переменных, то есть:




у = а + bхх1 + b2х2 +... + bпхп.

Эту модель можно использовать для оценки вероятности исхода события. Если параметры хiхарактеризуют заемщика, то, определив стандартные коэффициенты регрессии biи рассчитав величину у, можно интерпретировать ее как вероятность возврата долга.

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

ROC-кривая (Receiver Operator Characteristic) – кривая, которая наиболее часто используется для представления результатов бинарной классификации в машинном обучении.

Предположим, у нас имеется бинарная модель, предсказывающая, что заемщик с параметрами хiвернет долг с вероятностью Р. Как воспользоваться ею практически? Очевидно, нужно выдвинуть некий критерий в виде порогового уровня вероятности: например, при Р > 0,8 кредит предоставляется, а в противном случае (при Р ≤ 0,8) в кредите будет отказано. Значение Р = 0,8 будет выполнять роль так называемой точки (порога) отсечения (cut-off value), в соответствии с которым все множество потенциальных заемщиков делится на два класса: «хороших» и «плохих» клиентов банка. При этом предполагается, что имеется некоторый параметр, при изменении которого это разбиение будет меняться. Например, если вместо критерия Р = 0,8 мы примем Р = 0,6, многие клиенты, которые раньше считались «плохими», перейдут в класс «хороших».

В логистической регрессии порог отсечения изменяется от 0 до 1 – это и есть расчетное значение уравнения регрессии. Будем называть его рейтингом. Для оценки качества данной модели необходимо более детально рассмотреть ошибки, которые могут возникнуть при ее использовании.



Очевидно, при любой бинарной классификации их может быть только две:

– принять положительный случай за отрицательный (например, добросовестного заемщика за банкрота) – ошибка первого рода;

– отрицательный – за положительный – ошибка второго рода.


Для понимания сути ошибок I и II рода рассмотрим четырехпольную таблицу сопряженности (confusion matrix), которая строится на основе результатов классификации моделью и фактической (объективной) принадлежностью примеров к классам.

Фактически
Модель положительно отрицательно
Положительно TP FP
Отрицательно FN TN

TP (True Positives) – количество верно классифицированных моделью положительных примеров (так называемые истинно положительные случаи);

TN (True Negatives) – количество верно классифицированных от- рицательных примеров (истинно отрицательные случаи);

FN (False Negatives) – количество положительных примеров, классифицированных моделью как отрицательные (ошибки первого рода);

FP (False Positives) – количество отрицательных примеров, классифицированных как положительные (ошибки второго рода).

При оценке модели важную роль играют следующие соотношения, выраженные в процентах:

– доля истинно положительных примеров, распознанных моделью (True Positives Rate):


𝑇𝑇𝑃𝑃𝑇𝑇 = 𝑇𝑇𝑇𝑇

𝑇𝑇𝑇𝑇+𝐹𝐹𝐹𝐹




∙ 100 %;


– доля ложно положительных примеров (False Positives Rate), то есть

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


𝐹𝐹𝑃𝑃𝑇𝑇 = 𝐹𝐹𝑇𝑇

𝑇𝑇𝐹𝐹+𝐹𝐹𝑇𝑇


∙ 100 %.


Очевидно, что чем мягче критерий отбора «хороших» клиентов, тем

больше кредитоспособных заемщиков будут признаны таковыми и тем ближе величина TPR к 100 %. Но одновременно будет возрастать и доля ошибок второго рода, доля неверно квалифицированных «плохих» клиентов, отражаемая показателем FPR.


Введем еще два определения: чувствительность и специфичность модели. Ими определяется объективная ценность любого бинарного классификатора.

Величина Se = TPR называется также чувствительностью модели

(Sensitivity),


𝐶𝐶𝐶𝐶 = TPR =


TP TP + FN


· 100 %


а величина Sp = 100 – FPR, характеризующая долю верно распознанных

отрицательных случаев, – ее специфичностью (Specificity).

𝑇𝑇𝑇𝑇


𝐶𝐶𝑆𝑆 =


𝑇𝑇𝑇𝑇 + 𝐹𝐹𝑃𝑃


· 100 %


FPR=100 – Sp.

Эти два показателя определяют объективную ценность любого бинарного классификатора. Когда один из них стремится к нулю, другой принимает значения, близкие к 100, и наоборот (поскольку, как мы только что заметили, величины TPR и FPR всегда изменяются в одном направлении).

Сами термины чувствительность и специфичность, не очень понятные в контексте задачи кредитного скоринга, происходят из теории систем обработки сигналов; под чувствительностью здесь понимается способность воспринимающего устройства (Receiver) распознать полезный сигнал, под специфичностью – отсечь бесполезный сигнал (шум). Если провести аналогию с рассматриваемой нами задачей, «полезным сигналом» для банка будет запрос на кредит со стороны добросовестного заемщика, а «шумом» – со стороны банкрота.

Модель с высокой чувствительностью часто дает истинный результат при наличии положительного исхода (обнаруживает положительные примеры).

Наоборот, модель с высокой специфичностью чаще дает истинный результат при наличии отрицательного исхода (обнаруживает отрицательные примеры).

Для наглядного отображения указанных характеристик используется так называемая ROC-кривая (Receiver Operator Characteristic), которая строится следующим образом.


1. Для каждого значения порога отсечения, изменяемого с шагом (например, 0,01) от 0 до 1, рассчитывают значения чувствительности Se и специфичности Sp (в качестве альтернативы можно просто взять каждое последующее значение примера в выборке).

2. Строят график зависимости TPR от FPR:

– по оси ординат (Y) откладывают значение чувствительности Se = TPR (доля истинно положительных случаев),

– по оси абсцисс (X) – величину FPR = 100 – Sp (доля ложно положительных случаев).

В результате вырисовывается ROC-кривая (рис. 6.1).

Полученный график обычно дополняют диагональной линией TPR = FPR.

Для идеального классификатора график ROC-кривой проходит через верхний левый угол, где доля истинно положительных случаев составляет 100 % или 1,0 (идеальная чувствительность), а доля ложно положительных примеров равна нулю. Поэтому чем ближе кривая к верхнему левому углу, тем выше предсказательная способность модели. Наоборот, чем меньше изгиб кривой и чем ближе она расположена к диагональной прямой, тем менее эффективна модель. Диагональная линия соответствует

«бесполезному» классификатору, т.е. полной неразличимости двух классов.

Рисунок 6.1 – ROC-кривая Рисунок 6.2 – Сравнение ROC-кривых

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


способности модели. Так, на рисунке (рис. 6.2) две ROC-кривые совмещены на одном графике. Видно, что модель «A» лучше.

Сравнение ROC-кривых

Иногда ROC-кривые располагаются достаточно плотно или пе- ресекаются, и их визуальное сравнение затруднено. В этом случае для оценки

эффективности модели можно использовать площадь под кривой (AUC, Area Under Curve). Поскольку ROC-кривая всегда расположена выше диагонали, треугольник под диагональю площадью 0,5 всегда входит в состав измеряемой области. Таким образом, показатель AUC может изменяться от 0,5 («бесполезный» классификатор) до 1,0 (идеальная модель) (рис. 6.3).

В литературе иногда


Рисунок 6.3 – Площадь под кривой

(показатель AUC)

которой можно судить о качестве модели:


приводится следующая экспертная шкала для значений AUC, по


Интервал AUC Качество модели
0.9–1.0 Отличное
0.8–0.9 Очень хорошее
0.7–0.8 Хорошее
0.6–0.7 Среднее
0.5–0.6 Неудовлетворительное

Идеальная модель обладает 100 % чувствительностью и специфичностью. Однако на практике добиться этого невозможно, более того, невозможно одновременно повысить и чувствительность, и специфичность модели. Компромисс находится с помощью порога отсечения, т.к. пороговое значение влияет на соотношение Se и Sp. Можно говорить о задаче нахождения оптимального порога отсечения (optimal cut-off value).


В качестве критерия оптимальности могут, в частности, выступать следующие условия:

1) максимальная чувствительность при заданном уровне специ- фичности (например, при специфичности не ниже 80 %);

2) максимальная специфичность при заданном уровне чувстви- тельности (например, при чувствительности не ниже 80 %);

3) максимальная сумма чувствительности и специфичности модели

Se + Sp max);

4) достижение баланса между чувствительностью и специфичностью (Se → Sp).

Если принимается последний вариант, оптимальный порог отсечения (точка баланса) соответствует точке пересечения двух кривых (чувствительности и специфичности).

Данный вариант представлен на рисунке (рис. 6.4).

Рисунок 6.4 – Достижение баланса между чувствительностью и специфичностью

Порог – точка пересечения двух кривых, по оси X откладывается порог отсечения, а по оси Y –чувствительность или специфичность модели.

1) Импортируйте в новый проект (в файл L6_1.ded) данные из текстового файла loans_demo.txt,в котором хранится информация о заемщиках банка. При импорте исправьте типы полей, как указано на рисунке (рис. 6.5).


Рисунок 6.5 – Параметры типа полей

2) Необходимо уточнить, по каким правилам следует относить заемщиков к одному из двух классов («хороший» или «плохой»), используя данные о возврате ими долга (рис. 6.6).

Будем считать, что для физических лиц обслуживание долга признается плохим, если в течение последних 180 календарных дней имеются платежи по основному долгу и (или) по процентам, просроченным более чем на 60 календарных дней.

В данном случае в файле loans_demo.txtпоследний столбец, ха- рактеризующий качество обслуживания долга заемщиком, представлен полем Число просрочек свыше 60 дн. Остальные поля (кроме информационного поля Код)содержат социально-экономические характеристики заемщиков: их возраст, пол, доход и др.

Из поля Число просрочек более 60 дн. получим новое поле Класс заемщика.

Для этого с помощью обработчика Калькулятор создадим строковое

поле и в строке функции напишем условный оператор (Если Число просрочек

>0, то Класс заемщика плохой, иначе – хороший) (рис. 6.7).

Результат приведен на рис. 6.8.


Рисунок 6.6 – Параметры класса заемщика Рисунок 6.7 – Запуск обработчика калькулятор

Рисунок 6.8 – Результат работы правил, к какому из двух классов относить заемщиков

3) Добавим в ветвь сценария обработчик Логистическая регрессия и на первом шаге Мастеразададим входные и выходные значения столбцов (рис. 6.9).

Поле Код будет информационным, Число просрочек более 60 дн.

неиспользуемым, Класс заемщика выходным, остальные поля – входными.

После щелчка по кнопке Настройка нормализации появится диалоговое окно (рис. 6.10).

Для логистической регрессии необходимо настроить:

– способы кодирования дискретных входных полей (битовая маска или уникальные значения);

– значения положительного и отрицательного событий для выходного поля.

В рассматриваемом случае имеется два входных дискретных поля – Пол и Состоит в браке. Для них рекомендуется указать способ кодирования Уникальные значения. Порядок списка таких значений влияет на кодирование значений полей. Так, для поля Пол первое уникальное значение («женский») будет закодировано нулем, второе («мужской») – единицей. Это значит, что при расчете кредитного рейтинга по уравнению логистической регрессии


женщинам всегда будет начисляться 0 баллов, а мужчинам – какой-либо отличный от нуля балл (рис. 6.11).

Рисунок 6.9 – Мастер обработки Логистическая регрессия

Рисунок 6.10 – Настройка нормализации данных


Рисунок 6.11 – Кодирование по уникальным значениям Пол

Аналогичным образом для поля Состоит в браке зададим кодирование по уникальным значениям в следующем порядке: «нет» (значение 0), «да» (значение 1) (рис. 6.12).

Рисунок 6.12 – кодирование по уникальным значениям Состоит в браке

Для выходного поля Класс заемщика порядок сортировки уникальных значений (их всегда два) определяет тип события: первое – отрицательное, второе – положительное. В данном случае, чем выше рейтинг – тем выше кредитоспособность, поэтому значение «хороший» будет положительным исходом события, а «плохой» – отрицательным (рис. 6.13).

Рисунок 6.13 – Преобразование уникальных значений

4) В следующих окнах Мастерабудет предложено настроить обу- чающие и тестовые множества, а также изменить параметры алгоритма логистической регрессии. По умолчанию предлагается порог классификации, равный 0,5 (рис. 6.14), (рис. 6.15).

5) После щелчка по кнопке Пуск в последнем окне будет построена модель, и нужно будет выбрать визуализаторы узла (рис. 6.16). Отметим флажками следующие: ROC-анализ, Коэффициенты регрессии, Что-если, Таблица сопряженности, Таблица.


Рисунок 6.14 – Настройка обучающего и тестового множеств

Рисунок 6.15 – Изменение параметров логистической регрессии

6) Визуализатор Таблица показывает, что после применения обра- ботчика Логистическая регрессия в массиве данных появились две новые колонки: Класс заемщика_OUT и Класс заемщика Рейтинг. Рейтинг представляет собой значение независимой переменной у,рассчитанное по уравнению логистической регрессии, а первое поле – принадлежность случая


к тому или иному классу в зависимости от установленного порога классификации (в данном случае он равен 0,5) (рис. 6.17).

Рисунок 6.16 – Выбор способа отображения данных

Рисунок 6.17 – Логистическая регрессия отображена визуализатором Таблица

7) Визуализатор Коэффициенты регрессии дает информацию о влиянии факторов (входных параметров модели) на результат (рис. 6.18). Например, каждый дополнительный иждивенец уменьшает кредитный рейтинг заемщика на 1,87, а каждый дополнительный год стажа работы увеличивает его на 0,0031.

8) Визуализатор ROC-анализ выводит график ROC-кривой, на котором по умолчанию отмечается (желтым квадратным маркером) текущий порог отсечения, значения чувствительности и специфичности, показатель AUC и типы событий (рис. 6.19). В данном случае площадь под кривой AUC = 0,959 на обучающем множестве (кнопка ) и AUC = 0,938 на тестовом


(кнопка ), что говорит об очень хорошей предсказательной способности построенной модели.

Рисунок 6.18 – Результат визуализации Коэффициентом регрессии

Оптимальный порог отсечения для данной модели не равен предварительно установленной величине 0,5; чтобы определить его, нужно в выпадающем меню кнопки выбрать пункт Максимум (рис. 6.20).

Оказывается, что максимум суммарной чувствительности и специфичности достигается в точке 0,45, для которой чувствительность Se = 90 %, специфичность Sp = 89 %. Это означает, что 90 % благонадежных заемщиков будут выявлены классификатором, а 100 – 89 = 11 % недобросовестных заемщиков получат одобрение при запросе кредита (кредитный риск).

Для установки нового порога отсечения, равного 0,45, необходимо перенастроить узел-обработчик логистической регрессии, нажав кнопку . Результат можно посмотреть в визуализаторе Таблица (рис. 6.21).

9) Нетрудно видеть, что скоринговая модель с высокой специфичностью соответствует консервативной кредитной политике (чаще происходит отказ в выдаче кредита), а с высокой чувствительностью политике рискованных кредитов. В первом случае минимизируется кредитный риск, вызванный неплатежами, во втором – коммерческий риск, связанный с упущенной выгодой.


Рисунок 6.19 – Результат визуализации ROC-анализ


Рисунок 6.20 – Результат визуализации ROC-анализ с оптимальным порогом отсечения

Рисунок 6.21 – Результат визуализации Таблица

Это хорошо иллюстрирует визуализатор Таблица сопряженности (рис. 6.22). Он позволяет сравнить категориальные значения выходного поля исходной выборки (обучающей или тестовой) с рассчитанными по модели с выбранным порогом отсечения (в данном случае – 0,45).


На обучающем множестве (рабочая выборка) модель реже отказывала в выдаче «хорошим» заемщикам (45 ошибочных случаев) и чаще выдавала кредит «плохим» клиентам (48); точность классификации составила 89 % (407 + 399) : 899 = 89 % ). На тестовом множестве наблюдается примерно та же картина (точность классификации (40 + 43) : 100 = 83 %). Если такое решение не соответствует кредитной политике банка, можно поднять порог отсечения и добиться того, чтобы модель чаще выдавала отрицательное решение.

а б
Рисунок 6.22 – Результат визуализации Таблица сопряженности

10) Визуализатор Что-если позволяет определить, как будет вести себя построенная модель при подаче на ее вход тех или иных данных. Другими словами, проводится эксперимент, в котором, изменяя значения входных полей обучающей или рабочей выборки для модели логистической регрессии, можно увидеть, как изменяются выходные значения модели (рис. 6.23).

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


Рисунок 6.23 – Отслеживание значений, получаемых на выходе логистической регрессии.

Сохраните результаты в файл L6_1.ded.








Сейчас читают про: