登录
首页精彩阅读数据挖掘中异常检测
数据挖掘中异常检测
2018-08-18
收藏
数据挖掘中异常检测
最近在做聚类,是利用出租车上车下车地点信息聚类商圈和生活区域,在实战过程中,遇到了很多问题
其一:聚类中心点的确定,我们聚类结果要返回一个经纬度信息,或者说这是一个商圈的中心地点的一个显示,最初是想用K-means做个简单的展示版本,不得不感叹K-means的强大,聚类结果还是是不错的,不过聚类中心和附近商圈还是有一定的偏移
其二:异常点比较多。异常点的出现,原因总是很多的,主要是两个原因:数据错误或者这些是小概率事件。对于他们的处理,确实比较麻烦,因为我们知道,根据信息论只是,小概率事件有着更多的信息量,所以有时候他们更有价值,比如在一些金融公司的风控系统,他们希望找到异常账号做分析,往往这些异常账号是非常少的,这就涉及一个小样本数据的问题。
问题一:最近在做调研,思路也有了,可以采用DBSCAN基于区域密度的思路,也可以改进K-means,在距离度量上花点心思,这个实现之后在论述一下,这里就不展开。
问题二:异常监测我参考了一些文献,书籍,做个总结,希望以后用得着
一:定义
Hawkins的离群点定义:离群点是一个观测值,他与其他观测值的差别如此之大,以至于怀疑它是由不同的机制长生的。(数据挖掘导论)
没有太多价值的定义。。。不过将就看着吧
二:离群点识别
1,统计学的思路,之前学概率一直不知道分布函数、置信区间、这些东西是做什么的,解除了数据挖掘之后才发现,原来他们是这么得强大。
这里我们只讨论正态分布,假设你的一个特征符合正态分布(具体为什么现实中有很多是正态分布,请知乎)分布,我不扯公式,如图所示,正态分布为N(μ,σ^2),不知道你们注意到没有当x>u+3σ的概率就很小了,此时我们就可以认为他是离群点了,毕竟是小概率事件嘛。

2、基于紧邻度的检测
离群点给我们的直观感觉是他离其他集中点距离比较远。所以呢,k近邻思路就这么出来了,找出所以点离她最近的k个点算距离,离群点的距离当然是最大的。我很喜欢k近邻思路,最很多推荐系统中,knn模型就能实现很多有趣的东西,比如类似滴滴的一些app地点推荐系统,就是计算现在你的行为计算历史行为计算相似度,匹配出最接近的几种订单,把历史订单信息做当前行为推荐,很简单却很高效。
3、基于密度的检测
密度是衡量一个区域点集中的很好的一个判断,密度比较大则点集中,离群点的可能性就比较小,反之则很有可能是离群点。
4、基于聚类
聚类与异常检测息息相关,我们很好的一种思路就是不管三七二十一,我先sklearn找一个聚类,然后分析结果,会发现聚类会把一些异常数值聚出来的
5、数据可视化与经验
为什么把这个放在最后说,其实有些时候数据分析不必要那么麻烦,excel表,看看图标,找出异常点,结合自己的经验,其实就能找出来了,不过这不够严谨,也是一个很好的思路。
这些是最基础,基于这些思路有很多很好的解决方案。当我们的场景更加复杂时,需要着重研究,简单收集了一些。
Rosner:多个离群点讨论
LOF技术
Chaudhary:使用k-d树提高离群点检测效率
Aggarwal与Yu:使用投影处理高维数据的离群点检测
Shyu:基于主成分分析
不平衡数据集问题
Fox:时间序列异常检测
Lee、Stolfo:入侵检测
这些都是自己收集的资料加上自己的理解,有错之处,请指出。


数据分析咨询请扫描二维码

客服在线
立即咨询