2013 Разработка программно-математического комплекса...

20
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ Кафедра ИТ6 «Управление и моделирование систем» ДИПЛОМНЫЙ ПРОЕКТ на тему «Разработка программно-математического комплекса поддержки скоринга востребования» Выполнил: Царьков Юрий Александрович Руководитель: Мельников Алексей Олегович Москва, 2013

Upload: rf-lab

Post on 13-Jun-2015

305 views

Category:

Education


0 download

DESCRIPTION

ДИПЛОМНЫЙ ПРОЕКТ на тему «Разработка программно-математического комплекса поддержки скоринга востребования» Выполнил: Царьков Юрий Александрович Руководитель: Мельников Алексей Олегович

TRANSCRIPT

Page 1: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ

Кафедра ИТ6 «Управление и моделирование систем»

ДИПЛОМНЫЙ ПРОЕКТ

на тему

«Разработка программно-математического комплекса

поддержки скоринга востребования»

Выполнил: Царьков Юрий АлександровичРуководитель: Мельников Алексей Олегович

Москва, 2013

Page 2: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Принятие стратегического решения

Прекратить взыскание

Продолжить прежним методомИзменить

метод взыскания

Списать задолженность

Скоринг(от англ.

score - счет)

Кредитный

Мошенничества

Поведенческий

Востребования

система оценки заемщика, основанная на численных статистических методах

оценка кредитоспособности заемщика при выдаче кредита

оценка вероятности мошеннических действий со стороны потенциального заемщикаанализ кредитной истории с целью изменения стратегии взаимодействия с заемщикоманализ информации о заемщике с целью возврата просроченного платежа

Установка контакта с должником

Анализ результатов

2

Page 3: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Разработка программно-математического комплекса,

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

1• изучение существующих программных средств и

математических методов скоринга

2• выбор математического метода для использования в

дипломном проекте

3• разработка алгоритмов для реализации выбранного метода

4• описание структуры программного комплекса и написание

программного кода, реализующего разработанные алгоритмы

5

• анализ опасных для пользователя ПЭВМ факторов и разработка комплекса мероприятий по обеспечению безопасности эксплуатации ПЭВМ

6• расчет экономической эффективности от реализации проекта

Задачи:

Цель дипломного проекта

3

Page 4: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

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

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

«плохие» задолженности - работа по взысканию признананеуспешной

«хорошие» задолженности - работа по взысканию признанауспешной

Критерий качества задолженностей

𝐷𝑒𝑏𝑡𝑆𝑢𝑚≤𝑆𝑡𝑎𝑟𝑡𝑆𝑢𝑚×𝐾НетДа

«Хороший» «Плохой»

– остаток к погашению на данный момент – начальная сумма долга

– коэффициент, обычно близок к 0,5 4

Page 5: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Математические методы скоринга

линейная регрессия логистическая регрессия метод ближайших соседей линейное программирование генетические алгоритмы нейронные сети

деревья решений

байесовский подход

Линейная

регрессия

Логистическая

регрессия

Метод ближай

ших соседей

Линейное

программирован

ие

Нейронные сети

Генетический

алгоритм

Деревьярешени

й

[43,4 – 87,5]68,66

[43,3 – 89,3]66,63

[43,8 – 93,2]68,32

[74,7 – 86,1]80,4

[62 - 64]63

64,5[78,5 – 92,1]83,88

Таблица 1 – Сравнение точности классификации различных методов*, %

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

5

Page 6: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Scorto Ample Collection, пакет

Loan Decision

IBM SPSS, пакет Clementine

SAS, пакет Enterprise Miner

Ksema TERN Group, пакет KXEN Analytic

Framework

Существующие программные решения

Продукт

Возможность

интеграции со

сторонними АС

Построение

стратегий

Наличие АРМ

Используемые алгоритмы

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

Стоимость

(минимальная

стоимость пакета,

руб.)

Scorto есть есть есть лог. регрессия, деревья решений 65 000

IBM SPSS нет нет естьлог. регрессия,

деревья решений, нейронные сети

82 000

SAS нет нет нетлог. регрессия,

деревья решений, нейронные сети

600 000

KSEN есть есть нет

лог. регрессия, деревья решений, нейронные сети,

сети Байеса

2 700 000

Разрабатываемое ПО

есть есть естьскрытая марковская

модель

Таблица 2 – Сравнительная характеристика программных продуктов в области скоринга

6

Page 7: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Информационная модель

7

Коллектор

Должник

Результат контакта

(наблюдение)

Результат контакта

(наблюдение)

Контакт 1

Контакт I

t

I >> 1

БД

Должник

𝑂1

𝑂 𝑖

Коллектор

