ОБНАРУЖЕНИЕ АНОМАЛИЙ В ЭКОНОМИЧЕСКИХ ДАННЫХ ПРИ ПОМОЩИ ISOLATION FOREST И SHAP
В. К. Ремизов, А. В. Боднар
ФГБОУ ВО «Донецкий национальный технический университет», г. Донецк
email: vsevolod.remizov@gmail.com, linabykova13@ya.ru
SPIN-код: 4185-5711, 5068-7409
Аннотация
В статье рассматривается подход к обнаружению аномалий в экономических данных с использованием алгоритма Isolation Forest и метода интерпретации SHAP. Осуществляется практическая реализация подхода на основе синтетического датасета экономических и ESG-показательных глобальных компаний с использованием языка программирования Python. Обсуждаются конкретные примеры обнаруженных аномалий и анализ факторов, повлиявших на их идентификацию. Формулируется вывод о целесообразности использования описанного подхода для анализа экономических данных.
Введение
Обнаружение аномалий является важной частью интеллектуального анализа данных. Оно позволяет автоматически выделять закономерности в больших объемах данных [1]. Обнаружение аномалий широко применяется в самых разных сферах:
- в кибербезопасности – для обнаружения вторжений и аномальной активности пользователей [2-3];
- в здравоохранении – для диагностики заболеваний [1];
- в маркетинге – для анализа поведения клиентов и генерации идей на основе их отзывов [4-5].
Использование обнаружения аномалий в экономике также актуально, особенно в условиях интенсивного роста сложности финансовых систем и увеличения объемов данных. В данном контексте обнаружение аномалий позволяет, например, оперативно выявлять ошибки в отчетности, признаки мошенничества, внезапные изменения в доходности предприятия или влияние внедрения инновационного решения на экономические показатели предприятия.
Для наиболее эффективной реализации обнаружения аномалий целесообразно использовать методы машинного обучения, поскольку они способны выявлять сложные нелинейные зависимости, которые трудно формализовать вручную. К таким методам относится Isolation Forest, предназначенный для обнаружения выбросов в наборах данных, и SHAP, предназначенный для объяснения результатов трудно интерпретируемых моделей машинного обучения.
Таким образом, цель данной статьи – описание подхода к обнаружению аномалий в экономических данных с использованием алгоритмов машинного обучения Isolation Forest и SHAP.
Для достижения данной цели необходимо выполнить следующие задачи:
- привести методологические данные об Isolation Forest и SHAP;
- описать тестовый набор данных;
- привести практическую реализацию применения Isolation Forest и SHAP.
Isolation Forest
Isolation Forest – алгоритм машинного обучения, применяющийся для обнаружения аномалий в данных при помощи построения бинарных деревьев изоляции (см. рис. 1). Он строится на концепции изоляции аномалий – данные, которые встречаются редко и имеют отличающиеся значения признаков, легче изолировать от других точек данных с помощью случайного разбиения. Аномалии, как правило, изолируются ближе к корню дерева, т.к. они сильно отличаются от других точек и быстро отделяются при разбиении [6].
Аномальность точки зависит от средней длины пути от корня до листа – для аномалии такой пути будет короче (1) [5].
\[s(x,n)=2^{-E(h(x))/c(n)}\tag {1}\]
где \(E(h(x))\) – средняя длина пути по всем деревьям,
\(c(n)\) – нормализующая константа, зависящая от размера выборки n,
\(s\) – признак аномалии (≈1 – аномалия).
В отличие от других алгоритмов обнаружения аномалий Isolation Forest не использует метрики расстояния или плотности и поэтому обладает следующими преимуществами [6]:
- линейная сложность;
- низкие требования к памяти;
- масштабируемость.
SHAP
SHAP (Shapley Additive exPlanations) – метод интерпретации предсказаний моделей машинного обучения, основанный на теории игр и значениях Шепли. SHAP интерпретирует предсказания путем присваивания каждому признаку значения важности для конкретного предсказания [7-8].
Данный метод относится к классу аддитивных методов атрибуции признаков – методы, в которых объяснение выражается в виде линейной функции признаков. SHAP единственный метод класса, удовлетворяющим всем свойствам класса:
- локальная точность – сумма вкладов всех признаков равняется выходу модели для конкретного примера;
- отсутствие влияния – если признак отсутствует, его вклад равен нулю;
- согласованность – если вклад признака возрастает, то и его значение SHAP не уменьшается [6].
Согласно тестам проведенным в [7] интерпретации SHAP более стабильны и согласованны с человеческой интуицией по сравнению с альтернативными методами, такими как LIME и DeepLIFT.
Тестовые данные
Для демонстрации применения Isolation Forest и SHAP в экономике будет использоваться синтетический датасет, моделирующий реалистичные финансовые и ESG-показатели (показатели экологического, социального и корпоративного управления) 1000 глобальных компаний в 9 отраслях и 7 регионах с 2015 по 2025 год [9]. Столбцы, содержащиеся в этом датасете, представлены в таб. 1.
| Имя столбца | Описание | Тип |
|---|---|---|
| CompanyID | Уникальный идентификатор компании | Числовой |
| CompanyName | Название компании | Категориальный |
| Industry | Отрасль | Категориальный |
| Region | Географический регион | Категориальный |
| Year | Отчетный год | Числовой |
| Revenue | Годовой доход в миллионах долларов | Числовой |
| ProfitMargin | Чистая прибыль в процентах от выручки | Числовой |
| MarketCap | Рыночная капитализация в миллионах долларов | Числовой |
| GrowthRate | Темпы роста выручки (%) | Числовой |
| ESG_Overral | Совокупный показатель устойчивости ESG (0-100) | Числовой |
| ESG_Environmental | Оценка экологической устойчивости (0-100) | Числовой |
| ESG_Social | Оценка социальной ответственности (0-100) | Числовой |
| ESG_Governance | Оценка качества корпоративного управления (0-100) | Числовой |
| CarbonEmissions | Годовые выбросы углерода в тоннах CO2 | Числовой |
| WaterUsage | Годовое потребление воды в кубических метрах | Числовой |
| EnergyConsumption | Годовое потребление энергии в МВт/ч | Числовой |
Пример 5 строк (из 11000) данного датасета представлен в таб. 2.
| CompanyId | 1 | 1 | 1 | 1 | 1 |
| CompanyName | Company_1 | Company_1 | Company_1 | Company_1 | Company_1 |
| Industry | Retail | Retail | Retail | Retail | Retail |
| Region | Latin America | Latin America | Latin America | Latin America | Latin America |
| Year | 2015 | 2016 | 2017 | 2018 | 2019 |
| Revenue | 459.2 | 473.8 | 564.9 | 558.4 | 554.5 |
| ProfitMargin | 6.0 | 4.6 | 5.2 | 4.3 | 4.9 |
| MarketCap | 337.5 | 336.6 | 313.4 | 283.0 | 538.1 |
| GrowthRate | NaN | 3.2 | 19.2 | -1.1 | -0.7 |
| ESG_Overral | 57.0 | 56.7 | 56.5 | 58.0 | 56.6 |
| ESG_Environmental | 60.7 | 58.9 | 57.6 | 62.3 | 63.7 |
| ESG_Social | 33.5 | 32.8 | 34.0 | 33.4 | 30.0 |
| ESG_Governance | 76.8 | 78.5 | 77.8 | 78.3 | 76.1 |
| CarbonEmissions | 35577.4 | 37314.7 | 45006.4 | 42650.1 | 41799.4 |
| WaterUsage | 17788.7 | 18657.4 | 22503.2 | 21325.1 | 20899.7 |
| EnergyConsumption | 71154.7 | 74629.4 | 90012.9 | 85300.2 | 83598.8 |
Практическая реализация
Для обнаружения аномалий при помощи Isolation Forest и SHAP будем использовать Python и библиотеки pandas для работы с данными, scikit-learn для Isolation Forest и для преобразования категориальных данных и библиотеку shap.
Для начала анализа необходимо подготовить данные – загрузить датасет при помощи pandas и преобразовать категориальные данные в числовые метки при помощи LabelEncoder (см. рис. 2).
Далее необходимо создать модель Isolation Forest с указанием порога (contamination), по которому точки будут классифицироваться как аномальные (какую долю объектов считать аномальными). При указании значения «auto» модель подберет такой процент автоматически. Scikit-learn предоставляет два сценария работы с Isolation Forest: обучить модель на «нормальных» данных при помощи fit, и затем обнаружить аномалии в новых данных при помощи fit, или сразу выделить аномалии в общем объеме данных при помощи fit_predict. В результате работы модели строки, считающиеся аномальными будут помечены значением «-1», при этом мы можем получить уровень аномальности при помощи decision_function – чем ниже значение, тем аномальнее строка. После работы модели необходимо декодировать числовые метки в категориальные данные (см. рис. 3).
| CompanyId | 759 | 759 | 759 | 646 | 646 |
| CompanyName | Company_759 | Company_759 | Company_759 | Company_646 | Company_646 |
| Industry | Energy | Energy | Energy | Energy | Energy |
| Region | Oceania | Oceania | Oceania | Europe | Europe |
| Year | 2024 | 2025 | 2023 | 2025 | 2024 |
| Revenue | 151162.4 | 168988.9 | 134141.9 | 134253.3 | 116015.7 |
| ProfitMargin | -16.0 | -15.4 | -12.8 | 11.6 | 11.6 |
| MarketCap | 559625.3 | 398218.7 | 667399.7 | 300465.1 | 210231.9 |
| GrowthRate | 12.7 | 11.8 | 17.0 | 15.7 | 14.4 |
| ESG_Overral | 57.0 | 57.9 | 58.1 | 84.6 | 85.1 |
| ESG_Environmental | 23.1 | 24.2 | 26.4 | 56.3 | 56.2 |
| ESG_Social | 67.2 | 67.0 | 65.7 | 100.0 | 100.0 |
| ESG_Governance | 80.8 | 82.4 | 82.1 | 97.6 | 99.2 |
| CarbonEmissions | 156960283.7 | 174104721.4 | 136181429.6 | 108229578.1 | 93589580.8 |
| WaterUsage | 47088085.1 | 52231416.4 | 40854428.9 | 32468873.4 | 28076874.2 |
| EnergyConsumption | 1.569603e+09 | 1.741047e+09 | 1.361814e+09 | 1.082296e+09 | 9.358958e+08 |
| Уровень аномальности | -0.252432 | -0.252385 | -0.249340 | -0.244491 | -0.235631 |
Для более детального анализа воспользуемся глобальной (вклад столбцов в то, что строки становились аномальными) и локальной (вклад столбцов в конкретную аномалию) интерпретацией при помощи SHAP. Воспользуемся интерпретатором TreeExplainer [10], т.к. Isolation Forest основывается на бинарных деревьях (см. рис. 4). Для этого построим сводную диаграмму важности признаков (см. рис. 5) и столбчатую диаграмму влияния признаков на первую аномалию (см. рис. 6).
В Isolation Forest аномальность характеризуется отрицательными значениями модели, поэтому на аномальность влияют столбцы с отрицательными значениями SHAP. На рисунке 5 можно увидеть, что сильнее всего на аномальность строки влияли высокие значения оценки качества корпоративного управления, рыночной капитализации, потребления воды, выброса углерода, потребления энергии и годового дохода. А также низкие значения темпа роста выручки и оценки социальной ответственности.
Проанализировав рисунок 6, можно сделать вывод, что компания 759 была выбрана аномальной из-за значений годовых выбросов углерода, потребления воды, рыночной капитализации, потребления энергии, годового дохода и чистой прибыли. Таким образом, предположения об аномальности отрицательной прибыли подтвердились, однако теперь также можно предположить, что компании нужно обратить внимание на экологическую составляющую, для улучшения ее экономических показателей. Аналогично можно проанализировать и остальные обнаруженные аномалии.
Выводы
В рамках статьи был рассмотрен подход к обнаружению аномалий в экономических данных с использованием алгоритма Isolation Forest и метода интерпретации SHAP. Демонстрация обнаружения аномалий в синтетических данных при помощи Python показала, что Isolation Forest является эффективным инструментом для автоматического выявления аномалий в экономических данных предприятий. Его использование особенно актуально в условиях высокой изменчивости финансовых и ESG-показателей, т. к. он способен обнаруживать выбросы без предположений о распределении данных. Кроме того, метод интерпретации SHAP позволяет не только находить подозрительные значения в экономических данных, но и понимать, какие факторы на них повлияли. Таким образом, совместное применение этих методов позволяет повысить прозрачность экономической отчетности и обеспечить своевременное выявление и реагирование на финансовые риски.
Литература
- Ahmed, M., Mahmood, A. N., & Islam, M. R. (2016). A survey of anomaly detection techniques in financial domain. Future Generation Computer Systems, 55, 278–288. doi:10.1016/j.future.2015.01.001.
- Bakhshi, Taimur & Ghita, B.V.. (2021). Anomaly Detection in Encrypted Internet Traffic Using Hybrid Deep Learning. Security and Communication Networks. 2021. 1-16. 10.1155/2021/5363750.
- Пандей Рашмикиран, Пандей Мринал, Назаров Алексей Николаевич Усовершенствованное обнаружение аномалий в сетевой безопасности: комплексный ансамблевый подход // Научно-технический вестник информационных технологий, механики и оптики. 2024. №5. URL: https://cyberleninka.ru/article/n/enhanced-anomaly-detection-in-network-security-a-comprehensive-ensemble-approach .
- Cui, Xiling & Zhu, Zhongshan & Liu, Libo & Zhou, Qiang & Liu, Qiang. (2024). Anomaly detection in consumer review analytics for idea generation in product innovation: Comparing machine learning and deep learning techniques. Technovation. 134. 10.1016/j.technovation.2024.103028.
- Chua W, Pajas ALD, Castro CS, Panganiban SP, Pasuquin AJ, Purganan MJ, Malupeng R, Pingad DJ, Orolfo JP, Lua HH, et al. Web Traffic Anomaly Detection Using Isolation Forest. Informatics. 2024; 11(4):83. https://doi.org/10.3390/informatics11040083.
- Liu, F. T., Ting, K. M., & Zhou, Z.-H. (2008). Isolation Forest. 2008 Eighth IEEE International Conference on Data Mining. doi:10.1109/icdm.2008.17.
- Lundberg S.M., Lee S.-I. A Unified Approach to Interpreting Model Predictions // Advances in Neural Information Processing Systems. – 2017. – Vol. 30. – URL: https://proceedings.neurips.cc/paper_files/paper/2017/file/8a20a8621978632d76c43dfd28b67767-Paper.pdf .
- E. ?trumbelj, I. Kononenko Explaining prediction models and individual predictions with feature contributions // Knowledge and Information Systems. — 2013. — Vol. 41, No. 3. — P. 647–665. — DOI: 10.1007/s10115-013-0679-x.
- Jagtap, Shriyash. ESG and Financial Performance Dataset [Электронный ресурс] // Kaggle. – URL: https://www.kaggle.com/datasets/shriyashjagtap/esg-and-financial-performance-dataset/data .
- Lundberg S.M., Erion G., Chen H., et al. From local explanations to global understanding with explainable AI for trees // Nature Machine Intelligence. — 2020. — Vol. 2. — P. 56–67. — DOI: 10.1038/s42256-019-0138-9.