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

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

В мире науки о данных Python превратился в универсальный язык с рядом библиотек, предназначенных для анализа и визуализации данных, что делает его идеальным инструментом для обнаружения аномалий. С помощью библиотек машинного обучения Python, таких как Scikit-learn и PyOD, мы можем разрабатывать алгоритмы, которые эффективно идентифицируют необычные точки данных в наборе данных. Эти алгоритмы способны учиться на данных, что позволяет им со временем улучшать свою производительность и быстро адаптироваться к новым аномалиям. Обнаружение аномалий имеет огромный потенциал в различных отраслях, помогая выявлять подозрительные действия и предотвращать потенциальный ущерб. Например, в страховом секторе алгоритмы обнаружения аномалий могут распознавать мошеннические претензии, экономя компаниям значительные суммы денег. В сфере производства эти алгоритмы могут выявлять отклонения в производительности оборудования, обеспечивая упреждающее техническое обслуживание и сокращая дорогостоящие простои. Между тем, в сфере кибербезопасности обнаружение аномалий может означать выявление вредоносных действий, таких как несанкционированный доступ к системе или необычная передача данных, тем самым усиливая защиту системы от потенциальных угроз.

В своей обширной работе «Справочник по обнаружению аномалий» (2023 г.) Куо — настоятельно рекомендую изучить обнаружение аномалий — утверждает, что при выборе алгоритмов обнаружения аномалий для производства необходимо учитывать три основных фактора. Во-первых, решающее значение имеет скорость выполнения алгоритма — алгоритм, который быстро обрабатывает большие объемы данных, может быть очень полезен в отраслях, работающих с потоками данных в реальном времени. Во-вторых, популярность алгоритма в сообществе специалистов по обработке данных часто указывает на его эффективность и надежность, что делает его выбором, заслуживающим доверия. И последнее, но, возможно, самое важное: точность алгоритма имеет первостепенное значение. Это относится к его способности правильно идентифицировать аномалии на основе входных данных. Эти три фактора — скорость, одобрение сообщества и точность — в совокупности определяют пригодность алгоритма обнаружения аномалий для практического использования в различных секторах.

Алгоритмы обнаружения аномалий действительно можно разделить на три основные категории: на основе близости, на основе распределения и на основе ансамбля. Алгоритмы, основанные на близости, такие как K-Nearest Neighbours (KNN), работают путем измерения расстояния между точками данных. Если точка данных значительно отклоняется от нормы или ее близость к другим точкам данных необычно высока или низка, она помечается как аномалия.

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

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

Проблемы обнаружения аномалий

Куо (2023) утверждает, что одной из серьезных проблем при обнаружении аномалий является отсутствие размеченных данных для обучения модели. Это особенно проблематично при обнаружении аномалий, поскольку по своей природе аномалии редки и часто непредсказуемы, что затрудняет сбор достаточного количества размеченных примеров для контролируемого подхода к обучению. Следовательно, в этой области обычно используются методы машинного обучения без учителя, которые не полагаются на предварительно размеченные данные. Эти алгоритмы обнаруживают основные закономерности и структуры данных, что позволяет им обнаруживать отклонения или аномалии. Однако эти методы имеют свои собственные проблемы, такие как определение соответствующего порога для определения аномалии. Еще одним значительным бременем, которое несут неконтролируемые алгоритмы, является необходимость специализированных групп проверять каждую транзакцию, определенную как «положительную» или выдающуюся. Например, в контексте обнаружения кредитного мошенничества, как только алгоритм отмечает транзакцию, специальная группа должна дополнительно изучить ее, чтобы подтвердить, действительно ли она является мошеннической. Этот процесс может быть ресурсоемким и отнимать много времени, что потенциально может замедлить общую работу и повлиять на эффективность. Таким образом, хотя неконтролируемые алгоритмы дают преимущество при выявлении потенциальных аномалий, последующий процесс проверки подчеркивает важность постоянного совершенствования этих моделей для уменьшения количества ложных срабатываний и оптимизации операций.

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

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

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

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

Уточнение нашей модели

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

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

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

Библиография:

Куо, Л. (2023). Справочник по обнаружению аномалий