Разработка автоматизированной системы рекомендаций для банка по кредитам и займам

Основные принципы скоринговой системы, обзор существующих аналогов. Алгоритмы машинного обучения. Этапы разработки модуля предсказания, обоснование выбора инструментальных и программных средств. Анализ качества моделей и сравнение обученных моделей.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.12.2019
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

скоринговый программный алгоритм автоматизированный

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

Грамотное управление рисками является залогом повышения доходности кредитного портфеля любого банка. Основным банковским риском на данном этапе развития представленной области стал кредитный риск. Чтобы эффективно управлять данным риском компании применяют такой инструмент как Кредитный скоринг. Его суть заключается в прогнозировании выгодности выдачи тому или иному клиенту кредита на основе его персональных данных.

Актуальность. Сейчас развитие технологий позволило автоматизировать и данный инструмент. Все крупные банки имеют тенденцию внедрения кредитных скоринговых систем на базе статистических алгоритмов прогнозирования. Данное решение позволяет выиграть в таких аспектах как:

ѕ Снизить влияния человеческого фактора на принятие решения о выдаче займа.

ѕ Увеличить поток обрабатываемых данных о клиентах, увеличив при этом качество и скорость анализа, что благотворно влияет на прибыльность от сектора кредитования без увеличения риска убытка от договора о выдаче кредита.

ѕ Увеличить точность анализа кредитного риска за счет учёта большего объема исходных данных.

Развитие таких технологий как bigdata и machine learning позволило не только анализировать данные о клиенте, но и обучать систему модели поведения клиента на основе предыдущего опыта. Эта технология стала применяться в области кредитного скоринга относительно недавно, и многое в данной области еще не исследовано и подвергается сомнениям.

Существуют разные подходы для проектирования скоринговой системы, для базы которой может быть использовано множество алгоритмов machine learning и различный перечень данных о клиентах. На данный момент нет четкого представления, какая совокупность методов проектирования даст наилучший результат для области банковского кредитования. Именно решению данной проблемы будет посвящено данное исследование.

Цель и задачи. Объектом исследования стала область анализа рисков банковского кредитования.

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

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

Для достижения поставленной цели необходимо решить следующий перечень задач:

1. Проанализировать существующие технические решения автоматизированных систем обработки данных клиента

2. Проанализировать вопросники* известных банков России для составления перечня необходимых исходных данных для эффективного прогнозирования.

3. Составить анализ нескольких методов машинного обучения, включающих в себя:

a. Изучение алгоритмов

b. Имитация работы скоринговой системы на базе данных алгоритмов и составление отчета о выгодности использования алгоритмов по следующим критериям: точность прогнозирования, время обучения и время анализа.

4. На базе самого оптимального по характеристикам алгоритма построить кредитный скоринговый модуль, оптимизированный для размещения на рабочем сервере.

5. Разместить данный модуль на сервере с возможностью получения данных из локальной базы данных и возможностью передачи оценки клиента на сайт.

Результатом данной работы станет модуль, размещенный на сервере отвечающий следующим критериям качества:

1. Модуль будет иметь хорошие показатели точности оценки способности клиента вернуть кредит.

2. Система сможет получать данные из базы данных спроектированной на подобии части хранилища данных компании АО Альфа-Банк.

3. Модуль будет поддерживать трансляцию полученных данных на сайт.

А также отчет об анализе алгоритмов машинного обучения представленный в виде графиков точности, времени выполнения (обучения и анализа новых данных)

Практическая значимость данной работы будет заключаться в использовании данного исследования для дальнейшего усовершенствования системы скоринга компании АО Альфа-Банк.

1. Обзор предметной области

1.1 Основные принципы скоринговой системы

Скоринг - это совокупность технологий математического и статистического методов оценки уровня кредитного риска, относительно определённого заемщика. [1] Скоринг представляет из себя программу, работающую на алгоритмах анализирующих данные заемщиков и предоставляющие оценку риска, исходя из которой можно оценить стоит ли выдавать кредит клиенту, чьи данные обрабатывались программой. В 1941 г. Дэвид Дюран впервые применил методику классификации кредитов на «хорошие» и «плохие». Более подробно зарождение скоринга рассматривается в исследованиях Скиба Сергей Александрович [2]. Данная система появилась в мире в середине XX века в банковской области. В Россию данная технология пришла относительно недавно.

Скоринг делится на четыре вида:

1. Application-scoring - оценка платежеспособность заемщиков при выдаче кредита. Оценка приложения включает в себя присвоение значений баллов переменным, на которых строится прогноз, в приложении до принятия решения об утверждении кредита. Типичные данные приложения включают в себя такие элементы, как информацию о работе, продолжительность пребывания в текущем месте жительства, а также уровень дохода. Очки для переменных суммируются, чтобы получить общую оценку клиента. Оценка может помочь определить условия кредита.

2. Collection-scoring - система скоринга на стадии работы с невозвращенными займами. Система ранжируют счета по вероятности получения причитающихся платежей. Они используются для определения стратегий сбора, назначения очереди сбора, размещения агентства по сбору платежей и так далее. Сборные баллы обычно используются на средних и поздних стадиях преступности.

3. Behavioral-scoring, «скоринг поведения» - оценка наиболее вероятных финансовых действий заемщика. Оценка поведения включает в себя присвоение значений баллов внутренней информации, такой как поведение при оплате, схема использования и история правонарушений. Оценки поведения предназначены для отражения истории держателя карты в банке. Их использование помогает руководству оценивать кредитный риск и, соответственно, принимать решения по управлению учетными записями.

4. Attrition scoring - оценка истощения, в рамках которой определяются потребители, которые, скорее всего, закроют свои счета, позволят их счетам бездействовать или резко сократят свой непогашенный остаток. Идентификация таких учетных записей может позволить руководству принять меры для экономичного сохранения учетных записей и создания остатков на счетах. [3-4]

В рамках данного исследования подробно будет рассматриваться скорин типа application-scoring на базе анализа данных с помощью алгоритмов машинного обучения.

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

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

