什么是异常值?
异常值是一种和其他观察数据有显著差异,让人怀疑它是由不同的机制产生的数据
异常检测应用举例:
- 入侵检测系统:在许多计算机系统中,收集关于操作系统调用,网络流量或其他用户动作的不同类型的数据。 由于恶意活动,此数据可能会显示异常行为。 对此类活动的识别称为入侵检测。
- 信用卡欺诈:未授权使用的信用卡消费(如盗刷信用卡)会存在很多异常行为(如非常用地消费、大额消费)
- 传感网络
- 医疗诊断:医疗设备记录下数据,数据中不寻常的模式常常意味着疾病
- 执法:异常值检测在执法中有许多应用,特别是在只有通过一个实体的多次操作才能在一段时间内发现异常模式的情况下。确定金融交易或保险索赔中的欺诈行为,通常需要在犯罪实体的行为生成的数据中识别出异常模式
- 地球科学:通过卫星或遥感等各种机制收集了大量关于天气模式、气候变化或土地覆盖模式的时空数据。这些数据中的异常提供了关于人类活动或环境趋势的重要洞见,这些可能是潜在原因。
异常检测算法的输出是什么?
- 离群值:大多数离群值检测算法输出一个分数,量化每个数据点的“离群值”水平。这个分数也可以用来对数据点按其离群趋势进行排序。这是一种非常普遍的输出形式,它保留了特定算法提供的所有信息,但它没有提供应该被视为异常值的少量数据点的简明摘要。
- 二分类标签(是否是离群值):这通常是通过对离群值设置阈值来实现的。
噪声和异常值的区别是什么?
判断数据是否异常通常是主观的。实际数据中,可能有大量噪声,这些噪声可能不是我们分析师感兴趣的。
a图中的点A是异常点(anomalies),b图中的点A是噪声(noise)。
离群点包括噪声和异常值,异常值往往是得分比噪声更高的点。
分类方法和它们在异常检测中的无监督应用的同类物
监督模型 | 无监督推广 | 类型 |
---|---|---|
k最近邻 | knn距离,lof,loci | 基于实例 |
线性回归 | 主成分分析 | 明确泛化 |
朴素贝叶斯 | 期望最大化 | 明确泛化 |
Rocchio | Mahalanobis method、聚类 | 明确泛化 |
决策树、随机森林 | 隔离树、隔离森林 | 明确泛化 |
基于规则 | FP-Outlier | 明确泛化 |
支持向量机 | 一分类支持向量机 | 明确泛化 |
神经网络 | Replicator neural networks | 明确泛化 |
矩阵分解 | 主成分分析矩阵分解 | 明确泛化 |