Разработка модели обнаружения факта мошенничества с банковскими картами

Решение задачи классификации переводов клиентов банка на легальные и мошеннические с использованием средств машинного обучения. Обнаружение мошеннических транзакций средствами машинного обучения. Решение задачи построения ансамбля классификаторов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.07.2020
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Московский институт электроники и математики им. А.Н. Тихонова

Выпускная квалификационная работа

по специальности 10.05.01 «Компьютерная безопасность»

Разработка модели обнаружения факта мошенничества с банковскими картами

Кисткин Антон Николаевич

Руководитель к.т.н., доцент А.Б. Лось

Москва 2019

Аннотация

Данная работа посвящена решению задачи классификации переводов клиентов банка на легальные и мошеннические с использованием средств машинного обучения. На основе реальных транзакций были сконструированы признаки, характерные для переводов каждого класса, и был построен ансамбль алгоритмов, включающий в себя 8 базовых классификаторов. На тестовой выборке ансамбль показал следующие значения метрик качества: False Positive Rate - 0,0006, Precision - 0,83.

Abstract

This work is concerned with solving the classification problem for clients' money transfers of a bank into legal and fraudulent ones using machine learning techniques. Basing on real transactions, the features characteristic for each type of money transfer were engineered, and an ensemble of algorithms was developed which includes 8 basic classifiers. The ensemble showed the following values of quality metrics on the test set: False Positive Rate - 0.0006, Precision - 0.83.

Оглавление

Введение

1. Обнаружение мошеннических транзакций средствами машинного обучения

1.1 Статистика мошеннических случаев с банковскими картами

1.2 Задача классификации

1.3 Алгоритмы классификации

1.3.1 Логистическая регрессия

1.3.2 Метод ближайших соседей

1.3.3 Метод опорных векторов

1.3.3 Дерево решений

1.3.4 Случайный лес

1.4 Метрики в задаче классификации

1.5 Особенности задачи классификации транзакций

2. Исследование наборов данных

2.1 Набор классифицируемых переводов (hits)

2.2 Набор исторических транзакций (hist)

2.2.1 Время совершения транзакции (date_time)

2.2.2 Подканал транзакции (sub_channel)

2.2.3 Тип события (event_type)

2.2.4 Подтип транзакции (sub_type)

2.2.5 Группа кодов категории продавца (mcc_group)

2.3 Пустые значения в наборах данных

2.4 Совместный анализ наборов

2.4.1 История транзакций клиентов-получателей

2.4.2 История транзакций клиентов-отправителей

2.4.3 Характерные названия точек продаж (atm_merchant_name)

2.4.4 Распределение типа транзакции (event_type)

2.4.5 Пустая история

2.4.6 Стоимость транзакций в истории

2.5 Признаки для классификаторов

3. Конструирование моделей

3.1 Масштабирование признаков

3.2 Деление набора переводов

3.3 Используемые методики семплинга

3.4 Используемые алгоритмы классификации

4. Результаты

4.1 Результаты для отдельных моделей

4.2 Результаты для ансамбля

4.3 Сравнение качества ансамбля и отдельных моделей

Заключение

Список литературы

Приложение А Признаки для классификаторов

Приложение Б Корреляция признаков с целевой переменной

Приложение В Код функции конструирования признаков

Введение

В настоящей работе рассматривается задача построения модели классификации переводов клиентов банка на легальные и мошеннические на основании двух наборов реальных наборов данных: исторических транзакций клиентов и их размеченных переводов.

Актуальность работы объясняется постоянным ростом числа мошеннических случаев с банковскими картами, ростом количества украденных с электронных счетов денег и прогнозами дальнейшего повышения количества таких случаев.

Новизна работы состоит в изучении ранее не исследованных наборов данных, поиске присущих только им закономерностей для конструирования признаков и использования их в модели.

Данная работа состоит из введения, 4 разделов, заключения, списка литературы и приложений. Во введении сформулирована задача, отмечены актуальность и новизна. В 1-м разделе дано определение задачи классификации, кратко описаны некоторые из существующих алгоритмов классификации, введены метрики, используемые для проверки качества классификаторов, и даны особенности задачи классификации применимо к поиску мошеннических транзакций. Во 2-м разделе проанализированы наборы данных и построены признаки для классификаторов. В 3-м разделе описана процедура решения задачи построения ансамбля классификаторов. В 4-м разделе продемонстрированы результаты решения задачи. В заключении описаны полученные результаты. В приложениях перечислены сконструированные для модели признаки, показаны наиболее значимые положительные и отрицательные значения корреляции признаков с классом перевода и продемонстрирован код основных использованных функций.

1. Обнаружение мошеннических транзакций средствами машинного обучения

классификатор банк мошеннический машинный

1.1 Статистика мошеннических случаев с банковскими картами

С каждым годом растёт число операций, совершаемых с банковскими картами на территории России. Так, в 2014 году было совершено 9 420 млн таких операций на общую сумму 30 278 млрд рублей, а уже в 2018 году таких операций было 27 208 млн на сумму 47 640 млрд рублей (число операций выросло в 2,9 раза, а общая стоимость операций увеличилась в 1,6 раз) [1]. Вместе с тем растут число мошеннических случаев с банковскими картами и количество украденных с электронных счетов денег. Например, в 2018 году подобным образом было украдено 1,3 млрд рублей, что на 44% больше, чем в 2017 году [2], а число зарегистрированных дел о мошенничестве с банковскими картами за первую половину 2019 года выросло в 8 раз по сравнению с тем же периодом 2018 года [3]. Более того, по прогнозам Group_IB, число атак в сфере банковских карт продолжит расти [4]. Это говорит о необходимости своевременного реагирования на мошеннические действия в банковской сфере и об актуальности поиска подходов к решению данной задачи.

Для обнаружения факта мошенничества платёжные системы и банки используют системы фрод-мониторинга, анализирующие транзакции клиентов и принимающие дальнейшие действия на основании своего вывода по каждой из транзакций. В основе таких систем могут находиться модели, построенные с использованием алгоритмов машинного обучения, выполняющих задачу классификации. Одна из таких моделей (ансамбль классификаторов) была построена в данной работе.

Однако, перед тем как приступить к анализу имеющихся данных и построению модели, нужно дать определение задачи классификации и рассмотреть встречающиеся в ней метрики.

1.2 Задача классификации