Коллектор

t

Должник

I > 1

{…}

I - количество контактов с должником - один из возможных результатов, полученных в ходе работы с должником

Page 8: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Математическая модель

𝜆= {𝐴 ,𝐵 ,𝜋 }

где– вероятность перехода

где – вероятность -го наблюдения в -м состоянии

где – вероятность в начальныймомент времени

Скрытая марковская модель:

8

Page 9: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Описание параметров модели

9

– заемщик не знает о просрочке

– заемщику известно о просрочке, готов к сотрудничеству

– заемщику известно о просрочке, отказывается от сотрудничества

Номер ЗначениеСостояние

в СММ1 Автоответчик S1, S2, S32 Должник не берет трубку S1, S2, S33 Должник не дождался ответа оператора S1, S2, S34 Информация передана S1, S2, S35 Клиента знают, но связи не имеют S1, S2, S36 Клиента не знают S1, S2, S37 Нарушение обязательств S2, S38 Не берут трубку S1, S2, S39 Необходимо перезвонить S1, S2, S3

10 Номер не существует S1, S2, S311 Обещание оплаты S1, S2, S312 Отказ от верификации S2, S313 Отказ от оплаты S2, S314 Отправлен факс S1, S2, S315 Подозрение на мошенничество (КЛИЕНТ) S1, S2, S316 Подтверждение оплаты S217 Полное погашение S2, S318 Признак мошенничества (НЕ КЛИЕНТ) S1, S2, S319 Сброс со стороны абонента S1, S2, S320 Связаться с заемщиком невозможно S1, S2, S321 Связь прервалась S1, S2, S322 Сложный (в армии, в тюрьме, алкоголик, наркоман) S1, S2, S3

23 Сообщение прослушано не полностью (Автоинформатор) S1, S2, S3

24 Сообщение прослушано полностью (Автоинформатор) S1, S2, S3

25 Телефон занят S1, S2, S3

26Третье лицо не знает о кредите/Отказ в передаче информации

S1, S3

27 Тяжело болен/Инвалид S1, S2, S328 Умер/Пропал без вести S1, S2, S329 Частичное погашение S1, S2, S3

Таблица 3 – Исходы, регистрируемые по результату контакта с заемщиком

Номер

ЗначениеСостояние

в СММ1 Нет данных в БД S12 Болезнь S2, S33 Забыл S14 Кредит оформлял не для себя S1, S35 Мошенничество S36 Находился в командировке\отпуске S1, S27 Не разъяснены условия договора S18 Причина не установлена S1, S2, S39 Проблемы с досрочным погашением S2, S3

10 Рекламация S2, S311 Тяжелое материальное положение S2, S3

12Утеряны платежи (контроль по квитанциям)

S2, S3

Таблица 4 – Возможные причины выхода на просрочку

Переход Номер наблюдения (таблица 3)

1, 2, 3, 4, 8, 9, 10, 14, 20, 21, 23, 2511, 16, 17, 23, 24, 295, 6, 7, 12, 13, 15, 18, 19, 22, 23, 24, 26, 27, 281, 2, 3, 4, 8, 9, 10, 11, 14, 16, 17, 20, 21, 23, 24, 25, 295, 6, 7, 12, 13, 15, 18, 19, 22, 23, 24, 26, 27, 2811, 16, 17, 23, 24, 291, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 281, 2, 3, 4, 8, 9, 10, 14, 20, 21, 23, 2511, 16, 17, 23, 24, 295, 6, 7, 12, 13, 15, 18, 19, 22, 23, 24, 26, 27, 28

Таблица 5 – Правила изменения состояний СММ

Причина выхода на просрочку (таблица 4)

Номер наблюдения (таблица 3)

Состояние

15, 6, 7, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 26, 28

S1

2 – 12 11, 16, 17 S2

2 – 12 5, 6, 7, 10, 12, 13, 15, 18, 20, 22, 26, 28

S3

Таблица 6 – Правила определения начальных состояний СММ

Page 10: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Общая схема решения

Историяконтактов

Клиентскиймодуль

Серверный модуль

Подготовкапараметров

моделей

Сборстатистики

Работа повозврату

задолженности

Модель

Модель

Последовательность наблюдений

Выбор помаксимуму

𝑃 (𝑂|𝜆1)

𝑃 (𝑂|𝜆2 )

Индекс кластера

Задолженность

для каждой модели

Информацияо исследуемомдолге не учитываетсяпри подготовкепараметровмодели

Обучениемоделей

10

Page 11: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Метод решения задачи

𝛼 𝑡 (𝑖 )=𝑃 (𝑂1 ,𝑂2,…,𝑂𝜏 ,𝑞𝜏=𝑆𝑖|𝜆)Вероятность появления частичной последовательности наблюдений

