一、基本原理
- 异常检测(Anomaly Detection或Outlier Detection)指的是通过数据挖掘手段识别数据中的“异常点”,如网络通信领域发现异常信息流。
二、可用方法
-
常见的算法:
- 概率与极值分析(假设数据分布并找到超过中心特定范围的数据)
- 线性模型(如PCA计算重构误差或者分析协方差矩阵的)
- 相似度模型(如ABOD,LOF、LOCI、LOOP和kNN等)
- 决策树集成(Isolation Forest、Feature Bagging)
- 基于SVM的方法如One-class SVM
- 基于神经网络的算法(用auto-encoder计算重构误差)
-
基于统计学的方法
- 3σ准则
- Grubb's test
-
基于距离的检测
- KNN
- 夹角(余弦)
- LOF
- COF
-
线性模型
- PCA
-
非线性模式
- RNNs(Replicator Neural Networks)
-
iForest 算法
三、可用的工具,调研试验中:
- Stats&Bots:https://blog.statsbot.co/time-series-anomaly-detection-algorithms-1cef5519aef2
- 时序DB Prometheus: https://prometheus.io/
搭配 Grafana框架: https://grafana.com/ - weka工具,自带机器学习算法实现