Пусть и - множества объектов и ответов (меток, классов) соответственно, , , | и - целевая функция, известная на множестве . Задачей классификации является построение решающей функции , такой, что она хорошо приближает целевую функцию как на множестве , так и на множестве [5].

Как правило, объект задаётся своим признаковым описанием - набором значений функций на данном объекте: . В таком случае целевая и решающая функция действуют на соответствующем векторном пространстве.

Ранее было сказано, что решающая функция должна хорошо приближать целевую функцию . Рассмотрим этот момент подробнее.

Будем считать, что решающая функция выбирается из некоторого параметрического семейства функций ( может быть вектором). Введём функцию потерь , определяющую степень отклонения предсказанного ответа от реального для . Кроме того, определим функционал качества называемый эмпирическим риском, который будет определять степень отклонения предсказанных ответов на множестве от реальных. Тогда в качестве решающей функции можно принять функцию , где

Такой метод поиска решающей функции называется методом минимизации эмпирического риска.

1.3 Алгоритмы классификации

Здесь кратко описаны некоторые из существующих алгоритмов классификации.

1.3.1 Логистическая регрессия

Добавим к вектору признаков фиктивный признак с весом . Обозначим за скалярное произведение вектора признаков и их весов.

В логистической регрессии в качестве классификатора используется функция вида

Минимизируемый функционал качества имеет вид

1.3.2 Метод ближайших соседей

Суть метода ближайших соседей состоит в том, что классификатор присваивает объекту ту метку, к которой принадлежит большинство из соседних к нему объектов. Для этого вводится функция расстояния между объектами и [6]. Чем выше её значение, тем более далеки объекты друг от друга. Далее для каждого объекта из выборки все другие объекты выборки сортируются в порядке возрастания расстояний от данного объекта:

где - -й ближайший сосед объекта .

Кроме того, определяется весовая функция , оценивающая важность -го соседа для объекта . Так, для метода ближайших соседей данная функция имеет вид

Классификатор представляется в виде

1.3.3 Метод опорных векторов

Метод опорных векторов (SVM - Support Vector Machine) строит гиперплоскость, лучшим образом разделяющую объекты с разными метками путём максимизации расстояния между плоскостью и этими объектами (рисунок 1).

Рисунок 1 Оптимальная гиперплоскость, полученная с помощью метода опорных векторов (из [7])

1.3.4 Дерево решений

Дерево решений - один из самых легко интерпретируемых методов машинного обучения. Представляет собой дерево с промежуточными вершинами, являющимися решающими правилами, и листьями, предсказывающими класс объекта (рисунок 2).

Рисунок 2 Пример дерева решений (из [8])

Каждая нелистовая вершина представляет собой некоторое подмножество множества .

Рассмотрим процедуру построения решающего дерева. Для этого определим энтропию системы с состояниями:

где - вероятность нахождения системы в -м состоянии. Под системой можно понимать любую вершину дерева, для которой - число объектов с меткой класса в данной вершине, - число различных классов.

Чтобы в вершине поделить множество , на несколько подмножеств, выбирается признак, при разделении по которому прирост информации оказывается максимальным. Прирост информации по признаку определяется формулой

где - энтропия множества , - число подмножеств после разбиения, - энтропия подмножества , . Подобное деление происходит до равенства прироста информации нулю либо до попадания прироста информации в некоторую малую область нуля.

Кроме энтропии, можно использовать такие критерии разбиения, как неопределённость Джини и ошибка классификации.

В качестве критерия останова построения дерева можно взять также равенство глубины дерева некой константе и минимально возможное число объектов в листе.

1.3.5 Случайный лес

Случайный лес представляет собой множество решающих деревьев, каждое из которых обучено на некотором подмножестве , при этом деление производится как по объектам, так и по участвующим в обучении признакам. За ответ алгоритма принимается усреднённый ответ всех деревьев.

1.4 Метрики в задаче классификации

Пусть - настоящее значение метки объекта, - предсказанное значение ответа. Тогда матрица ошибок будет выглядеть следующим образом (таблица 1).

Таблица 1

Матрица ошибок для бинарной классификации

В данной задаче:

· TN (True Negative) - легальные транзакции, классифицированные моделью как легальные;

· TP (True Positive) - мошеннические транзакции, классифицированные моделью как мошеннические;

· FN (False Negative) - мошеннические транзакции, классифицированные моделью как легальные;

· FP (False Positive) - легальные транзакции, классифицированные моделью как мошеннические.

Основными метриками в задачах машинного обучения являются следующие:

· Accuracy (достоверность) - доля правильно классифицированных объектов;

· Precision (точность) - доля объектов среди классифицированных моделью как положительные, которые действительно принадлежат положительному классу;

· Recall (полнота) - доля объектов положительного класса, которые модель посчитала таковыми;

· F1 - среднее гармоническое Precision и Recall.

· False Positive Rate = - доля объектов отрицательного класса, классифицированных моделью как положительные, среди всех объектов отрицательного класса.

1.5 Особенности задачи классификации транзакций

Задача обнаружения факта мошенничества с банковскими картами имеет следующие особенности [9].

1. Сильная несбалансированность классов, то есть преобладание легальных транзакций над мошенническими (в данном наборе это 0,8% мошеннических транзакций против 99,2% легальных).

2. Неравноценность ошибок: потери от пропуска мошеннической транзакции (False Negative) превышают потери от классификации легальной транзакции как мошеннической (False Positive). Для того чтобы учесть это, в [10] использовали матрицу стоимости, в которой стоимость признания транзакции мошеннической равна административным расходам на звонок клиенту, стоимость пропуска мошеннической транзакции равна стоимости этой транзакции, а стоимость классификации легальной транзакции как легальной равна 0.

3. Высокая размерность множества . Число признаков может превышать 400, как, например, в случае набора транзакций от PagSeguro - сервиса онлайн-платежей в Бразилии [11]. В таком случае необходимо использовать алгоритмы понижения размерности, чтобы не переобучить классификатор. В данной работе признаков значительно меньше, поэтому такие алгоритмы использоваться не будут.

4. Необходимость быстрого принятия решения по транзакции, чтобы избежать задержек при выполнении транзакции.