𝛼0 (𝑖 )=𝜋 𝑖𝑏𝑖 (𝑜1 ) , 𝑖=1 ,𝑁

Инициализация:

Вычисление:

𝛼 𝑡 ( 𝑗 )=[∑𝑖=1

𝑁

𝛼𝑡− 1 (𝑖 )𝑎𝑖𝑗]𝑏 𝑗 (𝑜𝑡 ) , 𝑗=1 ,𝑁 , 𝑡=1 ,𝜏−1

𝑃 (𝑂∨𝜆)=∑𝑖=1

𝑁

𝛼𝑡 (𝑖 )

Алгоритм прямого хода

𝑂 ∊𝜆1,𝑃 (𝑂|𝜆1 )≥ 𝑃 (𝑂|𝜆2 )𝜆2,𝑃 (𝑂|𝜆1 )<𝑃 (𝑂|𝜆2 )

11

(1)

(2)

(3)

– длина последовательности

N – число состояний

Page 12: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Метод решения задачи

Вероятность появления частичной последовательности наблюдений

Инициализация:

Вычисление:

Алгоритм обратного хода

𝛽𝑡 (𝑖 )=𝑃 (𝑂𝑡+1 ,𝑂𝑡+2 ,…,𝑂𝜏|𝑞𝑡=𝑆𝑖 ,𝜆) ,

𝛽𝜏 (𝑖 )=1 , 𝑖=1 ,𝑁

𝛽𝜏 (𝑖 )=∑𝑗=1

𝑁

𝑎𝑖𝑗𝑏 𝑗 (𝑜𝑡+1 ) 𝛽𝜏+1 ( 𝑗 ) ,𝑖=1 ,𝑁 , 𝑡=𝜏−1 ,1

𝑃 (𝑂∨𝜆)=∑𝑖=1

𝑁

𝜋𝑖𝑏𝑖 (𝑜1 ) 𝛽1 (𝑖 ) 𝑂 ∊𝜆1,𝑃 (𝑂|𝜆1 )≥ 𝑃 (𝑂|𝜆2 )𝜆2,𝑃 (𝑂|𝜆1 )<𝑃 (𝑂|𝜆2 )

12

(4)

(5)

(6)

– длина последовательности

N – число состояний

Page 13: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Алгоритм реализации клиентской части

TScore.StartScore()

InitHMMValues

TScore.quScoreDebt.First

P1 := 0P2 := 0

quScoreDebt.Eof

Вычисление и сравнение вероятностей для каждого

долга исследуемого множества

Конец

P1 := HMM_Good.GetForwardProba

bilityP2 :=

HMM_Bad.GetForwardProbabil

ity

P1 > P2

quScoreDebt_ScoreResult :=

0

quScoreDebt_ScoreResult :=

1

Нет

Да

quScoreDebt.Post

quScoreDebt.Next 1

3

Page 14: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Алгоритм реализации серверной части

Начало (Execute gain_stat)

Подготовка вспомогательн

ых таблиц

Вычисление значений вектора

вероятностей начальных состоянийВычисление значений матрицы

вероятностей наблюденийВычисление

значений матрицы

вероятностей переходов

Конец14

Page 15: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Диаграмма классов клиентской части ПО

15

Page 16: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Методика тестирования

Отобрать 1000 задолженност

ей из БДОтфильтровать непригодные для использования данные

Отобрать 15% в тестовую группу

Выполнить сбор статистики и расчет параметров моделей по обучающей группе

Выполнить моделирование с использованием

полученных входных параметров на тестовой

группе

Выбираются случайным образом из всех долгов,

по которым уже завершена работа

Для того, чтобы в тестовой группе

присутствовали как «плохие», так и

«хорошие» задолженности,

отдельно отбираются по 15% долгов с хорошими и плохими признаками

По некоторым долгам Банки присылают

обновленную информацию о

погашении до начала работ по взысканию

1000 долгов

943

116 «хороших»

17 для тестирован

ия

99 для расчета

параметров

831 «плохих»

108 для тестирован

ия

723 для расчета

параметров

57 непригодных

Подготовка данных

16

Page 17: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Результаты работы ПО

"плохие"

"хорошие"

108

17

92

15

Правильно кластеризованно в СММТестовое множество

S S1 S2 S3

1 0,764151 0,018868 0,2169812 0 0,889885 0,1101153 0 0,191123 0,808877

O S1 S2 S3

