Введение

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

В то время как традиционные подходы и методы машинного обучения могут использоваться для определения кредитоспособности и прогнозирования дефолтов по кредитам, прогнозы основаны на исторических закономерностях и, следовательно, сопряжены с неопределенностью. Чтобы контролировать неопределенность, банкам необходимо эффективно оценивать риски и управлять ими, чтобы предотвратить непредвиденные убытки. Оценка FICO является примером широко используемой метрики для измерения кредитоспособности клиентов [Адам]. Тем не менее, банки по-прежнему должны соответствовать минимальным требованиям к общему капиталу в соответствии с требованиями к капиталу с учетом риска [Базель] для покрытия потенциальных убытков, которые связывают капитал.

Вероятность дефолта (PD) является одним из факторов при расчете активов, взвешенных с учетом риска (RWA) и ожидаемых убытков (EL), которые используются для определения минимального требования к капиталу [Basel, Will, Jorg , Sageworks, Наталья]. Модели машинного обучения могут помочь банкам определить PD. Однако исследователи [Александру, Чуан] показали, что многие передовые модели машинного обучения дают неточные прогнозы вероятности, что может создавать проблемы при управлении рисками.

В этом сообщении блога мы представляем калибровку вероятности как один из инструментов управления рисками и повышения точности принимаемых решений. Калибровка вероятности включает в себя корректировку выходной вероятности для любой модели машинного обучения, чтобы приблизиться к истинной вероятности, чтобы банки могли принимать более обоснованные решения и снижать риски [Райан]. Хорошая вещь в калибровке вероятностей заключается в том, что ее практически бесплатно можно реализовать для улучшения прогнозов машинного обучения.

Однако мы также хотели бы отметить, что не все приложения машинного обучения требуют калибровки вероятности. Например, в маркетинговых целях достаточно использовать некалиброванные оценки, предсказанные моделью машинного обучения. Эти оценки будут отсортированы в ранжированном списке, чтобы в первую очередь ориентироваться на клиентов с наивысшими оценками.

В этом блоге мы покажем, как применить калибровку вероятности к модели утверждения ссуды и как это может улучшить процесс принятия решений. Мы предоставляем блокнот с полным кодом [ссылка].

Модель одобрения кредита

Например, мы получаем данные заявки на получение кредита (ипотеки) от Kaggle [Loan Eligible Dataset], которые содержат 12 столбцов функций, описывающих заявителя, и метку о том, одобрил ли банк кредит или нет.

Во-первых, давайте посмотрим на базовую производительность, построив модель одобрения кредита.

Мы строим модель, используя `CatBoostClassifier` из пакета catboost на Python с целью и функциями, показанными на следующем рисунке.

После обучения модели мы получили точность 0,81 на тестовом наборе.

Диаграмма надежности

Диаграмма надежности используется для иллюстрации того, как модель работает при прогнозировании вероятности.

На левом рисунке показана связь между предсказанными вероятностями (ось X) и эмпирическими вероятностями (ось Y). Диагональная линия представляет идеальную калибровку. Гистограмма предсказанных вероятностей из модели показана на рисунке справа. Неправильную калибровку можно рассматривать как отклонение от диагональной линии, представляющей идеальную калибровку.

Лог-потеря

Для измерения качества прогнозируемой вероятности существует несколько показателей, таких как логарифмическая потеря, оценка Бриера и ожидаемая ошибка калибровки (ECE). В этом блоге мы сосредоточимся на метрике потери журнала, поскольку она обычно используется. Обратите внимание, что другие общие показатели, такие как точность, точность, полнота, оценка F1, AUC, не отражают, насколько хороша модель в прогнозировании фактических вероятностей, но используются для измерения производительности задач классификации.

Логарифм потерь трудно интерпретировать, и обычно он используется для сравнения с более низким значением, указывающим на лучшее соответствие.

В результате базовая модель оказывается недостаточно откалиброванной, так как есть точки, явно отклоняющиеся от диагональной линии. Мы можем попытаться улучшить это, применив калибровку вероятности.

Калибровка вероятности

Как мы упоминали в начале, калибровка вероятности помогает модели более точно предсказывать вероятности. Более того, многие методы калибровки работают «из коробки» и не требуют каких-либо изменений в базовом классификаторе, если предоставляются выходные вероятности. В этом случае мы применяем дополнительную модель под названием «Калибратор» для калибровки предсказанных вероятностей из базовой модели, чтобы привести их в соответствие с истинными вероятностями. Чтобы обучить калибратор, нам нужен набор калибровочных данных для обучения этой модели.

Общие подходы к обучению калибратора включают масштабирование Платта и изотоническую регрессию, на которых мы сосредоточимся в этом блоге. Давайте посмотрим, как они работают один за другим.

Масштабирование Платта

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

Изотоническая регрессия

В отличие от масштабирования Платта, изотоническая регрессия является непараметрической моделью, которая не опирается на какие-либо предположения об эмпирическом распределении вероятности, генерирующей случайную величину.
Это позволяет модели быть более гибкой, пока функция монотонно возрастает [Википедия].

По сути, изотоническая регрессия оптимизирует следующую функцию потерь:

Где P_hat — фактическое распределение вероятностей.

Приступим к калибровке модели.

Мы будем использовать модуль от scikit-learn под названием `CalibratedClassiferCV` [scikit-learn] для калибровки вероятности. Мы можем установить method=`sigmoid`, чтобы выполнить масштабирование Платта, или method=`isotonic`, чтобы выполнить изотоническую регрессию. В этом блоге мы выполним калибровку вероятности с помощью изотонической регрессии.

В результате диаграмма надежности выглядит лучше по сравнению с некалиброванной моделью.

Для производительности мы получаем точность 0,8125 и логарифмическую потерю 0,467.

Это показывает, что применение калибровки вероятности улучшает способность модели предсказывать фактические вероятности. Тем не менее, мы по-прежнему получаем ту же точность, потому что по умолчанию метод `predict` в scikit-learn использует 0,5 в качестве порога. Давайте посмотрим, используем ли мы разные пороги:

Перед калибровкой

Средний Акк: 0,685

После калибровки

Средний Акк: 0,696 (+1,6%)

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

Обратите внимание, что метод Scikit-learn predict_proba обещает возвращать вероятности, но часто это просто оценки от 0 до 1, которые в сумме дают единицу. Тот факт, что число находится между 0 и 1, недостаточно для того, чтобы называть его вероятностью [Дэмиен, Самуэле].

Заключение

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

Шкала Платта — это самый простой подход к калибровке вероятностей, который не требует большого объема данных, поскольку есть всего два параметра. С другой стороны, для изотонической регрессии требуются данные большего объема по сравнению с масштабированием Платта, и она может легче подходить.

И масштабирование Платта, и изотоническая регрессия являются популярными подходами для калибровки вероятностей, также реализованными в общих библиотеках, но оба они не дают математических гарантий для получения хорошо откалиброванных вероятностей. В следующем сообщении блога мы представим предиктор Венна-АБЕРСА, который имеет математическую гарантию получения хорошо откалиброванных вероятностей.

Наконец, если вы ищете хорошее место, чтобы оказать влияние на финансовую отрасль с помощью ИИ и передовых технологий, обратите внимание на SCB DataX.

Благодарности

Я хотел бы выразить благодарность Юсси Джусимо, ведущему специалисту по данным в SCB DataX, за то, что он нашел время, чтобы просмотреть и предоставить ценные отзывы об этом сообщении в блоге.

Ссылки