В исследованиях Мельникова А.А. и Стельмаш Д.С. [5] представлен минимальный список необходимых данных для анализа скоринговой системой.

В них входит:

1. Ф.И.О. клиента

2. Дата рождения клиента (необходима для определения возраста).

3. Средняя зарплата клиента.

4. Сумма предполагаемого кредита.

5. Срок, на который запрашивается займ.

6. Наличие задолженностей перед другими банками.

7. Положительная/отрицательная кредитная история в банке

8. Наличие статус поручительства у клиента.

9. Задолженность по налогам и прочим сбором и штрафам (данные поступают от службы судебных приставов и ГИБДД).

10. Сведения об организации работодателя (наименование).

11. Средняя заработная плата в данной организации.

12. Данные о тратах клиента

13. Прочая негативная информация о заемщике (приводы в милицию, наличие судебных решений и т.п.).

14. Наличие иждивенцев (количество).

15. Наличие имущества (автомобиль, недвижимость). [6]

В ходе анализа анкет группы банков, на рисунке 1 представлены две анкеты банков ВТБ и Сбербанк [7-8]. Было подтверждено, что вышеупомянутый список действительно включает в себя важные характеристики для скоринга. Так же было выявлено, что детальность запрашиваемых данных зависит от политики банка.

Рис. 1. Анкета банков ВТБ и Сбербанк

Именно правильно подобранные исходные данные, значение которых имеет наибольшее влияние на выплату займа, служат залогом качественной оценки кредитного риска. Поэтому так важно сформировать правильный список характеристик клиента.

1.2 Алгоритмы машинного обучения

Вторую часть скоринга составляет метод, на базе которого строится оценка. Существует множество статистических методов анализа клиентов, которые также и в настоящее время применяются в банковской деятельности, но благодаря развитию в области информационных технологий многие крупные банки перешли на методы машинного обучения и статистические методы ушли на второй план. Данное утверждение также подтверждается в статье Агафонова В.В., Вишневер В.Я. и Фрумусаки С.В. [9].

Согласно результатам Yeh и Lien, изучавшим вероятность дефолта клиентов по кредитным картам, искусственная нейронная сеть превосходит алгоритмы машинного обучения [10]. Однако исследования, проведенные Ince и Aktan, опубликованные в 2009 году, показали, что некоторые традиционные скоринговые модели превзошли нейронные сети в точности прогнозирования [11]. Джон Х. и Ли Ю. в 2010 году применяли методы машинного обучения для создания моделей прогнозирования, где было выявлено, что нет однозначного мнения, какой способ анализа больше подходит для прогнозирования в области кредитного скоринга. [12].

Волкова Е.С., Гисин В.Б. и Соловьев В.И. [13] в своей работе вывели основные современные методы интеллектуального анализа данных в задаче кредитного скоринга, описание и сравнительный анализ некоторых их них будут изложены в главах: Глава 2 «Этапы разработки модуля предсказания» и Глава 3 «Анализ качества моделей и сравнение обученных моделей».

1.3 Обзор существующих аналогов

Сейчас на российском рынке представлено множество различных скоринговых систем позволяющих оценивать кредитный риск. Наиболее известные из западных систем являются:

ѕ SAS Credit Scoring,

ѕ EGAR Scoring,

ѕ Transact SM (Experian-Scorex),

ѕ K4Loans (KXEN),

ѕ Clementine (SPSS));

Но также конкуренцию западным технологиям составляют отечественные скоринговые системы:

ѕ BNS,

ѕ Basegroup Labs,

ѕ Scorto.

В данной главе мы разберем некоторые из них.

SAS Credit Scoring

SAS Credit Scoring - это комплексное решение для внутренней разработки, развертывания, тестирования и мониторинга всех моделей кредитного риска. Данная система помогает учреждениям, которые участвуют в услугах по кредитованию, разрабатывать и более точно отслеживать оценки кредитного риска. Система также помогает им управлять полным жизненным циклом моделирования на одной комплексной платформе. [14]

SAS Credit Scoring поддерживает большие данные, за счет использования обработки данных в Hadoop и Teradata. Он интегрируется как программное обеспечение с открытым исходным кодом языков R и Python для удовлетворения разнообразных потребностей в моделировании.

SAS Credit Scoring предлагает полный набор веб-отчетов. Эти отчеты оценивают стабильность, калибровку и производительность моделей кредитного скоринга. Кроме того, с помощью этих отчетов учреждения могут обнаруживать проблемы с моделями, анализировать причины и предоставлять информацию о производительности в нескольких форматах для исполнительного руководства и регулирующих органов. Схема работы системы SAS представлена на рисунке 2.

Данная система является одной из самых популярных скоринговых систем. Основные общепринятые модели делятся на следующие типы, каждый из которых может быть реализован средствами SAS Credit Scoring:

ѕ Анкетный (заявочный) скоринг

ѕ Поведенческий скоринг

ѕ Коллекторский скоринг

ѕ Антимошеннический скоринг

ѕ Модели PD, LGD, CCF/EAD в соответствии с Advanced-IRB подходом Базельского комитета

Рис. 2. Схема работы системы SAS Credit Scoring

Данный инструмент позволяет аналитику спроектировать скоринговую систему любого типа.

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

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

EGAR Scoring

EGAR Technology предлагает высокотехнологичное решение EGAR E4 Banking по сквозной автоматизации операций банка в области кредитования физических лиц и индивидуальных предпринимателей.

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

Системой формируются четкие критерии определения кредитоспособности заемщиков с использованием современных скоринговых и макроэкономических подходов. К числу поддерживаемых типов продуктов относятся:

1. целевой кредит,

2. кредит на неотложные нужды,

3. кредиты под залог покупаемого имущества (авто- и ипотека)

4. возобновляемые кредитные линии (кредитные карточки, овердрафт).