1 0,009434 0,008323 0,0153992 0,103774 0,067862 0,0706523 0 0,011524 0,0099644 0 0,020487 0,0081525 0,009434 0,001921 0,010876 0,018868 0,011524 0,0144937 0 0 0,0036238 0 0,005122 0,0072469 0 0,016645 0,00996410 0,528302 0,069782 0,22463811 0 0,028169 0,00905812 0 0 013 0 0,007042 0,00634114 0 0,00128 0,00090615 0 0 016 0 0,084507 0,01177517 0 0,021767 0,00090618 0 0 019 0,188679 0,086428 0,34782620 0 0,072343 0,01268121 0,009434 0,048015 0,02989122 0 0,00064 023 0,009434 0,161332 0,0172124 0,018868 0,224712 0,15217425 0,103774 0,046095 0,0344226 0 0,002561 0,00181227 0 0 028 0 0 029 0 0,001921 0

π π1 π2 π3

1 0,262626 0,232323 0,505051

Таблица 7 – Вероятности начальных состоянийдля модели «хороших» задолженностей

Таблица 8 – Вероятности изменения состоянийдля модели «хороших» задолженностей

Таблица 9 – Вероятности получения наблюденийдля модели «хороших» задолженностей

S S1 S2 S3

1 0,947418 0,003756 0,0488262 0 0,792564 0,2074363 0 0,018688 0,981312

O S1 S2 S3

1 0,001995 0,019569 0,00523272 0,313967 0,066536 0,22397683 0,00223 0,013699 0,01859474 0,000469 0,003914 0,01009165 0,001526 0,020548 0,01354896 0,003873 0,108611 0,03158297 0 0 0,00018698 0,006221 0,007828 0,01214739 0,003052 0,017613 0,020556910 0,524883 0,093933 0,264623411 0 0,000978 0,000186912 0 0 9,34E-0513 0,000117 0,001957 0,000186914 0 0,005871 0,002055715 0 0 9,34E-0516 0 0 9,34E-0517 0 0 018 0 0 0,000186919 0,043192 0,07045 0,288357320 0,000469 0,031311 0,006727721 0,006103 0,053816 0,03373222 0 0 023 0,000587 0,219178 0,002429524 0,003756 0,216243 0,015978325 0,087441 0,042074 0,040926926 0,000117 0 0,002896727 0 0 028 0 0,005871 0,00551329 0 0 0

π π1 π2 π3

1 0,876902 0,001383 0,121715

Таблица 10 – Вероятности начальных состоянийдля модели «плохих» задолженностей

Таблица 11 – Вероятности изменения состоянийдля модели «плохих» задолженностей

Таблица 12 – Вероятности получения наблюденийдля модели «плохих» задолженностей

«хорошие»

«плохие»

Тестовое множество 17 108

Правильно кластеризованно СММ

15 92

15+9217+108

×100=𝟖𝟓 ,𝟔%

Точность кластеризации

Таблица 13 – Результат работы ПО на тестовых данных

17

Page 18: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Экономический раздел

Наименование статей

Обозначение Сумма, руб. В % к итогу

Основная заработная плата

Сосн 210000 45,15

Дополнительная заработная плата

Сдоп 21000 4,6

Отчисления на социальные нужды

Ссоц 78540 16,89

Материалы Смат 2750 0,59

Стоимость машинного времени

Смаш.вр 26850 5,77

Накладные расходы

Сн 126000 27

Итого: Спр 465140 100

Таблица 14– Смета затрат на разработку и внедрение ПО

Ленточный график разработки ПО

Наименование

показателя

Ед. измерения

Базовый вариант

Проектный вариант

Проектный вариант в

% к базовому

Способ обработки информаци

и

- В ручную

С применение

м ЭВМ и программных средств

-

Используемое

оборудование

-Пишущие машинки

ПЭВМ, принтер

-

Годовые затраты на обработку

информации

Чел. ч.Маш. ч.

 7192

 

17981259

 25 

Количество работников

Чел 4 1 25

Потребность в

производственных

площадях

м2 12 6 50

Капитальные вложения

Руб. 180000 238217,22 132

Годовые текущие

затраты на обработку

информации

Руб. 4511508 1132384,75 25

Годовые приведенны

е затраты на

обработку информаци

и

Руб. 4538508 1158117,33 25

Годовой экономический эффект

Руб. - 3380390,67 -

Таблица 15– Основные технико-экономические показатели

Расчетные результаты внедрения:• годовой экономический эффект в размере

3380390,67 рубля• снижение следующих экономических

показателей: годовые приведенные затраты труда на

75% количество работников на 75% годовые текущие затраты на 75%

18

Page 19: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

Выводы

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

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

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

19

Page 20: 2013 Разработка программно-математического комплекса поддержки скоринга востребования

21

Спасибо за внимание!