Разработка модели обнаружения компрометации банковских транзакций
Разработка комплексных подходов обнаружения скомпрометированных банковских транзакций на основании ряда их признаков с помощью методов машинного обучения и других аналитических моделей. Анализ банковских операций, включая все их виды и особенности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.12.2019 |
Размер файла | 4,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Метод опорных векторов
Метод опорных векторов (Support Vector Machine, SVM) - это метод машинного обучения с учителем, который может быть использован как для задач регрессионного анализа, так и для задач классификации.
В рамках данного метода каждое наблюдение представляется в виде точки в n-мерном пространстве, где n - количество предикторов данной модели. Для классификации наблюдений производится поиск оптимальной гиперплоскости, которая обеспечивает наилучшее разбиение наблюдений между классами. В дальнейшем для классификации наблюдений достаточно определить область, в которой лежит данное наблюдение относительно найденной гиперплоскости [24].
Для наглядности, рассмотрим алгоритм работы метода опорных векторов для двумерного пространства с классификацией наблюдений между двумя классами.
В данном случае искомая гиперплоскость является прямой, которая задается уравнением
.
В рамках обучения модели производится определение параметров k и b, для которых разбиение является оптимальным. Графически данный процесс обучения представлен на изображении ниже:
Рисунок 7. Пример работы метода опорных векторов
В рамках производится выбор между множеством прямых, часть из которых изображена на рисунке выше и обозначена прямыми A, B и C.
Более того, данный метод может использовать дополнительные внутренние преобразования в виде добавления новых факторов. Например, для следующего случая:
Рисунок 8. Пример более сложной классификации с помощью метода опорных векторов
Для решения данной задачи может быть использовано добавление размерности путем преобразования гиперплоскости к виду:
Формула 7. Преобразованный вид гиперплоскости метода опорных векторов
В данном трехмерном пространстве задача классификации приобретает следующий вид:
Рисунок 9. Представление данных в веденном трехмерном пространстве
Деревья решений
Деревья решений - это графовый метод машинного обучения, используемый как для задач классификации, так и для задач регрессии. В рамках данного алгоритма производится построение графа вида дерево, который имеет три основных элемента:
· Листья (конечные узлы графа);
· Ветви (ребра графа);
· Промежуточные узлы графа.
Данный метод основан на последовательном (сверху-вниз) разбиении наблюдений на некоторые подгруппы на основании бинарных условий, которые располагаются в промежуточных узлах дерева. Таким образом, в конечном итоге, в листьях данного дерева решений размещаются группы наблюдений, сформированные на основании всех располагающихся выше условий. Данные группы также определяют значения зависимой переменной, которая может быть как номером класса (в рамках задачи классификации), так и усредненным значением регрессора (в случае задачи регрессионного анализа). [25]
Основной особенностью данного метода является подход к поиску оптимального логического выражения, размещаемого в промежуточных узлах дерева решений. Данное разбиение определяется путем снижения уровня неопределенности модели. Примером данного метода может стать минимизация энтропии с помощью разделения наблюдений на две группы.
Определение энтропии Шеннона, которая для системы с N возможными состояниями высчитывается следующим образом:
Формула 8. Формула определения энтропии Шеннона
Также, в рамках определения уровня неопределенности могут быть использованы такие показатели, как:
· Неопределенность Джини, которая высчитывается по формуле:
Формула 9. Формула определения неопределенности Джини
· Ошибки классификации, высчитываемые по формуле:
Формула 10. Формула определения ошибки классификации
Результаты работы данного метода могут быть представлены графически следующим образом:
Рисунок 10. Пример дерева решений
Основными параметрами дерева решений, которые используются для его настройки являются:
· Глубина дерева (то есть, максимальное количество промежуточных узлов дерева на пути к листу);
· Минимальное количество наблюдений для разбиения узла.
Использование ансамбля классификаторов
Зачастую единичные классификаторы не дают достаточного уровня качества формируемой модели. В данных случаях часто используются ансамбли классификаторов вместо одного, что позволяет настроить каждый классификатор для выявления исключительных случаев, которые не могут быть обработаны в рамках одного классификатора.
Примером таких ансамблей могут стать таким методы как:
· Адаптивный бустинг (Adaptive Boosting, AdaBoost);
· Случайные леса (Random forest).
Алгоритм адаптивного бустинга используется с заданным типом классификатора и позволяет несколько классификаторов в, так называемые, комитеты таким образом, чтобы каждый последующий классификатор решал задачу классификации для случаев, в которых предыдущий классификатор произвел ошибочную классификацию. [26]
Например, для случая классификации в двумерном пространстве могут быть использовано несколько гиперплоскостей, разбивающих наблюдения на классы, в то время как самостоятельный классификатор может выделить лишь одну область. Графически это может быть представлено следующим образом.
Пусть при использовании одного классификатора плоскость может быть разбита на 2 области следующим образом:
Рисунок 11. Пример адаптивного бустинга - один классификатор
Как видно из рисунка выше, данное разбиение позволяет классифицировать часть наблюдений на красный и синий класс, однако многие ситуации являются неучтенными в рамках данного разбиения. С помощью увеличения количества классификаторов можно добиться выделения дополнительных областей, классифицирующих наблюдения, относящиеся к красному классу. Например, для 5 классификаторов может быть достигнута следующая картина:
Рисунок 12. Пример адаптивного бустинга - 5 классификаторов
Как видно из рисунка выше, количество верно классифицированных наблюдений значительно возросло. Таким образом, при использовании более, чем одного классификатора можно добиться значительно более высокого уровня качества работы классификаторов.
В отличие от адаптивного бустинга, который может использовать различные классификаторы для построения ансамблей, случайные леса нацелены на оптимизацию работы конкретного классификатора - а именно дерева решений. Случайные леса - это метод машинного обучения с учителем, который заключается в использовании ансамбля (комитета) решающих деревьев.
Алгоритм случайных лесов основывается на двух основных методиках:
· Алгоритм беггинга (Bootstrap aggregation);
· Метод случайных подпространств.
В рамках алгоритма беггинга производится ряд случайных выборок с возвращением. Именно на основании данных выборок производится обучение ансамбля деревьев решений. То есть в рамках данного метода производится N под-выборок из обучающей выборки, и на основании каждой под-выборки производится обучение дерева решений. Таким образом, формируется ансамбль деревьев, который может быть использован для задачи классификации. Каждое дерево из ансамбля может иметь достаточно невысокое качество предсказания, однако весь ансамбль способен повысить качество предсказания, по сравнению с единичным деревом решений. [27]
Методы определения качества разрабатываемой модели
При построении математических моделей крайне важную роль играет выбор подхода к оценке качества формируемой модели. Данные показатели позволяют определить, насколько качественно построена модель и какова вероятность, что статистические зависимости, выявленные на основании обучающей выборки, применимы ко всей генеральной совокупности. То есть, данные подходы позволяют определить, насколько построенная аналитическая модель может быть применима для анализа генеральной совокупности. [28] Для построения и проверки качества модели, как правило все данные имеющейся у исследователя выборки принято разделять на обучающую выборку и проверочную выборку. Обучающая выборка используется при обучении статистической модели, выявления зависимостей между переменными в используемой выборке и подборе необходимых параметров. При этом тестовая выборка используется для проверки качества обучения данной модели. В рамках проверки качества уже обученной модели ей формируется предсказание на основании используемых предикторов для всех строк тестовой выборки, а полученные от модели предсказания сравниваются с фактическими, которые известны. [29] Данный подход позволяет выявить факт переобучения модели, когда модель крайне точно способна предсказать все экземпляры, на основании которых данная модель была обучена, но не способна дать качественное предсказание для новых наблюдений.
Так как задача выявления скомпрометированных транзакций является подклассом задачи классификации, для оценки качества такого рода моделей, в рамках каждого класса, как правило, используются показатели матрицы несоответствий (confusion matrix), также известной как таблица сопряженности (contingency table). [30] В данной матрице для каждого класса определяются следующие показатели:
· True positive (TP) - количество записей, корректно отнесенных моделью к данному классу;
· True negative (TN) - количество записей, которые корректно не были отнесены моделью к данному классу;
· False positive (FP) - количество записей, отнесенных моделью к данному классу, но не относящихся к нему;
· False negative (FN) - количество записей, не отнесенных моделью к данному классу, но относящихся к нему.
Классически показателем качества предсказания, формируемого моделью на основании данных таблицы сопряженности? является показатель Accuracy - верность сформированной модели. Данный показатель вычисляется по следующей формуле:
Формула 11. Формула расчета аккуратности модели
Таким образом, верность определяется мерой корректности сформированного предсказания, то есть отношением количества верно классифицированных наблюдений к общему количеству наблюдений. Для относительно сбалансированных выборок данный показатель является исчерпывающим, так как достаточно полно характеризует качество сформированной модели.
Тем не менее, при построении модели для задачи выявления скомпрометированных транзакций, данный показатель не является основным показателем качества модели. Как уже рассматривалось ранее в рамках данной работы, при работе с моделью выявления компрометации транзакций, исходные данные являются крайне несбалансированными, вследствие чего показатель верности модели может быть на высоком уровне даже, если данная модель не выявит компрометации.
Вследствие этого имеет смысл использовать дополнительные показатели, используемые в раках ROC-анализа, такие как:
· Точность предсказания модели (precision);
· Полнота предсказания модели (recall).
Точность предсказания модели в рамках данной задачи является долей транзакций, корректно отмеченных как скомпрометированные и определяется по формуле:
Формула 12. Формула расчета точности предсказания модели
Показатель полноты предсказания модели отвечает за характеристику меры выявления скомпрометированных транзакций. Для расчета используется следующая формула:
Формула 13. Формула расчета полноты предсказания модели
Тем не менее, оценка качества модели на основании нескольких факторов является не слишком удобной, так как модели, которые, например, обладают высоким уровнем точности, но при этом низкой полнотой могут уступать моделям, имеющим значение точности ниже, но при этом более высокие показатели полноты.
Для формирования более полной картины о качестве предсказаний данной модели был введен дополнительный показатель, называемый F-мерой (F1 measure). Данный показатель использует как значение полноты предсказаний модели, так и значение их точности и вычисляется по формуле:
Формула 14. Формула расчета F-меры предсказания модели
Данный показатель позволяет обнаружить некий баланс между значением полноты и точности модели, так как в реальной жизни практически не существует моделей, способных обеспечить максимальные значения обоих показателей.
Еще одним показателем, агрегирующим различные аспекты обучения модели, является показатель качества модели Хейдке - Heidke Skill Score (HSS). Данный показатель часто используется при оценке предсказательного качества моделей для задач поиска редких событий, то есть задач с крайне несбалансированными данными. Она вычисляется по следующей формуле:
Формула 15. Формула расчета HSS
Таким образом, наиболее рационально в данной работе будет использования таких показателей качества предсказания модели, как:
· Полнота;
· Точность;
· F-мера;
· HSS.
2.2 Использование метода Монте-Карло для определения качества модели
Для обучения и проверки моделей в настоящей работе будет использоваться разбиение имеющейся выборки на обучающую и проверочную (тестовую). Для построения различных моделей, как правило, используются случайные разбиения выборки, вследствие чего может возникать зависимость анализируемых результатов качества модели от полученного разбиения.
Таким образом, при последовательном проведении исследований полученной модели классификации могут быть получены различные результаты качества сформированного предсказания. Тем не менее, существует ряд способов получения результатов на более высоком доверительном интервале. Одним из таких методов является метод Монте-Карло. [31]
Одним из подклассов данного подхода является последовательный метод Монте-Карло (sequential Monte Carlo). Данный класс методик основываются на многократном последовательном проведении симуляций с целью определения получаемого распределения. Более того, данная методика является достаточно легко реализуемой с учетом уровня производительности вычислительных средств и развитии статистических и программных инструментов. [32]
В применении к данной задаче метод Монте-Карло заключается в получении большого количества результатов, сформированных предсказательными моделями на основании стохастического процесса разбиения выборки на обучающую и проверочную. Данный подход позволяет получить множество результатов обучения и предсказания модели на основании ряда обучающих и тестовых выборок, которые затем используются для проведения более глубокого анализа. В частности, в рамках настоящей работы требуется реализовать итеративный процесс обучения каждой из тестируемых моделей на основании случайного деления выборки.
В результате цикличного процесса проверки обучения модели могут быть получены выделенные ранее показатели качества предсказания, то есть показатели полноты, точности, F-меры и другие, которые затем могут быть проанализированы. Результатом данного анализа будет получение усредненного, то есть ожидаемого значения качества предсказания для каждой из моделей, их дисперсия, квантили и т. д.
Выводы
В рамках второй главы настоящей работы был проведен анализ подходящих методов и моделей проверки банковских транзакций в части обнаружения потенциального мошенничества.
Для начала было произведено изучение допустимых методов для анализа банковских транзакций, в число которых вошли статистические методы анализа, такие как логистическая регрессия, а также методы машинного обучения с учителем, которые могут быть разделены на:
· Методы классификации на основании расстояний:
o Метод К-ближайших соседей;
o Метод опорных векторов;
· Вероятностные методы классификации - Наивный Байесовский классификатор;
· Графовые методы классификации - деревья решений;
· Ансамбли классификаторов:
o Случайные леса;
o Адаптивный бустинг.
Все эти методы могут быть использованы для формирования итоговой модели обнаружения мошеннических операций.
Затем, были рассмотрены методы определения качества формируемой модели, которые требуют значительного расширения от классической модели вследствие крайней несбалансированности исходных данных. Для определения качества модели должны использоваться следующие показатели:
· Precision (полнота);
· Recall (точность);
· F1-score (F-мера);
· Heidke Skill Score (HSS).
Более того, для минимизации зависимости от разбиения данных на тестовую и обучающую выборку, процесс проверки каждой из моделей должен быть итеративным с использованием последовательного метода Монте-Карло.
3. Реализация модели
Анализ исходных данных
Общее описание используемых данных
Для построения моделей на основании выделенных и описанных выше моделей будет использоваться открытый набор данных, представленный на портале проектов, ориентированных на науку о данных Kaggle. [33].
Данный набор данных содержит обезличенные данные о банковских транзакциях, совершенных в течение двух дней в сентябре 2013 года держателями банковских карт из Европейского Союза. Данная база данных содержит информацию по 284 807 транзакциям, из которых 492 являются скомпрометированными. Таким образом, объем мошеннических операций составляет всего 0,172% от всех совершенных транзакций, что говорит о крайне высокой степени несбалансированности исходных данных.
Этот набор данных был подготовлен в результате сотрудничества двух организаций, занимающихся исследованиями данных в области выявления мошенничества банковских операций:
· Французская корпорацией Worlline, которая предоставляет услуги в области проведения банковских операций;
· Группы машинного обучения Свободного Университета Брюсселя (Machine Learning Group of Universitй Libre de Bruxelles).
Сформированный ими набор данных использовался этими исследовательскими группами в рамках проводимых исследований и разработке подходов к выявлению банковского мошенничества.
Каждая операция в данном наборе характеризуется значениями 31 параметра. Тем не менее, для сохранения обезличенности данного набора данных, большая часть из данных показателей не могла быть отражена напрямую. Для обезличивания ряда параметров создателями набора данных был использован метод главных компонент. Результатом преобразования являются 28 количественных переменных с наименованиями V1 - V28.
Использованный при подготовке метод главных компонент является одним из способов снижения размерности данных, который, с одной стороны, позволяет снизить количество используемых параметров, но при этом обеспечивая минимальные потери информации. Сокращение размерности при этом достигается путем преобразования данных в новый набор главных компонент, которые не коррелируют и расположены таким образом, что первые выделенные компоненты сохраняют наибольшие вариации, присутствующие во всех исходных переменных. [34]
Таким образом, каждая операция в полученном наборе данных характеризуется следующими параметрами:
· Time - время совершения операции (в секундах от начала наблюдения);
· V1, V2, …, V28 - параметры, полученные в результате сокращения размерности методом главных компонент;
· Amount - сумма операции в евро;
· Class - итоги классификации транзакций, которые представлены двумя значениями: 0 - легитимная транзакция, 1 - скомпрометированная транзакция.
Данные набор данных является наиболее приближенным к реальности и используется во многих исследовательских работах на данную тематику.
Описательная статистика
Как было указано ранее, используемый набор данных содержит информацию о 284 807 банковских операциях. Каждая из данных транзакций описывается 31 параметром транзакций, 28 из которых являются результатом сокращения размерности данных методом основных компонент.
Прежде чем начать непосредственный анализ и перейти к формированию математических моделей, в рамках данной работы был проведен предварительный анализ исходных данных. В частности, были рассмотрены распределения каждой из переменных, а также проведена проверка на отсутствие значительной корреляции между параметрами, используемыми в качестве предикторов для формируемой модели.
Для проведения анализа данных в рамках данной работы используются инструменты языка программирования Python, так как он обладает большим количеством инструментов статистического и эконометрического анализа данных, а также имеет достаточно высокую производительность для проведения
Общее описание всех имеющихся в наборе данных переменных приведено в таблице ниже.
Таблица 1. Описательная статистика исходных переменных
Variable |
count |
mean |
std |
min |
25% |
50% |
75% |
max |
|
Time |
284807 |
94813,8596 |
47488,1460 |
0,0000 |
54201,5000 |
84692,0000 |
139320,5000 |
172792,0000 |
|
V1 |
284807 |
0,0000 |
1,9587 |
-56,4075 |
-0,9204 |
0,0181 |
1,3156 |
2,4549 |
|
V2 |
284807 |
0,0000 |
1,6513 |
-72,7157 |
-0,5985 |
0,0655 |
0,8037 |
22,0577 |
|
V3 |
284807 |
0,0000 |
1,5163 |
-48,3256 |
-0,8904 |
0,1798 |
1,0272 |
9,3826 |
|
V4 |
284807 |
0,0000 |
1,4159 |
-5,6832 |
-0,8486 |
-0,0198 |
0,7433 |
16,8753 |
|
V5 |
284807 |
0,0000 |
1,3802 |
-113,7433 |
-0,6916 |
-0,0543 |
0,6119 |
34,8017 |
|
V6 |
284807 |
0,0000 |
1,3323 |
-26,1605 |
-0,7683 |
-0,2742 |
0,3986 |
73,3016 |
|
V7 |
284807 |
0,0000 |
1,2371 |
-43,5572 |
-0,5541 |
0,0401 |
0,5704 |
120,5895 |
|
V8 |
284807 |
0,0000 |
1,1944 |
-73,2167 |
-0,2086 |
0,0224 |
0,3273 |
20,0072 |
|
V9 |
284807 |
0,0000 |
1,0986 |
-13,4341 |
-0,6431 |
-0,0514 |
0,5971 |
15,5950 |
|
V10 |
284807 |
0,0000 |
1,0888 |
-24,5883 |
-0,5354 |
-0,0929 |
0,4539 |
23,7451 |
|
V11 |
284807 |
0,0000 |
1,0207 |
-4,7975 |
-0,7625 |
-0,0328 |
0,7396 |
12,0189 |
|
V12 |
284807 |
0,0000 |
0,9992 |
-18,6837 |
-0,4056 |
0,1400 |
0,6182 |
7,8484 |
|
V13 |
284807 |
0,0000 |
0,9953 |
-5,7919 |
-0,6485 |
-0,0136 |
0,6625 |
7,1269 |
|
V14 |
284807 |
0,0000 |
0,9586 |
-19,2143 |
-0,4256 |
0,0506 |
0,4931 |
10,5268 |
|
V15 |
284807 |
0,0000 |
0,9153 |
-4,4989 |
-0,5829 |
0,0481 |
0,6488 |
8,8777 |
|
V16 |
284807 |
0,0000 |
0,8763 |
-14,1299 |
-0,4680 |
0,0664 |
0,5233 |
17,3151 |
|
V17 |
284807 |
0,0000 |
0,8493 |
-25,1628 |
-0,4837 |
-0,0657 |
0,3997 |
9,2535 |
|
V18 |
284807 |
0,0000 |
0,8382 |
-9,4987 |
-0,4988 |
-0,0036 |
0,5008 |
5,0411 |
|
V19 |
284807 |
0,0000 |
0,8140 |
-7,2135 |
-0,4563 |
0,0037 |
0,4589 |
5,5920 |
|
V20 |
284807 |
0,0000 |
0,7709 |
-54,4977 |
-0,2117 |
-0,0625 |
0,1330 |
39,4209 |
|
V21 |
284807 |
0,0000 |
0,7345 |
-34,8304 |
-0,2284 |
-0,0295 |
0,1864 |
27,2028 |
|
V22 |
284807 |
0,0000 |
0,7257 |
-10,9331 |
-0,5424 |
0,0068 |
0,5286 |
10,5031 |
|
V23 |
284807 |
0,0000 |
0,6245 |
-44,8077 |
-0,1618 |
-0,0112 |
0,1476 |
22,5284 |
|
V24 |
284807 |
0,0000 |
0,6056 |
-2,8366 |
-0,3546 |
0,0410 |
0,4395 |
4,5845 |
|
V25 |
284807 |
0,0000 |
0,5213 |
-10,2954 |
-0,3171 |
0,0166 |
0,3507 |
7,5196 |
|
V26 |
284807 |
0,0000 |
0,4822 |
-2,6046 |
-0,3270 |
-0,0521 |
0,2410 |
3,5173 |
|
V27 |
284807 |
0,0000 |
0,4036 |
-22,5657 |
-0,0708 |
0,0013 |
0,0910 |
31,6122 |
|
V28 |
284807 |
0,0000 |
0,3301 |
-15,4301 |
-0,0530 |
0,0112 |
0,0783 |
33,8478 |
|
Amount |
284807 |
88,3496 |
250,1201 |
0,0000 |
5,6000 |
22,0000 |
77,1650 |
25691,1600 |
|
Class |
284807 |
0,0017 |
0,0415 |
0,0000 |
0,0000 |
0,0000 |
0,0000 |
1,0000 |
Как видно из таблицы выше, в имеющемся наборе данных присутствуют значения для всех наблюдений, то есть для всех используемых операций. Таким образом, используемые данные не содержат пропусков, и в рамках анализа могут использоваться информация по всем наблюдениям.
Более того, для всех переменных, сформированных методом главных компонент значение математического ожидания равно нулю, следовательно, все эти переменные являются несмещенными относительно нуля. Гистограммы распределений для всех переменных находятся в Приложение 1. Гистограммы распределения к настоящей работе.
Для графического отображения всех имеющихся сделок можно использовать плоский график в координатах "Время-Сумма операции". Данный график отображен на рисунке ниже (Рисунок 13).
Рисунок 13. График распределения транзакций
Как видно из графика, распределение сильно зависит от ее суммы. Таким образом, можно сказать о наличии выбросов по объему операции. Тем не менее, как видно, скомпрометированных транзакций с большой суммой операции в наборе данных нет, вследствие чего данные сделки не следует рассматривать как выбросы, и они должны быть использованы при построении моделей.
Анализ наличия зависимостей
Помимо анализа на наличие выбросов перед построением модели также необходимо рассмотреть внутренние взаимосвязи между переменными. Для этого в рамках настоящего анализа используется расчет корреляции Пирсона между всеми имеющимися переменными. Результаты анализа внутренних зависимостей приведена на матрице корреляций ниже (Рисунок 14).
Рисунок 14. Матрица корреляций
Как видно из полученной матрицы, значительные корреляции между имеющимися переменными отсутствуют, так как ни одно из значений по модулю не превышает 0,9. Наиболее сильная внутренняя зависимость имеет место между переменными V2 и Amount - ее значение равно -0,5.
Таким образом, для построения модели могут быть использованы все имеющиеся в наборе данных переменные. Дополнительно еще можно рассмотреть матрицы корреляций для легитимных транзакций и для операций, являющихся мошенническими.
Для легитимных операций матрица корреляций отображена на рисунке ниже (Рисунок 15).
Рисунок 15. Матрица корреляций для легитимных транзакций
Так как легитимные операции составляют большую часть набора данных, то внутренние корреляции между факторами соответствуют значениям для всего набора данных.
Что касается скомпрометированных операций, для них матрица корреляций имеет значительные отличия. Значения внутренних корреляций имеет более высокие уровни, что видно из рисунка ниже (Рисунок 16).
Данные зависимости показывают, что сами распределения данных для легитимных и скомпрометированных транзакций имеют значительные различия, на основании которой и может быть построена искомая модель.
Рисунок 16. Матрица корреляций для скомпрометированных операцийИсходя из внутренних зависимостей можно сделать вывод, что все имеющиеся переменные могут быть использованы для построения модели, так как внутренние корреляции между ними незначительны. Тем не менее, не все имеющиеся предикторы следует использовать для построения моделей, так как зависимость между параметром и показателем компрометации операции может отсутствовать.
Так как переменная, отображающая класс наблюдения, является номинальной, то для выявления наличия зависимости между каждым из имеющихся параметром и классом наблюдения в рамках настоящей работы использовались T-тесты для независимых выборок. В рамках Т-тестов используется гипотеза о равенстве средних для двух выборок. Таким образом, для проведения данного статистического теста необходимо разбить наблюдения на легитимные и скомпрометированные и использовать Т-тест для полученных наборов данных.
Уровни значимости, полученные в результате анализа, для всех переменных отражены на диаграмме ниже (Рисунок 17).
Рисунок 17. Результаты Т-тестов для независимых выборок
Как видно из полученной диаграммы, не для всех переменных можно решительно отвергнуть предположение о равенстве средних в различных группах наблюдений.
Для уровня значимости 95% нулевая гипотеза не может быть отвергнута для трех переменных:
· V22,
· V23,
· V25.
При этом для уровня значимости 99%, можно сказать, что взаимосвязь между значениями параметра и классом наблюдения отсутствует еще для переменных:
· V13,
· V15,
· V26.
Таким образом, так как даже на 99% доверительном интервале количество параметров, для которых нулевая гипотеза о равенстве средних может быть решительно отвергнута, остается достаточно высоким (24 параметра), то для построения модели не будут использоваться все перечисленные выше переменные, а также переменная "Время", так как продолжительность наблюдений, имеющихся в наборе данных, является незначительным и недостаточным для анализа данных как временных рядов.
Предобработка данных
Методы дискретизации данных
По причине крайней несбалансированности набора данных банковских операций, содержащих информацию о мошенничестве, при обучении не вероятностных моделей могут возникнут трудности в связи с пропорциями между мажоритарным и миноритарным классами. Для минимизации такого рода дисбаланса во многих исследованиях применяются специализированные методы, позволяющие изменять долю мажоритарного или миноритарного класса. Как показывают другие работы, нацеленные на обнаружение компрометации мошеннических операций, методы балансировки данных являются достаточно действенными для повышения качества разрабатываемых моделей. [35]
Все существующие модели балансировки данных, используемые для выравнивания классов, можно разделить на две основные группы:
· Методы избыточной дискретизации (oversampling techniques) - данные методы нацелены на увеличение количества наблюдений, принадлежащих к миноритарному классу на основании имеющихся без изменения состава мажоритарного класса;
· Методы субдискретизации (undersampling techniques) - методы предназначены для снижения количества наблюдений, содержащихся в мажоритарном классе с минимальной возможной потерей информации о свойствах данного класса. Изменений в миноритарном классе при этом не происходит.
Согласно исследовательской работе, проведенной Show-Jane Yen иYue-Shi Lee из департамента компьютерных наук и информатики Университета Мин Чуан (Ming Chuan University) [36], а также модели, предложенной Padmaja T. M. et al. [35], можно выделить следующие основные техники дискретизации, используемые на сегодняшний день для повышения качества моделей классификации, обучаемых на несбалансированных наборах данных (и в частности для задач выявления мошеннических транзакций):
· Synthetic Minority Over-sampling Technique (так же известный как SMOTE);
· Метод случайной субдискретизации (Random undersampling);
· Методы класса NearMiss (с различными версиями данного алгоритма).
Метод случайной дискретизации заключается в случайной выборке заданного количества наблюдений из мажоритарного класса таким образом, чтобы достигалось заданное отношение количества экземпляров в мажоритарном классе после выборки и миноритарном классе. Так как в рамках настоящей работы уже присутствует использование стохастических процессов, а в частности используется последовательный метод Монте-Карло при разделении выборки на обучающую и проверочную, увеличение количества случайных процессов при совершении выборок лишь снизит точность получаемых оценок качества получаемых моделей, таким образом данный метод является не оптимальным для решения поставленной задачи.
Избыточная дискретизация SMOTE - это алгоритм создания искусственных примеров для миноритарного класса на основании метода ближайших соседей, который был рассмотрен ранее (K-Nearest Neighbours). В рамках данной процедуры для каждого наблюдения производится поиск К-ближайших соседей, где значение параметра К зависит от меры, во сколько раз необходимо увеличить исходный набор данных. Для каждой такой пары соседних наблюдений вычисляется разность векторов их признаков, в результате чего получается вектор искусственно сформированного наблюдения.
Алгоритмы из семейства Near Miss - напротив, нацелены на снижение количества экземпляров мажоритарного класса путем поиска таких наблюдений, которые соответствуют определенному свойству относительно наблюдений миноритарного класса. Как правило, в работах используются следующие имплементации алгоритма Near Miss:
· Версия 1 - выбор экземпляров мажоритарного класса, для которых среднее расстояние до ближайших K соседей из миноритарного класса является наименьшим;
· Версия 2 - выбор экземпляров мажоритарного класса, для которых среднее расстояние до самых дальних образцов миноритарного класса является наименьшим;
· Версия 3 - двухэтапный алгоритм, в рамках которого для каждого значения миноритарного класса выделяется М-ближайших соседей, а затем из мажоритарного класса производится выборка наблюдений, для которых расстояние до K-ближайших соседей является максимальным.
Таким образом, в рамках настоящей работы производился анализ применимости следующих стратегий дискретизации данных на основании имеющихся данных о банковских операциях:
· SMOTE;
· NearMiss-1;
· NearMiss-2.
Все эти методики дискретизации данных реализованы в специализированной библиотеке на языке Python Imbalanced learn (imb-learn) [37].
Для наглядности данные методы были применены для заданной части выборки (10% от всех наблюдений). Целевое отношение количества экземпляров в миноритарном классе относительно мажоритарного равно 5%. Полученные в результате распределения операций приведены на графике ниже (Рисунок 18).
Рисунок 18. Результаты дискретизации с помощью различных методов
Как видно из рисунка выше, наиболее применимые результаты были получены в рамках методики SMOTE, так как при использовании алгоритмов семейства NearMiss происходит значительное сокращение детализации легитимных операций, что негативно скажется на качестве формируемых в дальнейшем моделей.
Группировка
Так как в рамках данной работы будет рассматриваться также и возможность построения вероятностных моделей выявления скомпрометированных банковских операций, использование количественных величин, для которых практически отсутствуют дублирующиеся значения, может привести к значительному ухудшению качества формируемой модели.
Как было рассмотрено ранее, решением для данной проблемы может стать группировка данных и разбиение значений наблюдений на различные классы. В рамках данной работы было принято решение о группировке значений всех количественных параметров модели по перцентилям, при этом, определение оптимального количества классов будет рассматриваться индивидуально для каждой из моделей с целью получения наилучшего качества.
Более того, такого рода группировка может также положительно повлиять и на модели, не являющиеся вероятностными, так как в данном случае будет минимизировано воздействие шумов в данных.
При физическом построении методики группировки данных средствами языка программирования Python использовался алгоритм расчета перцентилей, реализованный в рамках одной из наиболее популярных научных библиотек с открытым исходным кодом NumPy. [38] Результатом реализованного преобразования является вектор с номерами классов (диапазонов), к которым принадлежит каждое имеющееся наблюдение.
При этом стоит учитывать, что благодаря минимизации воздействия шумов, зависимости признака компрометации операции от каждого из имеющихся сгруппированных признаков может отличаться от результатов, полученных в рамках анализа зависимостей между классом наблюдения (легитимная или мошенническая операция) и предикторами. Вследствие этого проверка наличия зависимостей для сгруппированных значений на примере разбиения на 30 классов была проведена повторно. Полученные значимости для T-тестов отображены на рисунке ниже (Рисунок 19).
Рисунок 19. Результаты Т-тестов для независимых выборок сгруппированных переменных
Как видно из диаграммы выше, ситуация значительно отличается от полученной для не группированных значений. В данном случае можно решительно опровергнуть (на доверительном интервале 99%) предположение, что существует зависимость класса наблюдения от значения переменных:
· V13,
· V15,
· V22,
· V25.
Таким образом, в качестве предикторов формируемых моделей остаются переменные V23 и V26, в отличие от их непосредственного использования. В результате, для использования только статистически значимых переменных в рамках данной работы была разработана специализированная процедура, которая определяет перечень переменных, которые следует использовать для построения моделей на основании Т-тестов.
Формирование обучающей и проверочной выборки
Для формирования моделей в рамках данной работы была разработана специализированная процедура, позволяющая разделить исходный набор данных на тренировочную и проверочную выборку с помощью случайного выбора. Главным выходным параметром для данной процедуры является пропорция, которая должна быть достигнута при разделении выборки, то есть доля, которую должна составить обучающая выборка от полного объема исходного набора данных.
При этом достаточно важной частью является крайняя несбалансированность данных. Для сбалансированного набора данных достаточно было бы попросту сформировать случайный вектор с номерами строк исходной выборки и длиной соответствующей заданной доле обучающей выборки. Данный алгоритм обеспечил бы достаточную долю разбиения. Проверочная выборка при этом формируется как все строки, номера которых не принадлежат сформированному вектору.
Однако стоит учитывать, что при таком подходе существует достаточно большая вероятность, что ни одна из операций, являющихся скомпрометированными, может не войти в обучающую выборки или же не в проверочную выборку. Таким образом, информации будет недостаточно для оценки качества формируемой модели.
Вследствие этого процедура разбиения на проверочную и обучающую выборку была модифицирована таким образом, чтобы при разделении выборок пропорция легитимных и мошеннических операций оставалась близкой к неизменной. Для этого данная процедура должна отдельно производиться для реальных и скомпрометированных транзакций, что и было реализовано в рамках разработанного алгоритма.
Формирование и настройка отдельных моделей
Построение модели с использованием логистической регрессии
Как было рассмотрено ранее, модель логистической регрессии является одной из наиболее простых и легко реализуемых для задач бинарной классификации, то есть классификации между двумя классами.
Для реализации данной модели в рамках настоящей работы использовалась готовая библиотека машинного обучения на языке Python ScikitLearn. [39] [40] [41]
Метод логистической регрессии не требует какой-либо настройки, вследствие чего он может быть использован сразу же после разделения данных на обучающую и проверочную выборки. Для обучения модели используется 80% набора данных, а для оценки качества модели - оставшиеся 20% операций.
Также, как было указано ранее, для получения более достоверных результатов тестирования моделей будет использоваться последовательный метод Монте-Карло. Таким образом, в рамках каждой итерации будет производиться оценка качества предсказания модели на основании выделенных оценок.
Прежде всего было проведено построение модели без использования какой-либо дополнительной предобработки данных из набора в рамках 20 итераций деления выборки. В результате проведения обучения и оценки результатов предсказания в течение 20 итераций была получена медиана для всех изучаемых показателей, а также построены диаграммы Бокса-Вискерса. Результаты приведены в таблице и на диаграмме ниже (Рисунок 20).
Рисунок 20. Показатели качества модели логистической регрессии
Как видно из результатов выше, модель показывает достаточно неплохие результаты. Уровень F-меры достигает 71%, причем модель корректно обнаруживает около 61% скомпрометированных операции с достаточно низким уровнем ложноположительных результатов - всего около 10 случаев для выборки из 56 961 наблюдения (менее 0,02%).
Тем не менее, вполне вероятно, что дополнительная предобработка данных может улучшить показатели модели. Далее будут результаты модели, сформированные на основании модифицированных данных.
Использование дискретизации SMOTE
Как один из методов для повышения качества формируемой модели может быть использован алгоритм дискретизации наблюдений для "балансировки" исходных данных. Ранее для данной цели был выбран алгоритм SMOTE, который создает дополнительные экземпляры миноритарного класса.
Главным вопросом при использовании данного алгоритма является отношение объемов мажоритарного и миноритарного класса, которая обеспечит наилучшее качество итоговых результатов. Для выявления наилучшего процента, который составляют мошеннические операции относительно объема всего набора данных использовались следующие значения:
· Исходное распределение (0,17%),
· 0,5%,
· 1%,
· 5%,
· 10%,
· 20%.
Для каждого из этих значений было проведено по 10 итерация обучения и проверки модели. Полученные показатели качества модели с использованием различного уровня дискретизации приведены на рисунке ниже (Рисунок 21).
Рисунок 21. Показатели качества модели логистической регрессии с использованием дискретизации
Как видно из рисунка выше, дискретизация действительно повышает качество обучения модели, и при этом наилучшим уровнем доли скомпрометированных операций является 1% от используемого набора данных. Благодаря обучению модели на основании модифицированных методом SMOTE данных удается достичь уровня F-меры значительно выше, нежели при использовании не модифицированного набора данных.
Использование группировки данных
Еще одним подходом к модификации исходных данных является группировка всех количественных показателей в диапазоны, сформированные на основании перцентилей, что способствует снижению шумов в данных. Для начальной проверки эффективности данного подхода была выбрана группировка на 20 классов с использованием равных перцентилей (то есть 5%, 10%, 15% и т.д.). Результирующие показатели качества модели приведены на рисунке ниже (Рисунок 22).
Рисунок 22. Показатели качества модели логистической регрессии с использованием группировки данных
Как видно из рисунка выше, группировка данных позволяет снизить количество ложноотрицательных предсказаний, благодаря чему общее качество модели повышается. Тем не менее, также следует определить наиболее оптимальное количество групп, при котором достигаются лучшие результаты.
Для определения оптимального количества классов было использовано разбиение на 20, 30, 40, 60 и 80 классов. Качество модели линейной регрессии для каждого такого набора приведено на диаграмме ниже (Рисунок 23).
Рисунок 23. Показатели качества модели логистической регрессии с использованием различного количества групп
Таким образом, наилучший результат достигается при использовании комбинации методов SMOTE с уровнем мошеннических операций 1%, а также предварительной группировкой количественных величин между 30 классами. Итоговые показатели качества для данной модели приведены ниже (Рисунок 24, Таблица 2).
Таблица 2. Показатели качества итоговой модели логистической регрессии
Параметр |
Медиана |
|
Precision |
0.8128 |
|
Recall |
0.823 |
|
F1-score |
0.8169 |
|
AUC |
0.9792 |
|
HSS |
0.8037 |
|
TP |
80.65 (82%) |
|
TN |
56 844.2 |
|
FP |
18.8 |
|
FN |
17.35 |
Рисунок 24. Показатели качества итоговой модели логистической регрессии
Рисунок 25. ROC-кривая модели логистической регрессии
Как видно из результатов выше, удалось значительно улучшить качество предсказательной модели. Итоговая модель с использованием логистической регрессии достигает среднего значений F-меры 80%, а для некоторых выборок оно достигало 87,6%. Данная модель позволяет в среднем обнаружить 82% из всех мошеннических операций с достаточно низким количеством ложноположительных обнаружений.
Построение модели с использованием кластеризации K-ближайших соседей
Следующей моделью, которая может использоваться для выявления скомпрометированных транзакций является метод классификации на основании алгоритма К-ближайших соседей.
Основной настройкой для работы данного алгоритма является непосредственное значение параметра К - то есть количества соседей, на основании которых определяется принадлежность наблюдения к какому-либо классу. По умолчанию используется значение равное 5, которое и будет использоваться для первой проверки данных.
Для не модифицированных данных, имеющихся в выборке, была проведена проверка качества работы данной модели в рамках 20 итераций последовательного метода Монте-Карло. Полученные усредненные результаты приведены ниже (Рисунок 26).
Рисунок 26. Показатели качества модели К-ближайших соседей
Как видно из данных выше, результаты предсказания моделью К-ближайших не уступают модели логистической регрессии, а в ряде параметров даже превосходят ее. Тем не менее, необходимо также проверить эффективность дополнительной предобработки данных, нацеленной на улучшение ее качества.
Использование группировки данных
Аналогично логистической регрессии, была проведена проверка эффективности классификации количественных показателей модели для повышения качества ее результатов. Для тестирования использовалось разбиение на 30 классов, которое показало себя с лучшей стороны для модели логистической регрессии. Усредненные результаты тестирования для 10 итераций использования модели с классифицированными и неклассифицированными данными приведены на диаграмме ниже (Рисунок 27).
Рисунок 27. Показатели качества модели К-ближайших соседей с использованием группировки данных
Из полученных результатов очевидно, что группировка данных повышает качество данной модели путем увеличения количества корректно положительных предсказаний, а также снижения ложноотрицательных результатов. Таким образом, для получение наивысшего результата необходимо определить количество классов, для которого будет иметь место наилучшее качество модели. Аналогично прочим моделям рассматривались разбиения на 20, 30, 40, 60 и 80 перцентилей. Результаты приведены на диаграмме ниже (Рисунок 29).
Рисунок 28. Показатели качества модели К-ближайших соседей с использованием различного количества групп
Как видно из результатов выше, наилучшее качество модели достигается при использовании данных, разбитых на 30 классов.
Использование дискретизации SMOTE
Также для обучения рассматриваемой модели, достаточно положительную роль может сыграть дополнительная дискретизация исходных данных. При использовании алгоритма SMOTE удалось значительно повысить эффективность работы алгоритма логистической регрессии, что указывает на достаточно высокую "схожесть" сгенерированных искусственных примеров мошеннических операций с имеющимися в наборе данных.
Вследствие этого, в рамках настоящей работы был рассмотрен эффект от увеличения количество экземпляров миноритарного класса на общее качество модели. Для данного исследования использовались значения доли скомпрометированных транзакций без изменений, а также модифицированные методом SMOTE с параметрами 0,5%, 1%, 5%, 10%, 20%. Результаты проведенного исследования отражены на столбчатой диаграмме ниже. (Рисунок 29)
Рисунок 29. Показатели качества модели К-ближайших соседей с использованием дискретизации
Из полученных результатов видно, что использование алгоритма SMOTE позволяет повысить эффективность обучения модели К-ближайших соседей. При этом наиболее оптимальное значение для итоговой доли скомпрометированных транзакций составляет 0,5%, с очевидным ухудшением результатов от дальнейшего увеличения данного показателя.
Таким образом, итоговая модель с использованием метода классификации KNN может быть построена для предобработанных данных методом SMOTE и сгруппированным по диапазонам. Для итоговой модели был проведен анализ последовательным методом Монте-Карло для 20 повторений, благодаря которому были получены результаты, отраженные в таблице и на диаграмме ниже (Таблица 3, Рисунок 30).
Таблица 3. Показатели качества итоговой модели К-ближайших соседей
Параметр |
Медиана |
|
Precision |
0.8059 |
|
Recall |
0.8014 |
|
F1-score |
0.803 |
|
AUC |
0.9212 |
|
HSS |
0.806 |
|
TP |
78.5333 (80%) |
|
TN |
56 843.8667 |
|
FP |
19.1333 |
|
FN |
19.4667 |
Рисунок 30. Показатели качества итоговой модели К-ближайших соседей
Таким образом, благодаря дополнительной обработке данных удалось повысить уровень F-меры до 0,8, а также достичь значительно лучших результатов для показателя доли корректно классифицированных наблюдений.
Построение модели с использованием метода опорных векторов
Второй моделью, основанной на векторном представлении наблюдений, является модель на базе метода опорных векторов. Как было указано ранее, данная модель заключается в преобразовании исходной выборки и разбиении точек, являющихся наблюдениями с помощью гиперплоскости. Вследствие особенностей используемого алгоритма, никаких дополнительных внутренних настроек для построения модели не требуется.
Для реализации настоящей модели использовался класс LinearSVC (Linear Support Vector Classifier), представленный в библиотеке ScikitLearn, информация о которой была приведена ранее. [39] [40] [41] С помощью данного класса была построена модель для необработанных исходных данных, имеющихся в наборе. Полученные результаты уступают прочим моделям, однако, как видно на основании рассмотренных ранее моделей, качество предсказаний может быть значительно улучшено с помощью дополнительной предобработки данных обучающей выборки, вследствие чего для данного алгоритма были также рассмотрены варианты использования с модифицированными данными. (Рисунок 31, Таблица 4)
Таблица 4. Показатели качества метода опорных векторов
Параметр |
Медиана |
|
Precision |
0.8726 |
|
Recall |
0.6056 |
|
F1-score |
0.7132 |
|
AUC |
0.9693 |
|
HSS |
0.717 |
|
TP |
59.35 (61%) |
|
TN |
56 854.2 |
|
FP |
8.8 |
|
FN |
38.65 |
Рисунок 31. Показатели качества метода опорных векторов
Использование группировки данных
Аналогично предыдущим моделям была рассмотрена эффективность использования сгруппированных значений предикторов модели с точки зрения качества предсказания модели. Для предварительного анализа использовалось разбиение на 30 классов. В результате данного преобразования удалось достичь значительного повышения качества формируемой модели, что видно из диаграммы результатов ниже (Рисунок 32).
Рисунок 32. Показатели качества метода опорных векторов с использованием группировки данных
Как видно из диаграммы выше, группировка данных приводит к негативному влиянию на качество получаемой модель, так как при группировке возникает уменьшение объема информации, заключенной в исходных количественных предикторах, а разница между непосредственными значениями каждого из показателей и их классифицированными аналогами может достаточно серьезно влиять на положение каждого из наблюдений в N-мерном пространстве. Как следствие может происходить смещение получаемой гиперплоскости и ухудшение предсказательной способности.
Использование дискретизации SMOTE
Несмотря на снижение качества формируемой модели вследствие группировки данных, положительное влияние на метод опорных векторов может оказать предварительная дискретизация данных, а именно увеличения объема миноритарного класса.
Аналогично другим моделям, метод опорных векторов был испробован с различным отношением объемов мажоритарного и миноритарного классов, а именно: исходное распределение (0,17%), 0,5%, 1%, 5%, 10%, 20%. Результаты предсказаний для данных настроек модели приведены на рисунке ниже (Рисунок 33).
Рисунок 33. Показатели качества метода опорных векторов с использованием дискретизации
Как видно из диаграммы выше, дискретизация исходных данных имеет положительный эффект на качество предсказательной модели. При этом наилучшие результаты достигаются при параметре избыточной дискретизации 0,5%. При увеличении уровня скомпрометированных транзакций происходит значительное снижение качества предсказательной модели.
Подобные документы
Общее понятие, поддержка и основные свойства транзакций. Модели плоских транзакций и их хроники. Модель вложенных транзакций: сущность и примеры. Модель многоуровневых транзакций и рабочих потоков. Классификация различных систем обработки транзакций.
курсовая работа [1,2 M], добавлен 08.02.2011Разработка учебного электронного пособия, в котором по средствам интерактивного участия пользователь освоит механизмы осуществления удаленных банковских транзакциях и методы их защиты. Разработка в среде Macromedia Flash MX, язык - ActionScript 2.0.
дипломная работа [3,3 M], добавлен 30.08.2010Изучение методики учета банковских и финансовых операций в бюджетной организации. Описание программных средств и разработка автоматизированной информационной системы по учету банковских операций. Характеристика алгоритма и блок-схемы АИС организации.
дипломная работа [1,6 M], добавлен 24.09.2012Исследование рынка банковских программ. Анализ эффективности различных рекомендательных алгоритмов. Обзор имеющихся подходов выработки рекомендаций. Архитектура разрабатываемой системы. Методы коллаборативной фильтрации. Использование контентных методов.
курсовая работа [678,2 K], добавлен 31.08.2016Целостность БД как правильность и непротиворечивость ее содержимого на уровне отдельных объектов и операций и базы данных в целом. Понятие и содержание, выполнение и откат транзакции. Сервисные программные средства. Характерные свойства и черты ACID.
презентация [49,8 K], добавлен 19.08.2013Анализ инцидентов информационной безопасности. Структура и классификация систем обнаружения вторжений. Разработка и описание сетей Петри, моделирующих СОВ. Расчет времени реакции на атакующее воздействие. Верификация динамической модели обнаружения атак.
дипломная работа [885,3 K], добавлен 17.07.2016Формирование и предоставление бухгалтерской информации в электронном виде внешним контролирующим органам. Сущность комплекса задач по автоматизации учета банковских операций, ее реализация программе "1С: Бухгалтерия". Особенности технология автоматизации.
курсовая работа [1,2 M], добавлен 23.09.2016Проектирование автоматизированной информационной системы для учета банковских операций в бюджетной организации на платформе 1C: Предприятие. Блок-схема алгоритма решения задачи. Инструкция пользователю, установка программы и контрольный пример ее работы.
дипломная работа [3,2 M], добавлен 23.09.2012Обобщенная модель процесса обнаружения атак. Обоснование и выбор контролируемых параметров и программного обеспечения для разработки системы обнаружения атак. Основные угрозы и уязвимые места. Использование системы обнаружения атак в коммутируемых сетях.
дипломная работа [7,7 M], добавлен 21.06.2011Описание алгоритмического языка для программирования прикладных систем обработки данных. Проектирование базы данных для ведения банковских счетов юридических лиц. Разработка комплекса программ и средств взаимодействия с ЭВМ (меню). Листинг программы.
курсовая работа [76,1 K], добавлен 07.12.2011