У компании EGAR можно отметить три продукта, автоматизирующих кредитный скоринг. Первый - EGAR Application Scoring - сочетает анализ исторических данных с применением макроэкономических показателей, что реализуется в модулях ретроспективного скоринга и макроскоринга соответственно. Алгоритмы, используемые при анализе розничных заемщиков, в большинстве своем аналогичны вышеописанным, но есть и ряд других подходов - например, байесовские сети. Банк, внедривший EGAR Application Scoring, получает возможность рассчитывать риски невозврата и досрочного погашения и управления просроченными кредитами с помощью определения лимитов и сроков погашения задолженности. Также система анализирует кредитные сделки с созаемщиками и поручителями и учитывает залоговое качество обеспечения кредита, беря в расчет временной фактор .EGAR не только продает систему, но и сдает ее в аренду. [15]

Рис. 3. Схема EGAR

Так же как и многие покупаемые системы скоринга EGAR имеет недостатки такие как:

1. высокая стоимость внедрения данной технологии;

2. зависимость банка в части внедрения и обслуживания данной системы от разработчиков, что может повлечь большое затраты;

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

Scorto Loan Desicion

Scorto Solutions - это Российская компания, предлагающая банкам свои программные обеспечения для анализа данных. Их ключевым продуктоми является Loan Desicion - программа, ориентированная на обработку клиентских заявок и оценки кредитоспособности. Система Scorto для кредитного скоринга и обработки заявок позволяет автоматизировать рабочий процесс выдачи кредита, оценку заемщика (кредитный скоринг), принятие решений и управление стратегией. Он предоставляет гибкие возможности для интеграции с основными банковскими системами и различными источниками данных.

Данный продукт следующий функционал:

ѕ Обработку большого потока данных

ѕ Возможность сравнить полученные данные с внешними и внутренними источниками

ѕ Пользовательский дизайн с удобным интерфейсом для настройки процесса анализа

ѕ Поддерживает большое количество пользователей программы.

Приложение ориентировано на крупные банки, хотя и имеет отсутствие гибкости в изменениях анализа данных, что может стать в дальнейшем проблемой для больших компаний. Данное решение оптимально для проведения анализа кредитоспособности в рамках офисной работы, где пользователь-сотрудник, ставящий на поток обработку данных, имеет специальные навыки оценки клиента. Так же это приложение имеет интерфейс только для обработки данных и построения модели прогноза, но в случае необходимости интеграции скоринга на уровень персонала отделений банка данное приложение будет нуждаться в дополнительном программном обеспечении, которое сможет быть доступным для неквалифицированного обслуживающего персонала.

Данные приложения удобны для больших компаний, они имеют свои плюсы и минусы и поддерживают большое количество методов анализа. Для использования данных программ необходим специалист, который будет поддерживать работу кредитного скоринга, разбираться какой метод необходимо использовать и поддерживать актуальность алгоритмов и методик расчета. Это может быть нерациональным с точки зрения финансов, нежели разработка собственной системы. Также программы имеют ограничения в функционале и для некоторых больших компаний это может быть неприемлемо. Поэтому в ходе моей работы скоринговый модуль будет разрабатываться с учетом политики и требований АО Альфа-банк.

2. Этапы разработки модуля предсказания

2.1 Сбор данных

В банках принято все данные хранить в Хранилище данных DWH[17], где огромное количество информации размещено в таблицах и на различных серверах.

Далее представлен скрипт выборки данных из 2 таблиц (Рисунок 4):

· таблица клиентских данных

· таблица сделки

Таблица dealloanbalance_sstat хранит информацию о статусе договора с клиентом, и каждый день в таблицу фиксируется состояние сделки как новая запись. Сначала формируется обобщенное табличное представление tab, в котором выбираются уникальные записи по договору о выдаче кредита, а именно начало договора, дата закрытия кредита и количество дней просрочки которое в дальнейшем служит флагом о возврате кредита. Далее tab объединяется по идентификатору договора с основой таблицей данных по клиенту WA_CLIENT_CREDIT_SSAT откуда в дальнейшем берутся персональные данные и данные по продукту (кредиту).

Рис. 4. Запрос на выгрузку данных в таблицу

Таким образом были получены данные о клиенте для создания модуля автоматизированной системы оценки выгодности предоставления кредита клиенту банка. Предусматривается в будущем автоматизированная выгрузка данных из разных схем в одну таблицу CREDIT_FCLIENT_INFO базы данных CREDITDATABASE с помощью автозапуска данного запроса.

2.2 Выбор инструментальных и программных средств

Язык Python [18] стал общепринятым языком для многих сфер применения науки о данных (data science). Он сочетает в себе мощь языков программирования с простотой использования предметно-ориентированных скриптовых языков типа MATLAB[19] или R. В Python есть библиотеки для загрузки данных, визуализации, статистических вычислений, обработки естественного языка, обработки изображений и многого другого. Этот обширный набор инструментов предлагает специалистам по работе с данными (data scientists) большой набор инструментов общего и специального назначения. Одним из основных преимуществ использования Python является возможность напрямую работать с программным кодом с помощью терминала или других инструментов типа Jupyter Notebook[20], который мы рассмотрим ниже. Машинное обучение и анализ данных - это в основном итерационные процессы, в которых данные задают ход анализа. Крайне важно для этих процессов иметь инструменты, которые позволяют оперативно и легко работать. В качестве языка программирования общего назначения Python позволяет создавать сложные графические пользовательские интерфейсы (GUI) и веб-сервисы, а также легко интегрироваться в уже существующие системы.

В языке python поддерживается такой инструмент как scikit-learn. [21] Scikit-learn - это библиотека на Python, которая предоставляет множество неконтролируемых и контролируемых алгоритмов обучения. Он основан на некоторых технологиях, таких как NumPy, pandas и Matplotlib. [22]

Функциональные возможности, которые предоставляет scikit-learn:

ѕ Регрессия, включая линейную и логистическую регрессию

ѕ Классификация, включая K-ближайших соседей

ѕ Кластеризация, включая K-Means и K-Means ++

ѕ Выбор модели

ѕ Предварительная обработка, включая Min-Max Normalization

