Original size 840x1264

Анализ и визуализация данных для задачи скоринговой модели

PROTECT STATUS: not protected
11

Обложка: генерация при помощи Leonardo.ai

Рубрикатор

1. Цель проекта 2. Введение 3. Библиотеки и загрузка данных 4. Проверка на пустые значения и типы данных 5. Обработка данных 6. Гипотезы 7. Изучение данных 7.1. Целевая переменная 7.1. Возраст 7.1. Образование 7.1. Corr 7.1. Доход 8. Анализ важных атрибутов 9. Заключение 10. Блокнот с кодом 11. Источники

Цель проекта:

Цель проекта — создать эффективную скоринговую модель для прогнозирования дефолтов среди вторичных клиентов банка. Для этого мы проанализируем множество переменных, характеризующих профиль заемщиков, используя данные из набора «[SF-DST] Credit Scoring» с платформы Kaggle.

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

Введение:

Были выбраны данные из набора «[SF-DST] Credit Scoring» на платформе Kaggle. Этот набор содержит разнообразные атрибуты заемщиков, такие как уровень образования, пол, возраст, наличие автомобиля, количество отказов по прошлым заявкам, доход, количество запросов в БКИ, и другие важные показатели.

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

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

Описание полей:

client_id — идентификатор клиента education — уровень образования sex — пол заемщика age — возраст заемщика car — наличие автомобиля car_type — флаг иностранного автомобиля decline_app_cnt — количество отклоненных заявок в прошлом good_work — флаг наличия «хорошей» работы bki_request_cnt — количество запросов в БКИ home_address — категория домашнего адреса work_address — категория рабочего адреса income — доход заемщика foreign_passport — наличие заграничного паспорта sna — связь заемщика с клиентами банка first_time — возраст наличия информации о заемщике score_bki — скоринговый балл по данным БКИ region_rating — рейтинг региона app_date — дата подачи заявки default — флаг дефолта по кредиту

Библиотеки и загрузка данных

Original size 753x207
Original size 1695x468

Проверка на пустые значения и типы данных

Проверка на пустые значения необходима, в данном случае в колонке education отсутствует ряд данных.

Original size 1045x397

В колонке education отсутствует ряд данных.

При этом можно заметить, что большинство колонок содержат типы данных int64.

Original size 1178x505

Обработка данных

Рассчитаем в процентном соотношении количество пропусков: data['education'].isnull ().sum () / data.shape[0]100

Разрыв в графе «Образование» составляет около 41,599%

Заменим их на самые часто встречаемые результаты в выборке: ed_mode = data['education'].mode ()[0] data['education'] = data['education'].fillna (ed_mode)

Гипотезы

1. Возраст Быстрый ответ «хороших» заемщиков больше по сравнению с «плохими» заемщиками (распределение возраста в зависимости от флага дефолта смещено вверх при default=0).

2. Уровень образования зависит от возраста, что также влияет на погашение кредита. Люди с более высоким образованием чаще являются «хорошими» заемщиками.

3. При good_work = 0 риск дефолта по кредиту увеличивается (флаг дефолта).

4. Доход «хороших» заемщиков выше по сравнению с «плохими» заемщиками (распределение доходов в зависимости от флага дефолта смещено вверх при default=0).

5. score_bki напрямую коррелирует с default: чем ниже score_bki, тем выше вероятность того, что клиент погасит кредит банку.

Изучение данных: целевая переменная

Original size 1241x642

Превалирование платежеспособных клиентов: Большинство клиентов, 87,3%, не допускают дефолта. Это указывает на то, что большая часть заемщиков успешно обслуживает свои кредиты.

Риск дефолта: Около 12,7% клиентов допустили дефолт, что является значительным показателем, требующим внимания.

Изучение данных: возраст

Original size 631x547

График плотности распределения возраста (Age) для двух групп заемщиков: тех, кто не имеет дефолта (default 0), и тех, кто имеет дефолт (default 1).

Кривые показывают, что заемщики без дефолта (default 0) имеют слегка смещенное распределение возраста в сторону более старших возрастов по сравнению с заемщиками с дефолтом (default 1). Это подтверждает гипотезу, что «хорошие» заемщики в среднем старше «плохих» заемщиков.

На графике плотности видно, что кривая для заемщиков без дефолта (default 0) имеет пик немного правее и выше по сравнению с кривой для заемщиков с дефолтом (default 1). Это также указывает на то, что возраст заемщиков без дефолта в среднем выше.

Original size 1069x425

1. Модальный возраст (наиболее часто встречающийся возраст):

Модальный возраст заемщиков без дефолта (default 0) составляет 31 год. Модальный возраст заемщиков с дефолтом (default 1) составляет 26 лет.

