Original size 840x1264

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

PROTECT STATUS: not protected
10

Обложка: генерация при помощи 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

Анализ и визуализация данных для задачи скоринговой модели
10
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more