Comparative analysis of class imbalance reduction methods in building machine learning models in the financial sector
- Authors: Konstantinov A.F.1, Dyakonova L.P.1
-
Affiliations:
- Plekhanov Russian University of Economics
- Issue: Vol 27, No 1 (2025)
- Pages: 143-150
- Section: System analysis, management and information processing
- URL: https://ogarev-online.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
Cite item
Full Text
Abstract
The article discusses methods for improving quality metrics of machine learning models used in the financial sector. Due to the fact that the data sets on which the models are trained have class imbalances, it is proposed to use models aimed at reducing the imbalance. The study conducted experiments using 9 methods for accounting for class imbalances with three data sets on retail lending. The CatboostClassifier gradient boosting model, which does not take into account class imbalances, was used as the base model. The experiments showed that the use of the RandomOverSampler method provides a significant increase in classification quality metrics compared to the base model. The results indicate the promise of further research into methods for accounting for class imbalances in the study of financial data, as well as the feasibility of application of the considered methods in practice.
Keywords
Full Text
Введение
Деятельность компаний финансового сектора связана с высокой степенью риска. Для коммерческих банков к основным рискам относятся кредитный и операционный. На финансовом рынке кредитование сохраняет позицию наиболее доходной статьи активов кредитных организаций, хотя и наиболее рискованной. Кредитный риск, таким образом, был и остается основным видом банковского риска.
По данным Центрального банка Российской Федерации, в настоящее время наблюдается значительный рост кредитных дефолтов и мошеннических операций. На конец 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 – метод кодирования категориальных переменных, при котором признаки заменяются смесью апостериорной вероятности цели с учетом конкретного категориального значения и априорной вероятности цели по всем обучающим данным.
About the authors
Alexey F. Konstantinov
Plekhanov Russian University of Economics
Author for correspondence.
Email: konstantinovaf@gmail.com
ORCID iD: 0009-0000-9591-3301
SPIN-code: 3088-3121
Post-graduate Student, Department of Informatics
Russian Federation, 115054, Moscow, 36 Stremyannyy laneLyudmila P. Dyakonova
Plekhanov Russian University of Economics
Email: Dyakonova.LP@rea.ru
ORCID iD: 0000-0001-5229-8070
SPIN-code: 2513-8831
Candidate of Physical and Mathematical Sciences, Associate Professor, Department of Informatics
Russian Federation, 115054, Moscow, 36 Stremyannyy laneReferences
- 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
Supplementary files
