用统计学的算法证明数据挖掘并非什么都能挖的出来

来源:互联网 发布:数组占几个字节 编辑:程序博客网 时间:2024/06/03 22:00

这是一个在《Mining of MassiveDatasets》中提到的一个问题。2002年布什政府为了反恐的需求,提出了Total Information Awareness项目,据说后来在国会未通过。TIA项目的主要目的就是通过对美国国民的日常生活数据进行监控和分析,找出恐怖分子。

我们这里讨论的是这个项目背后的技术。很多人认为给我足够的数据,我就能挖掘出知识,而没有考虑这个挖掘背后的统计学意义和可行性。没有对数据挖掘做出很好的预见和规划,就会导致数据挖掘的过分使用(overzealous)。下面从统计的角度论证了这种方法的可行性。

我们把恐怖分子称为作恶者(evil-doers)。假设在美国国民中确实有些作恶者,我们想要找到这些人。进一步假设这些作恶者会定期的在某个宾馆集会或者碰面以谋划他们的企图。对于这个问题,我们假设了如下的数据规模:

1,全美国有10亿人,每个人都可能是作恶者。

2,每个人都会在100天中的某一天去某一个宾馆。

3,每个宾馆能够容纳100个人。所以,我们需要100,000个宾馆才能够用(因为任何一天都会有10亿*1%=10,000,000个人去宾馆,每个宾馆只能容纳100个人。)

4,整个数据记录的时长为1000天(我们需要检查1000天的数据)。

为了找到作恶者,我们需要找到这些在不同的两天中都进入同一个宾馆的人(例如在2002-01-01和2002-02-05这两天里Tom和Eric都进入了SheratonHotel)。同时我们假设普通民众的日常行为是完全随机的。某个人在某一天进入某个酒店的概率是随机的0.01,而且民众选择酒店也是完全随机的概率1/100,000。那么通过数据挖掘的方法我们能达到找到作恶者的目的么?

(如下计算进行了适当的近似)

对于某一天来说,任何两个人都打算去酒店(可能不同)的概率是0.01*0.01=0.0001

那么某一天这两个人去了同一家酒店的概率是0.0001*(1/100000)*(1/100000)*100000=10(-9) (代表10的-9次方,下同)。

那么如果这两个人在两个确定的日期都去同一家酒店的概率是10(-18)。(此时这两个人可能在这两个确定的日期去了不同的酒店。比如Tom和Eric在2002-01-01都去了Sheraton Hotel,而他们在2002-02-05又都去了Rujia Hotel)

 

那么所有的可能作恶事件(evil-doing)的数量为:5*10(17)*5*10(5)*10(-18)=250,000

 

这个结论说明了,通过这个统计分析得出的结果告诉我们可能有250,000人都是作恶者。而实际上作恶者的数量可能仅仅只有几个或者十几个。那么警察需要调查所有这250,000个人的数据,这在实际工作中是没有实际意义的挖掘。但是这个计算告诉我们一个道理,就是在实际的生产应用中,并非给你一个数据集和一个挖掘任务,就一定能挖掘出合理的结果。通过分析得出一个结论支撑这样做的不可行性,也是很有意义的。

就像新浪微博中 @PickRide叶剑飞 提到的一个故事(http://weibo.com/1974302977/y1D4zihMB):“前端时间见我一个高盛的同学,他去年做一个研究,最后高盛为这个奖了他四十万美刀。研究内容就是分析全球各地下雨天与股票走势的关系,最后结论是下雨和股市没有关系。在座的听了都笑了。我说,不然,这结论很有价值,值四十万美刀。如果有关,高盛必须开发衍生品,而此研究提供了不必开发的决策依据。”这个故事的真伪无从考证了,但是也从一个侧面告诉我们对任何事情抱有好奇心,并学会去验证和质疑的重要性。


原创粉丝点击