Банк должен качественно оценивать кредитные риски для повышения доходов. С помощью метода классификации клиента по группам риска банк может принимать решение стоит ли выдавать кредит заемщику и на каких условиях. Для оценки кредитоспособности клиента производится анализ данных, для физических лиц это в первую очередь анкетные данные(возраст, пол, образование, семейное положение, количество детей, имеет ли заемщик автомобиль/недвижимость, заработная плата, место жительство, сфера деятельности, трудовой стаж и др.), а также кредитная история клиента (сколько активных/закрытых кредитов, просрочка по всем открытым кредитам, наибольшая просрочка по кредитам и др.).
В самом упрощенном виде скоринговая модель представляет собой взвешенную сумму определенных характеристик, которые имеют наибольшее влияние на кредитоспособность клиента. В результате получается интегральный показатель (score); чем он выше, тем выше надежность клиента, и банк может упорядочить своих клиентов по степени возрастания кредитоспособности. Для построения скоринговой модели и решения задачи классификации применяются различные методы машинного обучения.
Метод построения деревьев решений (Decision Trees) является одним из самых популярных методов решения задач классификации и прогнозирования. Структурно дерево состоит из элементов трех категорий:
узлы, не являющиеся листьями, – это атрибуты, по которым различают элементы, подлежащие классификации;
листья, метки со значениями решений для классификации данных;
ребра – значения атрибута, из которого исходит ребро.
Процесс классификации осуществляется путем передвижения по узлам дерева сверху вниз. На каждом уровне дерева решение принимается на основе значений атрибутов. Каждый узел включает в себя проверку одной независимой переменной (атрибута). Иногда в узле дерева сравнивают между собой две независимые переменные или определяют некоторую функцию от одной или нескольких переменных. Если значением переменной является число, то проверяют больше или меньше это значение некоторой константы. Иногда область числовых значений разбивают на интервалы и проверяют попадание значения в один из них. Результат оценки всегда соответствует только одному из ребер, исходящих из узла принятых решений [2]. Помимо огромного количества достоинств(прост в понимании и интерпретации, не требует подготовки данных, позволяет работать с большим объемом информации), метод решающих деревьев имеет серьезный недостаток - сильное переобучение. Другими словами, деревья слишком легко подгоняются под обучающую выборку и получаются непригодными для построения прогнозов. Но решающие деревья очень хорошо подходят для объединения в композиции (ансамбли) и построения одного непереобученного алгоритма на основе большого количества решающих деревьев.
Ансамбль (композиция) — это объединение N алгоритмов b1(x), ..., bN (x) в один. Идея заключается в том, чтобы обучить алгоритмы b1(x), ..., bN (x), а затем в задачах классификации взять знак от получившегося выражения:
Алгоритм a(x), который возвращает знак среднего, называется композицией N алгоритмов b1(x) ..., bN(x), а они сами называются базовыми алгоритмами.
Чтобы построить композицию, нужно сначала обучить N базовых алгоритмов на разных подвыборках, для этого следует воспользоваться одним из популярных подходов - бутсрап. Он заключается в том, что из исходной выборки выбирают с возвращением l объектов, это будет первая выборка. Затем новая выборка также будет иметь размер l, но некоторые объекты в ней будут повторятся, а некоторые объекты из исходной выборки в нее не попадут. Случайные леса - один из лучших способов объединения деревьев в композиции.
Алгоритм построения случайного лесаЧтобы построить случайный лес из N решающих деревьев, необходимо:
1. Построить с помощью бутстрапа N случайных подвыборок n, n = 1, ..., N.
2. Каждая получившаяся подвыборка n используется как обучающая выборка для построения соответствующего решающего дерева bn(x). Причем:
• Дерево строится, пока в каждом листе окажется не более nmin объектов. Очень часто деревья строят до конца (nmin = 1), чтобы получить сложные и переобученные решающие деревья.
• Процесс построения дерева рандомизирован: на этапе выбора оптимального признака, по которому будет происходить разбиение, он ищется не среди всего множества признаков, а среди случайного подмножества размера q.
• Следует обратить особое внимание, что случайное подмножество размера q выбирается заново каждый раз, когда необходимо разбить очередную вершину.
3. Построенные деревья объединяются в композицию:
простыми словами — мы выбираем решение голосованием по большинству.
Каждое дерево из случайного леса обучается на бутстрапированной выборке, в которую попадают приблизительно 63% объектов полной выборки. Таким образом, около 37% объектов выборки не использовались при обучении этого дерева, а значит их можно использовать для оценки обобщающей способности случайного леса. Такой подход носит название out-of-bag и позволяет оценивать качество леса без использования отложенной выборки.
Формула для оценки качества случайного леса из N деревьев в рамках подхода out-of-bag имеет вид:
Эта формула устроена таким образом, что для каждого объекта xi из обучающей выборки вычисляется средний прогноз по тем деревьям, в обучающую выборку которых не входит объект xi :
Для полученного прогноза вычисляется значение ошибки. В качестве оценки качества случайного леса используется сумма таких значений для всех элементов выборки[3].
Применение метода случайного леса для решения задачи кредитного скорингаВ открытом доступе имеется файле SAMPLE_ACCOUNTS.CSV[4], в котором предоставлены данные из ответов кредитных бюро на все запросы по соответствующим клиентам. Часть набора данных представлена в Таблице №1.
Данные представляют собой 50000 клиентов по каждому кредиту, состоящие из 72 признаков (Идентификатор клиента; Код бюро, из которого получен счет; Дата, в которую был сделан запрос в бюро; Дата открытия договора; Дата финального платежа (плановая) ; Код типа договора ; Дисциплина (своевременность) платежей; Статус договора; Оставшаяся непогашенная задолженность и др.).
Таблица №1.Часть набора данных
customer_id |
bureau_cd |
bki_request_date |
inf_confirm_date |
type |
status |
open_date |
final_pmt_date |
fact_close_date |
credit_limit |
1 |
2 |
40767 |
40744 |
99 |
0 |
40676 |
41040 |
28967 |
|
1 |
1 |
40767 |
39862 |
99 |
13 |
39505 |
39870 |
39870 |
30000 |
1 |
1 |
40767 |
39924 |
99 |
13 |
39261 |
39629 |
39923 |
19421 |
1 |
1 |
40767 |
40043 |
9 |
13 |
39644 |
40042 |
40042 |
11858 |
1 |
1 |
40767 |
40427 |
99 |
13 |
39942 |
40308 |
40429 |
19691 |
1 |
1 |
40767 |
40752 |
7 |
52 |
40428 |
51386 |
10000 |
|
1 |
1 |
40767 |
40756 |
9 |
0 |
40421 |
42247 |
169000 |
|
1 |
1 |
40767 |
40758 |
9 |
0 |
39876 |
41701 |
300000 |
|
1 |
3 |
40767 |
39638 |
9 |
0 |
39261 |
39629 |
19421 |
|
1 |
3 |
40767 |
39710 |
9 |
0 |
39505 |
39870 |
30000 |
|
1 |
3 |
40767 |
40435 |
9 |
13 |
39942 |
40308 |
40427 |
19691 |
1 |
3 |
40767 |
40735 |
9 |
0 |
40421 |
42247 |
169000 |
У одного заемщика может быть несколько кредитов и по каждому из них в разных бюро может быть разная информация. Поэтому необходимо выполнить преобразования, чтобы одному заемщику соответствовала одна строка. Считается общее количество активных кредитов, максимальная задолженность по кредиту, сумма задолженностей по всем кредитам и др.
Задача состоит в том, чтобы разделить клиентов на 3 класса по количеству дней просроченной задолженности (Х). Условия попадания в каждый класс описаны в Таблице №2.
Таблица №2. Разбиение клиентов на 3 класса
Класс |
Хорошие |
Плохие |
Дефолтники |
Условие |
0 ≤ X |