数仓面试,数据分析中异常值检测算法?

网友投稿 804 2022-11-08

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

数仓面试,数据分析中异常值检测算法?

“ 异常值是我们在数据分析中会经常遇到的一种特殊情况,所谓的异常值就是非正常数据。我们这节来讲下关于数据分析中,异常数据识别的几种算法:k-mean、箱体图法等。”        异常值是我们在数据分析中会经常遇到的一种特殊情况,所谓的异常值就是非正常数据。有的时候异常数据对我们是有用的,有的时候异常数据不仅对我们无用,反而会影响我们正常的分析结果。比如在分析银行欺诈案例时,核心就是要发现异常值,这个时候异常值对我们是有用的。再比如,在统计某个城市的平均收入的时候,有人月收入是好几个亿,这个时候这个人就是一个异常值,这个异常值会拉高城市的整体平均收入,因此可能会得到一个不真实的分析结果。这一篇来分享下,如何识别异常值以及识别到异常值以后该如何处理。

01—

箱体图法:

分位数识别

代表的执行方法为箱式图:

上四分位数Q3,又叫做升序数列的75%位点下四分位数Q1,又叫做升序数列的25%位点箱式图检验就是摘除大于Q3+3/2*(Q3-Q1),小于Q1-3/2*(Q3-Q1)外的数据,并认定其为异常值;针对全量样本已知的问题比较好,缺点在于数据量庞大的时候的排序消耗R语言中的quantile函数,python中的percentile函数可以直接实现。

如上图所示,通过9个子图对Kmeans聚类过程加以说明:子图1,从原始样本中随机挑选两个数据点作为初始的簇中心,即子图中的两个五角星;子图2,将其余样本点与这两个五角星分别计算距离(距离的度量可选择欧氏距离、曼哈顿距离等),然后将每个样本点划分到离五角星最近的簇,即子图中按虚线隔开的两部分;子图3,计算两个簇内样本点的均值,得到新的簇中心,即子图中的五角星;子图4,根据新的簇中心,继续计算各样本与五角星之间的距离,得到子图5的划分结果和子图6中新的簇内样本均值;以此类推,最终得到理想的聚类效果,如子图9所示,图中的五角星即最终的簇中心点。

实现原理:

使用K均值聚类的思想识别数据中的异常点还是非常简单的,具体步骤如下:

利用“拐点法”、“轮廓系数法”、“间隔统计量法”或者“经验法”确定聚类的个数;基于具体的K值,对数据实施K均值聚类的应用;基于聚类的结果,计算簇内每个点到簇中心的距离;将距离跟阈值相比较,如果其大于阈值则认为是异常,否则正常;

#我是媛姐,一枚有多年大数据经验的程序媛,打过螺丝搬过砖,关注数仓,关注分析。愿你我走得更远!

上一篇:基于达梦数据库的全国首套660MW超超临界机组全国产DCS系统成功投运
下一篇:创意信息荣获2020中国软件行业“最具影响力企业”等殊荣
相关文章

 发表评论

暂时没有评论,来抢沙发吧~