大数据的特征

字数:4814

大数据一词经常出现在媒体上是2007年以后的事情,但是大家对它的理解并不统一,有些甚至是误解,比如将大数据和大规模数据混为一谈。要谈大数据的问题,我们先要讲清楚什么是大数据,它都有哪些特征。

大数据最明显的特征是体量大,这一点无论是内行还是外行都认可,没有什么异议。但是仅仅有大量的数据并不一定是大数据,比如一个人基因全图谱的数据,是在上百GB(吉字节)到TB(太字节)数量级29,这个数据量不可谓不大,但是它没有太大的统计意义。再比如,如果记录下全世界70亿人的出生日期,这个数据量也不小,但是如果仅仅有这一项数据,它除了能够非常准确地给出全世界人口的年龄分布外,也得不到太多其他统计信息。事实上,要了解全世界人口的年龄分布,用传统的抽样统计方法就可以得到,因此这个大量的数据意义也不大。

大数据之所以有用,是因为它除了数据量大以外,还具有其他的特征。一些数据专家将大数据的特征概括成三个V,即大量(Vast)、多样性(Variety)和及时性(Velocity),这种说法虽然方便记忆,但并不全面准确。首先,尽管一些大数据具有及时性的特点,我们也会在后面详细介绍及时性的好处,但它并非所有大数据所必需的特征,一些数据没有及时性,一样可以被称为大数据。其次,多样性虽然是大数据的一个特征,但是含义上有歧义性,其中最重要的含义是多维度。实际上,多维度的讲法更加简明而准确。因此,在不引起混淆的情况下,我们今后把Variety解释成多维度。至于多维度的重要性和它的威力,我们不妨通过下面一个简单的例子来看一看。

2013年9月,百度发布了一个颇有意思的统计结果——《中国十大“吃货”省市排行榜》。百度没有做任何民意调查和各地饮食习惯的研究,它只是从“百度知道”的7700万条与吃有关的问题里“挖掘”出来一些结论,而这些结论看上去比任何学术研究的结论更能反映中国不同地区的饮食习惯。我们不妨看看百度给出的一些结论:

在关于“xx能吃吗”的问题中,福建、浙江、广东、四川等地的网友最经常问的是“XX虫能吃吗”,江苏、上海、北京等地的网友最经常问的是“XX的皮能不能吃”,内蒙古、新疆、西藏的网友则最关心“蘑菇能吃吗”,而宁夏网友最关心的竟然是“螃蟹能吃吗”。宁夏网友关心的事情一定让福建网友大跌眼镜,反过来也是一样,宁夏网友会惊讶于有人居然要吃虫子。

百度做的这件小事,其实反映出大数据多维度特征的重要性。百度知道的数据维度很多,它们不仅涉及食物的做法、吃法、成分、营养价值、价格、问题来源的地域和时间等显性的维度,而且还藏着很多外人不注意的隐含信息,比如提问者或回答者使用的计算机(或手机)以及浏览器。这些维度并不是明确地给出的(这一点和传统的数据库不一样),因此在外行人看来,百度知道的原始数据说得好听点是具有多样性,说得不好听是“相当杂乱”的。但恰恰是这些看上去杂乱无章的数据将原来看似无关的维度(时间、地域、食品、做法和成分等)联系了起来。经过对这些信息的挖掘、加工和整理,就得到了有意义的统计规律,比如百度公布出来的关于不同地域的人的饮食习惯。

当然,百度只公布了一些大家感兴趣的结果,只要它愿意,它可以从这些数据中得到更多有价值的统计结果。比如,它很容易得到不同年龄、性别和文化背景的人的饮食习惯(假定百度知道用户的注册信息是可靠的,即使不可靠,也可以通过其他方式获取可靠的年龄信息),不同生活习惯的人(比如正常作息的人、夜猫子们、在计算机前一坐就是几个小时的游戏玩家、经常出差的人或者不爱运动的人等)的饮食习惯等。如果再结合每个人使用的计算机(或者手机等智能设备)的品牌和型号,大抵可以了解提问者和回答者的收入情况,这样就可以知道不同收入阶层的人的饮食习惯。当然,为了不引起大家对隐私问题的担忧,百度是不会公布这些结果的。由于百度的数据收集的时间跨度比较长,通过这些数据还可以看出不同地区人饮食习惯的变化,尤其是在不同经济发展阶段饮食习惯的改变。而这些看似很简单的问题,比如饮食习惯的变化,没有百度知道的大数据,尤其是它的多维度特征,还真难得到答案。

