Дипломная работа: Моделирование вероятности дефолта банков

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

· логарифм размер чистых активов (тыс. рублей) (l_E).

Коэффициенты при объясняющих переменных не интерпретируемы. Для интерпретации влияния объясняющих переменных на вероятность дефолта необходимо посчитать предельные эффекты для объясняющих переменных. Формула для расчета предельных эффектов следующая:

где ;

- коэффициент при i-ой переменной.

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

Таблица 3.6. Значения предельных эффектов

Обозначение переменной

Значение предельного эффекта

H1

-0,0124403

-0,0027

LtR

-0,045872

-0,01

H6

0,0863448

0,0188

H10

-0,585379

-0,1273

H12

0,0987094

0,0215

AutCap

4,51909*

9,8289*

l_E

-1,88474

-0,41

Предельные эффекты обозначают то, на сколько изменится вероятность дефолта при изменении определенного показателя на единицу. Так, наибольшее изменение вероятности дефолта будет при изменении логарифма чистых активов: при увеличении показателя на 1 вероятность дефолта уменьшится на 41%. Например, при изменении значения уставного капитала на 1 вероятность дефолта изменится всего на 9,8289*%.

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

В таблице 3.7 приведены значения банковских показателей, действительное состояние банка (банкрот/действует), вычисленное состояние банка и наиболее вероятное прогнозируемое состояние банка (Result).

Таблица 3.7. Проверка модели на тестовом множестве

H1

LtR

H6

H10

H12

AutCap

E

stat

P

Result

67,90

3,00

21,50

3,00

0,00

15415450,00

99975,00

1,00

0,999906

1

24,00

92,80

23,40

3,00

0,00

35141000,00

742873,00

1,00

0,889602

1

28,80

14,00

24,40

2,00

6,00

100000000,00

10712552,00

1,00

0,867484

1

44,10

0,40

20,00

0,00

0,00

40000000,00

1720044,00

1,00

0,997415

1

26,40

33,00

23,60

2,00

0,00

38030000,00

262045,00

1,00

0,999368

1

18,00

94,00

19,00

1,00

0,00

644000000,00

7608324,00

0,00

0,188443

0

14,00

39,00

20,00

2,00

0,00

713646000,00

10524954,00

0,00

0,501266

1

12,00

84,00

14,00

2,00

0,00

554290219,00

58127163,00

0,00

0,003078

0

11,00

108,00

16,00

0,00

0,00

1050000000,00

12032591,00

0,00

0,073474

0

12,00

102,00

25,00

1,00

1,00

28215396326,00

300227234,00

0,00

0,001094

0

При тестировании модели на тестовом множестве модель ошиблась в одном случае из десяти, что означает, что точность прогноза модели при тестировании на тестовом множестве составила 90%, что является схожим уровнем точности с результатами тестирования модели на обучающей выборке (94%).

В результате суммарная точность модели оказалась равна 93,6%.Точность модели рассчитывалась исходя из общего количества записей обучающего и тестирующего множеств (всего 110 банков).

3.2 Построение нейронной сети

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

1. обучающее множество (используется на этапе обучения нейронной сети);

2. тестирующее множество (используется для тестирования обученной нейросети);

3. подтверждающее множество (используется для последней проверки нейронной сети).

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

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

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

Во всех множествах используются данные о 13 показателях банковской активности и фиктивная переменная, характеризующая статус банка (отбанкротился/действует). Данные подробно описаны в параграфе 2.2. данной работы.

Для проектирования и обучения нейронной сети будет использоваться программный продукт “Нейросимулятор 5.0” разработанный Черепановым Ф.М. и Ясницким Л.Н. [40].

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

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

Так как количество объясняющих переменных в используемых данных равно 13, то на входном слое необходимо разместить 13 нейронов. В качестве результата анализа выступает одна переменная (stat), которая показывает обанкротился банк или нет, поэтому на выходном слое необходимо разместить один нейрон.