Именно на этих функциях строятся многие алгоритмы машинного обучения.

Также для работы модели необходимы такие библиотеки как:

ѕ NumPy - это один из основных пакетов для научных вычислений

ѕ iPython. Он содержит функциональные возможности для работы с многомерными массивами, высокоуровневыми математическими функциями (операции линейной алгебры, преобразование Фурье, генератор псевдослучайных чисел).

ѕ SciPy - это набор функций для научных вычислений в Python. Помимо всего прочего он предлагает продвинутые процедуры линейной алгебры, математическую оптимизацию функций, обработку сигналов, специальные математические функции и статистические функции.

ѕ Matplotlib - основная библиотека для построения научных графиков в Python, которую мы использовали для графического представления данных.

ѕ Pandas - библиотека Python для обработки и анализа данных. Она построена на основе структуры данных, называемой DataFrame и смоделированной по принципу датафреймов среды статистического программирования R. [22]

Для имитации части Хранилища данных банка будет использована СУБД MySQL. [23] Данная СУБД поддерживает стандартные возможности всех баз данных, поддерживает язык SQL и удобна в передаче данных в модуль кредитного скоринга.

Для создания интерфейса будет использован фрейемворк Flask [24] для создания back-end.

2.3 Обработка данных

На основе анализа исследований в области кредитного скоринга были классифицированы две группы организационно-правовой формы анализируемых данных:

ѕ Данные о юридических лицах - это компании разного сегмента, доходности и статуса на рынке

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

Дальнейший анализ данных будет проводится только на выборке данных о физических лицах.

Выделяется несколько типов данных для анализа:

ѕ Второстепенные

ѕ Непрерывные

ѕ Номинальный

ѕ Бинарные

1. Второстепенные

Это дискретные данные без потенциальной связи с конечной переменной. Например, номер счета - числовой идентификатор клиента, который не влияет на конечный результат.

2. Непрерывные

Непрерывные - это числа с плавающей точкой, чаще всего это статистические данные, возраст и другие данные, содержащие числовое значение.

3. Категориальные

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

4. Бинарный

Двоичные данные - это дискретные данные, которые могут относиться только к одной из двух категорий: либо да, либо нет, 1 или 0.

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

Для исследования будут использоваться такие данные, как:

Client - имя клиента Ф.И.О.;

Birth_date - день рождение для оценки возраста клиента;

Gender_ccode - пол клиента «М» - мужской или «Ж» - женский;

Education_ccode - образование для оценки уровня знаний клиента и его положения на рынке труда;

Productgroup_ccode - тип кредита предоставляемого клиенту. Имея название продукта автоматически можно опустить некоторые данные о кредите, поскольку типа кредитного продукта имеет фиксированные правила выдачи кредита и выплат задолжности;

Other_income - сторонний доход клиента, включают в себя все сторонние доходы клиента помимо ЗП;

Salary - заработная плата клиента;

Costs - траты клиента среднемесячные для оценки трат относительно дохода;

Amountrequestedbyclient - сумма, запрошенная клиентом на кредит;

Creditterm - условия кредита;

Iscarowned - наличие автомобиля, эти данные позволят оценить также возможные траты клиента;

Int_rate - процент кредитной ставки;

Start_date - дата запроса кредита;

Credit_flag - флаг возврата кредита сотрудников;

Учитывая типы атрибутов была построена таблица соответствия типа и названия атрибута. Данная таблица представлена ниже (Таблица 1).

Таблица 1. Первоначальное представление данных

Бизнес название

Названия атрибута

Тип данных

Пример заполнение

Имя клиента

CLIENT

Второстепенные

Клиент1

День рождение для оценки возраста клиента

BIRTH_DATE

Непрерывные

1986-06-16

Пол клиента

GENDER_CCODE

Бинарный

M

Образование

EDUCATION_CCODE

Категориальный

Высшее

Тип кредита

PRODUCTGROUP_CCODE

Категориальный

CC

Сторонний доход клиента

OTHER_INCOME

Непрерывный

0

Заработная плата клиента

SALARY

Непрерывный

52200

Траты клиента

COSTS

Непрерывный

0

Сумма, запрошенная клиентом на кредит;

AMOUNTREQUESTEDBYCLIENT

Непрерывный

20000

Условия кредита

CREDITTERM

Непрерывный

0

Наличие автомобиля

ISCAROWNED

Непрерывный

0

Процент кредитной ставки

INT_RATE

Непрерывный

40

Дата запроса кредита

START_DATE

Непрерывные

2018-08-24

Флаг возврата кредита сотрудников

CREDIT_FLAG

Бинарный

1

Для построения модели на базе машинного обучения необходимо преобразовать полученные данные в числовой формат, чтобы модуль мог построить зависимость выплат кредита от исходных факторов. В области Data Science это также называется препроцессинг исходных данных или конструирование признаков (feature engineering). На данном этапе все текстовое данные будут преобразованы в Непрерывный и Бинарный тип.

Существует несколько подходов обработки данных:

ѕ Векторное пространство признаков. В данном подходе все категориальные признаки преобразуются в векторное представление.

ѕ Нормализация данных. В данном процессе все данные преобразовываются так, чтобы среднее значение всех переменных стремилось к нулю, а дисперсия была 1.

Таким образом все Бинарные данные мы будем представлять как 1 и 0.

Например, «Пол клиента»:

М0

Для описания уровня образования клиента будет принята система градаций от -3 до 3 уровня, таким образом «Неполное высшее» будет представлено как 0. Ниже представлена таблица соответствия названия и уровня образования (таблица 2).

Таблица 2. Уровень образования

Название образования

Уровень

Ученая степень / MBA

3

Несколько высших

2

Высшее

1

Неполное высшее

0

Среднее специальное

-1

Среднее

-2

Неполное среднее

-3

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

26.04.2012 26.04.2012-01.01.2012=116 116/1000=0,116