5. Необходимость работы с данными разной природы и необходимость их агрегирования с целью приведения размерности признаков к одному значению. Так, в наборе для каждой транзакции содержатся её дата и время совершения, стоимость, название точки продажи, а в силу того, что число транзакций в истории для каждого клиента - величина нефиксированная, необходимо привести всю информацию о клиенте к одной размерности посредством агрегирования признаков (например, взятия средней стоимости транзакции для данного клиента).

2. Исследование наборов данных

Для решения задачи дано два набора данных. Первый набор (hits) состоит из переводов между клиентами банка, которые имеют разметку на легальные и мошеннические переводы. Второй набор (hist) представляет собой историю клиентов банка за последние 10 дней. Далее каждый из наборов рассмотрен подробнее.

2.1 Набор классифицируемых переводов (hits)

Набор hits содержит 9016 кейсов, описываемых 6 атрибутами (рисунок 3). Каждый кейс содержит следующую информацию:

· event_id - id кейса в антифрод-системе;

· user_id - id клиента-отправителя;

· rec_user_id - id клиента-получателя;

· date_time - дата и время совершения перевода;

· resolution - вывод антифрод-системы по данному кейсу;

· sub_channel - подканал, по которому был совершен перевод.

Рисунок 3 Набор hits

Все переводы были осуществлены 7 декабря 2019 года. Первый перевод был выполнен в 00:05:03, а последний - в 20:59:31.

Атрибут resolution имеет три метки:

· G - транзакция легальная;

· F - транзакция мошенническая, её необходимо отклонить;

· S - транзакция подозрительная, окончательный вывод по ней делает аналитик.

Значения атрибута sub_channel:

· ATMAPI - перевод через банкомат;

· MOBILEAPI - перевод через мобильное приложение;

· WEBAPI - перевод через сайт.

Набор содержит 8943 перевода с меткой G, 63 перевода с меткой F и 10 переводов с меткой S. В дальнейшем будем считать, что кейсы разбиты не на три, а на два класса: легальные, имеющие метку G, и мошеннические, имеющие метку F или S. Это можно сделать в силу того, что в случае присвоения метки F или S необходимо предпринять дополнительные действия со стороны сотрудников банка: если транзакция является мошеннической, то нужно информировать об этом клиента; если же транзакция подозрительная, то сотрудник вручную должен проанализировать транзакцию и подтвердить её либо отклонить, сообщив об этом клиенту. Таким образом, набор содержит 8943 легальных перевода и 73 мошеннических.

Рисунок 4 Распределение меток переводов и матрица ошибок для dummy-классификатора

Так как классы сильно не сбалансированы (0,81% мошеннических переводов против 99,19% легальных) (рисунок 4а), использовать на данном наборе в качестве метрики качества accuracy (достоверность) было неправильно, что можно видеть из матрицы ошибок на рисунке 4б для dummy-классификатора, который классифицирует все переводы как легальные. Здесь

однако данный классификатор не приносит никакой пользы в силу того, что он не распознаёт ни одного мошеннического перевода, то есть

Большая часть переводов (72,4%) выполнена через мобильное приложение, а меньше всего (8,15%) совершено через браузер (рисунок 5). При этом, если посмотреть на то, сколько выполнено мошеннических переводов через каждый канал (таблица 2), можно обнаружить, что через банкомат не было совершено ни одного такого перевода.

Рисунок 5 Распределение подканала совершения переводов

Таблица 2

Распределение подканала совершения переводов

Метка / Подканал

Легаль-ная

Мошен-ническая

MOBILEAPI

6463

65

ATMAPI

1754

0

WEBAPI

726

8

Рисунок 6 Распределение переводов по часу их совершения

При изучении распределения переводов по часу их совершения (рисунок 6) каких-либо сильных различий между распределением для легальных и распределением для мошеннических переводов найдено не было, а разница в пиках (10-13 ч для легальных переводов и 13-16 ч для мошеннических переводов) можно объяснить малым количеством мошеннических переводов. В силу этого и того, что нам даны переводы не за полные сутки, а только лишь за 21 час, использовать час совершения перевода в качестве признака не представляло смысла.

2.2 Набор исторических транзакций (hist)

Набор hist содержит 562 489 транзакций, описываемых 10 атрибутами (рисунок 7):

· event_id - id транзакции;

· date_time - дата и время совершения транзакции;

· user_id - id держателя карты;

· sub_channel - подканал транзакции (отличается от подканала в наборе hits);

· event_type - тип события;

· sub_type - подтип транзакции;

· atm_mcc - MCC точки продажи;

· mcc_group - группа, в которую входит MCC;

· atm_merchant_name - названии точки продажи;

· amount - стоимость транзакции.

Рисунок 7 Набор hist

Далее подробно описаны атрибуты, представляющие интерес.

2.2.1 Время совершения транзакции (date_time)

История содержит транзакции за 10 дней. Первая транзакция в истории совершена 26 ноября 2018 года в 21:00:12, а последняя - 6 декабря 2018 года в 20:59:59.

Здесь следует отметить, что из-за того, что история содержит транзакции не за полное количество недель, в качестве признаков не было смысла брать те из них, которые зависят от дней недели, например, доля транзакций, совершенных в выходные дни, иначе при сдвигании окна, включающего в себя 10 суток, могли бы возникнуть проблемы. Так, если в качестве одного из признаков выступала бы доля транзакций в выходные дни и для обучения использовался бы данный набор, в который входит 2 выходных дня, то при сдвигании окна получилось бы так, что в окно входило бы 3 или даже 4 выходных дня, а значит, и доля таких транзакций бы выросла. В качестве решения данной проблемы было решено брать долю транзакций в выходные дни за последнюю неделю.

2.2.2 Подканал транзакции (sub_channel)

Рисунок 8 Распределение подканала транзакции в истории

Подканал транзакции определяет, является ли банк эквайером при осуществлении данной транзакции или же нет.

В 83% транзакций банк владеет точкой оплаты, то есть является эквайером (рисунок 8).

2.2.3 Тип события (event_type)

Тип события определяет принадлежность транзакции к одному из 7 типов, характеризующих её специфику:

· PAYMENT - оплата покупок и услуг;

· DEPOSIT - перевод средств на счёт банка;

· WITHDRAW - снятие наличных;

· VIEW_STATEMENT - (предположительно) получение информации о клиенте (например, баланс карты);

· CLIENT_DEFINED - (предположительно) идентификация клиента;

· UPDATE_USER - (предположительно) обновление информации о клиенте в банкомате (например, номер телефона);

