Сравнительный анализ методов снижения дисбаланса классов при построении моделей машинного обучения в финансовом секторе
- Авторы: Константинов А.Ф.1, Дьяконова Л.П.1
-
Учреждения:
- Российский экономический университет им. Г. В. Плеханова
- Выпуск: Том 27, № 1 (2025)
- Страницы: 143-150
- Раздел: Системный анализ, управление и обработка информации
- URL: https://bakhtiniada.ru/1991-6639/article/view/290710
- DOI: https://doi.org/10.35330/1991-6639-2025-27-1-143-151
- EDN: https://elibrary.ru/XRYMDH
- ID: 290710
Цитировать
Полный текст
Аннотация
В статье рассматриваются методы улучшения показателей качества моделей машинного обучения, применяемых в финансовом секторе. В связи с тем, что наборы данных, на которых обучаются модели, обладают несбалансированностью классов, предлагается использовать модели, направленные на снижение дисбаланса. В исследовании были проведены эксперименты с применением 9 методов учета несбалансированности классов к трем наборам данных по розничному кредитованию. В качестве базовой использовалась модель градиентного бустинга CatboostClassifier, не учитывающая дисбаланс классов. Проведенные эксперименты показали, что применение метода RandomOverSampler дает существенный прирост показателей качества классификации по сравнению с базовой моделью. Результаты свидетельствуют о перспективности дальнейших исследований методов учета дисбаланса классов при изучении финансовых данных, а также о целесообразности применения рассмотренных методов на практике.
Ключевые слова
Полный текст
Введение
Деятельность компаний финансового сектора связана с высокой степенью риска. Для коммерческих банков к основным рискам относятся кредитный и операционный. На финансовом рынке кредитование сохраняет позицию наиболее доходной статьи активов кредитных организаций, хотя и наиболее рискованной. Кредитный риск, таким образом, был и остается основным видом банковского риска.
По данным Центрального банка Российской Федерации, в настоящее время наблюдается значительный рост кредитных дефолтов и мошеннических операций. На конец 2 квартала 2024 г. число заемщиков банков и МФО превысило 50 млн человек, причем за год число заемщиков выросло на 3,6 млн человек, а сумма задолженности возросла на 7,7 трлн рублей1. В 2023 году объем операций без согласия клиентов увеличился по сравнению с 2022-м на 11,48 %2.
Начиная с 2023 года кредитные организации направляют в Банк России информацию о предотвращенных хищениях денежных средств. Так, за 2023 год объем предотвращенных операций без согласия клиентов составил 5 798,35 млрд рублей. Благодаря эффективной работе антифрод-процедур кредитных организаций злоумышленникам не удалось совершить 34,77 млн мошеннических операций.
В настоящее время финансовыми организациями для минимизации указанных рисков широко используются процедуры, основанные на методах машинного обучения и искусственного интеллекта, в которых проводится обучение моделей на основании исторических данных. Характерной особенностью таких наборов данных является значительный дисбаланс классов, то есть частота положительного класса (дефолта, мошенничества) значительно меньше частоты отрицательного класса (нормальные операции клиентов).
Современные алгоритмы могут работать с данными, имеющими высокий дисбаланс классов. В то же время существует целый ряд методов работы с дисбалансом в данных, которые позволяют дополнительно улучшить показатели качества моделей машинного обучения. В настоящий момент для снижения дисбаланса известны3:
- 8 методов, увеличивающих количество наблюдений положительного класса;
- 11 методов, снижающих количество наблюдений отрицательного класса;
- 2 комбинированных метода.
Однако далеко не все эти методы демонстрируют улучшение показателей качества классификации на финансовых данных. Настоящее исследование направлено на определение методов снижения дисбаланса классов, которые наилучшим образом подходят для применения при обучении моделей машинного обучения в финансовом секторе. Результаты исследования позволят определить наиболее эффективные методы и модели для работы с финансовыми данными.
Цели и задачи исследования: провести сравнение методов снижения дисбаланса классов при обучении моделей машинного обучения на финансовых данных и определить методы, которые дают повышение показателей качества классификации на финансовых данных.
Описание набора данных
Таблица 1. Наборы данных для экспериментов
Table 1. Datasets for the experiments
№ | Наименование | Отрасль | Количество строк | Количество столбцов | Доля положительного класса |
1 | Loan Defaulter | Финансы | 307 511 | 122 | 0.08 |
2 | Loan Default Prediction Dataset | Финансы | 255 347 | 18 | 0.12 |
3 | Bank Account Fraud Dataset Suite (NeurIPS 2022) | Финансы | 1 000 000 | 32 | 0.01 |
- Loan Defaulter4.
Набор данных содержит информацию для исследовательского анализа данных в реальном бизнес-сценарии в банковской сфере для минимизации риска потерь при кредитовании клиентов. Набор данных содержит 122 переменные.
Классы информации в наборе данных:
- информация о клиенте (возраст, пол, сведения о работе, информация о месте жительства клиента и т.д.);
- информация о внешних скорингах;
- сведения о предоставленных документах.
Целевая переменная: был ли дефолт по этому кредиту (0/1).
- Loan Default Prediction Dataset5.
Набор данных содержит 255 347 строк и 18 переменных.
Классы информации в наборе данных:
- информация о заемщике (пол, возраст, образование, тип работы, статус состояния в браке и т.д.);
- информация об истории кредитования (кредитный балл, количество месяцев кредита, количество кредитов, процентная ставка и т.д.).
Целевая переменная: был ли дефолт по этому кредиту (0/1).
- Bank Account Fraud Dataset Suite6.
Набор данных Bank Account Fraud (BAF) был опубликован на NeurIPS 2022. Для целей исследования брался только базовый вариант данных. Для защиты личности потенциальных заявителей авторами набора данных были применены дифференциальные методы конфиденциальности (добавление шума), кодирование признаков.
Классы информации в наборе данных:
- информация о заявителе (доход, возраст, статус работы, статус наличия жилья, количество месяцев обслуживания банком и т.д.);
- информация о запросе (время от запроса, тип платежа, зарубежный запрос, операционная система гаджета и т.д.);
- внешние скоринги;
- логические противоречия (телефон домашний/мобильный валидный, не сгенерирован ли email автоматически и т.д.).
Целевая переменная: был ли дефолт по этому кредиту (0/1).
Схема валидации
Для каждого набора данных наблюдения разделялись методом кросс-валидации StratifiedShuffleSplit7 на тренировочные (50 %) и тестовые (50 %) данные, и для каждого набора тренировочных данных 3 раза проводилось разделение на тренировочный и валидационный набор данных с помощью метода кросс-валидации kFold8 (20% на валидационные данные, 80 % – данные для обучения).
Описание базовой модели машинного обучения
В качестве базовой модели для моделирования использовалась модель градиентного бустинга CatboostClassifier, разработанная Яндекс. Модель представляет ансамбль деревьев решений небольшой глубины, причем на каждой последующей итерации модель учится снижать псевдоостатки прогнозов предыдущих итераций деревьев. При обучении были установлены следующие гиперпараметры модели: ‘iterations’=3000, ‘early_stopping_rounds’ = 100, ‘eval_set’ = (X_val, y_val). После разбиения каждого набора данных на сплит и фолд на данных для обучения был обучен кодировщик категориальных переменных TargetEncoder9 из библиотеки category_encoders. Так как при обучении TargetEncoder мы использовали только данные для обучения, утечки данных не происходит. Далее были преобразованы категориальные переменные в валидационных и тестовых наборах данных X_val, X_test. Применение отдельного кодировщика, а не встроенных методов Catboost обусловлено необходимостью преобразования данных для реализации методов снижения дисбаланса классов. На базовой модели методы снижения дисбаланса классов не применялись.
Методы снижения дисбаланса классов
После разделения данных на каждом наборе данных, сплите, фолде на тренировочные, валидационные и тестовые к тренировочным данным применяется метод снижения дисбаланса. При этом к валидационным и тестовым данным метод снижения дисбаланса не применяется, потому что они должны отображать распределение реальных данных.
Для применения методов снижения дисбаланса применяется библиотека Python imblearn.
Методы, увеличивающие количество наблюдений положительного класса:
- Случайная избыточная выборка (RandomOverSampler). Генерация дополнительных наблюдений путем дублирования примеров из миноритарного класса (класса с меньшим количеством примеров) до выравнивания количества наблюдений миноритарного и мажоритарного классов.
- Synthetic Minority Oversampling Technique (SMOTE) [1]. Метод находит ближайших соседей миноритарного класса и генерирует образцы, делая линейную интерполяцию между ними.
- Adaptive Synthetic (ADASYN) [2] генерирует больше наблюдений в сложных областях, где алгоритм классификации испытывает трудности в разделении классов. Это позволяет модели лучше учиться на сложных частях пространства признаков.
- BorderlineSMOTE [3]. Этот алгоритм является вариантом оригинального алгоритма SMOTE. Для генерации наблюдений BorderlineSMOTE выбирает наблюдения на границе между двумя классами. Генерируется фиксированное число наблюдений для каждой точки миноритарного класса.
Методы, снижающие количество наблюдений отрицательного класса:
- Случайная недовыборка (RandomUnderSampler). Наблюдения отрицательного класса выбираются случайно, по количеству наблюдений положительного класса.
- TomekLinks [4]. Суть метода состоит в том, что ищутся ближайшие соседи из разных классов. Если наблюдение из мажоритарного класса имеет ближайшего соседа из миноритарного класса, то наблюдение из мажоритарного класса считается неправильным и удаляется. За счет этого метода снижаются перекрытия классов и улучшаются показатели качества классификации.
- Правила очистки соседних наблюдений (NeighbourhoodCleaningRule) [5]. Метод направлен на улучшение качества данных. Для каждого наблюдения миноритарного класса определяются его ближайшие соседи. Если среди ближайших соседей много наблюдений отрицательного класса, то миноритарное наблюдение удаляется. Если экземпляр мажоритарного класса имеет много соседей из миноритарного класса, его также удаляют.
Смешанные методы снижения дисбаланса классов:
- Synthetic Minority Oversampling Technique + Edited Nearest Neighbors (SMOTEENN) [6]. Объединяет метод синтетического увеличения количества наблюдений миноритарного класса (SMOTE) и метод очистки данных (ENN), удаляющий наблюдения обоих классов, которые не поддерживаются ближайшими соседями.
- SMOTETomek [7]. На первом этапе генерируются синтетические наблюдения по методу SMOTE, на втором этапе данные очищаются по методу TomekLinks.
Обсуждение
В соответствии с описанной выше схемой валидации несколько раз проводилось разделение данных на тренировочный, валидационный и тестовый наборы данных. На тренировочных данных модель обучалась, валидационные данные использовались для настройки параметров модели машинного обучения и остановки процесса обучения, а на тестовых данных замерялись показатели качества работы алгоритма.
Первым этапом проводились обучение и настройка базовой модели машинного обучения без применения методов корректировки дисбаланса классов. Замеры показателей качества классификации проводились на тестовых данных, которые не использовались ни при обучении, ни при настройке алгоритма. Так как схема валидации предусматривает многократное разделение данных, результаты расчетов показателей качества классификации усреднялись.
Далее для каждого метода корректировки дисбаланса после применения разделения данных, согласно схеме валидации, на тренировочные, валидационные и тестовые к данным для тренировки применялся метод корректировки дисбаланса, и на этих данных обучалась базовая модель машинного обучения. К валидационным данным, используемым при настройке гиперпараметров модели машинного обучения и остановки процесса обучения, методы корректировки дисбаланса не применялись, чтобы свойства распределения признаков наборов данных, используемых при настройке параметров модели машинного обучения, по возможности, максимально совпадали с распределением для новых данных. После обучения модели проводились замеры показателей качества классификации на тестовых данных, которые не использовались ни при обучении, ни при настройке алгоритма. Так же, как и в базовой модели машинного обучения, результаты расчетов показателей качества классификации усреднялись.
Результаты исследования
Таблица 2. Результаты экспериментов
Table 2. Results of the experiments
df_№
| Наименование метода | roc auc | balanced accuracy
| avg precision
| brier score
| recall (sens-ty)
| preci-sion | f1 scr | specifi- city
|
1 | Base | 0,775 | 0,512 | 0,277 | 0,066 | 0,026 | 0,674 | 0,050 | 0,999 |
1 | ADASYN | 0,772 | 0,513 | 0,268 | 0,067 | 0,029 | 0,612 | 0,055 | 0,998 |
1 | BorderlineSMOTE | 0,773 | 0,514 | 0,268 | 0,067 | 0,030 | 0,606 | 0,057 | 0,998 |
1 | NeighbourhoodCleaningRule | 0,768 | 0,528 | 0,259 | 0,068 | 0,061 | 0,497 | 0,108 | 0,995 |
1 | RandomOverSampler | 0,818 | 0,714 | 0,548 | 0,059 | 0,459 | 0,572 | 0,509 | 0,970 |
1 | RandomUnderSampler | 0,765 | 0,696 | 0,243 | 0,200 | 0,700 | 0,166 | 0,269 | 0,692 |
1 | SMOTE | 0,772 | 0,514 | 0,268 | 0,067 | 0,029 | 0,609 | 0,055 | 0,998 |
1 | SMOTEENN | 0,768 | 0,552 | 0,256 | 0,071 | 0,119 | 0,421 | 0,185 | 0,986 |
1 | SMOTETomek | 0,773 | 0,514 | 0,269 | 0,067 | 0,030 | 0,608 | 0,057 | 0,998 |
1 | TomekLinks | 0,773 | 0,514 | 0,273 | 0,067 | 0,030 | 0,636 | 0,058 | 0,998 |
1 Итог | 0,776 | 0,557 | 0,293 | 0,080 | 0,151 | 0,540 | 0,140 | 0,963 | |
2 | Base | 0,764 | 0,533 | 0,344 | 0,090 | 0,071 | 0,648 | 0,128 | 0,995 |
2 | ADASYN | 0,763 | 0,534 | 0,344 | 0,090 | 0,073 | 0,640 | 0,131 | 0,995 |
2 | BorderlineSMOTE | 0,763 | 0,535 | 0,344 | 0,090 | 0,075 | 0,638 | 0,135 | 0,994 |
2 | NeighbourhoodCleaningRule | 0,757 | 0,563 | 0,325 | 0,094 | 0,147 | 0,480 | 0,225 | 0,979 |
2 | RandomOverSampler | 0,809 | 0,725 | 0,553 | 0,086 | 0,508 | 0,537 | 0,522 | 0,942 |
2 | RandomUnderSampler | 0,761 | 0,692 | 0,331 | 0,200 | 0,692 | 0,228 | 0,342 | 0,691 |
2 | SMOTE | 0,763 | 0,534 | 0,343 | 0,090 | 0,073 | 0,641 | 0,131 | 0,995 |
2 | SMOTEENN | 0,752 | 0,577 | 0,316 | 0,097 | 0,186 | 0,428 | 0,260 | 0,967 |
2 | SMOTETomek | 0,763 | 0,539 | 0,343 | 0,090 | 0,085 | 0,616 | 0,150 | 0,993 |
2 | TomekLinks | 0,763 | 0,540 | 0,340 | 0,090 | 0,087 | 0,608 | 0,152 | 0,993 |
2 Итог | 0,766 | 0,577 | 0,358 | 0,102 | 0,200 | 0,546 | 0,218 | 0,954 | |
3 | Base | 0,901 | 0,515 | 0,216 | 0,010 | 0,029 | 0,820 | 0,056 | 1,000 |
3 | ADASYN | 0,884 | 0,529 | 0,181 | 0,010 | 0,058 | 0,558 | 0,105 | 0,999 |
3 | BorderlineSMOTE | 0,886 | 0,532 | 0,183 | 0,010 | 0,065 | 0,533 | 0,116 | 0,999 |
3 | NeighbourhoodCleaningRule | 0,901 | 0,517 | 0,214 | 0,010 | 0,035 | 0,774 | 0,067 | 1,000 |
3 | RandomOverSampler | 0,846 | 0,673 | 0,413 | 0,009 | 0,348 | 0,654 | 0,454 | 0,998 |
3 | RandomUnderSampler | 0,899 | 0,820 | 0,163 | 0,127 | 0,817 | 0,049 | 0,092 | 0,823 |
3 | SMOTE | 0,884 | 0,529 | 0,181 | 0,010 | 0,058 | 0,559 | 0,106 | 0,999 |
3 | SMOTEENN | 0,885 | 0,539 | 0,179 | 0,010 | 0,078 | 0,486 | 0,135 | 0,999 |
3 | SMOTETomek | 0,884 | 0,529 | 0,181 | 0,010 | 0,059 | 0,563 | 0,107 | 0,999 |
3 | TomekLinks | 0,901 | 0,515 | 0,214 | 0,010 | 0,030 | 0,811 | 0,058 | 1,000 |
3 Итог | 0,887 | 0,570 | 0,212 | 0,021 | 0,158 | 0,581 | 0,130 | 0,982 |
Выводы
В результате проведенного исследования был получен рост показателей качества по сравнению с базовой моделью в случае применения метода RandomUnderSampler. Рост метрик ROC_AUC и balanced accuracy свидетельствует о том, что с учетом несбалансированности классов повысились ранжирующая способность модели и ее точность. Улучшение brier_score указывает на то, что модель с применением RandomUnderSampler лучше откалибрована по сравнению с базовой моделью. Происходит также значительное увеличение метрики полноты (recall, sensitivity) и небольшое снижение метрики precision. Это говорит о том, что в целом качество модели улучшилось, но она стала генерировать больше ложноположительных предсказаний, что может быть критично при настройке функции принятия решения. В то же время высокий уровень специфичности specificity говорит о том, что базовая модель увереннее классифицирует отрицательные примеры по сравнению с моделью с применением метода RandomUnderSampler.
Значительный рост параметра полноты важен в тех областях, где критично выявить большинство положительных примеров (например, в медицине) несмотря на цену. В случае финансовых данных зачастую принятие решения об отказе в выдаче кредита происходит исходя из маржинальной прибыли групп наблюдений с определенным уровнем прогноза модели ИИ. Поэтому без учета роста маржинальной прибыли увеличение метрики полноты (sensitivity, recall) не является определяющим.
Лучшим показателем качества для финансовых несбалансированных данных, отражающим ранжирующую способность алгоритма, является метрика ROC_AUC. Дело в том, что показатели precision и recall (f-меры) являются производными от ROC_AUC и рассчитываются после назначения точки отнесения к положительному классу.
Интересен тот факт, что базовая модель и модель, построенная с применением метода RandomUnderSampler, значительно отличаются по структуре показателей качества. Применение методов объединения их прогнозов (стекинг) может привести к объединению их характеристик и еще большему росту показателей качества.
Заключение
Рассмотрены методы учета дисбаланса классов в финансовых данных при построении моделей машинного обучения. Применение 9 методов учета дисбаланса к каждому из трех наборов данных по розничному кредитованию позволило провести сравнительный анализ метрик качества классификации для всех методов и определить методы, которые показали улучшение качества классификатора по сравнению с базовой моделью. Расчеты продемонстрировали улучшение показателей качества для метода RandomOverSampler. Результаты свидетельствуют о перспективности дальнейших исследований методов учета дисбаланса классов при исследовании финансовых данных, а также о целесообразности применения рассмотренных методов на практике.
1 Отчет Центрального Банка РФ. Обзор операций, совершенных без согласия клиентов финансовых организаций. https://www.cbr.ru/analytics/ib/operations_survey/2023/ (дата обращения: 26.11.2024).
2 Отчет Центрального Банка РФ. Анализ тенденций в сегменте розничного кредитования на основе данных бюро кредитных историй. Первое полугодие 2024 года. https://cbr.ru/Collection/Collection/File/50679/inf-material_bki_2024fh.pdf (дата обращения: 26.11.2024).
3 Imbalanced Learn. API reference. available at: https://imbalanced-learn.org/stable/references/index.html (дата обращения: 26.11.2024).
4 Ссылка: https://www.kaggle.com/datasets/gauravduttakiit/loan-defaulter
5 Ссылка: https://www.kaggle.com/datasets/nikhil1e9/loan-default
6 Ссылка: https://www.kaggle.com/datasets/sgpjesus/bank-account-fraud-dataset-neurips-2022
7 Метод кросс-валидации StratifiedShuffleSplit – это метод, используемый для разделения данных на тренировочные и тестовые наборы с учетом стратификации. Это означает, что при разделении сохраняется пропорциональное соотношение классов в целевой переменной. Это важно для данных финансового сектора, так как для них характерен большой дисбаланс классов.
8 Метод кросс-валидации kFold разбивает исходный набор данных на k равных подмножеств (фолдов). В каждом из k итераций одно из подмножеств используется в качестве тестового набора, а остальные (k-1) – для обучения модели. После каждой итерации вычисляется метрика качества.
9 TargetEncoder – метод кодирования категориальных переменных, при котором признаки заменяются смесью апостериорной вероятности цели с учетом конкретного категориального значения и априорной вероятности цели по всем обучающим данным.
Об авторах
Алексей Федорович Константинов
Российский экономический университет им. Г. В. Плеханова
Автор, ответственный за переписку.
Email: konstantinovaf@gmail.com
ORCID iD: 0009-0000-9591-3301
SPIN-код: 3088-3121
аспирант кафедры информатики
Россия, 115054, Москва, Стремянный переулок, 36Людмила Павловна Дьяконова
Российский экономический университет им. Г. В. Плеханова
Email: Dyakonova.LP@rea.ru
ORCID iD: 0000-0001-5229-8070
SPIN-код: 2513-8831
канд. физ.-мат. наук, доцент, кафедра информатики
Россия, 115054, Москва, Стремянный переулок, 36Список литературы
- Chawla N.V., Bowyer K.W., Hall L.O., Kegelmeyer W.P. Smote: synthetic minority over-sampling technique. Journal of artificial intelligence research. 2002. Vol. 16. Pp. 321–357. doi: 10.1613/jair.953
- He H., Bai Y., Garcia E.A., Li S. Adasyn: adaptive synthetic sampling approach for imbalanced learning. In 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence). 2008. Pp. 1322–1328. doi: 10.1109/IJCNN.2008.4633969
- Han H., Wang W.-Y., Mao B.-H. Borderline-smote: a new over-sampling method in imbalanced data sets learning. International conference on intelligent computing. 2005. Pp. 878–887. Springer. doi: 10.1007/11538059_91
- Tomek I. Two modifications of cnn. IEEE Trans. Systems, Man and Cybernetics. 1976. Vol. 6. Pp. 769–772. doi: 10.1109/TSMC.1976.4309452
- Laurikkala J. Improving identification of difficult small classes by balancing class distribution. In Conference on Artificial Intelligence in Medicine in Europe. 2001. Pp. 63–66. Springer. doi: 10.1007/3-540-48229-6_9
- Batista G., Prati R.C., Monard M.C. A study of the behavior of several methods for balancing machine learning training data. ACM Sigkdd Explorations Newsletter 2004. Vol. 6. No. 1. Pp. 20–29. doi: 10.1145/1007730.1007735
- Batista G., Bazzan B., Monard M., Balancing Training Data for Automated Annotation of Keywords: a Case Study. In WOB. 2003. Pp. 10–18. BibTeX key: conf/wob/BatistaBM03
Дополнительные файлы