Категориальные данные преобразуем в векторное представление, к таким относится сегмент и продукт. Например, продукты кредита имеют 5 различных наименований и по принципу кодирования данных, каждое название продукта представим в виде номера (например, СС как 3) и запишем в виде 5 флагов, где будет стоять либо 0 либо 1.

СС 3 00300

Productgroup_

ccode1

Productgroup_ccode3

Productgroup_ccode3

Productgroup_ccode4

Productgroup_ccode5

0

0

1

0

0

Таблица 3. Соответствие флагов и названий типов продукта.

Название продукта

Productgroup_

ccode1

Productgroup_

ccode2

Productgroup_

ccode3

Productgroup_

ccode4

Productgroup_

ccode5

CC

1

0

0

0

0

SREL

0

1

0

0

0

PIL

0

0

1

0

0

RF

0

0

0

1

0

RLND

0

0

0

0

1

Таким образом, была получена новая структура исходных данных:

Таблица 4. Данные после препроцессинга исходных данных

Бизнес название

Названия атрибута

Пример заполнение

Имя клиента

Client

Клиент1

День рождение для оценки возраста клиента

Birth_date

0,317

Пол клиента

Gender_ccode

0

Образование

Education_ccode

1

Тип кредита

Productgroup_ccode1

1

Productgroup_ccode2

0

Productgroup_ccode 3

0

Productgroup_ccode 4

0

Productgroup_ccode 5

0

Сторонний доход клиента

Other_income

0

Зарботная плата клиента

Salary

52200

Траты клиента

Costs

0

Сумма, запрошенная клиентом на кредит;

Amountrequestedbyclient

20000

Условия кредита

Creditterm

0

Наличие автомобиля

Iscarowned

0

Процент кредитной ставки

Int_rate

40

Дата запроса кредита

Start_date

0,234

Флаг возврата кредита сотрудников

Credit_flag

1

После обработки данных необходимо удостоверится, что показатели достаточно разнообразны, чтобы строить на них алгоритмы машинного обучения. С помощью гистограммы было показано разнообразие значений характеристик клиентов, представленное на рисунке 5. Исходя из полученных графических представлений можно сделать вывод, что на данных возможно строить модель.

Рис. 5. Графическое представление

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

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

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

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

Есть две основные задачи машинного обучения с учителем: классификация (classification) и регрессия (regression).

Цель регрессии состоит в том, чтобы спрогнозировать непрерывное число или число с плавающей точкой (floating-point number), если использовать термины программирования, или вещественное число (real number), если говорить языком математических терминов. Прогнозирование годового дохода человека в зависимости от его образования, возраста и места жительства является примером регрессионной задачи.

Цель классификации состоит в том, чтобы спрогнозировать метку класса (class label), которая представляет собой выбор из заранее определенного списка возможных вариантов. Классификация иногда разделяется на бинарную классификацию (binary classification), которая является частным случаем разделения на два класса, и мультиклассовую классификацию (multiclass classification), когда в классификации участвует более двух классов. Бинарную классификацию можно представить как попытку ответить на поставленный вопрос в формате «да/нет».

Кредитный скоринг преследует цель - понять выплатит ли кредит клиент, основываясь на персональных данных и его приобретаемом кредитном продукте. А значит необходимо классифицировать данного клиента как хорошего (это клиент, который с большей вероятностью вернет сумму) или как плохого (который с меньшей вероятностью вернет заем и станет риском для финансов банка). Исходя из поставленной задачи для нашей системы прогнозирования следует, что необходимо использовать бинарную классификацию.

К методам бинарной классификации в машинном обучении с учителем относятся множество различных методов, но подробно мы изучим наиболее распространенные методы в кредитном скоринге:

1. Логистическая регрессия (Logistic Regression)

2. Случайный лес (Random Forest Classifier)

3. Ядерный метод опорных векторов (Linear SVC и SVC)

4. Деревья решений (Decision Tree Classifier)

Логистическая регрессия (Logistic Regression)

Алгоритм логистической регрессии использует линейное уравнение с независимыми предикторами для прогнозирования значения. Прогнозируемое значение может принимать значения в диапазоне от отрицательной бесконечности до положительной бесконечности. Нам нужно, чтобы выходные данные алгоритма были переменными класса, т.е. 0-нет, 1-да. Таким образом, мы сжимаем вывод линейного уравнения в диапазон [0,1]. Чтобы сдвинуть прогнозируемое значение между 0 и 1, мы используем сигмовидную функцию.

Линейное уравнение и сигмоидальная функция

Мы берем выходные данные (z) линейного уравнения и даем функции g (x), которая возвращает сжатое значение h, значение h будет лежать в диапазоне от 0 до 1. Чтобы понять, как сигмовидная функция сдавливает значения в пределах диапазон, давайте визуализируем график сигмоидальной функции.

Рис. 6. Сигмовидная функция

Как видно из графика, сигмовидная функция становится асимптотически равной y = 1 для положительных значений x и асимптотически равна y = 0 для отрицательных значений x.

Данная модель импортируется из библиотеки sklearn.linear_model. Для построения модели необходимо загрузить предварительно обработанные данные, на которых она будет строится (это описано в пункте 2.3 Обработка данных). Ниже представлен пример кода, реализующего метод логистической регрессии. (рис. 7).

Рис. 7. Алгоритм метода логистической регрессии

Работа кода включает в себя несколько этапов:

1. Загрузка данных

2. Разделение данных на исходные данные для анализа и лейбл класса

3. Разделение данных на тренировочные (на которых будет учится модель) и тестовые с помощью встроенной функции данные из файла делятся в соотношении 75 к 25 где 75 для обучения и 25 для тестирования. Это необходимо для продуктивного обучения системы.

4. Обучение модели на тренировочных данных

5. Прогнозирование на тестовых данных и вывод соответствия с помощью сопоставления результатов предсказаний с теми результатами что были зафиксированы в файле.

По результатам проверки метод логистической регрессии дал результат прогнозирования с точностью в 73% на тестовом наборе и 72% на тренировочном. Весь процесс анализа на 500 тысячах записей занял 42.3 микросекунды.

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