· CARD_PIN_CHANGE - смена ПИН-кода карты.

Распределение типа транзакции в истории показано на рисунке 9.

Рисунок 9 Распределение типа транзакции в истории

2.2.4 Подтип транзакции (sub_type)

Подтип транзакции уточняет её тип. Например, тип WITHDRAW имеет два подтипа - ATM_WITHDRAW (снятие наличных через банкомат), POS_CARDLESS (снятие наличных через POS-терминал).

Всего подтипов 26, и все их можно агрегировать в следующие группы:

· транзакции с использованием ATM;

· транзакции с использованием EPOS-терминала;

· транзакции с использованием POS-терминала;

· другие транзакции (SERVICE_INQ, TOKENIZATION_REQUEST).

2.2.5 Группа кодов категории продавца (mcc_group)

Все MCC распределены на 12 групп - R, U, Z, C, F, A, T, X, H, J, O, Q. Изучение того, MCC какого типа каждая из групп объединяет, не дало полезной информации в рамках задачи.

2.3 Пустые значения в наборах данных

В наборе hits пустые значения отсутствуют.

В наборе hist пустые значения имеются у трёх атрибутов - atm_mcc, mcc_group, atm_merchant_name. Особым образом производить заполнение таких пустых значений не было необходимости. Например, если бы нулевые значения имел атрибут стоимости транзакции, можно было бы заполнять стоимость таких транзакций средним значением стоимости транзакции для данного клиента.

2.4 Совместный анализ наборов

Далее произведено сравнение транзакций в истории для двух наборов с тем, чтобы на глобальном уровне найти отличия между легальными и мошенническими переводами.

2.4.1 История транзакций клиентов-получателей

Посмотрим на историю транзакций клиентов, выступающих в качестве получателей в переводах, для легальных и мошеннических транзакций.

Сравним часто встречающиеся MCC у двух наборов.

Построим доверительные интервалы для разности двух долей , где - доля транзакций с данным MCC в истории получателя легального перевода, а - в истории получателя мошеннического перевода. Если доверительный интервал не включает 0, значит, доли транзакций отличаются в обоих наборах и такой MCC можно учесть далее при конструировании признаков.

Пусть:

· - число единиц в первой выборке;

· - число единиц во второй выборке;

· - размеры выборок;

·

Тогда доверительный интервал для будет иметь вид

В нашем случае:

· - число транзакций с данным MCC в истории получателя легального перевода;

· - число транзакций с данным MCC в истории получателя мошеннического перевода;

· - число всех транзакций в истории получателя легального и мошеннического перевода соответственно.

Для взятых MCC ни один доверительный интервал не содержит 0. Можно конструировать на основе этих MCC признаки.

Дальнейший анализ выявил следующие различия.

· 36,25% транзакций для получателя легального перевода приходятся на MCC: 4814, 4829, 5411, 5814, 5499. Для получателя мошеннического перевода с теми же MCC это значение равно 12,89%.

· 19,27% транзакций для получателя легального перевода приходятся на MCC 4829. Для получателя мошеннического перевода с тем же MCC - 5,19% транзакций.

· 80,23% транзакций для получателя мошеннического перевода приходятся на MCC: 6536, 7512, 6011, 6010, 6012. Для получателя легального перевода с теми же MCC: 46,35%.

Аналогичным образом действуем с группами MCC. Их анализ выявил следующее.

· 62,61% транзакций для получателя мошеннического перевода приходятся на mcc_group: Z, C, A. Для получателя легального перевода с теми же mcc_group таких транзакций 42,49%.

· 23,52% транзакций для получателя легального перевода приходятся на mcc_group: U, F. Для получателя мошеннического перевода с теми же mcc_group - 6.91%. В группу U входит ранее упомянутый MCC 4829.

Дальнейший анализ проводим по MCC, встречающимся только в истории получателей легальных переводов, и тем MCC, которые встречаются только в истории получателей мошеннических переводов. Если ранее мы смотрели на доли транзакций тех или иных MCC среди всей истории, то сейчас значение имеет число клиентов, которые совершили как минимум одну транзакцию с интересующими MCC. Исследовать будем не на всём наборе hits, а на 60% набора, чтобы убрать возможный эффект переобучения.

40 MCC встречаются и в истории получателя мошеннического перевода, и в истории получателя легального перевода. Они не представляют интереса в силу того, что мы ищем признаки, которые позволили бы ограничить два класса переводов.

Только один MCC (5933) в поднаборе характерен только для истории получателя мошеннического перевода. Этому MCC соответствуют только две транзакции в истории и один мошеннический перевод, в котором получатель имеет такую транзакцию. Использовать этот MCC в качестве признака нет смысла.

190 MCC характерны только для истории получателя легального перевода. Можно среди них брать либо все MCC, либо те, транзакций с которыми насчитывается больше всего.

Среди этих 190 MCC берём те из них, транзакции с которыми осуществили 362 и более клиента (0,9 квантиль). Наличие таких MCC в истории получателя перевода может судить о том, что совершённый перевод является легальным, так как в имеющихся данных такие MCC не встречаются в истории получателей мошеннических переводов.

2.4.2 История транзакций клиентов-отправителей

Сравнение истории транзакций клиентов, выступивших отправителями в легальных переводах, с историей транзакций клиентов, являвшихся отправителями мошеннических переводов, не выявило ярко выраженных различий, а потому не дало полезной информации для конструирования признаков.

2.4.3 Характерные названия точек продаж (atm_merchant_name)

Далее посмотрим на то, какие названия точек продаж характерны для истории получателей и отправителей мошеннических и легальных переводов.

В таблице 3 жирным шрифтом выделены числа, на основании которых для моделей в качестве признаков можно выбрать индикаторы наличия в истории отправителя/получателя транзакции с тем или иным названием точки продажи.

Любопытно, что все переводы, у которых получатель совершал транзакцию через банкомат 593008, являлись мошенническими. Это может говорить о взломе банкомата. В то же время использование индикатора совершения транзакции в этом банкомате получателем перевода могло бы переобучить классификатор, так как тот поставил бы слишком высокий вес этому индикатору, уменьшив важность других признаков, и для переводов, у которых получатель не взаимодействовал с данным банкоматом, вероятность классифицировать их как мошеннический была бы ниже.

Таблица 3

Точки продаж, полезные для конструирования признаков

Слово в названии точки продажи