Это подтверждает, что среди заемщиков без дефолта чаще встречаются люди старше, чем среди заемщиков с дефолтом.

2. Средний возраст:

Средний возраст заемщиков без дефолта (default 0) составляет 39.39 лет. Средний возраст заемщиков с дефолтом (default 1) составляет 38.53 года.

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

Изучение данных: образование

Original size 669x549

Анализ возрастного параметра к уровню образования.

Если взять образование SCH, то возраст смещен в большую сторону, по сравнению с тем же UGR. Для ACD характерно смещение возрастного распределения влево, если сравнивать с PGR, что в принципе понятно.

Самые молодые — это UGR, и предполагается, что в значительной степени они будут «плохими» заемщиками.

Original size 1241x642

Возрастное распределение заемщиков по уровням образования.

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

Original size 1241x642

Возрастное распределение заемщиков по уровням образования.

Видно, что если взять уровень образования PGR и ACD, то средний возраст «плохих» заемщиков выше, чем у «хороших», но разброс значений обоих показателей также велик. Возможно, если взять некий возрастной предел, например, от 30 до 50 лет, то в рамках этой группы данный показатель не будет сильно влиять на полноту погашения кредита.

Original size 1241x642

Возрастное распределение заемщиков по уровням дефолта.

Аналогично, мы видим, что процент недобросовестных заёмщиков выше с уровнем образования SCH', для UGR' разница не существенна. Скорее, в данном случае влияет не сам возраст, а уровень образования. Также можно отменить, что в некоторой степени УГР более стабильны в плане выплат.

Изучение данных: Corr

Original size 874x763

Корреляционный анализ. Тепловая карта.

По данной тепловой карте можно сделать выводы:

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

2. Наиболее заметная отрицательная корреляция между sna и first_time (-0.5), что предполагает, что чем больше время с момента первой регистрации, тем меньше количество социальных связей.

3. Положительная корреляция между region_rating и income (0.3), что логично, так как в регионах с более высоким рейтингом доходы могут быть выше.

Изучение данных: доход

Original size 572x499

Анализ распределения дохода.

Распределение доходов не равномерно, и для этого анализа достаточно длинных хвостов.

Original size 1247x550

Анализ доходов к дефолтам клиентов.

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

Центральная тенденция: Лица, не допустившие дефолт, имеют тенденцию к более высокому среднему и медианному доходу по сравнению с дефолтерами. Это может указывать на корреляцию между высоким доходом и способностью избежать дефолта по кредитам.

Разброс: Схожий разброс доходов между двумя группами свидетельствует о том, что изменчивость доходов сопоставима независимо от статуса дефолта.

Средний доход: 1. Лица, не допустившие дефолт (default = 0): Средний доход примерно 41,800 долларов. 2. Лица, допустившие дефолт (default = 1): Средний доход примерно 36,300 долларов.

Наблюдение: В среднем, лица, не допустившие дефолт, имеют более высокий доход по сравнению с дефолтерами.

Медианный доход: 1. Лица, не допустившие дефолт (default = 0): 2. Медианный доход составляет 30,000 долларов. Лица, допустившие дефолт (default = 1): Медианный доход составляет 28,000 долларов.

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

Original size 666x542

Анализ распределения доходов в зависимости от уровня образования.

Видно, что ACD и PGR смещены в правую сторону, что может означать, что они являются лучшими заемщиками по кредиту, чем SCH и UGR.

Original size 881x886

Исследование числовых данных.

Мы исследуем распределения числовых данных. Возраст, количество приложений decline_app_cnt и bki_request_cnt, а также доход Income не являются нормально распределенными.

Original size 889x886

Распределение различных числовых признаков.

Некоторые признаки, такие как age и income, имеют распределение, близкое к нормальному.

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

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

Анализ важных атрибутов

Original size 777x940

Анализ важности признаков с помощью значений Шепли.

Признаки расположены по степени их важности вдоль оси OY, ось OX представляет значение Шепли. Каждая точка является отдельным наблюдением.

Цвет указывает значения соответствующего атрибута: синий — высокие, салатовый — низкие.

Рассмотрим пример: чем больше значение score_bki, тем выше вероятность дефолта; чем больше значение атрибута age, тем ниже вероятность дефолта.

Сравним с весами из логистической регрессии и проверим на нескольких признаках.

Заключение

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

Цветовое решение

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

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

Источники

1. Google Colab 2. Pandas 3. Kaggle 4. iFoto 5. Leonardo.ai 6. Photoshop

Анализ и визуализация данных для задачи скоринговой модели
11