Рис. 8. Результаты оценки качества метода логистической регрессии

А также оценили модель с помощью перекрестной проверки (способ передачи разных блоков на проверку). Исходя из полученных данных видно, что модель правильно оценивает с точностью 0,717901123. Также можно сказать, что разброс вероятностей отличается меньше, чем в процент, что доказывает отсутствие влияния блоков, использованных для обучения, на предсказания модели.

Деревья решений (Decision Tree Classifier)

Метод дерева решений очень прост для понимания. Его принцип заключается в том, чтобы генерировать вопросы, с помощью которых можно классифицировать запись, узлом дерева будет вопрос, а ответ ветвью. Примером такого вопроса будет «зарплата данного клиента относится к первому или второму классу?». Вопросы задаются в дереве пока программа не спустится до листа, в котором и находится конечный ответ на вопрос к какому классу относится клиент.

Рис. 9. Дерево решений

Модели дерева решений создаются в 2 этапа: индукции и обрезки. Индукция - это то, где фактически строится дерево, то есть устанавливаются все границы иерархического решения на основе данных. Деревья решений могут быть подвержены серьезному переобучению. Сокращение - это процесс удаления ненужной структуры из дерева решений, призванный бороться с эффектом переобучения. Также сокращённое / обрезанное дерево легче интерпретировать.

На высоком уровне индукция дерева решений проходит 4 основных этапа построения дерева:

ѕ Начинает с набора тренировочных данных, который должен иметь некоторые переменные функции и результаты классификации или регрессии.

ѕ Определяет «лучшую особенность» в наборе данных для разделения данных;

ѕ Разделяет данные на подмножества, которые содержат возможные значения для этой лучшей функции.

ѕ Рекурсивно генерируются новые узлы дерева, используя подмножество данных. Продолжается расщепление до тех пор, пока не достигнет точки уровня дерева заданного на этапе сокращения.

С точки зрения этого метода данные о физических лицах имеют следующие веса важности:

Рис. 10. График важность критериев при построении дерева решений

Опираясь на эти данные дерево решений будет выбирать какой критерий использовать при построении.

По тому же принципу, что и Логистическая регрессия, строится алгоритм моделирования на Python за исключением библиотеки, которая подключается.

Рис. 11. Алгоритм метода Дерева решений

Если не ограничить глубину (не обрезать как было сделано параметром max_depth=4, что означает дерево не больше 4 уровней), дерево может быть сколь угодно глубоким и сложным. Поэтому необрезанные деревья склонны к переобучению и плохо обобщают результат на новые данные. Это видно на рисунке 12. При помощи метода подбора была построена зависимость уровня от точности и найден оптимальный уровень для нашей системы:

Рис. 12. График зависимости процента прогнозирования от уровня глубины дерева

А именно уровень 6 имеет близкие проценты обучения на обучаемых и тестовых данных, и именно эта точка пересечения даст самый верный результат прогнозирования на всех данных.

Рис. 13. Алгоритм метода Дерева решений с ограничением

Также с помощью процедуры были получены узлы и ветви дерева, которые запрограммировал модуль:

Рис. 14. Дерево решений кредита 6 уровня

По результатам проверки метод Дерево решений дало результат прогнозирования с точностью в 72,7% на тестовом наборе и 72,8% на обучаемом. Дерево не было переобучено и имеет 6 уровней. Весь процесс анализа на 500 тысячах записей занял 59.4 микросекунды. И при этом правильность перекрестной проверки показала среднее значение правильности проверки - 69,7%, что почти на 3 процента ниже, чем прямая проверка, что говорит о малой гибкости и зависимости от блока данных.

Случайные леса (Random Forest Classifier)

«Лес», который он строит, представляет собой ансамбль деревьев решений, большую часть времени обучаемый методом «расфасовки». Общая идея метода упаковки в пакеты заключается в том, что сочетание моделей обучения увеличивает общий результат.

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

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

Для задания метода Случайного леса необходимо учитывать следующие параметры построения:

ѕ Число деревьев (n_estimators)

Чем больше деревьев строит лес, тем лучше качество, но также пропорционально увеличивается время выполнения. Ниже в графическом виде представлено различие классификации данных с разным количество деревьев.

Рис. 15. Рисунок различий классификации данных с разным количество деревьев

ѕ Число признаков для выбора расщепления (max_features)

При увеличении числа параметров деревья становятся более однообразными, но качество на тестовых данных становится больше. При увеличении параметра качество на обучении падает, а время построения RF сокращается.

Рис. 16. Рисунок изменения результата в зависимости от расщепления

ѕ Минимальное число объектов, при котором выполняется расщепление (min_samples_split) и Ограничение на число объектов в листьях (min_samples_leaf)

Эти параметры, как правило, не очень важный и можно оставить значение по умолчанию. При увеличении параметров качество на обучении падает, а время построения RF сокращается.

Рис. 17. Рисунок изменения результата в зависимости от числа объектов расщепления

ѕ Максимальная глубина деревьев (max_depth)

Данных параметр ведет себя также, как и в методе Деревья решений.

Рис. 18. Алгоритм метода Случайный лес

скоринговый программный алгоритм автоматизированный

Ядерный метод опорных векторов (Linear SVC и SVC)

Цель алгоритма машины опорных векторов состоит в том, чтобы найти гиперплоскость в N-мерном пространстве (N - число признаков), которая четко классифицирует точки данных. Чтобы разделить два класса точек данных, существует много возможных гиперплоскостей, которые могут быть выбранным.

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

Гиперплоскости - это границы принятия решений, которые помогают классифицировать точки данных. Точки данных, падающие по обе стороны от гиперплоскости, можно отнести к разным классам. Кроме того, размерность гиперплоскости зависит от количества признаков. Если количество входных объектов равно 2, то гиперплоскость - это просто линия. Если количество входных объектов равно 3, то гиперплоскость становится двумерной плоскостью. Опорные векторы - это точки данных, которые находятся ближе к гиперплоскости и влияют на положение и ориентацию гиперплоскости. Используя эти векторы поддержки, мы максимизируем маржу классификатора. Удаление опорных векторов изменит положение гиперплоскости.