# таких транзак-ций в истории

# клиентов, имеющих такую транзак-цию

% отправителей лег. перевода с такой тран.

% отправителей мош. перевода с такой тран.

% получателей лег. перевода с такой тран.

% получателей мош. перевода с такой тран.

spravka

3,72

53,62

51,36

60

50,07

45,95

TRANSFER

1,81

10,16

10,48

5

8,28

8,11

P2P ROSBANK

0,06

0,44

0,25

0

0,43

29,73

ATM 593008

0,02

0,07

0

0

0

21,62

QIWI

0,67

4,14

4,17

2,5

3,61

10,81

2.4.4 Распределение типа транзакции (event_type)

Анализ типа транзакции в истории получателя легального/мошеннического перевода выявил, что для истории получателей легального перевода число транзакций типа PAYMENT превышает число DEPOSIT-транзакций, а для истории получателя мошеннического перевода наоборот (рисунок 10).

Рисунок 10 Распределение типа транзакции в истории получателя

Рисунок 11 Распределение типа транзакции в истории отправителя

В то же время для истории отправителей различий найдено не было (рисунок 11).

Также было обнаружено, что если отправитель или получатель менял ПИН-код, то перевод легален, что также было учтено при создании признаков.

2.4.5 Пустая история

Все переводы, для которых история отправителя и получателя пуста (таких переводов 21), признаны легальными. Легальность таких переводов можно объяснить тем, что неиспользуемые банковские карты постоянно хранятся либо дома, либо в кошельке, где мошенники не могут подглядеть реквизиты карты. Данный индикатор также был использован в качестве признака.

2.4.6 Стоимость транзакций в истории

Также была изучена стоимость транзакций в истории. На её основе для каждого пользователя были получены средняя стоимость транзакции и сумма стоимости транзакций, после чего эти значения были присоединены к набору hits и были получены графики совместного распределения агрегированных атрибутов.

Рисунок 12 Распределение суммы и среднего стоимости для отправителей и получателей

Графики на рисунке 12 построены для 146 кейсов: 73 легальных и 73 мошеннических, чтобы визуально было легче видеть разницу, при этом график слева включает не все точки ввиду увеличенного масштаба. Из графиков следует, что для мошеннических переводов характерны низкие значения четырёх атрибутов, а значит, можно использовать их в качестве признаков.

2.5 Признаки для классификаторов

По итогу анализа наборов данных были сконструированы 39 признаков. Все признаки обозначены в приложении А. Признаки с наибольшей положительной и отрицательной корреляцией с меткой класса перечислены в приложении Б. Код функции конструирования признаков продемонстрирован в приложении В.

3. Конструирование моделей

3.1 Масштабирование признаков

Перед тем как использовать матрицу признаков, полученную ранее, необходимо было отмасштабировать те признаки, которые не являлись бинарными и долями, то есть стоимости, дни, количество транзакций. Для этого использовался Robust Scaler [12]. Он масштабирует признаки путём вычитания медианы и деления на интерквантильное расстояние, что полезно при наличии выбросов, как в случае стоимости транзакций.

3.2 Деление набора переводов

Набор переводов был поделен на три части.

1. Обучающая выборка - 60%. На данной выборке происходило обучение всех используемых моделей и выбор по одной лучшей модели для каждого из используемых алгоритмов классификации. Также на всей этой выборке были заново обучены лучшие модели.

2. Тестовая выборка №1 (обучающая тестовая выборка) - 20%. По этой выборке было рассчитано качество ранее определённых лучших моделей и был построен ансамбль.

3. Тестовая выборка №2 (финальная тестовая выборка) - 20%. По этой выборке было определено качество ансамбля алгоритмов.

Число транзакций каждого класса в выборках представлено в таблице 4.

Таблица 4

Число переводов для каждой из выборок

Число легальных переводов

Число мошеннических переводов

Общее число переводов

Обучающая выборка

5365

43

5408

Тестовая выборка №1

1789

15

1804

Тестовая выборка №2

1789

15

1804

Наличие двух тестовых выборок объясняется следующим. Многие алгоритмы классификации выдают в качестве результата не только метку класса, но и вероятность принадлежности точки к положительному классу. По умолчанию минимальное значение вероятности (threshold), необходимое для присвоения точки положительной метки, равно 0,5. Меняя это значение на тестовой выборке №1, можно прийти к консенсусу между разными метриками (Precision, Recall, False Positive Rate). Однако при изменении границы происходит подстраивание модели (и, следовательно, ансамбля) под выборку, и именно поэтому нужна тестовая выборка №2, по которой определяется финальное качество ансамбля.

3.2 Используемые методики семплинга

Из-за того, что классы сильно не сбалансированы, при использовании некоторых метрик (например, достоверности) классификатору может быть выгодно с целью максимизации метрики качества относить все объекты к мажоритарному классу. Кроме очевидного решения данной проблемы - изменения метрики качества, - можно применить алгоритмы, позволяющие восстановить баланс классов. Данная процедура называется семплингом.

В работе использовались три методики семплинга.

1. Без использования семплинга. Как следствие, тренировочный набор переводов несбалансированный и нужно использовать метрику, отличную от достоверности.

2. Удаление примеров мажоритарного класса (Undersampling) с помощью алгоритма NearMiss-1 [13]. В ходе работы алгоритма остаются те легальные транзакции, для которых среднее расстояние от них до ближайших N мошеннических транзакций минимально (рисунок 13). N - гиперпараметр алгоритма, равный 3.

3. Добавление примеров миноритарного класса (Oversampling) с помощью алгоритма SMOTE [14]. Суть его состоит в генерации новых примеров миноритарного класса путём нахождения для миноритарных точек их ближайших соседей миноритарного класса, вычисления расстояния между такими точками, получения вектора из путём умножения каждой координаты на случайное число в интервале и получения новых примеров миноритарного класса с координатами (рисунок 14).

Рисунок 13 NearMiss-1 (из [13])

Рисунок 14 Алгоритм SMOTE (из [15])

3.3 Используемые алгоритмы классификации

В работе были использованы пять алгоритмов машинного обучения для классификации переводов:

1. Логистическая регрессия;

2. ближайших соседей;

3. Метод опорных векторов;

4. Случайный лес;

5. Нейронные сети с одним внутреннем слоем с 10, 12 и 16 нейронами во внутреннем слое.

