全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8453 6
2013-04-02
论剔除噪声(异常)数据的问题

似乎是一个老生常谈的话题,有很多文章研究过这个,
但始终没有一个完美的或者robust的答案,尤其当数据多维度的时候。

去噪,每次分析数据之前,总是要考虑的一个问题,异常数据常常
会使得分析的结果偏离真实的结果。

当数据维度较低的时候,可以通过散点图,box图(分位数)等等
来逐个对指标分析,剔除含有异常数据的观测,工作量不算大,
剔除的观测也不算多。

在我的工作中,多数情况是面对的几十个上百个的指标,逐个
去检验每个指标,写个宏,做个批处理或许可行;然而每个指标都会
对应一批异常用户,不同指标对应的用户又不会完全重复。
这么一来,含有异常数据的观测数,是十分可观的。如果都剔除,
信息损失未免过大了。

如此看来,倒是很羡慕那些"抗噪"能力强的算法了;
比如决策树,不管C5.0还是CHIAD,从其算法来看,异常的数据确实对
其没什么影响。
亦或者K-median,传统的K-MEANS,过大过小的异常数据,总是会使得类的
中心(均值)偏大或偏小,而以中位数来作为类的中心,这种影响就非常小了。

不过可惜的是,多数的算法的"抗造"能力是很差的,比如logistic回归,KNN,
BP神经网络,判别分析,广义线性模型等等。
很多耳熟能详的算法,抗噪效果都不是很好,但是在没有噪声数据的情况下,
这些算法的作用又是不言而喻的。

所以如何去噪,成了一件基本却十分重要的任务了。

一般去噪,大的方向来说有两类,一是"删除"异常值,即上面所讲的,
二是"转化"异常值。
比如将数据转化为秩,又如分位数分箱,前1%的数据记为1,
前2%的数据记为2,以此类推。
这样一来,确实摆脱了异常值,但将连续型的数据转为秩,
或者转为1-100,1-1000等等,信息的损失是无法避免的。

第一种方法,由于观测的删除造成信息损失,第二种则由于数据形态的
转变造成信息损失。

很多时候,在不能保证原汁原味的数据情况下,少许的信息损失也是可以接受的,
不同的去噪方法,造成的信息损失自然各不相同。

在此希望各位坛友,积极讨论,集思广益,多多补充去噪的方法。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-4-3 11:39:17
顶一下~~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-11 15:34:43
观点有启发!data cleaning 的确比较头疼,没有统一的方法!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-11 18:09:52
去噪声在哪个领域都是很重要啊,可以按照数据的相关性把数据分组,然后从每个组里面找到异常值,检查这些异常值在其他组是不是噪声. 随便想想.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-13 10:23:19
好贴 真心希望大家等顶起来 做到集思广益
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-29 10:35:41
data cleaning 的确是非常关键,谢谢分享!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群