灰常数据挖掘 数据挖掘随讲

 

大家好,我是王小灰。从今天开始,我会在狗熊会上开始一个新的系列,【灰常数据挖掘】,来讲讲数据挖掘那些事儿。...





大家好,我是灰灰。从今天开始,我会在狗熊会上开始一个新的系列,【灰常数据挖掘】,来讲讲数据挖掘那些事儿。

要说这年头最火的词,非“大数据”莫属。虽然小编并不认为“大数据”有什么神奇的魔力,但是它确实铺天盖地的席卷了生活的方方面面。伴随着“大数据”的这股狂风,“数据挖掘”也up了一个level,再次被人们广泛提及。提到数据挖掘,很多人会首先想到计算机和机器学习,但其实它和统计学也有着深厚的渊源,因为数据挖掘中使用的很多模型都是统计学的关注重点。作为一个根正苗红的统计人,小编就从统计的角度和大家探讨一下数据挖掘。

在这个系列中,我会讲解数据挖掘中几类常用模型的基本原理它们在实际中的应用以及R语言的实现。我们不会深挖算法,只是希望给那些对数据挖掘有兴趣、并且在实际中有所需求的读者提供一个更易于理解和上手的学习途径。以下是小编初步拟定的章节目录,供大家参考。





言归正传,首先让我们来谈一谈什么是数据挖掘。“数据挖掘”,就是“挖掘数据”,顾名思义,就是挖掘数据中的知识,是从已经积累的大量甚至是海量数据中挖掘出对实践有指导价值的东西。小编觉得数据挖掘有两大基本目标——描述和预测, “描述”指的是发现、了解现有数据中隐含的规律,“预测”指的是用学习到的规律来指导未来。下面,小编将通过两个具体的例子来说明数据挖掘的应用。

案例一

纸牌屋


纸牌屋的拍摄无疑是利用数据挖掘来辅助决策的一个很好例证。《纸牌屋》翻拍自1990年代BBC同名迷你剧,由曾执导过《社交网络》、《七宗罪》的David Fincher导演,奥斯卡影帝Kevin Spacey主演。如此华丽的阵容,吸引了美国各大电视投资公司的兴趣。

按照传统惯例,主创公司至少要制造出一两集的样片供各大电视台参考。而导演David Fincher仗着自己的名气傲娇地挑衅这些投资者,竟然除了片名外一个画面都没有提供,这不免让各个投资公司犹豫不决。几方僵持下,视频播放公司Netflix打破了这一僵局,他们不仅迅速决定提供1亿美元预算,更一股脑的买下整季13集的独家播放权!要知道美国的电视剧都是在考虑市场反馈的情况下边拍边播的,Netflix的这一举动在美国电视剧集的拍摄历史上都是前所未有的。

为什么Netflix敢在不看样片的情况下就进行大笔投资呢?实际上,Netflix和其它影视公司的根本诉求并无不同,都是考察影片的内容是否能吸引观众。只不过,传统方式是通过看样片,而 Netflix依赖的是自己网站上2900万名订阅用户的收看习惯和偏好所构成的庞大数据集。

作为美国最具影响力的影视网站之一,Netflix在美国本土拥有庞大的用户群,这些用户在Netflix上每天产生3000多万个行为,比如暂停、回放、快进。与此同时,用户每天还会给出400万个评分,以及300万次搜索请求。Netflix通过分析用户进行视频点播的基础数据如评分、播放、快进、时间、地点、终端等来挖掘出用户可能喜爱的影片,并提供个性化推荐。正是基于这个庞大的数据集,Netflix能够“描述”出有多少观众喜欢政治惊悚片,多少观众喜欢David Fincher,多少观众是Kevin Spacey的粉丝;并“预测”出由这些元素所构成的《纸牌屋》将会有多大的受众人群。可以说,从数据挖掘中得到的结论给了Netflix果断买下这部电视剧的信心,并最终带给它巨大的成功。

不得不承认,大数据确实是一座宝贵的金矿。对Netflix而言,从数据中挖掘出的知识真真切切地转化成了商业价值。然而,所有公司都能如Netflix一样幸运吗?我们来看下一个例子。
案例二