Для каждого алгоритма классификации проводились перебор гиперпараметров и выбор лучшей модели для каждой из технологий семплинга согласно выбранной метрики качества. Далее происходили обучение лучших моделей на всей обучающей выборке и проверка качества на тестовой выборке №1. Для ансамбля происходил выбор тех моделей, которые показали наиболее высокое качество на тестовой выборке №1.

В качестве метрики качества при выборе лучших моделей из каждой группы алгоритмов бралась F1-мера. При сравнении ансамбля моделей с отдельными классификаторами также брались в расчёт Precision, Recall и False Positive Rate.

4. Результаты

4.1 Результаты для отдельных моделей

В таблице 5 показаны значения Precision, Recall и F1-меры на тестовой выборке №1 для моделей, показавших наибольшее значение F1-меры на обучающей выборке. В таблице опущены значения метрик для алгоритма NearMiss-1, кроме случая логистической регрессии, так как значения F1-меры для всех моделей, обученных на выборке, полученной с помощью этого алгоритма, значительно ниже, чем в случае использования SMOTE или отсутствия семплинга, и поэтому такие модели не были использованы в дальнейшем. Значение Precision для случая логистической регрессии говорит о том, что только 1% отмеченных переводов действительно являются мошенническими.

Также в таблице не указаны результаты для модели, построенной по методу опорных векторов и обученной на SMOTE-выборке, из-за долгого обучения данной модели на этой выборке.

Таблица 5

Значения метрик качества для лучших моделей

Без семплинга

NearMiss-1

SMOTE

Prec.

Rec.

F1

Prec.

Rec.

F1

Prec.

Rec.

F1

Логистическая регрессия

1,00

0,20

0,33

0,01

0,87

0,02

0,04

0,80

0,07

ближайших соседей

0,37

0,47

0,41

-

-

-

0,35

0,53

0,42

Метод опорных векторов

0,50

0,33

0,40

-

-

-

-

-

-

Случайный лес

1,00

0,07

0,12

-

-

-

0,12

0,67

0,20

Нейросеть (39:10:1)

0,80

0,27

0,40

-

-

-

0,80

0,27

0,40

Нейросеть (39:12:1)

1,00

0,20

0,33

-

-

-

0,41

0,60

0,49

Нейросеть (39:16:1)

0,24

0,60

0,35

-

-

-

0,24

0,60

0,35

Для объединения в ансамбль моделей веса их предсказаний следовало уравнять. Это было сделано посредством изменения порога для выдаваемой каждой из моделей вероятности, при которой перевод считается мошенническим, таким образом, чтобы Precision, то есть вероятность того, что отмеченный перевод действительно является мошенническим, каждой из модели был равен 0,5 или же, если такое невозможно, значению, наиболее близкому к 0,5. Модели, построенные с помощью алгоритма ближайших соседей, не выдают вероятность принадлежности точки к тому или иному классу, поэтому с ними никаких модификаций не происходило.

В таблице 6 показаны значения метрик качества подправленных моделей. Из неё видно, что для нейронных сетей и ближайших соседей F1-мера моделей, обученных на SMOTE-выборке, выше, чем для моделей, обученных на несбалансированной выборке. Для логистической регрессии же качество модели, обученной на несбалансированной выборке, оказалось выше.

Таблица 6

Значения метрик качества для моделей с подправленными границами вероятности

Без семплинга

NearMiss-1

SMOTE

Prec.

Rec.

F1

Prec.

Rec.

F1

Prec.

Rec.

F1

Логистическая регрессия

0,50

0,33

0,40

0,01

1,00

0,02

0,50

0,13

0,21

ближайших соседей

0,37

0,47

0,41

-

-

-

0,35

0,53

0,42

Метод опорных векторов

0,50

0,33

0,40

-

-

-

Случайный лес

0,50

0,40

0,44

-

-

-

0,50

0,40

0,44

Нейросеть (39:10:1)

0,50

0,33

0,40

-

-

-

0,50

0,33

0,40

Нейросеть (39:12:1)

0,50

0,40

0,44

-

-

-

0,41

0,60

0,49

Нейросеть (39:16:1)

0,50

0,33

0,40

-

-

-

0,50

0,53

0,52

Жирным шрифтом в Таблица 6 выделены значения метрик тех моделей, которые использовались в ансамбле. Все модели, кроме случайного леса, встречаются в ансамбле единожды. Две модели случайного леса были использованы в силу того, что из 10 и 12 отмеченных первой и второй моделью переводов соответственно только 3 перевода были выбраны обеими моделями одновременно, в отличие от, например, ближайших соседей, где из 19 и 23 отмеченных переводов 16 переводов отметили сразу две модели.

4.2 Результаты для ансамбля

Значения в ячейках матрицы ошибок на тестовой выборке №2 для ансамбля моделей можно видеть в таблице 7. Здесь порогом, при достижении которого ансамбль классифицирует перевод как мошеннический, является количество моделей, отметивших данный перевод. С ростом значения порога число отмеченных легальных переводов (False Positive) падает, а число мошеннических переводов, классифицированных как легальные (False Negative), растёт. В зависимости от того, ошибки какого типа важнее не допускать, можно выбрать требуемый порог.

Таблица 7

TN, FP, FN, TP для ансамбля моделей

Порог

TN

FP

FN

TP

1

1759

30

8

7

2

1776

13

8

7

3

1785

4

9

6

4

1788

1

10

5

5

1788

1

10

5

6

1789

0

13

2

7

1789

0

13

2

8

1789

0

14

1

Зависимости False Positive Rate, Precision и Recall от порога проиллюстрированы на рисунке 15. Эти графики также могут быть использованы для выбора наиболее подходящего порога.

Рисунок 15 Зависимость FPR, Precision и Recall от порога для ансамбля моделей

4.3 Сравнение качества ансамбля и отдельных моделей

Чтобы убедиться, что ансамбль показывает качество лучше, чем отдельные модели, посмотрим на Precision, Recall, F1 и False Positive Rate для него при разных порогах и для отдельных моделей, из которых он состоит. Таблица 8 демонстрирует значения этих метрик для этих моделей и для ансамбля при порогах 3 и 4. Из таблицы видно, что ансамбль с порогом 3 даёт максимальные значения Recall и F1 среди остальных моделей, а ансамбль с порогом 4 максимизирует precision и минимизирует False Positive Rate. Таким образом, заключаем, что качество ансамбля действительно выше, чем качество какой-либо составляющей его модели.

