Методика и технологии

Синопсис

Система основана на нейронной сети классического типа (многослойный перцептрон с обратным распространением ошибки).

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

y = F(t, [x1, x2, … xn])

Где t – время, [x1, x2, … xn] вектор размерности n.

Дискретность значения y функции представляется в виде предела [0 … 1], где 1 соответствует моменту отзыва лицензии, либо вводу временной администрации (Далее по тексту «предельный случай»), а 0 соответствует месяцу работы банка без каких-либо нарушений.

Таким образом, предельному случаю мы ставим в соответствие значение 1, а его полному отсутствию ставим в соответствие 0.

В процессе подготовки данных, нами был создан датированный набор метрик, взятых из банковских форм 102, 123 и 135, которые были затем преобразованы в набор обучающих векторов размерности n (dataset).

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

Принцип работы нейронной сети

Получение данных

К сожалению, определённое количество данных, критически важное для классификации и сборки набора данных нигде в машинно-читаемом виде не представлены. Так, на технических ресурсах ЦБ РФ, невозможно получить информацию о дате отзыва и аннулирования лицензий, датах прекращения деятельности и периодах работы временных администраций, а также некоторые другие данные. Для извлечения данной информации был разработан интернет-робот (crawler), получающий данную информацию с веб-страниц справочника по кредитным организациям сайта ЦБ РФ.

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

В процессе анализа «сырого» набора данных по метрикам форм 102, 123 и 135 была выявлена необходимость в нормализации значений. Так, сырые метрики формы 102 представляют из себя квартальные абсолютные значения, 123 абсолютные месячные, а нормативы группы 3 формы 135 это процентные относительные значения, рассчитанные на основе метрик, представленных в группах 1 и 2 формы[1].

Был предпринят ряд мер по нормализации данных

  • Все квартальные значения были приведены к месячным.
  • Выполнено приведение метрик к дискретному диапазону [0 … 1].

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

Пояснение
  1. Банк «А» оперирует метрикой «1» в пределах от 1000 до 1 за всё время деятельности.
  2. Банк «Б» оперирует метрикой «1» в пределах от 10 до 1 за всё время деятельности.

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

Импутация данных

Кроме того, большое количество банков имеет пропущенные значения в наборе данных, по каким-либо причинам, не предоставляя их в отчётах. Пропущены могут быть метрики, как между определёнными датами, так и начиная с некоторой даты по текущую включительно (нет граничных значений). Был предпринят ряд мер по заполнению пропущенных значений, для этого использовался наивный Байесовский алгоритм (NaiveBayes)[3].

Пример импутации (работы алгоритма NaiveBayes) одной из метрик (норматив мгновенной ликвидности банка Н2)[1] для банка "ИВАНОВО". Банк "ИВАНОВО" перестал предоставлять значение этой и многих других ключевых метрик с августа 2018 г., что вызвало необходимость дать адекватный прогноз по значениям данных метрик на необходимые даты (заполнить пропущеные значения). Зелёная линия отражает пропущеные значения (здесь 0). Красная линия над зелёной отражает значения, полученные алгоритмом NaiveBayes на нужную дату.

Классификация данных

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

Балансировка классификации

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

Так, для мажоритарного класса, была проведена оценка Евклидовых метрик для точек в n-мерном гиперпространстве, представляющих собой векторы обучающего набора. Были отсечены векторы, Евклидовы метрики которых были меньше порогового значения. Второй шаг, обработка алгоритмом поиска связей Томека[2]. Затем, отсекались все векторы, датированные более чем годом ранее даты предельного случая, либо текущей даты. Из набора данных были убраны векторы, датированные внутри периодов действия временных администраций, так как во время их действия, банкам разрешено нарушать нормативы, либо не предоставлять отчётность. Убраны векторы банков, прекращение деятельности которых не связано с отзывом лицензии Регулятором (самоликвидация, поглощение другими банками, отсутствие финансовой деятельности).

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

После классификации набор данных был разделён на две части: обучающую и тестовую. Первая часть была использована для обучения нейросети, а вторая для последующего тестирования и проверки работоспособности полученной модели. Эта часть не участвовала в обучении. В тестовый набор вошли 14 банков: 7 из них это крайние по дате банки, с наступившими предельными случаями. А остальные 7 - банки без признаков нарушений (эталонные банки).

Результаты

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

Обнаруженные проблемы и дальнейшие планы

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

Нами планируется расширение набора метрик, в том числе за счёт других форм банковской отчётности. Для этого планируется проведение статистического анализа всех метрик формы 101 на всех промежутках времени и отбор пригодных метрик. Кроме того, планируется анализ нефинансовых источников данных, таких как отслеживание и оценка действий ключевых фигур банка, через СМИ, динамика открытия/закрытия филиалов и офисов обслуживания, анализ информационного фона. Отметим, что например, задержка сдачи отчётности банком более чем на месяц, тоже может быть расценена как одна из метрик и как одна из размерностей обучающего вектора (исключая банки, находящиеся в санкционных списках США и ЕС, так как им разрешено не публиковать отчётность)[4]. В направлении такого расширения размерностей обучающих векторов эмпирическими данными, также ведётся работа.

