Первый подход, который большинство компаний использует для обнаружения аномалий, состоит в том, чтобы вручную определить ряд правил, основанных на экспертных знаниях в конкретной области, которые помогают идентифицировать аномальные события. Часто набор этих правил описывают на SQL или на других языках и запускают в базах или хранилищах данных. Некоторые языки программирования уже включают специальные команды для облегчения кодирования этих типов правил. Например, версии SQL для базы данных теперь включают функцию MATCH_RECOGNIZE, упрощающую обнаружение закономерности в данных. Распространенная схема мошенничества с кредитными картами заключается в том, что вор проверяет, работает ли украденная карта, совершая по ней небольшую покупку, а затем, если транзакция проходит, как можно быстрее покупает что-нибудь дорогое, прежде чем карта будет аннулирована. Функция MATCH_RECOGNIZE в SQL позволяет программистам баз данных писать сценарии, которые выявляют последовательности транзакций по кредитной карте, соответствующие этой закономерности, и либо автоматически блокируют карту, либо предупреждают компанию-эмитента. Со временем, когда накапливается опыт выявления более сложных аномалий (например, благодаря клиентам, которые сообщают о мошенничестве), набор идентифицирующих правил расширяется, чтобы включить обработку этих новых объектов.
Основным недостатком подхода, основанного на правилах, является то, что он может идентифицировать аномальные события только после того, как они произошли и попали в поле внимания организации. В идеале большинство организаций хотели бы иметь возможность выявлять аномалии, когда они происходят впервые или если они произошли, но остались незафиксированными в отчетах. В некотором смысле обнаружение аномалий является противоположностью кластеризации: цель кластеризации состоит в том, чтобы найти группы схожих элементов, тогда как цель обнаружения аномалий — поиск элементов, непохожих на остальную часть набора данных. Такая интуитивная кластеризация может быть использована для автоматической идентификации аномалий, при этом существует два метода. Первый группирует нормальные данные вместе, а аномальные помещает в отдельные кластеры. Эти кластеры содержат небольшое число объектов по сравнению с основной частью записей. Второй метод заключается в измерении расстояния между объектом и центром кластера. Чем дальше объект находится от центра кластера, тем выше вероятность того, что он окажется аномальным и требует расследования.
Другой подход к обнаружению аномалий состоит в обучении модели прогнозирования, такой как дерево решений, для классификации объектов на нормальные и аномальные. Однако для создания такой модели обычно требуется набор обучающих данных, который содержит как аномальные, так и нормальные записи. Кроме того, нескольких экземпляров аномальных записей недостаточно, чтобы обучить модель прогнозирования — набор данных должен содержать определенное количество объектов каждого класса. В идеале он должен быть сбалансирован на выдачу бинарного результата, что подразумевает разделение данных 50:50. Как правило, получение таких обучающих данных для обнаружения аномалий не представляется возможным: по определению аномалии являются редкими событиями, составляющими 1–2 % всех данных или менее. Это ограничение препятствует нормальному использованию моделей прогнозирования. Однако существуют алгоритмы машинного обучения, известные как одноклассные классификаторы, которые предназначены для работы с несбалансированными данными при обнаружении аномалий.
Метод опорных векторов (SVM) является хорошо известным одноклассным классификатором. В общих чертах алгоритм SVM анализирует данные как одну единицу (т. е. один класс) и выявляет основные характеристики и ожидаемое поведение объектов. Затем алгоритм маркирует каждый объект, чтобы указать, насколько он похож или отличен от основных характеристик и ожидаемого поведения. С помощью этой информации выявляют аномалии, требующие дальнейшего расследования. Чем больше объект не похож на остальные, тем выше необходимость его исследования.
Тот факт, что аномалии редки, означает, что их легко можно упустить и трудно идентифицировать. По этой причине специалисты по данным часто комбинируют друг с другом модели для обнаружения аномалий. Идея состоит в том, что разные модели улавливают разные типы аномалий. Как правило, новые модели используют в дополнение к уже известным, выявляющим аномальную активность. Модели интегрируют вместе в единое решение. Это решение позволяет использовать прогнозы каждой модели при формировании окончательного результата прогноза. Например, если транзакция идентифицирована как мошенническая только одной из четырех моделей, то система принятия решений не будет определять ее как случай мошенничества и игнорирует. И наоборот, если три или четыре модели из четырех идентифицируют транзакцию как возможное мошенничество, она будет помечена для обработки аналитиком данных.