Анализ процесса принятия решений в среде Stateflow Simulink 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Анализ процесса принятия решений в среде Stateflow Simulink



Для того чтобы представить весь процесс в среде Simulink необходимо подготовить выборку из тестовых данных. Для примера вручную была подготовлена таблица (Рис.6) с базовыми параметрами компании по которым возможно провести её оценку. Для визуализации были взяты следующие проверки:

- В процессе реорганизации

- В стадии ликвидации

- Деятельность прекращена

- Сумма найденных (действующих) исполнительных производств, предметом которых являются страховые взносы больше или равна 5000

- ФИО руководителей или учредителей найдены в реестре дисквалифицированных лиц (ФНС)

- ФИО учредителя было найдено в списке ФНС "массовых" учредителей

- ФИО руководителя было найдено в списке ФНС "массовых" руководителей

- Компания в процессе банкротства

- Количество сотрудников «0»

- Количество сотрудников «1»

- Уставный капитал меньше или равен 40000

- Финансовый результат отрицательный/нулевой

Рис. 6. Пример, содержащихся данных в таблице.

В данных о компании много текстовых параметров: название, статус, имена руководителей и т.д. В Simulink довольно сложно проводить какие-либо логические операции над текстом, поэтому перед тем как смоделировать весь процесс необходимо провести обработку входных данных. Подготовим скрипт в Matlab для парсинга таблицы в формате.xlsx и приведению данных в матричный вид. Но т.к. рамках данного проекта я моделирую лишь 12 проверок в качестве примера, поэтому все параметры нет необходимости приводить к матричному формату.

- Сперва импортируем таблицу в среду Matlab и приведём её к матрице (Рис. 7)

Рис. 7. Импортированная в Matlab таблица

 

- Т.к. в данных о компании много параметров, которые представлены в виде текста, лучше будет представить их в двоичном формате. Например, статус компании всегда прописывается как текст, но он имеет ограниченное количество значений: “В стадии ликвидации”, “Действует”, “В стадии реорганизации” и “Деятельность прекращена”.

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

- В итоге имеем матрицы по каждому параметру компании (Рис. 8)

Теперь можно перейти к анализу системы проверки в среде Simulink. Первым этапом предстоит реализовать блоки, отвечающие за входные параметры системы. Для этого в среде Simulink создаются блоки “From Workspace”, которые позволят использовать переменные, созданные в Matlab. В нашем случае это будут ранее сгенерированные матрицы с результатами проверок. (Рис. 9) Т.к. проверок реализовывать будем 12, то блоков добавится столько же. Каждый блок завязан к матрице и при симуляции будет возвращать строку, соответствующую номеру итерации.

Логика всего процесса будет вынесена в компоненту из группы Stateflow - “Chart”. Она позволяет реализовывать построение процессов путём создания блок-схем. На вход в “Chart” передаются параметры из блоков “From Workspace”. Внутренняя логика же будет включать себя моделирования процесса проверки, начисления баллов, если проверка не пройдена и переход к следующей проверке (Рис. 10).

 

Рис. 8. Матрицы, которые сгенерировались в результате выполнения скрипта

Рис. 9. Добавление блоков “From Workspace” в среду Simulink

Рис. 10. Реализация проверок “Компания в стадии ликвидации”, “В процессе реорганизации” и “Деятельность прекращена”

После реализации всех проверок в блоке “Chart” осуществляем из него вывод счётчика баллов в блок “Scope”. Теперь можно запустить симуляцию и получить диаграмму изменения скоринговых баллов по тестовым компаниям (Рис. 11)

Рис.11. Диаграмма результатов оценки компаний.

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

 

 

Анализ проблемы

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

Человеческий фактор в процессе оценки благонадёжности компании играет большое значение, если мы используем сервисы наподобие “Контур.Фокус” или “Спарк”. Все скоринговые модели конфигурируются сотрудником отдела комплаенса, который в процессе работы ориентируется лишь на профессиональный опыт. Поэтому основная проблема здесь будет минимизировать человеческий фактор и оценить какое количество компаний такая скоринговая модель могла пропустить.

Для оценки эффективности скоринговой модели применим линейный классификатор к имеющимся у нас данным.

В курсовом проекте рассматривается выборка из 166 компаний. К ним была применена скоринговая модель, состоящая из 58 проверок и у которой выставлены скоринговые баллы.(Рис. 12)

 

Рис. 12. Пример первых 6 проверок из скоринговой модели и баллов, которые присваиваются компании, если проверка срабатывает.

Для применения расчётов нам необходимо аналогично предыдущему пункту произвести матричные преобразования над данными. Представим наши входные данные в виде двух матриц:

Sc - матрица размерностью 58x1, которая содержит в себе данные по скоринговым баллам. Векторное представление соответствует второй строке на Рис. 12.

М - матрица размерностью 166x58, которая содержит в себе результаты проверок в виде булевого значения по каждой из них (Рис. 13)

Рис.13. Матричное представление результатов проверок 166 компаний (каждая строка — это отдельная компания, а столбец проверка).

Выведем массив неблагонадёжных компаний в среде Matlab:

(Рис. 14)

И выводим процент неблагонадёжных компаний:

= 5,42%

Где Fv - вектор размерности 166x1, состоящий из 0 и 1, где 0 - случаев мошенничества не было, а 1 - было (Рис. 15). - количество компаний.

Рис. 14. Вектор Sv с результатами прохождения компаний скоринга. 0 - компания прошла скоринг, а 1 - не прошла.

 

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

 

Таким образом, данный математический аппарат позволяет оценить процентное соотношение неблагонадёжных компаний к общему количеству клиентов. Также, можно заметить, что скоринговая модель, а именно вектор Sc, является максимально эффективным, когда вектора Sv и Fv будут ортогональны. Но следует учесть, что Sc должен быть всё также сконфигурирован экспертом, иначе задача решается, если всем потенциальным клиентам сразу отказывать и Sv будет полностью состоять из 0 как и Fv.

 

 

 

 

Дальнейшее развитие проекта

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

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

С - клиент прошёл проверку на этапе открытия счёта и проводит легитимные операции

Са - клиент прошёл проверку на этапе открытия счёта, но проводит мошеннические операции

F - клиент не прошёл проверку на этапе открытия счёта и проводит легетимные операции

Fa - клиент не прошёл проверку на этапе открытия счёта, но проводит мошеннические операции

Построим следующую таблицу (Таблица 1).

 

 

Прошел проверку

да нет

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

да Сa Fa
нет C F

Таблица 1. Возможные события при оценки благонадёжности потенциального клиента.

 

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

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

 

 

 

ЗАКЛЮЧЕНИЕ

 

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

 

 

ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

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

Скоринг - Процесс проверки потенциального клиента при помощи набора правил. Каждому правилу выставляется свой вес/балл, который прибавляется к итоговому баллу в случае срабатывания.

Скоринговая модель - Набор проверок, который применяется в процессе скоринга и вес/балл по каждой из проверок.

 



Поделиться:


Последнее изменение этой страницы: 2020-03-26; просмотров: 77; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.9.236 (0.015 с.)