Кроме того, изучаются следующие значимые факторы:

  1. Учёт конъюнктуры, клиентуры банков и их запросов. Как пример, цикличность займов и траншей: осень - закупка горючего под отопительный сезон, "северный завоз". Весна - закупки под посевные мероприятия. Лето - общее снижение деловой активности, "сезон отпусков".
  2. Изучение влияния Регулятора, ограничивающего банковские оферты, проводящего аудиты, обеспечивающего или блокирующего ликвидность, останавливающего транши и т. п. Необходима проверка предположения о том, что Регулятор имеет детерминированный, а не стохастический характер влияния (наподобие последовательного логического автомата).
  3. Изучение и учёт воздействия финансовых кризисов (2008 - 2010 гг.) и текущей ситуации на мировом финансовом рынке.
Примеры прогнозов для последних банков с наступившим предельным случаем

Прогноз для банка "ТРОЙКА-Д БАНК" (рег. номер 3431). Максимальная вероятность давалась на ноябрь 2019 (> 90%) с сохранением высокой вероятности на протяжении последующих трёх месяцев. Фактически, лицензия была отозвана 17 апреля 2019 г. За апрель 2019, метрики банком не предоставлены. Легитимность предоставленных метрик за февраль и особенно за март 2019 г. вызывает сомнения (см. пример ниже).

График изменения одной из метрик банка 3431 (Норматива текущей ликвидности банка Н3), вызывающих сомнения. По оси абсцисс дата, по оси ординат, значение метрики. Красная линия - предельное значение, которое допускает ЦБ РФ для этой метрики (не менее 50%) [1].

Прогноз для банка "АСПЕКТ" (рег. номер 608). На февраль 2019 г. прогноз составил >90%. Фактически, лицензия была отозвана 12 апреля 2019 г. За март и апрель банк не предоставлял метрик, поэтому метрики на эти месяцы были спрогнозированы. (См. "импутация данных").

Прогноз для банка "ИВАНОВО" (рег. номер 1763). Максимальная вероятность давалась на январь 2019 г. (>55%). На апрель 2019 г. банк отчёты не предоставил. Фактически, лицензия была отозвана 5 апреля 2019 г. Текущий банк также отличается тем, что перестал предоставлять данные по группе ключевых метрик с августа 2018 г. Т.е. текущий прогноз основан на прогнозировании пропущеных значений на периоде более полугода (См. "импутация данных". В разделе дан пример импутации данных как раз по одной из метрик этого банка).

Прогноз для банка "МРБ" (рег. номер 3028). Максимальная вероятность давалась на январь 2019 г. (>90%), с сохранением вероятности в последующие месяцы. На апрель 2019 г. банк отчёты не предоставил. Фактически, лицензия была отозвана 5 апреля 2019 г. Как и предыдущий банк, этот банк отличается нежеланием сдавать отчётность по ключевым метрикам, вплоть с ноября 2018 г. Для построения прогноза использовалась импутация отсуствующих данных.

Прогноз для банка "РТС-БАНК" (рег. номер 3401). Рост вероятности начался с ноября 2018 г. Максимальная вероятность предельного случая прогнозировалась на март 2018 г. Фактически, лицензия была отозвана 14 марта 2019 г. Банк перестал публиковать ключевые метрики с января 2019 г. Выполнялась импутация данных по части метрик.

Прогноз для банка "РОСКОМСНАББАНК" (рег. номер 1398). Предельный случай прогнозировался на декабрь 2018 г. и март 2019 г. с сохранением высокой вероятности с февраля 2019 г. Фактически, лицензия была отозвана 7 марта 2019 г. Банк перестал публиковать всю отчётность с января 2019 г. Выполнена импутация данных.

История версий

_
2.0.0 - Демонстрационная версия.
2.0.1 - Реализована система отслеживания наилучшего качества обучения на основе контроля абсолютной ошибки тестового набора данных (датасета). На каждой итерации обучения (эпохе) производится замер ошибки по эталонному (тестовому) датасету. Веса нейронов, соотвествующие наименьшей ошибке (в сравнении ошибок предыдущих эпох) сохраняются отдельно. При этом учитывается неравновесность p и n наборов данных (p - positive, набор векторов соотвествующих предельному случаю, n - negative, набор векторов не соотвествующих таковому). Система позволит сэкономить время при дальнейшей разработке.
2.0.2b - По причине слабой валидности, из набора данных (датасета) исключены следующие данные:

  • Системно-значимые банки.
  • Банки, прошедшие реорганизации, поглощения, добровольные прекращения деятельности.
  • Банки, находящиеся под санкциями западных стран.[4]
  • Банки, находящиеся (находившиеся) по действием временных администраций, проходящие (проходившие) процедуру санации.

Функции активации слоёв изменены на более оптимальные функции Элиота[5]. Алгоритм обучения изменён на SARProp[6].

Благодаря всему вышеперечисленному, удалось достигнуть уровня средней абсолютной ошибки по p-классу в 20.66% при средней ошибке n-класса в 3.64%, что соответствует точности прогнозов в 79%.

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

___________

  1. Инструкция Банка России от 28 июня 2017 г. N 180-И «Об обязательных нормативах банков» (с изменениями и дополнениями)
  2. I. Tomek, “Two modifications of CNN,” In Systems, Man, and Cybernetics, IEEE Transactions on, vol. 6, pp 769-772, 2010.
  3. Naive Bayes for Regression E. Frank, L. Trigg, G. Holmes, I. H. Witten, Department of computer science, University of Waikanto, NZ
  4. Постановление Правительства Российской Федерации №1403, 1404, 1405 от 23 ноября 2018 г.
  5. A better Activation Function for Artificial Neural Networks David L. Elliott, Institute for Systems Research. University of Maryland
  6. The SARProp algorithm: A Simulated annealing enchancement to resilient back propagation N.K. Treadgold and T.D. Gedeon, School of Computer Science & Engineering. The University of New South Wales