В логистической регрессии мы берем выходные данные линейной функции и сдавливаем значение в диапазоне [0,1], используя сигмовидную функцию. Если сжатое значение больше порогового значения (0,5), мы присваиваем ему метку 1, в противном случае мы присваиваем ему метку 0. В SVM мы берем выходные данные линейной функции, и если этот результат больше 1, мы определяем это с одним классом, и если результат равен -1, мы идентифицируем это с другим классом. Поскольку пороговые значения изменяются на 1 и -1 в SVM, мы получаем этот диапазон значений усиления ([- 1,1]), который действует как маржа.

Уравнение для прогнозирования нового ввода с использованием точечного произведения между входом (x) и каждым опорным вектором (xi) рассчитывается следующим образом:

f(x) = B0 + sum (ai * (x, xi))

Это уравнение, которое включает в себя вычисление внутренних произведений нового входного вектора (x) со всеми опорными векторами в обучающих данных. Коэффициенты B0 и ai (для каждого входа) должны оцениваться из обучающих данных алгоритмом обучения.

Рис. 19. Алгоритм линейного ядерного метода опорных векторов

Рис. 20. Алгоритм ядерного метода опорных векторов

В результате исследования было установлено, что для анализа данных скоринга типа application-scoring используется методы класса - классификация, c использованием принципа обучения «обучение с учителем». Также был протестирован ряд алгоритмов машинного обучения, а именно:

1. Логистическая регрессия (Logistic Regression)

2. Случайный лес (Random Forest Classifier)

3. Ядерный метод опорных векторов (Linear SVC и SVC)

4. Деревья решений (Decision Tree Classifier)

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

ѕ Точность на тестовом наборе

ѕ Точность на обучаемом наборе

ѕ Время выполнения

ѕ Среднее арифметическое перекрестной проверки.

3. Анализ качества моделей и сравнение обученных моделей

3.1 Оценка качества моделей

Для оценки точности реализованных моделей выберем следующую формулу:

Для простоты анализа представим данные в виде графиков:

Рис. 21. График точности прогнозирования с градацией выполнения обучения

Дерево решений является самым неточным методом прогнозирования, но находится на 3 месте по времени обучения и прогнозирования. Случайный лес - метод, который наследует многие возможности деревьев решения и имеет лучшие показатели, будет представителем данного типа методов прогнозирования. Первым по точности и предпоследним по времени выполнения является метод Ядерный метод опорных векторов, метод Ядерный опорных векторов(Линейный) уступает по всем параметрам первому, что делает его менее эффективным, чем трехмерный и не будет в рассматриваться в дальнейшем исследовании. Класс Ядерный опорных векторов будет представлять только 3-х мерное представление.

Рис. 22. График дельты перекрестной проверки

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

Пример метрики Precision-Recall для оценки качества вывода классификатора.

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

Точность от англ. Precision (P) определяется как количество истинных положительных результатов (Tp) в сравнении с количеством истинных положительных результатов плюс количество ложных срабатываний (Fp).

Отзыв от англ. Recall (R) определяется как количество истинных положительных результатов (Tp) в сравнении с количеством истинных положительных результатов плюс количество ложных отрицательных результатов (Fn).

Эти величины также связаны с (F1) F-мерой, которая определяется как гармоническое среднее значение точности(P) и отзыва(R).

Средняя точность от англ. Average precision (AP) суммирует такой график как средневзвешенное значение точности, достигнутой на каждом пороге, с увеличением отзыва от предыдущего порога, используемого в качестве веса:

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

Рис. 23. Кривая Precision-Recall Дерева решений

Рис. 24. Кривая Precision-Recall Логистической регрессии

Рис. 25. Кривая Precision-Recall Случайного леса

Рис. 26. Кривая Precision-Recall Линейной SVC

Рис. 27. Кривая Precision-Recall SVC

AP и трапециевидная зона под рабочими точками (sklearn.metrics.auc) являются общими способами суммирования кривой точности-отзыва, которые приводят к различным результатам.

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

На графиках видно, что оба показателя стремятся к 1, что дает большую площадь фигуре. Высокие оценки показывают, что классификатор возвращает точные результаты (высокая точность), а также возвращает большинство всех положительных результатов (высокий отзыв). Лучшие результаты в данной проверки показали методы Логистической регрессии и Линейной SVC. Хуже себя проявили Деревья решений, Случайный лес и SVC, имея более непредсказуемую зависимость между точностью-отзывом.

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

Рис. 28. График средней оценки точности отзыва

Чтобы сделать заключение приведем все полученные критерии оценки в табличный вид:

Таблица 5. Характеристики методов машинного обучения

Название метода

На тестовом наборе

На обучаемом наборе

Время выполнения

Ср. арифм. перекрестной проверки

Средняя оценка точности отзыва

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

0,731

0,724

42,3 ms

0,71790112

0,86

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

0,728

0,727

95,6 ms

0,69720934

0,77

Случайный лес

0,73

0,801

46,6 ms

0,7045992

0,74

Метод опорных векторов (Линейный)

0,726

0,723

1,85 s

0,71679258

0,86

Ядерный метод опорных векторов

0,731

0,712

3.26 s

0,7257616

0,8

Исходя из полученных данных имеем три основных критерия, по которым можно отсортировать методы по качеству:

ѕ Время выполнения

ѕ Среднее арифметическое перекрестной проверки

ѕ Средняя оценка точности отзыва

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

Оценка качества метода = 10% * Время выполнения+70% * Ср. арифм. перекрестной проверки + 20% * Средняя оценка точности отзыва.

По результатам оценки качества были получены следующие данные по методам машинного обучения, градируемые по уровню качества каждого метода:

1. Логистическая регрессия 99,24185353

2. Случайный лес 95,16816652

3. Деревья решений 95,15293594