谷歌流感趋势


随着互联网的普及,每天都有数以亿计的人通过百度、Google等搜索引擎进行信息搜索。这一系列的搜索数据在不同程度上反映了人们的兴趣和诉求,例如搜索“奥迪”通常是想买车,搜索“飞机票”通常是要出行,搜索“喉咙痛”通常是身体不舒服。如果这些信息能够准确的表达人们的想法,那研究人员就可以利用这些信息来预测产品的销量、城市的拥堵情况,甚至追踪疾病的爆发趋势。

谷歌的研究人员在2008年探索了这一可能性。他们启动了“谷歌流感趋势” (Google Flu Trends,GFT)项目,根据人们在Google上的搜索信息对流感进行“实时预测”。具体而言,他们通过监测“温度计”、“流感症状”、“肌肉疼痛”等一系列和流感相关的关键词在网上的搜索量来追踪分析不同地区的流感趋势,这些关键词在某个地区的搜索量越高,这一地区就越容易爆发流感。

甫一登场,GFT就亮出了一张惊艳的成绩单。他们在《Nature》上发文称,只需要分析十亿搜索结果中的45个与流感相关的关键词,就能取得比美国疾病控制中心(CDC)提前两周的报告,并且预测趋势非常相似(下图中蓝色为谷歌的预测趋势,黄色为疾病控制中心的预测趋势,我们发现在2008年之前,两条线的吻合度非常高)。

与基层医生每日统计流感病人数量、官方和医疗机构每周加总数据的传统统计方法相比,谷歌的流感趋势预测能够在更大的区域范围内进行每日更新,因此在时效性上具有很大的优势,真正做到了流感的实时预警。



然而,美好的开始不一定伴随着美好的结局。在2009年美国爆发非季节性流感H1N1时,谷歌严重低估了这次流感的爆发量。针对这一情况,谷歌的研究人员们紧急对模型进行了修正,重新选定了与流感相关的关键词集合。然而好景不长,2014年David Lazer等学者在《Science》上发文指出,自2011年8月以来,谷歌流感趋势几乎每周都会高估流感的发病率,而到了2012-2013年,GFT估计的流感发病率已经是CDC报告值的两倍多了。

对于这种情况,谷歌的研究人员解释称,罪魁祸首在于媒体对“谷歌流感趋势”的大肆宣传导致人们的搜索行为发生了变化,例如小编在整理这个例子时也会去搜索“谷歌流感趋势”,但是小编并没有感冒。另一种解释就是谷歌自己的搜索算法,在人们输入某个病症的时候会自动推荐一些诊断结果,从而影响人们下一步的搜索和浏览行为,这无疑会高估真正的需求群体。还有一类质疑的声音是针对模型构造的,他们认为谷歌的预测模型存在系统性偏差,即忽略了某些重要的因素,例如“冬天”是流感高发期,但显然这个季节特征无法在搜索关键词中体现。

谷歌的失败告诉我们,依赖庞大的数据集所挖掘出来的结果也许能够很好的“描述”现有的数据,但如果盲目的相信数据、不深挖内在原因、没有任何理论作为支撑,这些所谓的“规律”往往是脆弱不堪的,是无法用来指导实践、指导未来的。

综合上面两个例子,小编想告诉大家,数据挖掘确实有用,但“用起来容易用好难”。用起来容易是因为模型核心部分往往一句代码就搞定,但想真正从纷繁复杂的数据中挖出点有用的东西,依靠的就不仅仅是数据了

最后,小编想总结一下数据挖掘的基本框架,主要参考Daimler Chrysler、SPSS和NCR三家公司共同开发出来的CRISP-DM方法论,有兴趣的同学可以自行百度。小编结合自己对数据挖掘的一些理解在这里简单阐述下:

第一、需求解读。