Для решения поставленной задачи будет достаточно одного скрытого слоя нейронов. Далее необходимо определить количество нейронов на скрытом слое. Для этого можно воспользоваться формулой Арнольда-Колмогорова-Хехт-Нильсена, описанной в работе Ясницкого [41]:

,

где - размерность входного сигнала;

- размерность выходного сигнала;

-число элементов множества обучающих примеров;

- число синоптических связей.

Для используемых нами данных переменные будут иметь следующие значения: = 13 (т.к. используются 13 показателей банковской активности); = 1 (т.к. нам важен только один результат: обанкротится банк или нет); = 92 (количество записей в обучающей выборке).

Находим число синоптических связей из представленного ранее неравенства:

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

Получаем, что количество нейронов скрытого слоя представлено неравенством:

.

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

При выборе функции активации стоит отдавать предпочтение функциям, обладающим свойством антисимметрии, для которых выполняется равенствоy(-S) = -y(S), так как данный тип функций позволяет избежать проблемы попадания процесса обучения в локальный минимум функции ошибки, не достигнув искомого глобального минимума. Данным свойством обладают, например, сигмоидные функции. Наилучшим же вариантом будет использование функциигиперболического тангенса[24]:

,

где a = 1.7159; b = 2/3. При использовании данных параметров тангенс-гиперболическая функция так же имеет вид сигмоиды, однако, в отличие от сигмоиды, она обладает рядом выделяющих ее полезных свойств:

1. в начале координат первая производная близка к единице;

2. y(1) = 1 и y(-1) = -1;

3. вторая производная достигает своего максимального значения при S = 1.

На этапе обучения необходимо выбрать один из семи, заложенных в нейросимуляторе алгоритмов обучения сети, к которым относятся алгоритмы[24]:

· упругого распространения;

· обратного распространения;

· Левенберга-Марквардта;

· генетический;

· сопряженных градиентов;

· Манхэттена;

· быстрого распространения.

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

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

В качестве способа инициализации весов оставляем автоматический выбор, чтобы система сама выбрала наиболее подходящий метод (см. рис. 3.6).

Рисунок 3.6. Параметры обучения нейросети

После этого, заносим сразу данные и обучающего и тестирующего множеств в соответствующие для этого окна (см. рис. 3.7).

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

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

Рисунок 3.7. Занесение данных обучающего и тестирующего множеств

Рисунок 3.8. Сравнение качества нейронной сети в зависимости от количества нейронов на скрытом слое

Исходя из данных, представленных на рисунке 3.8,нейросеть, основанная на 5 нейронах, содержащихся на скрытом слое, является наиболее подходящей для решения поставленной в данной работе задачи. Данный вывод подтверждает, вычисленное в ходе использования формулы Арнольда-Колмогорова-Хехт-Нильсена [41] значение числа нейронов скрытого слоя нейронной сети.

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

Таблица 3.8. Значения показателей качества модели

Показатель качества модели

Обучающее множество

Тестирующее множество

Среднее квадратичное отклонение (%)

14,7442

16,0957

Средняя относительная погрешность (%)

2,1739

2,9148

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

В ходе тестирования нейронной сети на обучающем множестве, включающем 92 обучающих примера, нейросеть ошиблась в 2-х случаях. Это значит, что ее прогнозная точность на обучающей выборке составила 97,8%. Стоит отметить, что из 2-х неверных предсказаний, нейросеть ошибочно посчитала один обанкротившийся банк кредитоспособным, и, наоборот, один действующий банк был признан неплатежеспособным.

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

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

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

Как видно из рисунка 3.9 нейросеть ошиблась один раз только в отношении организации под номером 2. Вычисленное нейронной сетью значение вероятности дефолта для данного банка составило 0,44, что не дает какого-либо однозначного ответа о кредитоспособности организации, но, все же, значение ближе к 0, что подразумевает то, что банк должен продолжить свою деятельность, однако это не верно, поэтому в данной ситуации нейронная сеть допустила ошибку.