Ранее я формулировал задачу по анализу данных по розничным кредитам, предоставленным на площадке Bondora.com. Целью было создание нейронной сети, которая на этапе выдачи кредита предсказывает вероятность того, что по нему наступит дефолт, с достаточной точностью. Отчитываюсь о промежуточных результатах работы в течение последнего месяца
Напомню вводные условия задачи
Данные о ссудах
38,1 тыс. кредитов, предоставленных с 2007 по 2016 годы, 112 полей в базе данных по каждому индивидуальному кредиту. Заемщики из 4 стран. Кредиты необеспеченные, высокорискованные. Доля дефолтных ссуд составляет около 1/3.
Общее описание задачи:
- Создать нейронную сеть, которая на основании данных о кредите верно предсказывает наступление дефолта по кредиту с вероятностью 80 %.
- Обучение на основе 50 % данных и проверка работы сети на оставшихся данных.
- Гипотеза предполагала, что теоретически мы можем добиться точности прогнозирования в 95 %.
Ход выполнения задачи:
1) На первом этапе из 112 показателей по каждому кредиту было выбрано 46 релевантных показателей, которые связаны с дефолтностью по нему и известны на дату предоставления займа. Также не принимались во внимание данные по кредитам, которые
А) неполные - нет данных о доходах заемщика, размере ежемесячного платежа, внутреннем рейтинге Bondora или иной сторонней скоринговой оценке
Б) Срок первого платежа по кредиту не наступил, таким образом достоверно неизвестно, был по нему дефолт или нет
Таким образом, из исходной матрицы данных 38117х112 были обработаны и выгружены в базу данных программы данные в размерности 25232 (кредита) х 46 (параметров) и 1 итоговый классификационный показатель (дефолт или нет дефолта).
2) По данной выборке были случайным образом сформированы 2 базы данных: 50% - обучающая выборка и 50% - тестовая выборка (~12 600 кредитов в каждой).
3) Была создана нейронная сеть из 2 скрытых слоев (46 нейронов на входе, 60 нейронов в первом скрытом слое, 15 нейронов во втором, и на выходе дает предсказание класса: 0 для дефолта и 1 для недефолтного кредита).
4) Обучение проводилось по обучающей выборке, всего осуществлялось около 100 попыток обучить сеть с нуля.
В итоге мне удалось обучить и сохранить параметры для сети, которая БОЛЕЕ ЧЕМ удовлетворяет условиям задачи:
Точность прогнозирования дефолтности индивидуального кредита в обучающей И ТЕСТОВОЙ выборке составила более 93 %.
Таким образом, в выборке из 12 600 кредитов сеть корректно предсказывает дефолтное событие в 11 700 случаях (при 10 000 требуемых в условии задачи).
Итоговые параметры сети сохранены и доступны для использования и анализа кредитов, по которым срок платежа или дефолт пока не наступил…
Время на обучение сети и загрузку / вывод данных в программой не превышает 1 часа (MacBook Pro 2015 года, ХCode Playground project (SWIFT 3.1), внешняя библиотека AIToolbox)
===========================================
Если честно, я сам не ожидал, что во-первых, мне удастся решить поставленную задачу самостоятельно и в ограниченное время. Особенно учитывая, что до марта 2017 года у меня НЕ БЫЛО ОПЫТА ИЛИ НАВЫКОВ ПРОГРАММИРОВАНИЯ от слова совсем!
Более того, удивительной оказалась высокая точность прогнозирования дефолтов по достаточно все же скудным входящим данным. Эта точность относительно стабильна (средний результат обучения – 85 %, отклонения +- 10%, разница в точности между обучающей и тестовой выборкой не превышает 1 % - все-таки данных много).
Оказывается, что при наличии правильного метода анализа в больших данных можно выявить закономерности, которые реализуются с такой высокой вероятностью. Более того, теперь у меня есть ощущение, что дефолтное событие четко детерминировано в момент выдачи ссуды, за исключением случайности, не превышающей 0,1%. Разница же в 7 % (ошибка прогнозирования) связана не с недостатками метода, а со следующими факторами:
1) Возможно, при наличии более полных данных по каждому кредиту, в том числе включающих кредитную историю заемщика, более подробный социально-экономический профиль, данные о работодателе и данные о состоянии здоровья можно прогнозировать дефолтность с предельной точностью в 99,9%. 0,1% случайности – вот это и есть максимальный уровень энтропии в данной системе, на мой взгляд.
2) Возможно, что разница в 7 % соответствует уровню некорректно собранных кредитором данных (ошибки, искусственное искажение сведений или мошенничество). По крайней мере, цифра вполне похожа на уровень мошенничества в данном сегменте.
3) Если бы у каждого кредита были сведения о внутреннем рейтинге, Expected loss и LGD, а также сведения о скоринге из всех кредитных бюро, точность прогнозирования можно было бы увеличить хотя бы до 96-98 %.
Тем не менее, результат и так превзошел самые смелые ожидания. Для сравнения с уровнем 93 %:
- наилучшая точность прогнозирования дефолтов по корпоративным и банковским заемщикам от рейтинговых агентств в России составляет около 65%. Это не на 28%, это не в 3 раза хуже, чем работает нейронная сеть! Ошибка 7 % против ошибки в 35% при ошибке в 50% путем подбрасывания монетки. Чтобы определить, насколько рейтинги хуже прогнозируют дефолт, надо вероятность выпадения не менее 6 орлов (или решек) на монете при ее подбрасывании 10 раз разделить на такую же вероятность выпадения не менее 9 орлов или решек – вот какая это разница. Примерно в 52 раза точнее.
При этом анализируются дефолтны на годовом интервале, тогда как розничные кредиты имели дюрацию в 5 лет. То есть горизонт прогнозирования отечественных рейтинговых агентств (АКРА, Эксперт РА, ранее существовавшие НРА, Рус-Рейтинг и AK&M) существенно ниже.
- одни из лучших показателей рейтинговой отрасли – международных рейтинговых агентств – на длительных горизонтах, включающих 10 лет (1 кризис в 10 лет, в остальное время дефолты редки) – около 85 %. Это минимум вчетверо хуже показателей нейронной сети для оценки розничных кредитов, в то время как объем информации РА по каждому индивидуальному случаю существенно превышает уровень входящих данных, а на разбор и принятие решений РА требуется месяц работы не одного компетентного кредитного аналитика + методолога + IT-специалиста.
===============================
В дальнейшем я планирую реализовать следующее:
1) Проверку риска (вероятности потерь вследствие дефолтов) по реальным портфелям, как у меня в собственности, так и продающимся на вторичном рынке Bondora
2) Приложение для обучения / тренировки живого аналитика путем анализа данных, предсказания дефолта по нему и обратной связи с правильным ответом, и закрепления определенных когнитивных интуитивных навыков по оценке рисков розничных кредитов на подсознательном уровне. Попробуем понять предел человеческих возможностей в решении такой задачи.
Сможет ли человек после достаточно длительного обучения (к примеру, 10 000 попыток в течение нескольких дней) прогнозировать дефолтность хотя бы с вероятностью 80 %? (Думаю, это возможно). Сможет ли человек на 100+ кредитах превзойти в точности результаты нейронной сети (Думаю, что нет). Можно ли выработать когнитивные навыки по анализу рисков у людей, незнакомых с экономикой и кредитным анализом (Думаю, что можно добиться определенной точности, но хуже экспертной)…
Если помните, здесь описан способ тренировки специалистов по определению пола цыплят.
Попробуем применить такой способ в кредитном анализе.
Постараюсь через месяц обновить информацию о ходе решения задачи.
Следите за новостями в блоге!
@smartfond Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы получили свою первую выплату
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Здравствуйте!
На платформе Голос в первую очередь ценится уникальный авторский контент, который ранее нигде не публиковался.
Ваш пост поддержан в рамках программы поддержки уникального контента.
Желаем вам творческого роста и увеличения авторских наград.