一、大数据没那么神秘
最近一年来谈大数据的很火,到处都在说大数据,各种的以大数据为名头的会议、活动也比比皆是,你方唱罢我登台,好不热闹。
有网友问我,好多科技公司言必称自己是大数据,实际情况呢?我回答:什么样的数据叫大,是G级还是T级、E级、Z级,乃至B级?这个真不好定义,既然无法定义,那么反复强调自己的大数据,未免滑稽。据我的观察,在必称自己是大数据的公司中,很多甚至连T级都达不到,我曾开玩笑说过,一块硬盘可以打包的数据这叫硬盘公司,对应一个皮包可以装载公司一切的皮包公司。
那么所谓的大数据是什么呢?我曾经这样批判过所谓的大数据:云计算忽悠过了,大数据上了。于是全世界都是大数据了,然后领导开会,找机会拨款,又可以捞了。本来就一数据仓库与数据挖掘,看看1991年定义:Data Warehouse是一个面向主题、集成的、反映历史变化的数据集合,用于支持管理决策。跟所谓云一样,老掉牙的技术,活生生包装成新潮。所谓数据仓库,并没有数据量和范围的限制。广义的基于数据仓库的决策支持系统由三个部件组成:数据仓库技术,联机分析处理技术和数据挖掘技术,目的就是为企业管理好这些海量数据,进一步发掘其内在的价值。这跟所谓大数据概念有何区别?
很多时候,很多人提到大数据,是用来唬人的,展现自己所谓的高深莫测。想想吧,大数据啊,普通人一辈子都接触不到啊,他居然能轻松自如呢,牛人啊、大神啊!
很多人都在宣传,所谓大数据给相关公司带来业绩上翻天覆地的变化,而我认为,如果不能很好地做数据挖掘的话,大数据不但不能能给相关公司带来业绩上的任何变化,反而还会因为大量冗余数据给公司运维带来麻烦。数据只是死的,如果你不能从中找出有价值的内容,再“大”也没意义。其实数据无论大小,如果能够很好地做数据挖掘,带来有意思的知识发现,都有意义。
所以说,我给大家的定义就是,大数据确实有,但是并不是那么神秘,只是数量级别不同而已。数据是体现现实的,数据挖掘也是给现实找方法的,所以,扯数据大小,除了数据库管理员,真没啥意思!
二、数据是会说话的
接下来,我们说说数据挖掘。很多人会问,数据挖掘能够做什么?
有一个很多数据挖掘书籍都会提到的经典案例:
"尿布与啤酒"的故事。在一家超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:"跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在"尿布与啤酒"背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。
看到没,这就是数据挖掘,从常人的知识外找到线索。通俗说,数据挖掘可以做到以下几点:
1、 找到没有意识到的问题
2、 找到未来发展的趋势
3、 找到过去存在的问题
4、 把定性的问题定量化
5、 数据对象关联的规则问题
这五块能够产生的效应,我就不用废话了吧?
当然还有能挖出其他一些隐藏的资料。比如最近我们做的一项全网数据挖掘,就是通过对新浪、阿里巴巴、淘宝等十余个网站做关联数据分析,整理出了近3000万个微信账号和手机号码的对应数据包出来了。
这里顺便说到我们自己的数据挖掘,我们的数据挖掘最初其实是从找名人八卦来的,很多人只知道我是去年王石等地产三剑客事件的策划者,可是他们没想到的是,我这边是通过对新浪微博的数据分析中知道王石和田朴珺关系密切,然后通过其他方式确定的。我们曾经从新浪微博的数据分析中知道了一堆名人和他们关系暧昧的女粉丝(姑且这么叫)的消息,比如某某大V喜欢情趣内衣的事情也知道!
在实践中,数据挖掘有两类:
第一类是面向宏观规律的数据挖掘,所谓面向宏观规律,就是从一堆数据中,通过一定的数据分析方法,得出一个综合性的知识结论。举例来说,一个网站的宏观数据等。比如淘宝可以知道哪些款式是所谓的爆款等
第二类是面向微观规律的数据挖掘,所谓面向微观规律,就是从一堆数据中,通过一定的数学方法,找出单个或者部分个体的有关知识结论。比如单个用户的未来发展等。比如可以知道某个用户可能的购买商品等。
就目前的学术界而言,面向微观的数据挖掘理论,基本上是空白。面向宏观规律的,更多只需要凭的统计学知识就可以解决。
三、数据挖掘的流程
这块其实很多地方都介绍过,也不废话了,我就引用下:
数据挖掘完整的步骤如下:
① 理解数据和数据的来源(understanding)。
② 获取相关知识与技术(acquisition)。
③ 整合与检查数据(integration and checking)。
④ 去除错误或不一致的数据(data cleaning)。
⑤ 建立模型和假设(model and hypothesis development)。
⑥ 实际数据挖掘工作(data mining)。
⑦ 测试和验证挖掘结果(testing and verification)。
⑧ 解释和应用(interpretation and use)。
这是网上搜索的知识百科。而我有我自己的看法,基本方法一致,但是还是有些区别。
第一步、领域专家讨论、预建模。
第二步、小范围采集、分析
第三步、领域专家讨论、修正模型
第四步、大范围采集、分析
第五步、得出结果
第六步、验证
第七步、应用
我的步骤跟常见步骤相比,就是突出了领域专家。
数据挖掘重点和难点是从现实中抽象出数学模型,数学模型包括有哪些参数,目标值,计算方法等,一堆数据,盲目去做统计分析,得出一个模型并不难,难的是有多大意义。从现实中抽象出数学模型是难点,也是必须的,做法是先让领域专家对相关领域作出基本的人为模型,然后做小范围分析,对比结果和领域常态特征再来调整,多次这样不断扩大样本的调整,才能建立真正有意义的模型。
在没有模型的前提下去分析,并以此为模型,那无异于盲人摸象,然后拼凑一个东西出来,一堆数据,盲目去做统计分析,得出一个模型并不难,难的是这个模型有多大意义。从现实中抽象出数学模型是难点,但是也是必须的,这个的做法是先让领域专家设定人为模型,然后做小范围分析,再来调整
当前业界数据挖掘最大的问题,就是过分看重数学处理,这种观点是基于一个基础:只要数据间有联系,通过统计学就可以看到变化,所以数学可以解决一切。产生这种的原因,在于早期的数据挖掘来源是统计分析,面对大量的数据,作出统计报表,然后去人为理解,这就是最原始的数据分析。也是因为这个,导致现在数学工具是越用越复杂,其实绝大多数数据挖掘,只需要基本的统计学知识而已。
数据挖掘是把现实的事物变化,抽象提取为数据,然后用数据来处理。从理论上说,如果能够掌握所有要素,纯粹数学的分析是可以找出这些数据间的关系的。但是掌握所有数据,在复杂问题的数据挖掘实践中,特别是社会化问题的分析中,只能是异想天开。因此,在复杂问题条件下,要尽可能依赖的关键所谓领域专家。
一个人看到一组数据,会对这组数据作出解读,这就是最原始、最本能的数据分析。但是我们也会发现,同样一组数据,不同人去看,会产生不同的解读。而在采集数据的时候,甚至也会有类似的变化,比如同样的对象,不同人去调查采集,会产生不同的结果。实际上,数据分析过程中的数学部分,是绝对理性的。但是产生这样的问题,关键在于背景专家身上。
所谓的领域专家,就是这些数据所在的领域的专业人士。因为不同专业差异化很大,单纯的数学和计算机背景的数据分析人员是无法处理、甚至是完全无法理解不同领域的数据的。一个领域专家,影响他的判断包括他的性格是否偏激、他对所涉及数据是否有利害关系。经过我们的总结,一名偏激的领域专家,更容易固执坚持自己的看法,在数据建模时候,有意或者无意去弱化不喜欢的数据、强化自己认可的数据。而利害关系更是可以强化这点。
四、核心之一:领域专家建模
说到领域专家,不得不说关联规则挖掘问题。
按定义:所谓数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。
这个用途很大,西方很多银行就有这样的关联习惯。如果数据库中显示,某个高信用限额的客户更换了地址,这个客户很有可能新近购买了一栋更大的住宅,因此会有可能需要更高信用限额,更高端的新信用卡,或者需要一个住房改善贷款,这些产品都可以通过信用卡账单邮寄给客户。当客户打电话咨询的时候,数据库可以有力地帮助电话销售代表。销售代表的电脑屏幕上可以显示出客户的特点,同时也可以显示出顾客会对什么产品感兴趣。
关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。实际上,如果引入合适的领域专家,就能在这块极大地节省关系。普通人、数据挖掘技术人员不知道的关联关系,领域专家可以做很好地弥补,明明问几个专业人士就能明白的事情,你非要自己在那埋头计算,不是书呆子就是白痴吧?不错,即使是领域专家也未必百分百弄清楚一些细节,但是他们可以极大地缩小这个关联规则的范围。如前面的沃尔玛尿布问题,如果有社会访问数据,把消费者的家庭构成和消费习惯做了分析,再结合对比,不需要这种数据挖掘也能发现这个尿布啤酒问题。
一些电子商务购物网站使用关联规则中规则进行挖掘,然后设置用户有意要一起购买的捆绑包。也有一些购物网站使用它们设置相应的交叉销售,也就是购买某种商品的顾客会看到相关的另外一种商品的广告。淘宝的一个笑话就是,考虑了关联,但是没有考虑上下前后的关联,浏览骨灰盒的,你可以推荐墓地,但是别天天推荐骨灰盒,没那家天天需要这玩意。
所谓关联规则,其实就是数据模型之前就必须最大限度去考虑的。
有网友说:比如说我会买2000块的衬衣,也会买9块钱包邮的背心。会买500多的蛋糕,也会买20块的点心。给我推荐什么价格带的商品合适呢?都不合适。再牛的算法工程师也算不准哥的心情。这就是对购买者分析过少,缺乏对其购买特性做数据挖掘,买2000块的衬衣的,绝不会轻易买9块钱包邮的背心,这里面有规律的。
我们在实际中发现,数据挖掘中的建模有单模和多模,这个是那些纯理论的数据分析研究人员,目前极少留意到的。所谓单模和多模,就是在一个数据挖掘系统里面,有一个模型或者多个模型。有研究者试图通过多表来做分析。但是这个不是简单多表就可以解决的问题。
举例子来说,以对淘宝做数据分析为例,至少要设定两个数据模型。
第一个模型是用户模型,他描述的是用户特征,描述的包括经济学属性和社会学(心理学)属性,经济学属性包括用户的购买能力、购买行为等。社会学属性包括购买意图、兴趣爱好、甚至身高体重等。你要从他的购买颜色、商品类型等,来分析他的这些特点。
第二个模型是商品模型,他描述的商品特征,包括商品的经济学属性如价格、尺寸、颜色等,还有就是社会学属性比如“上下左右”商品,这个上下左右,也是我个人对数据挖掘中体会到的。所谓的上下,就是这个商品他的使用链上的配套用品,比如对于蒸笼来说,买了是为了蒸东西,那么速冻包子等就是它的下游用品,它的上游商品是插座等,因为你不事先准备好电,他没法去用。至于左右就是这个商品的同类产品,比如蒸笼的同类商品即电饭煲、炒菜锅等等。
如果你只是简单多表,而不是先给用户做出模型,分析出用户的特征,多表在淘宝上会是非常麻烦的。如果换成新浪微博,你要评估网民发微博的习惯,还要考虑到用户间的互动。多表就只能歇菜了。
五、核心之二:数据采集
有一则这样的新闻:看到感兴趣的就点“赞”已成为微博、微信、网站流行的互动方式。而当你点“赞”时,可能已经将自己的隐私暴露了。越来越多研究者通过网络检索词和社交网站信息研究人类活动,基于"赞一个"的数据可作出非常精密而个体化的预测,精度堪比个人测试。"点赞党"小心咯!(扬子晚报)
这里说的就是网民在网上的一举一动,都成为数据采集的对象。如何采集到对应数据?采集数据的方式很多种,有直接从现成的数据库中检索数据。也有甚至只能人工去一个个记录的数据。
相信很多人在网上看到过一些叫卖所谓“阿里巴巴老板手机号”之类数据的,这种数据就是通过WEB访问的技术手段,从阿里巴巴等网站上把企业联系人的信息扒下来的。因为阿里巴巴网站上的每家企业联系的信息都是可以让别人访问的。于是通过这种访问,用技术手段把这些具有联系人、公司名、电话、手机号码等采集下来,这种可以找到数百万乃至上千万用户信息数据就是很轻松的事情。不过这种只能叫采集。
我们最近做了一件事,即通过采集分析,找出了数千万微信和手机号的对应关系。有人说,你这是不是黑客去腾讯数据库扒的,我说如果是黑客,那就不是几千万而是几亿资料了。
这里简单介绍一个方法,这种就可以获取一部分这种对应关系。先通过阿里巴巴等网站找出一大批用户的公司名、职位、姓名、手机号等,然后通过新浪微博采集到一大批认证用户在微博上分享微信号。把两者的姓名、单位对比,显然我们就能够找出一批微信和手机号的对应关系。这种就是采集加上简单的分析,大致上可以获得数万个对应关系。当然还有其他更加复杂的方法,这里就不一一细说了。
特别强调的是,这种采集也是合法的,因为我采集的是你网友自己公开发布的信息,而且只要我不买卖你个人的信息,法律上就没问题,你总不能说我从阿里巴巴等上面抄一堆联系人信息有啥问题吧?
大家可以看看我们对新浪微博的采集系统。我们的采集系统是分布式的,这样是为了防范被网站屏蔽。我们使用了100个IP节点通过web向新浪微博请求数据,每一个IP节点可以使用3-5个微博账号,每个账号可以关注约2000名新浪用户,也就是说这100个IP节点上有300-500个微博账号,通过他们实时关注了60万-100万新浪用户。这60-100万新浪用户随时发布的微博,都会被我们的系统采集,写入本地数据库。正在建设的分布式数据采集系统,完工后可以24小时监控1000万新浪微博账号,然后通过自己开发的网民行为模型对各种状态作出数据分析。通过对微博ID的微博行为特征分析,可以扒出这个人的生存状态、日常爱好、消费习惯、朋友关系等,甚至还有他真正的自我。
六、记住,大数据其实不是那么数学和计算机
当下一提到数据挖掘等,很多人就提到算法了、统计了等等,其实凡是这样想的,都没理解真谛。我常常对我手下的技术人员说,统计学是一名形象学科,每一个数据都代表了现实的一种状态。不要把数理统计搞成了纯粹的抽象数学。我个人一直认为数据挖掘其实是个社会学问题,而不是统计学的。国内目前的研究过多注意在数学方法上。如果没有社会学方面的支持,看到的统计结果只是一堆数据。一个有行业经验的分析师,能够从同样的数据结果中看到更多的东西,也能对同一堆数据设计出更多的数学分析过程。
新浪微博网友马继华这样说过:应该说,现在越来越质疑被吹得天花乱坠的阿里巴巴数据分析能力,特别是对于用户消费的推荐,跟踪了几个月,没有发现一个推荐是对的。那些垃圾推荐要不就是让你后悔,就是让你好笑。这样的推荐还不如没有,看来任何数据分析神话都是靠不住的,还是相信自己的脑袋吧。
微博上有网友发了条微博:“自从上周准备在淘宝买一只电饭煲搜了一会儿,这些天每天打开微博就是各种各样的锅锅煲煲,拜托了,请问谁家会连着买一只以上的电饭煲来?不过想起有个手贱的朋友说过,一次出于好奇曾经在淘宝搜过有没有卖骨灰盒的,结果。。。想想这个我觉得还挺庆幸的。”这里的骨灰盒是网上的一则真实的笑话,说的是有个网友在淘宝上搜索了下骨灰盒,然后他访问新浪微博的时候,右侧的淘宝广告位天天给他推荐骨灰盒。
我曾经发微博说过淘宝的数据分析是理科的:“很多用户反应,在淘宝上买了T恤,然后一登录微博,整天看到都是T恤广告。用户买了蒸锅,结果天天推蒸锅。这种说明淘宝只做了简单的数据同类推送,而忽略了非技术层面的关系,比如买过T恤的你应该推裤子,买蒸锅的应该推荐速冻包子,买了奶粉的你应该推荐尿不湿。”
实际上中国的数据挖掘,往往还会遇到一个汉语语义问题,比如市面上的微博监控分析软件,要么只是通过关键词去检索,然后做出傻瓜化的回复。典型的例子就是几个月前,新浪上李开复的微博闹出个笑话,有网友发现,只要在他的博下留言中含有问好的字样,李开复的微博就自动设置回复感谢你三个字。结果一堆恶作剧的网友把李开复的十八代祖宗都问候了过遍,几个小时后,李开复这边才关闭掉这个自动回复。
现在很多人谈大数据,谈数据挖掘,却忽略数据挖掘不过是知识发现体系的一个组成部分,一个良好的知识发现体系,必须先建立一个完善的知识发现模型,目前国内数据分析本身就走入了一个误区,重数据,轻建模;重技术,轻人文。一个好的数据分析体系,首先得有一个良好的理论模型,用它去指导分析,然后通过数据不断修正它,任何把数据分析当数学和代码来搞的最后肯定闹笑话。
看了一些数据分析软件,感觉这些提供方都不明白什么是数据挖掘。他们以为提供套能够查询数据库、把查询结果图表化,就可以了。我要说,您这是统计分析软件。数据挖掘是无法淡单独提出来做啥用的,它只是在领域专家背景下知识发现过程中的技术,这个世界没有一款能跨行业、跨事务的通用数据分析软件。
七、可以的应用
有人问,这种数据挖掘如何用
简单说吧,用途非常广,大多数行业、所有企业、所有政府、事业单位都可以用的上。试举几例:
电子商务应用:通过数据挖掘,可以建立起买家档案,根据买家的喜好等,向他们推荐最符合他们需求的商品。
餐馆应用:如果一个餐馆建立用户数据库,它可以采集每天客人来就餐的情况,对食物的要求。可以做到调整餐馆的口味等,甚至可以发掘客人可能喜欢的菜品。
数据挖掘很好,但是也不要神话,比如数据挖掘不是黑客,不能去帮你查IP之类信息,数据分析不是万能的,可以帮你分析出一个微博主的个人性格等特征,甚至知道他可能会购买什么东西,但是我们很难知道她的三围之类信息,当然淘宝是知道的!也有有网友问,数据挖掘在期货价格投机方面的应用。这个我一直想做,但是在建模计算时候,无论我如何用哪种方法和理论,结果都出现了发散。后来我找行业人士仔细做了定性分析,得出结论就是可以做宏观的期货发展评估,但是无法对投机作出有效级别的分析,道理很简单,投机的人太多了,而且大多数你不知道他什么样的人。
我特别要强调,大家都在谈“大”数据的时候,就会忽略了“小”数据,不是只有大数据可以挖掘,小数据一样可以。宏观数据挖掘:可以判断大的趋势,微观数据挖掘:可以判断局部甚至个体的特征。
网友问:我关心大数据的产业链,如何拥有“大”数据,大数据下的人才知识结构。
回答:有需求才有“大”数据,没需求哪怕就几条数据你都嫌多。至于人才结构,其实分开看,如果是编程和统计运算的话,在大学计算机专业基础上看看几本数据库优化的书籍、再加几本统计学方面数据就足够了。那些所谓数据挖掘的书籍,你可以当参考书阅读下。至于领域专家这块范围就大了,除了对应的行业专业知识外,然后就是要有较强的逻辑分析能力,特别是有很理性不偏激的习惯,这点在带社会学问题的数据挖掘中尤为重要。
CIO之家 www.ciozj.com 公众号:imciow