说到这里,大家可能会有个疑问,上面这些统计似乎并不复杂,按照传统的统计方法应该也可以获得。在这里,我不是说传统的统计方法行不通,而是其成本非常高,难度相当大,比一般人想象的要大很多。我们不妨看看如果是用过去传统的统计方法得到同样准确的结果必须做哪些事情。首先,需要先设计一个非常好的问卷(并不容易),然后要从不同地区寻找具有代表性的人群进行调查(这就是盖洛普一直在做的事情),最后要半人工地处理和整理数据30。这样不仅成本高,而且如同盖洛普民调一样,很难在采样时对各种因素考虑周全。如果后来统计时发现调查问卷中还应该再加一项,对不起,补上这一项要让整个成本几乎翻一番,因为大部分人工的工作要重新来。

传统方法难度大的第二个原因是填写的问卷未必反映被调查人真实的想法。要知道大家在百度知道上提问和回答是没有压力,也没有功利目的的,有什么问题就提什么问题,知道什么答案就回答什么答案。但是在填写调查问卷时就不同了,大部分人都不想让自己表现得“非常怪”,因此是不会在答卷上写下自己有“爱吃臭豆腐”的习惯,或者有“喜欢吃虫子”的嗜好。中央电视台过去在调查收视率时就遇到这样的情况,他们发现通过用户填写的收视卡片调查出的收视率,和自动收视统计盒子得到的结果完全不同。在从收视卡得到的统计结果中,那些大牌主持人和所谓高品位的节目收视率明显地被夸大了,因为用户本能地要填一些让自己显得有面子的节目。我本人也做过类似的实验,从社交网络的数据得到的对奥巴马医疗改革的支持率(大约只有24%)比盖洛普民调的结果(41%)要低得多。

现在有了百度知道这样多维度的大数据,这些在过去看来很难处理的问题便可以迎刃而解了。

大数据的第三个重要特征,也是人们常常忽视的,就是它的全面性,或者说完备性。我们不妨再用中英文翻译的例子来说明大数据的完备性。

小明是在中国出生长大的小学生,在学校里学习了一句“早上好——Good morning”,他将这个句子的中英对应关系背了下来。因此,如果你让他翻译“早上好”这句话,他是会的,但是这并不说明他对英语有多少了解,而仅仅是因为他的脑子里有了这种对应关系。当然,如果他又学会了“你”(you)这个词,他按照自己理解中文的方式去翻译,会翻译出一种洋泾浜式的句子“Good you”,这显然翻译错了。早期计算机自动翻译的很多错误也是这样来的。那么如果我们再教小明一句英语“你好——How are you”,他又背了下来,现在小明就可以翻译两句话了。当然,小明不可能将所有中文句子到英文的翻译背下来,死记硬背学习英语的方法是所有老师都反对的。因此,小明为了将汉语的文章翻译成英语,需要先学会这两种语言,然后读中文写的文章,逐句理解它的含义之后,根据语法和语义,翻译成英语。

图2.10 死记硬背的学习方式

过去科学家们研制机器翻译系统就是这个思路。而奥科在Google做的翻译系统没有采用这种思路,而是采用类似于死记硬背的笨办法,也就是说通过数据学到了不同语言之间很长的句子成分的对应,然后直接把一种语言翻译成另一种,当然前提是,奥科使用的数据必须是比较全面地覆盖中文、英语和阿拉伯语所有的句子,然后通过机器学习,获得两种语言之间各种说法的翻译方法,也就是说具备两种语言之间翻译的完备性。奥科幸运的是,他当时是在Google工作,有条件获得完备的主要语言常见说法的数据和两种语言对应的译法,而其他研究单位没有这么完备的数据,因此奥科才能够做得比别人好。

美国媒体还报道过另一个大数据完备性的例子——预测2012年美国总统大选结果。我们在上一章提到,盖洛普博士靠成功地预测了1936年美国总统大选的结果而出名,并且从此他的公司在每次美国大选时都做预测。总的来讲,盖洛普公司的预测虽然结果正确的时候占大多数,但是也错了不少次,而且即使在它预测正确的时候,也没有一次能够正确预测美国全部50个州再加上华盛顿特区的选举结果。为什么准确预测美国各州的选举结果那么重要呢?因为美国总统的选举不像法国那样是简单的一人一票制,而是现有各州选举出该州的获胜者,这个获胜者通吃全州被分配的选票数额(比如加州是55票)31,因此准确预测各州的选票很重要。在过去,盖洛普公司做了这么多年的预测也做不到准确预测全部50+1个州的结果,因此统计学家们认为这不是盖洛普公司本事不大,而是这件事本身就办不到。美国每次大选时选举结果事先不明朗的州大约有10个左右,在那些州里,各候选人支持率民意调查的差距比标准差要小很多,因此可以讲各种民调给出的结论基本上是随机的。要随机猜对10个州的大选结果,这个概率其实不到千分之一,是非常小概率事件。

