Введение

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

Я обнаружил, что обнаружение мошенничества или аномалий является одной из ошибочных и запутанных областей по следующим причинам:

· Мало доступных ресурсов или документальных исследований

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

· Отсутствие / очень ограниченная доступность достоверных данных, по крайней мере, у меня не было много возможностей для запуска причудливых контролируемых алгоритмов

Я хочу пролить свет на вышеупомянутые области, рассматривая проблему обнаружения мошенничества как неконтролируемую, а не контролируемую.

Далее следует постановка задачи. (Готовьтесь к одному из самых ленивых проблемных состояний….)

Постановка задачи

Мошенничество с кредитными картами:

· Идентификация / обнаружение мошеннической транзакции до того, как клиент осознает потерю данных карты / карты

Данные

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

Словарь данных:

Card_ID - уникальный идентификатор, присвоенный каждой карте (анонимно)

Transaction_Date - Дата транзакции

Transaction_type - тип транзакции, оплата и возврат кредитовые, покупки дебетовые

Сумма статуса утверждения - одобрена ли транзакция или нет.

FOREX CHARGES - Обменные комиссии по транзакции

CNTY CD - Местоположение, страна транзакции. Для онлайн-транзакций, где местоположение не имеет значения, создается NA

Кредитный лимит - Лимит расходов по кредитной карте за один период выписки.

Подход к решению

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

Создание функции

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

· Объединение бизнес-знаний и данных

· Исследовательский анализ данных

(Что делать, если формулировка проблемы не совсем обычная и легко понятная, или когда данные анонимны, как мы можем создавать функции? Вы можете посмотреть этот блог для более подробной информации)

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

1. Функции, основанные на поведении клиентов в отношении расходов

2. Функции, основанные на деталях транзакции

Функции, основанные на поведении клиентов в отношении расходов:

Величина расходов:

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

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

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

Возможность расходования средств:

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

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

Расходы:

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

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

Функции, основанные на деталях транзакции:

Детальная характеристика FOREX:

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

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

Функция повторения FOREX:

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

Это распределение является интересным, если мы присмотримся, нет 3 непрерывных транзакций с комиссией FX и очень мало непрерывных 4 транзакций. Однако на самом деле двух транзакций вполне достаточно. Это может быть очень специфичным для этого набора данных. Однако это может предоставить модели хороший уровень информации. (Хотя не может использоваться для масштабируемого решения)

Изменение местоположения:

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

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

Риск местоположения:

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

У карт есть более высокие значения, у которых оба ближе к 0 и 1. Нули - это то место, где местоположение не ново. Однако с большим количеством значений, близких к 1, данные говорят о том, что существует большое количество вновь выпущенных карт с более низким возрастом, что дает нам много значений, близких к 1. (Следует ли это использовать для построения модели? Мы увидим в следующем блоге.)

Вывод

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

Моделирование

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