Таблица 8

Precision, Recall, F1, FPR для ансамбля и отдельных моделей

Precision

Recall

F1

FPR

Ансамбль с порогом 3

0,6

0,4

0,48

0,0022

Ансамбль с порогом 4

0,83

0,33

0,47

0,0006

Логистическая регрессия

0,46

0,40

0,43

0,0039

ближайших соседей

0,57

0,27

0,36

0,0017

Метод опорных векторов

0,46

0,40

0,43

0,0039

Случайный лес

(несбаланс. выборка)

0,60

0,20

0,30

0,0011

Случайный лес (SMOTE)

0,33

0,13

0,19

0,0022

Нейросеть (39:10:1)

0,33

0,13

0,19

0,0022

Нейросеть (39:12:1)

0,35

0,40

0,38

0,0061

Нейросеть (39:16:1)

0,33

0,40

0,36

0,0067

Заключение

В ходе выполнения данной работы были выполнены следующие задачи.

1. Были проанализированы два набора - набор переводов между клиентами банка и набор исторических транзакций, - с тем, чтобы найти зависимости, которые могли отличить мошеннический перевод от легального.

2. На основании анализа наборов были сконструированы признаки для классификаторов.

3. Были выбраны метрики качества, значения которых требовалось оптимизировать на этапе обучения моделей.

4. Были построены модели, в основе каждой из которых лежал один из алгоритмов классификации (логистическая регрессия, метод ближайших соседей, метод опорных векторов, случайный лес, нейронная сеть), и среди таких моделей были выбраны те из них, которые оптимизировали F1-меру.

5. Модели с наиболее высоким значением F1-меры были объединены в ансамбль.

6. Было проверено качество ансамбля на тестовой выборке, а также оно было сравнено с качеством отдельных моделей на этой выборке, с тем, чтобы удостовериться, что ансамбль показал результаты лучше, чем каждая из составляющих его моделей.

В качестве продолжения данной работы можно рассмотреть наборы данных, содержащие большее число атрибутов (например, стоимость перевода), что позволит сконструировать больше признаков для моделей, что в перспективе должно повысить качество моделей и, как следствие, ансамбля.

Список литературы

1. «Операции, совершенные на территории России с использованием платежных карт, эмитированных российскими кредитными организациями, Банком России и банками - нерезидентами» // Центральный банк Российской Федерации, URL: https://www.cbr.ru/statistics/psrf/sheet015/ (Дата обращения 15.11.2019).

2. «Потери россиян от карточных мошенников выросли почти в полтора раза» // Ведомости, URL: https://www.vedomosti.ru/finance/articles/2019/02/19/794514-moshenniki (Дата обращения 15.11.2019).

3. «Число дел о мошенничестве с электронными платежами возросло в восемь раз» // РБК, URL: https://www.rbc.ru/society/20/08/2019/5d5a9af19a7947b82c0ac9e1 (Дата обращения 15.11.2019).

4. «В России прогнозируют рост атак на банковские карты» // Рамблер, URL: https://finance.rambler.ru/money/42386983-v-rossii-prognoziruyut-rost-atak-na-bankovskie-karty/ (Дата обращения 15.11.2019).

5. «Введение в машинное обучение» // Лекции Матти Пентуса, URL: http://lpcs.math.msu.su/~pentus/opm/learning.pdf (Дата обращения 23.12.2019).

6. «Метод ближайших соседей» // MachineLearning.ru, URL: http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B8%D1%85_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B5%D0%B9 (Дата обращения 24.12.2019).

7. «Support Vector Machine -- Introduction to Machine Learning Algorithms» // Towards Data Science, URL: https://towardsdatascience.com/support-vector-machine-introduction-to-machine-learning-algorithms-934a444fca47 (Дата обращения 24.12.2019).

8. «Деревья решений: общие принципы»// Loginom, URL: https://loginom.ru/blog/decision-tree-p1 (Дата обращения 26.12.2019).

9. A.C. Bahnsen, D. Aouada, A. Stojanovic, & B.E. Ottersten (2016). Feature engineering strategies for credit card fraud detection. Expert Syst. Appl., 51, 134-142.

10. A. C. Bahnsen, A. Stojanovic, D. Aouada, & B. Ottersten. (2013). Cost Sensitive Credit Card Fraud Detection Using Bayes Minimum Risk. 12th International Conference on Machine Learning and Applications, 333-338.

11. Alex G.C. de Sб, Adriano C.M. Pereira, Gisele L. Pappa (2018). A customized classification algorithm for credit card fraud detection. Engineering Applications of Artificial Intelligence, 72, 21-29.

12. “RobustScaler: scikit-learn documentation” // Scikit-learn, URL: https://scikit-learn.org/0.21/modules/generated/sklearn.preprocessing.RobustScaler.html (Дата обращения 13.11.2019).

13. “Under-sampling: imbalanced_learn documentation” // Imbalanced-learn, URL: https://imbalanced-learn.readthedocs.io/en/stable/under_sampling.html (Дата обращения 13.11.2019).

14. N. V. Chawla, K. W. Bowyer, L. O.Hall, W. P. Kegelmeyer, “SMOTE: synthetic minority over-sampling technique,” Journal of artificial intelligence research, 321-357, 2002.

15. «Различные стратегии сэмплинга в условиях несбалансированности классов» // BaseGroup Labs, URL: https://basegroup.ru/community/articles/imbalance-datasets (Дата обращения 13.11.2019).

Приложение А Признаки для классификаторов