但是到了2012年,情况发生了变化,一个名叫内德·斯维尔(Nade Silver)的年轻人,利用大数据,成功地预测了全部50+1个州的选举结果。这让包括盖洛普公司在内的所有人都大吃一惊。斯维尔是怎样解决这个难题的呢?其实他的思路很简单,如果有办法在投票前了解到每一个人会投哪个候选人的票,那么准确预测每一个州的选举结果就变得可能了。于是,他在互联网上,尤其是互联网的各种社交网络上,尽可能地收集所有和美国2012年大选有关的数据,其中包括各地新闻媒体上的数据,留言簿和地方新闻中的数据,Facebook(脸谱网)和Twitter(推特)上大家的发言及其朋友的评论,以及候选人选战的数据等,然后按照州进行整理。

虽然斯维尔还做不到在大选前得到每一个投票人的想法,但是他统计的数据已经非常全面了,远不是民意调查公司所能比拟的。另一个重要的因素是,斯维尔的数据反映了选民在没有压力的情况下真实的想法,准确性很高。两点结合到一起,斯维尔获得了对选民想法的全面了解,或者说在某种程度上具有了数据的完备性,因此他能够准确预测2012年美国大选结果也就不奇怪了。

图2.11 2012年,斯维尔预测的美国大选结果(左)和实际的结果(右),红色代表共和党获胜,蓝色代表民主党获胜

当然,并非在所有时候,数据的完备性都可以获得,但是局部数据的完备性还是可能获得的,因此利用局部完备性,我们可以解决部分问题。在下一节计算机自动回答问题的例子中,我们可以看到局部的完备性也能够帮助我们。

大数据的时效性其实不是必需的,但是有了时效性可以做到很多过去做不到的事情,城市的智能交通管理便是一个例子。在智能手机和智能汽车(特斯拉等)出现之前,世界上的很多大城市虽然都有交通管理(或者控制)中心,但是它们能够得到的交通路况信息最快也有20分钟滞后,这是Google在2007年最初推出Google地图交通路况信息服务时所面临的情况。这些信息虽然以较快的方式加入Google的服务中,但用户看到时,却已经有了半小时的延时。如果没有能够跟踪足够多的人出行情况的实时信息的工具,一个城市即使部署再多的采样观察点,再频繁地报告各种交通事故和拥堵的情况,整体交通路况信息的实时性也不会比2007年有多大改进。

图2.12 过去交通路况信息发布的流程

但是,在能够定位的智能手机出现后,这种情况得到了根本的改变。由于智能手机足够普及并且大部分用户开放了他们的实时位置信息(符合大数据的完备性),使得做地图服务的公司,比如Google或者百度,有可能实时地得到任何一个人口密度较大的城市的人员流动信息,并且根据其流动的速度和所在的位置,很容易区分步行的人群和行进的汽车。

由于收集信息的公司和提供地图服务的公司是一家,因此从数据采集、数据处理,到信息发布中间的延时微乎其微,所提供的交通路况信息要及时得多。使用过Google地图服务或者百度地图服务的人,对比六七年前,都很明显地感到了其中的差别。当然,更及时的信息可以通过分析历史数据来预测。一些科研小组和公司的研发部门,已经开始利用一个城市交通状况的历史数据,结合实时数据,预测一段时间以内(比如一个小时)该城市各条道路可能出现的交通状况,并且帮助出行者规划最好的出行路线。我们在后面的章节里还会介绍大数据帮助改进城市交通的案例,并且分析大数据时效性对社会带来的影响。

图2.13 智能手机出现之后,交通路况信息发布的流程

大数据的最后一个,或许也是最重要的一个特点,通过分析它名称的英文写法就能够知道。英语里的large和big翻译成中文都是大的意思,因此很少有人关心为什么大数据使用“big data”这个英语词组,而不是“large data”。但是,在大数据被提出之前,很多通过收集和处理大量数据进行科学研究的论文,都采用large或者vast(海量)这两个英文单词,而不是big。比如我们常常可以看到论文的标题包含”large Scaled...”“Vast Data...”“Large Amount...”等词组,但是很少用Big。

那么big,large和vast到底有什么差别呢。large和vast在程度上略有差别,后者可以看成是very large的意思。而big和它们的差别在于,big更强调的是相对小的大,是抽象意义上的大,而large和vast常常用于形容体量的大小。比如”large table”常常表示一张桌子尺寸很大,而如果说”big table”其实是要表示这不是一张小桌子,真实尺寸是否很大倒不一定,但是这样的说法是要强调已经称得上大了,比较抽象。

仔细推敲英语中big data这种说法,我们不得不承认这个提法非常准确,它最重要的是传递了一种信息——大数据是一种思维方式的改变。现在的数据量相比过去大了很多,量变带来了质变,思维方式、做事情的方法就应该和以往有所不同。这其实是帮助我们理解大数据概念的一把钥匙。在有大数据之前,计算机并不擅长解决需要人类智能来解决的问题,但是今天这些问题换个思路就可以解决了,其核心就是变智能问题为数据问题。由此,全世界开始了新的一轮技术革命——智能革命。


数据创造奇迹:量变到质变变智能问题为数据问题