СРАВНИТЕЛЬНЫЙ АНАЛИЗ МЕТОДОВ КЛАССИФИКАЦИИ В ЗАДАЧЕ ПРОГНОЗИРОВАНИЯ ВЫХОДА КЛИЕНТА В ПРОСРОЧКУ, С ИСПОЛЬЗОВАНИЕМ Microsoft SQL Server Management Studio
Введение 4
1. Описание применяемых для решения задачи алгоритмов 8
1.1. Логистическая регрессия 8
1.2. Метод Random Forest 12
1.3. Наивный байесовский классификатор 19
1.4. Работа с категориальными данными 21
1.5. Описание данных 23
2. Сравнение результатов работы алгоритмов 27
2.1. Матрица ошибок 27
2.2. ROC кривая 34
2.3. Кросс валидация 37
2.4. Результаты сравнения алгоритмов 45
3. Интеграция модели с Microsoft SQL Server Management Studio 47
Заключение 50
Список использованных источников 52
Листинг 53
Невозможно игнорировать намеченную в XXI веке вызванную интенсивным развитием технологий тенденцию к увеличению количества хранимой информации - данные сегодня поступают из самых разных источников, от камер наблюдения, спутников и твиттов до всевозможных сенсоров и электросчетчиков. Современные технологии и программное обеспечение позволяют накапливать колоссальные объемы информации, настолько большие, что в 2008 году был введен специальный термин - Big Data, который означает не только большие объемы данных, но и технологии их обработки и использования, а также методы поиска необходимой информации в больших массивах. Начиная с 2010 года, большие данные начали вызывать серьезный интерес у таких крупных компаний, как Microsoft, Oracle, EMC и IBM - они стали первыми использовать наработки Big Data в стратегиях своего развития. Сейчас большой объем данных удалось накопить банкам, страховым и торговым организациям, поисковым системам, социальным сетям - список можно продолжать очень долго - которые успешно применяют накопленную информацию в скоринге, маркетинге, рекламе, продажах, борьбе с мошенничеством, и многих других аспектах бизнеса. Применение алгоритмов машинного обучения стало необходимым условием ведения конкурентного, имеющего потенциал к развитию бизнеса. Например, интегрирование такого метода как Дерево решений для оценки кредитоспособности клиента (скорингового анализа) в инфраструктуру банка позволило открыть новые каналы получения требующих скоринговой оценки продуктов банка, таких как интернет заявки, заявки из магазинов- партнеров банка и многие другие. Внедрение модели, позволяющей определить кредитоспособность клиента в соответствии со всеми необходимыми требованиями банка, не привлекая при этом человеческие ресурсы, позволило значительно увеличить количество выдач продуктов и, как следствие, добиться роста прибыли за счет открытия новых каналов выдач, не увеличивая при этом штат и сократив время на обработку заявок.
Другим важным направлением деятельности любого банка является борьба с мошенничеством. По информации СМИ только за последний год суммарный ущерб, нанесенный российским банкам мошенниками, составляет около 200 миллионов долларов, не учитывая моральный ущерб, который выражается в потере лояльности клиентов, ставших жертвами мошенников. Именно поэтому борьба с мошенничеством и выявление потенциальных неплательщиков как можно раньше являются актуальными и приоритетными направлениями развития любого банка, чем и мотивирована данная работа. Существуют различные виды мошенничества: транзакционное мошенничество, обналичивание средств и многие другие к которым также относится отказ от возвращения заемных средств после их получения, данная работа посвящена именно проблеме определения надежности клиента использующего такой продукт, как карта рассрочки, предоставляемый на сегодняшний день некоторыми банками. Особенность данного продукта заключается в том, что в зависимости от суммы, категории и партнера, у которого был приобретен товар или услуга, клиенту банка предоставляется беспроцентная рассрочка на период, зависящий от вышеперечисленных факторов. Данные карты выдают клиентам с различным кредитным лимитом, который в основном зависит от суммы ежемесячного заработка: чем больше заработок - тем больший кредитный лимит может быть одобрен. В момент оплаты банком выплачивается полная стоимость товара или услуги, и все дальнейшие отношения происходят только между банком и клиентом, а именно ежемесячная выплата по предоставленной рассрочке. Данный продукт является массовым и предполагается, что он будет выдаваться большому количеству лиц с минимальным лимитом, который составляет более 15 тысяч рублей. Ввиду того, что такой продукт по задумке не требовал серьезной проверки заемщиков и мог принести прибыль только при условии регулярного использования большим количеством клиентов, банк столкнулся с ситуацией, что около 11% клиентов задерживают выплаты по рассрочке или вообще их не вносят, в то время как процент задерживающих по потребительским кредитам составляет около 3%. Таким образом, появилась необходимость в инструменте, который мог бы определить благонадежность клиента после выдачи продукта, однако до того момента, как клиенту удастся потратить весь лимит карты. В терминах области машинного обучения данная задача может быть сформулирована как бинарная задача классификации, для решения которой в настоящее время разработано большое количество алгоритмов, однако в рамках данной работы будет рассмотрено 3 из них: логистическая регрессия, метод случайных деревьев и наивный байесовский классификатор. Работа предполагает описание работы каждого из методов, а также сравнение результатов их работы при решении поставленной задачи. Каждый из рассматриваемых методов решения задачи классификации относится к разряду «обучающихся с учителем». Задачи обучения с учителем (supervised learning) характеризуются необходимостью обладания двумя типами выборок: обучающей, для которой известно значение переменной отклика для заданного набора предикторов, и тестовой, для которой предпринимается попытка определения переменной отклика. Каждая из моделей будет построена на единственном датасете, который содержит 16661 наблюдений, содержащих социально-демографическую информацию, а также информацию о транзакционном поведении клиента.
Другим важным аспектом данной работы является изучение возможности интегрирования наилучшей модели, написанной на R с системой управления базами данных, которая применяется повсеместно и используется в самых крупных фирмах - Microsoft SQL Server Management Studio. Начиная c версии 2016 года в MS SQL появился SQL Server Machine Learning Services, который представляет из себя утилиту, позволяющую исполнять код R или Python в рамках базы данных SQL сервера в качестве хранимой процедуры. Преимущество данного подхода заключается в том, что все вычисления будут проходить на сервере, на котором хранятся Базы данных, который, безусловно, имеет гораздо большую вычислительную мощность, чем стационарные компьютеры, что имеет серьезное значение, учитывая, какие объемы данных могут храниться в Хранилищах современных банков. Более того такой подход также обеспечивает наибольшую информационную безопасность, и позволяет взаимодействовать R и SQL Server Management Studio друг с другом без использования промежуточных файлов для записи и чтения. Также удобство такого подхода заключается в возможности автоматизации процесса и применении построенной модели к данным в режиме реального времени с использованием заданий (jobs) в SSMS, которые позволяют запускать процедуры и представления автоматически. Более того построенную модель можно хранить в строке таблицы БД SSMS в сериализованном виде, что позволяет использовать построенную модель для новых данных без ее регулярного перестроения.
Таким образом, предметом исследования данной работы является оценка применимости и качества классификации выбранных алгоритмов машинного обучения на реальных данных для решения актуальной банковской проблемы, а также изучение возможности автоматизации применения наилучшей модели к новым данным за счет использования дополнительных возможностей новых СУБД. Целью же данного исследования является получение интегрированных в SSMS алгоритмов машинного обучения, позволяющих спрогнозировать выход клиентом в просрочку, с целью решения актуальной в банковской сфере проблемы - сокращения наносимого мошенничеством ущерба.
Результатом данной работы стала интегрированная в хранилище данных модель для
определения благонадежности клиентов на основании их социально-демографической
информации, а также транзакционном поведении, полученном по истечении 5 дней после
активации одного из продуктов банка, а именно карты рассрочки. В рамках
исследовательской части работы был проведен анализ эффективности трех алгоритмов
бинарной классификации для решения поставленной задачи. В качестве критерия оценки
качества классификации использовался показатель AUC, а также инструмент для наглядного
сравнения качества моделей – ROC кривая. Для того чтобы показать, что модель будет
показывать соответствующие показанным в ходе тестирования результатам, каждый из
алгоритмов был подвержен перекрестной проверки. Был проведен анализ признаков объектов
и изучены способы переопределения категориальных признаков для улучшения качества
модели. По результатам проверки было определено, что в рамках решения поставленной
задачи наиболее подходящим является логистическая регрессия.
Внедренная в процесс процедура позволила своевременно реагировать на
подозрительных клиентов и принимать соответствующие меры. Общая точность построенной
модели на новых данных составляет более 85%, также внедрение подхода позволило
увеличить количество блокируемых карт. Однако, несмотря на все достоинства,
использование внедренного подхода не позволяет полностью автоматизировать процесс
блокировки карт подозрительных клиентов по причине того, что несмотря на высокую
точность, показанную логистической регрессией, ошибки первого и второго рода встречаются
в матрице ошибок (встречаются случаи неверной классификации объектов как несущих, так и
не несущих признак), что требует ручной верификации каждого из классифицированных как
неблагонадежных клиентов. Таким образом, поставленная задача оставляет возможность
дальнейших исследований на предмет улучшения качества построенной модели за счет
использования дополнительных признаков наблюдаемых объектов или поиска другого
алгоритма классификации. Возможно, дополнение предикторов информацией о кредитной51
истории клиента, а также балла выставленного кредитными бюро могло улучшить качество
классификации, однако, вспоминая специфику и аудиторию продукта, мы можем столкнуться
с пропусками в данных, поскольку информация в кредитных бюро появляется только после
оформления клиентов потребительского или другого вида кредита, что требует более
глубокой проверки, а карта рассрочки выдается клиентам почти без предварительной
проверки. А, как известно, проблема пропущенных значений занимает особое место в задачах
машинного обучения и требует отдельного исследования, поэтому информация из бюро
кредитных историй, а так же сама кредитная история не была использована в качестве
признаков в данном исследовании.
David W. Hosmer Applied Logistic Regression/ David W. Hosmer, Jr., Stanley Lemeshow,
Rodney X. Sturdivant, – 3-е изд. – 2013. – 508 с.
2) Joseph M. Hilbe Logistic Regression Models/ Joseph M. Hilbe, – 2009. – 658 с.
3) Alan Agresti Categorical Data Analysis/ Alan Agresti, – 3-е изд. – 2013. – 742 c.
4) Кабаков Р. И. R в действии. Анализ и визуализация данных в программе R/ Кабаков Р.
И. – М.: ДМК Пресс, 2014. – 588 с.
5) Cotton R. Learning R/ R. Cotton, 2013. – 378 c.
6) [Электронный ресурс]: - http://msdn.microsoft.com
7) [Электронный ресурс]: - https://habr.com
8) [Электронный ресурс]: - https://www.coursera.org