В аналізі даних, ви́явленням анома́лій (або ви́явленням ви́кидів) називається знаходження та ідентифікація елементів, подій або спостережень, що не відповідають очікуваній поведінці (патернам) або іншим елементам набору даних.[1] Інколи аномальні елементи можуть стати причиною багатьох проблем, наприклад: банківське шахрайство[en], медичні проблеми, проблеми пошуку помилок у тексті тощо. Аномалії також називають викидами, нововведеннями, шумами, відхиленнями та винятковими ситуаціями.[2]
Зокрема, в контексті виявлення зловживань або вторгнень до мережі, цікавими об'єктами часто є не рідкісні об'єкти, а несподівані сплески активності. Ця модель (патерн) не дотримується загального статистичного визначення викиду як рідкісного об'єкту, і багато методів виявлення викидів (зокрема методи із некерованим навчанням) не працюватимуть на цих даних, якщо їх не буде відповідно агреговано. Натомість алгоритми кластерного аналізу будуть здатні виявити мікрокластери, утворені цими патернами.[3]
Існують три основні категорії методів виявлення аномалій. Методи ви́явлення анома́лій без на́гляду (неконтрольовані алгоритми) визначають аномалії на непозначеному наборі даних, виходячи з припущення, що більшість зразків у цьому набору є нормальними, і шукаючи зразки, що виглядають якнайменше відповідними решті набору даних. Методи контрольо́ваного ви́явлення анома́лій вимагають набору даних, що позначено як «нормальні» або «аномальні», та включають навчання класифікатора (ключовою відмінністю від інших задач класифікації є притаманно незбалансований характер виявлення викидів). Методи напі́в-контрольо́ваного ви́явлення анома́лій створюють модель, що представляє нормальну поведінку, виходячи із заданого нормального навчального набору даних, і потім перевіряють правдоподібність того, що тестовий екземпляр було породжено вивченою моделлю.[джерело?]
Застосування
Виявлення аномалій може застосовуватися в багатьох галузях, таких як виявлення вторгнень, шахрайств, дефектів, моніторинг справності систем, виявлення подій у давачевих мережах та виявлення порушень екосистем. Його часто застосовують у попередній обробці для усунення аномальних даних з набору. В керованому навчанні усунення аномальних даних з набору призводить до статистично значимого покращення точності.[4][5]
Популярні методи
В літературі було запропоновано різні методи виявлення аномалій. Деякими з популярних методів є:
Використовувати виявлення аномалій в системах виявлення вторгнень було запропоновано Дороті Деннінг[en] у 1986 році.[24] Виявлення аномалій для систем виявлення вторгнень, як правило, здійснюється за допомогою порогових значень та статистики, але також може бути здійснюватися за допомогою м'яких обчислень та індуктивного навчання.[25] Види статистичних даних, запропоновані в 1999 році, включають профілі користувачів, робочих станцій, мереж, віддалених хостів, груп користувачів, програми на базі частот, середніх значень, відхилень, коваріацій та стандартних відхилень.[26] Двійником виявлення аномалій у системі виявлення вторгнень є виявлення зловживань[en].
Програмне забезпечення
ELKI[en] — це Java-інструментарій з відкритим кодом для аналізу даних, що містить декілька алгоритмів виявлення аномалій, а також прискорення індексу для них.
↑Dokas, Paul; Ertoz, Levent; Kumar, Vipin; Lazarevic, Aleksandar; Srivastava, Jaideep; Tan, Pang-Ning (2002). Data mining for network intrusion detection(PDF). Proceedings NSF Workshop on Next Generation Data Mining. Архів оригіналу(PDF) за 23 вересня 2015. Процитовано 22 червня 2015. (англ.)
↑
Knorr, E. M.; Ng, R. T.; Tucakov, V. (2000). Distance-based outliers: Algorithms and applications. The VLDB Journal the International Journal on Very Large Data Bases. 8 (3–4): 237. doi:10.1007/s007780050006. (англ.)
↑
Ramaswamy, S.; Rastogi, R.; Shim, K. (2000). Efficient algorithms for mining outliers from large data sets. Proceedings of the 2000 ACM SIGMOD international conference on Management of data - SIGMOD '00. с. 427. doi:10.1145/342009.335437. ISBN1581132174. (англ.)
↑
Angiulli, F.; Pizzuti, C. (2002). Fast Outlier Detection in High Dimensional Spaces. Principles of Data Mining and Knowledge Discovery. Lecture Notes in Computer Science. Т. 2431. с. 15. doi:10.1007/3-540-45681-3_2. ISBN978-3-540-44037-6. (англ.)
↑
Schubert, E.; Zimek, A.; Kriegel, H. -P. (2012). Local outlier detection reconsidered: A generalized view on locality with applications to spatial, video, and network outlier detection. Data Mining and Knowledge Discovery. doi:10.1007/s10618-012-0300-z. (англ.)
↑Kriegel, H. P.; Kröger, P.; Schubert, E.; Zimek, A. (2009). Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data. Advances in Knowledge Discovery and Data Mining. Lecture Notes in Computer Science. Т. 5476. с. 831. doi:10.1007/978-3-642-01307-2_86. ISBN978-3-642-01306-5. (англ.)
↑
Kriegel, H. P.; Kroger, P.; Schubert, E.; Zimek, A. (2012). Outlier Detection in Arbitrarily Oriented Subspaces. 2012 IEEE 12th International Conference on Data Mining. с. 379. doi:10.1109/ICDM.2012.21. ISBN978-1-4673-4649-8. (англ.)
↑
Zimek, A.; Schubert, E.; Kriegel, H.-P. (2012). A survey on unsupervised outlier detection in high-dimensional numerical data. Statistical Analysis and Data Mining. 5 (5): 363—387. doi:10.1002/sam.11161. (англ.)
↑
Schölkopf, B.; Platt, J. C.; Shawe-Taylor, J.; Smola, A. J.; Williamson, R. C. (2001). Estimating the Support of a High-Dimensional Distribution. Neural Computation. 13 (7): 1443. doi:10.1162/089976601750264965. (англ.)
↑
Hawkins, Simon; He, Hongxing; Williams, Graham; Baxter, Rohan (2002). Outlier Detection Using Replicator Neural Networks. In Proc. of the Fifth Int. Conf. and Data Warehousing and Knowledge Discovery. с. 170—180. doi:10.1007/3-540-46145-0_17. (англ.)
↑
He, Z.; Xu, X.; Deng, S. (2003). Discovering cluster-based local outliers. Pattern Recognition Letters. 24 (9–10): 1641. doi:10.1016/S0167-8655(03)00003-5. (англ.)
↑
Lazarevic, A.; Kumar, V. (2005). Feature bagging for outlier detection. Proc. 11th ACM SIGKDD international conference on Knowledge Discovery in Data Mining: 157—166. doi:10.1145/1081870.1081891. (англ.)
↑
Nguyen, H. V.; Ang, H. H.; Gopalkrishnan, V. (2010). Mining Outliers with Ensemble of Heterogeneous Detectors on Random Subspaces. Database Systems for Advanced Applications. Lecture Notes in Computer Science. Т. 5981. с. 368. doi:10.1007/978-3-642-12026-8_29. ISBN978-3-642-12025-1. (англ.)
↑
Zimek, A.; Campello, R. J. G. B.; Sander, J. R. (2014). Ensembles for unsupervised outlier detection. ACM SIGKDD Explorations Newsletter. 15: 11. doi:10.1145/2594473.2594476. (англ.)
↑
Zimek, A.; Campello, R. J. G. B.; Sander, J. R. (2014). Data perturbation for outlier detection ensembles. Proceedings of the 26th International Conference on Scientific and Statistical Database Management - SSDBM '14. с. 1. doi:10.1145/2618243.2618257. ISBN9781450327220. (англ.)
↑Jones, Anita K.; Sielken, Robert S. (1999). Computer System Intrusion Detection: A Survey. Technical Report, Department of Computer Science, University of Virginia, Charlottesville, VA. CiteSeerX: 10.1.1.24.7802. (англ.)