这是第一位的,重中之重,没有需求做指导,后面的一切工作都是无用功。解读需求有时很简单,比如作为一名长期吃瓜群众,“如何挑选西瓜”就是一个需求。解读需求有时很复杂,需要结合具体的业务背景,而且目标越清晰越好,因为针对不同的业务需求,需要收集的数据建立的模型也会不同。比如某位导演想拍一部“好”电影,那什么是“好”电影呢?要卖好还是卖座?要得奖还是挣钱?如果鱼和熊掌都可兼得自然最好,如果不是呢,就一定要明确最想要的是什么。如果想卖座,就可以考虑改编个大热的IP、找群小鲜肉、内容上再来点车祸、失忆、绝症的老梗;如果想卖好,就需要剧本构思精巧、演员演技在线、制作水平上乘,摄影、特效、剪辑起码不能辣眼睛。

第二、数据收集。

有了具体的业务需求做指导,下一步需要考虑的问题就是这个需求和哪些因素相关,用哪些指标可以刻画。前一段比较流行“手机挑瓜”,那我们就还以“如何挑选西瓜”为例来具体说明。



在挑选西瓜的时候,大家都想买“既便宜又好吃”的西瓜。“便宜”这个属性可以用“价格”来衡量,但是“好吃”这个属性很难刻画,有人喜欢比较甜的,有人喜欢水分大的,有人喜欢皮薄无籽的。而这些都是西瓜的内在属性,不能通过肉眼直接判断。这时,我们就需要寻找和这些内在属性相关的、可以直接刻画的指标,比如说西瓜的产地、大小、色泽,纹络、形状、敲击的声音等。

第三、数据预处理。

就像你不能要求所有的女生都像志玲姐姐一样漂亮,所有的男生都像王力宏一样帅,你也不能要求几百个G的大数据中每一个都像教科书里的范例一样干净、整齐。很多时候,你会发现它们是丑陋不堪的,是不能被直接用来建模的。这时,我们需要对丑陋不堪的数据进行各种处理,可能会去掉一些极值,可能会对缺胳膊少腿的样本进行插补,可能会对一些特征进行变换。这一步往往占据着整个数据挖掘项目30%~50%的工作量,而且常常枯燥无味,但它是通往最后成功的必经之路。

第四、模型建立与评估。

很多人认为建立模型是数据挖掘的全部,但显然这是以偏概全的,而且很多时候,建模所耗费的时间和精力是整个流程里最少的。正所谓条条大路通罗马,一个问题往往对应很多不同的模型,而我们需要做的,就是从众多模型中选出一个最优的模型。如何评价“最优”呢?这里就要结合我们的具体目标需求了。比如你根据自己构造的一套准则去挑瓜,那在你所有的购买经历中,能真正挑到一个“又便宜又好吃”的瓜的成功率就是一个衡量指标,成功率越高当然就说明这套准则越实用。



第五、模型解释与应用。

大多数数据挖掘模型都是用来辅助决策的,如何针对具体环境对模型做出合理解释,以及如何把模型得到的规律转化为实践也是一项非常重要的任务。正如我们在谷歌流感预测的例子中看到的,数据挖掘有时也会带来错误的结论,因此在结果的应用上一定要更为小心和谨慎。如果过度的依赖数据挖掘出的结果,而不考虑结果的可解释性与合理性,
往往会在将来的应用中被现实打脸。



好了,啰啰嗦嗦这么多,其实就想说明一点,在当今大数据的浪潮下,数据挖掘真的可以改变我们的生活、改变这个世界,可是路漫漫其修远兮,我们需要在这条路上不断的探索、前进、总结,才能摸透它的真谛。

此后,小编还会不定期的和大家分享数据挖掘中的一些具体方法,希望大家多多关注、多多批评指正。在整个过程中让我们一起成长。

◆  ◆  ◆  ◆  ◆  
作者简介

灰灰,现就读于北京大学光华管理学院商务统计系,徘徊在博士毕业的边缘;研究方面重点关注文本挖掘及其在营销和社交网络方面的应用,近期也开始涉猎空间统计学尤其是疾病分布方面的研究。
◆  ◆  ◆  ◆  ◆  

如果您对我们的“精品案例”和”音频微课“感兴趣,请扫描下方二维码




点击“阅读原文”进入微店查看更多!


    关注 狗熊会


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册