4. Метод опорных векторов (Линейный) 93,46014389

5. Ядерный метод опорных векторов 88,60465116

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

4. Внедрение модуля прогнозирования в систему банка

4.1 Структура веб-приложения

Модуль прогнозирования займа представляет из себя веб-приложение на фреймворке Flask со встроенным в него алгоритмом машинного обучения. Для создания данного модуля были разработаны клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса - front-end и программно-аппаратная часть сервиса - back-end веб-приложения.

Front-end

Для создания пользовательского интерфейса использовались файлы формата HTML для создания макета страницы с подключенными файлами JS - для создания интерактивности сайта, и CSS - для задания формата элементов: цвета, размера и т.п., а также использовался фреймворк Bootstrap для упрощения реализации адаптивного дизайна сайта.

Все страницы выдержанны в едином стиле и имеют 3 макетные части:

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

...

Подобные документы

  • Анализ существующих программных решений для обучения студентов и контроля их знаний. Обзор лингвопроцессорных средств и обоснование их выбора. Алгоритмы решения и проверки упражнений на именную часть русского языка. Применение правил преобразования.

    курсовая работа [97,0 K], добавлен 29.01.2015

  • Автоматизированные информационные системы и их структура. Обзор существующих автоматизированных информационных систем "Расписание". Структурный подход к проектированию автоматизированной системы "Расписание", построение моделей данных и анализ внедрения.

    дипломная работа [3,1 M], добавлен 29.06.2010

  • Методы и этапы создания автоматизированной обучающей системы по дисциплине "Программирование" для студентов ВУЗов. Описание и сравнение программ-аналогов. Выбор инструментальных средств и языка разработки. Проектирование интерфейса обучающей программы.

    курсовая работа [4,4 M], добавлен 26.11.2010

  • Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.

    дипломная работа [1,8 M], добавлен 08.02.2017

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

    дипломная работа [177,1 K], добавлен 24.06.2012

  • Понятие и эволюция игр, анализ их различных жанров и существующих аналогов. Выбор программных средств для реализации игры, написание сюжета и выбор среды разработки игры. Алгоритмы для придания гибкости обучающей игре. Описание программных модулей.

    дипломная работа [2,7 M], добавлен 27.10.2017

  • Обоснование выбора метода проектирования и инструментальных средств для разработки программного средства и базы данных. Требования к эргономике и технической эстетике. Разработка алгоритмов приложения. Руководство пользователя. Безопасность труда.

    дипломная работа [2,9 M], добавлен 17.10.2014

  • Обзор медицинских информационных систем. Анализ и моделирование автоматизированной системы "Регистратура". Требования к составу и параметрам вычислительной системы. Обоснование выбора системы управления базами данных. Разработка инструкции пользователя.

    дипломная работа [1,2 M], добавлен 14.10.2012

  • Процесс проведения соревнования, его основные этапы и правила, анализ существующих систем и патентов, общих требований к системам изучаемого типа. Функциональная схема модуля ввода и редактирования проектируемой системы. Требования к данной системе.

    дипломная работа [153,2 K], добавлен 10.06.2013

  • Выбор методологии и инструментальных средств проектирования на платформе 1С: Предприятие 8. Разработка комплекса функциональных моделей предметной области "Планирование и отчетность по УВР ВолГУ". Анализ видов информационных структур модульной системы.

    дипломная работа [2,3 M], добавлен 14.06.2013

  • Анализ и сравнение существующих систем тьюторской поддержки. Методологии разработки программного обеспечения. Разработка web-ориентированной системы тьюторской поддержки самостоятельной работы студента. Выбор архитектуры программных средств разработки.

    курсовая работа [1,1 M], добавлен 05.01.2013

  • Обоснование выбора среды программирования и технических средств. Определение требований к компонентам системы. Описания объекта автоматизации. Написание инструкции по эксплуатации для пользователя. Разработка программных компонентов. Выбор методики СУБД.

    курсовая работа [1,3 M], добавлен 27.10.2012

  • Организация электронного документооборота. Создание базы данных. Анализ существующих программных средств автоматизации. Обоснование выбора платформы разработки программного продукта. Выбор почтового клиента. Реализация нулевого прототипа системы.

    курсовая работа [384,1 K], добавлен 14.11.2016

  • Обзор существующих систем атоматизированного поиска. Мир электронных денег. Разработка структуры системы автоматизированного поиска отделений и терминалов банков. Обоснование выбора технологии разработки, программной среды и языка программирования.

    курсовая работа [1,2 M], добавлен 17.01.2011

  • Исследование деятельности предприятия, его основные бизнес-процессы, обоснование необходимости разработки автоматизированной системы. Анализ существующих систем и выбор стратегии автоматизации предприятия. Реализация и оценка программного решения.

    дипломная работа [2,8 M], добавлен 24.03.2014

  • Характеристика информационной среды предприятия и ее назначения. Разработка макета программного модуля для разработки функциональной модели деятельности предприятия. Обоснование выбора программных средств для реализации модуля. Работа с базами данных.

    отчет по практике [1,5 M], добавлен 12.10.2022

  • Обзор существующих моделей параллельного программирования, основные средства отладки эффективности MPI-программ, общие проблемы всех средств трассировки. Создание экспериментальной системы отладки эффективности MPI-программ, этапы работы анализатора.

    дипломная работа [767,2 K], добавлен 14.10.2010

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

    курсовая работа [3,3 M], добавлен 12.01.2015

  • Схема работы такси ОАО "Альянс". Логическая и физическая модель построения данных, обзор существующих аналогов. Порядок создания соответствующих форм, их основное содержание. Средства разработки и проектирования, принципы и обоснование их выбора.

    презентация [1,7 M], добавлен 22.07.2014

  • Создание и разработка информационной системы автоматизации учета книг в книжном магазине. Описание предметной области, постановка задачи и обзор методов ее решения. Модели и алгоритмы представления системы. Обоснование технических и программных средств.

    курсовая работа [1,7 M], добавлен 31.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.