Подобные документы

  • Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.

    курсовая работа [607,2 K], добавлен 13.03.2015

  • Виды машинного обучения, его основные задачи и методы. Подходы к классификации: логистическая регрессия, наивный байесовский классификатор, стохастический градиентный спуск, K-ближайший сосед, дерево решений, случайный лес, метод опорных векторов.

    курсовая работа [436,9 K], добавлен 14.12.2022

  • Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.

    курсовая работа [844,3 K], добавлен 16.06.2011

  • Построения математической модели с целью получения максимальной прибыли предприятия, графическое решение задачи. Решение задачи с помощью надстройки SOLVER. Анализ изменений запасов ресурсов. Определение пределов изменения коэффициентов целевой функции.

    курсовая работа [2,4 M], добавлен 17.12.2014

  • Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.

    курсовая работа [100,0 K], добавлен 31.10.2014

  • Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).

    дипломная работа [625,2 K], добавлен 10.06.2017

  • Расчеты по таблице перевозок грузов между отдельными регионами. Решение задачи управления процессами перевозок в среде Pascal. Решение задачи средствами MS Excel. Исходные данные и итоги по строкам и столбцам. Решение задачи средствами MATHCAD.

    курсовая работа [1,8 M], добавлен 25.03.2015

  • Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.

    дипломная работа [1,8 M], добавлен 08.02.2017

  • Решение в среде Microsoft Excel с помощью программной модели "Поиск решения" транспортной задачи, системы нелинейных уравнений, задачи о назначениях. Составление уравнения регрессии по заданным значениям. Математические и алгоритмические модели.

    лабораторная работа [866,6 K], добавлен 23.07.2012

  • Нахождение минимума целевой функции для системы ограничений, заданной многоугольником. Графическое решение задачи линейного программирования. Решение задачи линейного программирования с использованием таблицы и методом отыскания допустимого решения.

    курсовая работа [511,9 K], добавлен 20.07.2012

  • Виды алгоритмов как логико-математических средств, характеристика свойств. Корректный вывод алгоритма при решении вычислительной задачи. Механизм реализации алгоритма, его описание. Решение задачи Майхилла при помощи автоматной модели поведения стрелка.

    курсовая работа [53,6 K], добавлен 17.07.2014

  • Краткие сведения об электронных таблицах MS Excel. Решение задачи линейного программирования. Решение с помощью средств Microsoft Excel экономической оптимизационной задачи, на примере "транспортной задачи". Особенности оформления документа MS Word.

    курсовая работа [1,1 M], добавлен 27.08.2012

  • Сущность симплекс-метода. Общая характеристика задачи о смесях. Разработка основных алгоритмов решения задачи. Решение задачи в среде визуального программирования Delphi. Проектирование интерфейса пользователя. Разработка форм ввода-вывода информации.

    курсовая работа [476,6 K], добавлен 22.05.2012

  • Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.

    дипломная работа [917,1 K], добавлен 31.01.2015

  • Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.

    реферат [21,5 K], добавлен 19.02.2011

  • Восстановление математической модели задачи нелинейного программирования. Решение уравнений прямых. Метод линеаризации: понятие, особенности применения при решении задач. Нахождение точки максимума заданной функции. Решение задачи графическим методом.

    задача [472,9 K], добавлен 01.06.2013

  • Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.

    контрольная работа [191,1 K], добавлен 05.04.2016

  • Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.

    реферат [157,5 K], добавлен 21.08.2008

  • Общее понятие, поддержка и основные свойства транзакций. Модели плоских транзакций и их хроники. Модель вложенных транзакций: сущность и примеры. Модель многоуровневых транзакций и рабочих потоков. Классификация различных систем обработки транзакций.

    курсовая работа [1,2 M], добавлен 08.02.2011

  • Расчет начисления заработной платы по профессиям и в целом по заводу путем накопления начисленных сумм заработной платы для каждого работника. Выполнение информационной модели задачи. Описание алгоритма решения задачи. Решение задачи средствами MS Access.

    лабораторная работа [4,2 M], добавлен 27.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.

Название признака

Описание признака

1

is_sub_channel_atmapi

Перевод выполнен через банкомат

2

is_sub_channel_mobileapi

Перевод выполнен через мобильное приложение

3

is_sub_channel_webapi

Перевод выполнен через сайт

4

is_in_sender_hour_interval

Перевод выполнен в промежутке от часов, где - медиана часа совершения транзакций в истории отправителя

5

days_since_last_sender_transaction

Число дней с последней транзакции отправителя

6

days_since_last_receiver_transaction

Число дней с последней транзакции получателя

7

has_sender_transaction_on_this_day_last_week

Отправитель осуществил транзакцию в этот же день неделю назад

8

has_rec_transaction_on_this_day_last_week

Получатель осуществил транзакцию в этот же день неделю назад

9

sender_last_week_transaction_count

Число транзакций в истории отправителя за последнюю неделю

10

rec_last_week_transaction_count

Число транзакций в истории получателя за последнюю неделю

11

sender_last_week_max_amount

Максимальная стоимость транзакции в истории отправителя за последнюю неделю

12

rec_last_week_max_amount

Максимальная стоимость транзакции в истории получателя за последнюю неделю

13

weekend_sender_transactions_fraction

Доля транзакций в выходные дни в истории отправителя за последнюю неделю

14

rec_deposit_fraction

Доля DEPOSIT в истории получателя

15

rec_payment_fraction

Доля PAYMENT в истории получателя

16

rec_withdraw_fraction

Доля WITHDRAW в истории получателя

17

rec_other_fraction

Доля транзакций, не являющихся DEPOSIT, PAYMENT и WITHDRAW, в истории получателя

18

sender_zca_fraction

Доля транзакций с mcc_group = Z | C | A в истории отправителя

19

sender_uf_fraction

Доля транзакций с mcc_group = U | F в истории отправителя

20

frequent_genuine_sender_transaction_mcc_fraction

Доля транзакций в истории отправителя с atm_mcc = 4814 | 4829 | 5411 | 5814 | 5499

21

frequent_fraud_sender_transaction_mcc_fraction

Доля транзакций в истории отправителя с atm_mcc = 6536 | 7512 | 6011 | 6010 | 6012

22

if_rec_user_has_genuine_atm_mcc

Получатель имеет в истории транзакции с теми MCC, которые чаще всего встречаются в истории отправителя легального перевода

23

if_rec_user_has_f_mcc_group

Получатель имеет в истории транзакцию с mcc_group = F

24

if_rec_user_has_u_mcc_group

Получатель имеет в истории транзакцию с mcc_group = U

25

if_rec_user_has_f_and_u_mcc_groups

Получатель имеет в истории транзакцию с mcc_group = F & U

26

if_user_has_z_mcc_group

Отправитель имеет в истории транзакцию с mcc_group = Z

27

if_user_has_sbol

Отправитель имеет в истории транзакцию с atm_merchant_name, содержащим `sbol'

28

if_rec_user_has_sbol

Получатель имеет в истории транзакцию с atm_merchant_name, содержащим `sbol'

29

if_user_has_spravka

Отправитель имеет в истории транзакцию с atm_merchant_name, содержащим `spravka'