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

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

В сегодняшнем посте мы создадим отчет о решении ML по «Моделированию кредитного риска» (фаворитизм домена здесь очевиден).

Давай попробуем.

Первый и самый важный шаг - тщательно понять бизнес-цель. Чего ожидать от решения машинного обучения?

Предварительный набор вопросов:

Сколько данных доступно, есть ли в них какая-либо закономерность, будет ли их достаточно для прогнозирования целевой переменной? Есть ли какая-либо другая переменная, которая играет существенную роль в принятии решения в реальной жизни, но не является частью доступного набора данных? Можно ли получить эту информацию или есть способ передать эту информацию через доверенных лиц? Являются ли данные, доступные для алгоритма машинного обучения, аналогичными производственным данным, на основе которых будут создаваться прогнозы? Другими словами, поступают ли данные обучения и тестирования из аналогичного распределения, чтобы достаточно хорошо изучить зависимости, чтобы предсказать невидимые экземпляры? И многое другое…

Мы постараемся ответить на все эти вопросы по мере приближения к проблеме, поэтому присоединяйтесь:

Цель:

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

Определение кредитного риска:

Это риск засвидетельствования дефолта по долгу, который может возникнуть из-за неуплаты заемщиком необходимых платежей.

Целевая переменная:

Хороший (класс 1, кредитоспособный) vs плохой (класс 0, не кредитоспособный) Риск.

Описание данных:

1000 записей с 10 переменными

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

  • «Кредитная история» имеет 5 значений (от 0 до 4), но как ее порядочность связана с кредитным риском. Значение 0 означает слабую, а 4 - более сильную кредитную историю? Такие вопросы следует задавать на ранней стадии, поскольку они создают предпосылку при проведении исследовательского анализа данных.
  • Еще один беглый взгляд на сводку данных говорит нам, что «Saving Accounts» имеет категорию Nan. Выясните, что подразумевает Нан - отсутствие ценности или подлинность данных. Здесь запись «Nan» соответствует «Нет сберегательного счета».

Проверка распределения обучающих и тестовых данных:

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

  • Статистика KS - это числовая мера для проверки нулевой гипотезы о том, идентичны ли 2 распределения. Статистическое значение K-S, меньшее, чем значение p, предполагает, что мы не можем отвергнуть нулевую гипотезу о том, что два распределения одинаковы.

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

Исследовательский анализ данных:

Давайте посмотрим, сколько там недостающих записей:

Только переменная «Сохранение учетных записей» содержит записи Nan, здесь нам пригодятся наши первоначальные данные, и мы можем обработать эти Nan, заменив их другой категорией - «без учетной записи».

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

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

Для этого я пытаюсь сделать следующее:

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

Основное внимание следует уделять написанию краткого отчета, не упуская никаких технических деталей.

Предположения:

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

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

Например, мы хотим проверить, заслуживают ли молодые люди большего доверия. Один из возможных подходов - разделить переменную «Возраст» на 3 категории, как показано ниже. Обоснование с точки зрения моделирования машинного обучения также дает бизнесу возможность заглянуть в свои данные с технической точки зрения.

Здесь я выбрал 45 лет, чтобы отметить порог для 2-го бункера, вполне мог бы сделать его 50 (поскольку 50 звучит более разумно, чтобы предположить категорию людей, не склонных к ссуде), но анализ тенденций не дал бы приличного размера выборки. сделать вывод. Итак, я предпочел занять золотую середину и взял 45 лет в качестве возрастного ограничения, чтобы классифицировать переменную.

Перекрестная проверка:

Канонически зависимости, полученные из данных обучения, проверяются на данных валидации, чтобы выбрать модель на основе заранее заданной метрики оценки. Выбранная модель затем развертывается для прогнозирования тестовых данных. Перекрестная проверка итеративно разделяет данные обучения на несколько частей и сохраняет одну часть для проверки. Я использую 5-кратное CV в анализе.

Выберите показатель оценки:

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

Матрица затрат для бизнес-кейса выглядит следующим образом:

Дайте предысторию того, откуда вы пришли, какие все метрики подходят для этой задачи:

Оценка F обычно используется в качестве метрики оценки, когда нет предпочтения между отзывом и точностью: 2PR / (P + R), где

  • П: Точность: сфокусируйтесь на сокращении ложных срабатываний (ЛП)
  • R: Напомним: сосредоточьтесь на сокращении ложных негативов (FN)

После настройки контекста объясните окончательную метрику оценки, к которой вы сузились, и причину такого выбора. Я использую показатель бета F в качестве показателя оценки, где бета указывает вес отзыва. Оценка F1 такая же, как оценка бета-версии F с бета = 1.

  • Как обсуждалось выше, классификация клиента как хорошего риска, когда они являются плохим риском, сопряжена с расходами, т.е.прогнозирование хорошего риска (класс 1, положительный класс), когда оно ложно, т.е. за ложные срабатывания (FP) влечет за собой серьезные штрафы в зависимости от нашей бизнес-цели.
  • Точность = TP / (TP + FP), поэтому наша цель - отдать приоритет точности, что означает сокращение FP. Итак, нам нужно придать больший вес точности, которая достигается с бета ‹1.

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

  • Если бы цель заключалась в том, чтобы наложить штраф за прогнозирование Плохого риска, когда они являются Хорошим риском, то, основываясь на таких рекомендациях по ML, мы сможем избежать потенциальных убытков для бизнеса от отказа от кредитования.
  • В этом случае основное внимание будет уделяться ложным отрицательным результатам (FN), то есть вы прогнозируете плохой риск (класс 0, отрицательный класс), пока клиент находился в категории хорошего риска. Итак, мы предсказали отрицательный результат, который пошел не так, как надо, подразумевая, что больше внимания следует уделять сокращению FN, что, в свою очередь, приведет к увеличению веса отзыва (TP / TP + FN).

Трубопроводный поток:

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

Объясняя предсказания:

Наконец, все сводится к тому, как вы объясняете прогнозы. Изложив предысторию модели «Структура интерпретируемости», которую вы выбираете, дайте описание, объясняющее «Почему»:

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

Хотел бы связаться с читателями, чтобы узнать на их опыте, как лучше и эффективнее сообщать о результатах и ​​подходах.

Отчет и блокнот Jupyter размещены здесь.

А пока желаю приятного чтения, удачного обучения !!!