УДК 004.056
Особенности построения модели классификации транзакций для выявления мошеннических операций
Приходько Даниил Андреевич – студент магистратуры факультета Физики, математики и информатики Курского государственного университета.
Аннотация: В статье изучены особенности построения модели классификации транзакций для поиска и выявления мошеннических действий в сети. Актуальность обусловлена ростом числа финансовых манипуляций, что напрямую связано с увеличением количества киберугроз и потерь в мировой экономике. Выявление рисков позволяет всем участникам банковского процесса снизить уязвимость при совершении онлайн-операций.
Целью исследования является разработка инструмента решения задач обнаружения мошеннических транзакций сети криптовалюты Ethereum.
Методика исследования базируется на анализе теоретических положений, эмпирическая часть основана на разработке программы с использованием языка Python 3 и среды Jupyter Notebook.
В результате написания статьи были выделены преимущества использования системы эффективного обнаружения и классификации мошеннических транзакций в сети криптовалюты Ethereum на основе архитектуры MLPClassifier.
Ключевые слова: MLP, мошенничество, операция, банк, криптовалюта, угроза.
Введение
В настоящее время человечество вступило в эру глобализации и цифровизации, что привело к совершению безналичных платежей. Однако подобные транзакционные операции (далее ТО) имеют особую уязвимость к несанкционированному взлому, что часто приводит к получению доступа к счету третьими лицами и хищению финансовых ресурсов. Поэтому особую важность приобретает процесс соблюдения основ безопасности при совершении ТО [1, c. 532].
Актуальность
В последние годы число мошеннических действий (МД) с использованием криптовалюты возросло. Поэтому возникает острая необходимость регуляции оборота цифровых активов со стороны государства и банковских структур. Выявление новых алгоритмов для классификации ТО позволит усовершенствовать методы обнаружения финансовых махинаций.
Материалы и методы исследования
Основаны на проведении литературного обзора по проблеме. Эмпирическая часть базируется на разработке программы с использованием языка Python 3 и среды Jupyter Notebook.
Основные этапы работы системы:
Подготовка данных:
- Данные для тренировки и тестирования подвергаются предварительной обработке и масштабированию с помощью StandardScaler.
- Использование метода KFold для разделения данных на учебные и тестовые наборы в 10 итераций для оценки результатов на различных подвыборках.
Оценка результатов:
- Использование матрицы несоответствий (Confusion Matrix) для каждого тестового набора для получения метрик, таких как точность, F1-мера, Kappa, Precision и Recall.
- Определение средних значений метрик для оценки общей эффективности системы.
Вывод результатов:
- Вывод результатов для каждой из 10 итераций, включая средние значения метрик.
- Визуализация матрицы несоответствий для худших и лучших результатов.
Обзор литературы
Для того чтобы предотвратить несанкционированные действия при совершении ТО создаются специальные алгоритмы машинного обучения. Примером может являться антифорд-система, которая оснащена форд-мониторингом. Это позволило снизить количество МД в сети. Поэтому эта проблема сказывается на появлении дополнительных издержек у финансовых компаний, а платежные системы могут предъявлять им штрафные санкции. Для осуществления добросовестной работы всем участникам ТО необходимо внедрять модернизированные способы предотвращения транзакционных девиаций [2, c. 56].
В литературных положениях имеется множество упоминаний о несанкционированном взломе ТО. К примеру, обзор Клифтона Фуа и соавторов, которые изучали автоматизацию выявления и мониторинга данного процесса. В работе авторов описано преимущество логистической регрессии и байесовской сети, которые показывают их наиболее конкурентоспособные качества в деле анализа сети Ethereum [3].
Результаты исследования
В результате проведенного исследования система на базе MLPClassifier показала высокую точность и эффективность в выявлении МД в сети Ethereum.
Средние значения метрик свидетельствуют о хорошей воспроизводимости и стабильности результатов на различных тестовых наборах.
Визуализация матрицы корреляции позволяет быстро оценить взаимосвязь между числовыми переменными в вашем датасете. Цветовая шкала указывает на силу и направление корреляции. Это может помочь вам выявить взаимные зависимости и определить, какие переменные могут быть важными при разработке модели.
Этот код иллюстрирует использование библиотек numpy и seaborn для создания и визуализации матрицы корреляции в виде тепловой карты (листинг 1, рисунок 1).
corr = df.corr()
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)]=True
with sns.axes_style('white'):
fig, ax = plt.subplots(figsize=(18,10))
sns.heatmap(corr, mask=mask, annot=False, cmap='CMRmap', center=0, linewidths=0.1, square=True)
Листинг 1. Созданий матрицы корреляции.
Рисунок 1. Тепловая карта по набору данных. [4]
Сравнение распределения классов до и после оверсемплинга:
- non_fraud и fraud вычисляют количество безотказных и МД в исходном тренировочном наборе перед оверсемплингом.
- no и yes определяют количество безотказных и МД в тренировочном наборе после оверсэмплинга.
Ожидается, что после оверсемплинга распределение классов будет сбалансированным, что улучшит эффективность модели при обучении на исправленном тренировочном наборе. В данном случае, мы ожидаем повышения количества МД в тренировочном наборе, на рисунке 2 (рисунок 2).
Рисунок 2. Полученные значения после примирения Oversample.
Ожидается, что этот код (листинг 1) будет обучать MLPC модель на нормализованных данных, используя K-Fold Cross-Validation, и сохранять метрики качества модели для каждого фолда. Также, выведет ConfusionMatrix для худшего и лучшего результата за все фолды. Это позволит оценить эффективность модели на разных частях учебного набора (листинг 1).
nn_params = {"hidden_layer_sizes": (100, 100), "solver": "adam"}
# x_tr_resample, y_tr_resample
nn_model = MLPClassifier(nn_params)
nn_model.fit(X, y)
kf = KFold(n_splits=10, random_state = 23, shuffle=True)
cm_metric_list = []
nn_cm_worst = None
nn_cm_best = None
nn_cm_list = []
for train_index, test_index in kf.split(X):
# X_train, X_test = X.iloc[train_index], X.iloc[test_index]
# y_train, y_test = y.iloc[train_index], y.iloc[test_index]
# scaler = StandardScaler().fit(X_train)
# X_train = scaler.transform(X_train)
# X_test = scaler.transform(X_test)
t_df = norm.fit_transform(X_test)
nn_model.fit(norm_df, y_train)
cm = ConfusionMatrix(actual_vector = y_test.values, predict_vector = nn_model.predict(t_df))
cm_metric_list.append({"Accuracy":cm.Overall_ACC, "F1": cm.F1[1], "Kappa": cm.Kappa, "Precision":cm.PPV[1]
, "Recall": cm.TPR[1]})
cm.relabel({1: "Fraud", 0:"Non-Fraud"})
nn_cm_list.append(cm)
if nn_cm_worst is None:
nn_cm_worst = cm
else:
if cm.Overall_ACC < nn_cm_worst.Overall_ACC:
nn_cm_worst = cm
if nn_cm_best is None:
nn_cm_best = cm
else:
if cm.Overall_ACC > nn_cm_best.Overall_ACC:
nn_cm_best = cm
Листинг 2. Реализация модели MLPC и запуск визуализации результатов классификации.
Определение худших и лучших результатов позволяет определить сценарии, в которых система может показать меньшую эффективность или высокую надежность (рисунок 3, 4).
Рисунок 3. Вывод результатов модели MLPC в худшем случае классификации.
Рисунок 4. Вывод результатов модели MLPC в худшем случае классификации.
Заключение
Таким образом, выбор MLP обоснован не только точностью, но и его способностью моделировать реальные паттерны и обобщать на новые данные. В данном контексте, где задача сложна и подвержена изменениям со временем, MLP представляет собой мощный инструмент для обнаружения МД в сети Ethereum.
Список литературы
- Кирина, А. В. Применение методов машинного обучения в целях выявления мошеннических транзакций / А. В. Кирина, Д. В. Домашова // Угрозы и риски финансовой безопасности в контексте цифровой трансформации : Материалы VII Международной научно-практической конференции Международного сетевого института в сфере ПОД/ФТ, Москва, 24 ноября 2021 года. – Москва: Национальный исследовательский ядерный университет "МИФИ", 2021. – С. 532-538. – EDN CACUNI.
- Радионова М.В., Корзухин А.А., Саушев Н.А. Математические методы оценки финансовых транзакций на предмет мошенничества // Вестник Пермского университета. Сер. «Экономика». 2021. Том 16. № 1. С. 54–66. doi: 10.17072/1994-9960-2021-1-54-66.
- Федеральное бюро расследований США. Виртуальная валюта биткойн: Unique Features Present Distinct Challenges for Deterring Illicit Activity. 2012. Available at: http://www.wired.com/images_blogs/threatlevel/2012/05/Bitcoin-FBI.pdf. Data obrashhenija 27.05.2022.
- Ethereum Fraud Detection Dataset. Kaggle: Your Machine Learning and Data Science Community. URL: https://www.kaggle.com/datasets/gescobero/ethereum-fraud-dataset (дата обращения: 13.09.2023).