В
Застосування
Виявлення аномалій використовується у таких областях як:
1) Передбачення поломок обладнання
Так, у 2010 році Іранські центрифуги були атаковані вірусом Stuxnet, який поставив неоптимальний режим роботи обладнання та вивів з ладу частину обладнання за рахунок прискореного зносу.
Якби на устаткуванні використовувалися алгоритми пошуку аномалій, ситуації виходу з експлуатації можна було уникнути.
Пошук аномалій у роботі устаткування використовується у атомної промисловості, а й у металургії, і роботі авіаційних турбін. І в інших областях, де використання передиктивної діагностики дешевше за можливі втрати при непрогнозованій поломці.
2) Пророцтво шахрайських дій
Якщо з карти, якою ви користуєтеся у Подільську, знімають гроші в Албанії, можливо, транзакції слід додатково перевірити.
3) Виявлення аномальних споживчих патернів
Якщо частина клієнтів демонструє аномальну поведінку, можливо, є проблема, яку ви не знаєте.
4) Виявлення аномального попиту та навантаження
Якщо продажі в магазині FMCG знизилися нижче за межі довірчого інтервалу прогнозу, варто знайти причину того, що відбувається.
Підходи до виявлення аномалій
1) Метод опорних векторів з одним класом One-Class SVM
Підходить, коли у навчальному наборі дані підпорядковуються нормальному розподілу, а тестовому містять аномалії.
Однокласовий метод опорних векторів будує нелінійну поверхню навколо початку координат. Можна встановити межу відсікання, які дані вважати аномальними.
Виходячи з досвіду нашої команди DATA4, One-Class SVM найчастіше використовуваний алгоритм вирішення завдання пошуку аномалій.
2) Метод ізолюючого лісу – isolate forest
При «випадковому» способі побудови дерев викиди потраплятимуть у листя на ранніх етапах (невеликий глибині дерева), тобто. викиди простіше "ізолювати". Виділення аномальних значень відбувається перших ітераціях роботи алгоритму.
3) Elliptic envelope та статистичні методи
Використовується, коли дані нормально розподілені. Чим ближче вимір до хвоста суміші розподілів, тим аномальніше значення.
До цього класу можна віднести інші статистичні методи.
Зображення із сайту dyakonov.org
4) Метричні методи
До методів належать такі алгоритми, як найближчих сусідів, найближчого сусіда, ABOD (angle-based outlier detection) або LOF (local outlier factor).
Підходять, якщо відстань між значеннями в ознаках рівнозначні чи нормовані (щоб виміряти удава в папугах).
Алгоритм k найближчих сусідів передбачає, що нормальні значення розташовані у певній області багатовимірного простору, а відстань до аномалій буде більшою, ніж до роздільної гіперплощини.
5) Кластерні методи
Суть кластерних методів у тому, що й значення віддалено від центрів кластерів більш ніж певну величину, значення вважатимуться аномальним.
Головне, використовувати алгоритм, що правильно кластеризує дані, що залежить від конкретного завдання.
6) Метод основних компонент
Підходить, де виділяються напрямки найбільшої зміни дисперсії.
7) Алгоритми з урахуванням прогнозування часових рядів
Ідея у тому, що й значення вибивається з довірчого інтервалу передбачення, значення вважається аномальним. Для передбачення часового ряду використовуються такі алгоритми як потрійне згладжування, S(ARIMA), бустинг і т.д.
Про алгоритми прогнозування часового ряду йшлося у попередній статті.
8) Навчання з учителем (регресія, класифікація)
Якщо дані дозволяють, використовуємо алгоритми, починаючи від лінійної регресії і закінчуючи рекурентними мережами. Заміряємо різницю між передбаченням та фактичним значенням, і зробимо висновок, наскільки дані вибиваються з норми. Важливо, щоб алгоритм мав достатню узагальнюючу здатність, і навчальна вибірка не містила аномальних значень.
9) Модельні тести
Підійдемо до завдання пошуку аномалій як задачі пошуку рекомендацій. Розкладемо нашу матрицю ознак за допомогою SVD або факторизаційних машин, і значення в новій матриці, що істотно відрізняються від вихідних, приймемо аномальними.
Зображення із сайту dyakonov.org
Висновок
У цій статті ми розглянули основні підходи виявлення аномалій.
Пошук аномалій багато в чому можна назвати мистецтвом. Немає ідеального алгоритму чи підходу, застосування якого вирішує всі завдання. Найчастіше використовується комплекс методів на вирішення конкретного кейсу. Пошук аномалій здійснюється за допомогою однокласового методу опорних векторів, ізолюючого лісу, метричних та кластерних методів, а також з використанням головних компонентів та прогнозування часових рядів.
Якщо ви знаєте інші методи, напишіть про них у коментарі до статті.
Джерело: habr.com