第一章 数据爆炸
什么是数据?
公元前431年,斯巴达向雅典宣战。修昔底德在对战争的描述中,记载了被围困于城中的忠于雅典的普拉蒂亚部队,如何翻越由斯巴达领导的伯罗奔尼撒军队所建的围墙而最终得以逃脱的过程。要做到这一点,他们需要知道城墙的高度,以便制造高度合适的梯子。伯罗奔尼撒军队所建城墙的大部分都覆盖着粗糙的灰泥卵石,但他们最终还是找到了一处砖块清晰可见的区域。接下来,大量的士兵被赋予了一项任务,就是每个人分别去计数这些裸露砖块的层数。要在远离敌人攻击的距离之外完成判断,误差难以避免。但正如修昔底德所解释的那样,考虑到计数的是众多的个体,最常出现的那个数应该是可靠的。这个最常出现的数,我们今天称之为众数,普拉蒂亚人正是使用它来计量围墙的高度。由于使用的墙砖的大小是已知的,因此适合翻越城墙所需高度的梯子也顺理成章地打造了出来。随后,数百的军人得以成功逃脱。此事可以被视为数据收集和分析最为生动的范例,也因而载入史册。但是,正如我们在本书的后续章节中将要看到的,数据的收集、存储和分析甚至比修昔底德的时代1还要早几个世纪。
早在旧石器时代晚期的棍棒、石头和骨头上,人们就发现了凹口。这些凹口被认为是计数标记,尽管学术界对此仍然存有争议。也许最著名的例子是,1950年在刚果民主共和国发现的伊山戈骨,它距今大约有两万年之久。这个有着凹口的骨头被解读为具有特殊的功用,比如用作计算器或日历,当然也有人认为,骨头上的凹口只是为了方便手握。20世纪70年代在斯威士兰发现的列朋波骨甚至更为久远,时间大概可以追溯到公元前35000年左右。这块刻有29个线条的狒狒腓骨,与今天远在纳米比亚丛林中生活的土著仍然使用的日历棒,有着惊人的相似之处。这表明它确有可能是一种用来记录数据的方式,对于他们的文明来说,这些数据至关重要。
虽然对这些凹口骨骼的解释仍然没有定论,但我们清楚地知道,人类早期有充分记录的数据使用之一,是巴比伦人在公元前3800年进行的人口普查。该人口普查系统记录了人口数量和商品,比如牛奶和蜂蜜,以便提供计算税收所需的信息。早期的埃及人也擅长使用数据,他们用象形文字把数据写在木头或莎草纸上,用来记录货物的运送情况并追踪税收。但早期的数据使用示例,绝不仅限于欧洲和非洲。印加人和他们的南美洲前辈热衷于记录税收和商业用途的数据,他们使用一种被称为“奇普”的精巧而复杂的打彩色绳结的方法,作为十进制的记账系统。这些由染成明亮色彩的棉花或骆驼毛制成的打结绳,可以追溯到公元前3000年。虽然只有不到1000个打结绳在西班牙人入侵和后续的各种毁灭性灾难中得以幸存,但它们是已知的第一批大规模数据存储系统的典范。现在有人正在开发计算机算法,试图解码“奇普”的全部含义,加深我们对其使用原理的2理解。
虽然我们可以将这些早期的计数方法设想并描述为使用数据,但英文词data(数据)实际上是源于拉丁语的复数词,其单数形式为datum。今天,datum已经很少使用,“数据”的单数和复数都用data表示。《牛津英语词典》将该术语的第一个使用者,归于17世纪的英国神职人员亨利·哈蒙德。他在1648年出版的一本有争议的宗教小册子中使用了“数据”这个词。在此书中,哈蒙德在神学意义上使用了“数据堆”这一短语,来指称无可争辩的宗教真理。但是,尽管该出版物在英语中首次使用了“数据”这一术语,但它与现在表示“一个有意义的事实和数值总体”并不是同一个概念。我们现在所理解的“数据”,源于18世纪由普里斯特利、牛顿和拉瓦锡等知识巨人引领的科学革命。到1809年,在早期数学家的研究基础上,高斯和拉普拉斯为现代统计方法奠定了坚实的数学基础。
在更实际的层面上,当属1854年伦敦宽街暴发霍乱疫情时,针对该疫情收集的大量数据,它使得约翰·斯诺医生得以绘制了疫情图。数据和疫情图证明他先前的假设是正确的,即霍乱通过污染的水源传播,而不是一直以来被广为认同的空气传播。通过收集当地居民的数据,他确定患病的人都使用了相同的公共水泵。接下来,他说服地方当局关闭了该饮水源。关闭饮水源并不难,他们拆下了水泵的手柄,任务也就完成了。斯诺随后制作了一张疫情图,该图现在很出名,它清楚显示患病者以宽街的饮水泵为中心,成集群状态分布。斯诺继续在该领域潜3心钻研,收集和分析数据,并成为著名的流行病学家。
约翰·斯诺之后,流行病学家和社会学家进一步发现,人口统计数据对于研究弥足珍贵。如今,在许多国家进行的人口普查,就是非常有价值的信息来源。例如,出生率和死亡率的数据,各种疾病的发生频率,以及收入和犯罪相关联的统计数据,现在都会有所收集,而在19世纪之前这些都是空白。人口普查在大多数国家每十年进行一次。由于收集到的数据越来越多,最终导致手工记录或以前使用的简单计数器,已经难以应对实际的海量数据登录。在为美国人口普查局工作期间,赫尔曼·何乐礼就遇到了如何应对这些不断增长的人口普查数据的挑战。
到1870年美国开展人口普查时,所依靠的是一种简单的计数器,但这种机器效率有限,已无法满足人口普查局的要求。1890年的人口普查有了突破,这完全得益于赫尔曼·何乐礼发明的用于存储和处理数据的打孔卡制表机。通常情况下,处理美国人口普查数据需要八年左右的时间,但使用这项新发明后,时间缩短到了一年。何乐礼的机器彻底改变了世界各国人口普查数据的分析处理,其中包括德国、俄罗斯、挪威和古巴。
何乐礼随后将他的机器卖给了一家后来称为国际商用机器(IBM)的公司,该公司开发并生产了一系列广泛使用的打孔卡机。1969年,美国国家标准协会制定了以何乐礼命名的打孔卡代码(或称何乐礼卡代码)标准,以对打孔卡机的先驱何乐礼表示敬意。
数字时代的数据
在计算机广泛使用之前,人口普查、科学实验或精心设计的抽样调查和调查问卷的数据都记录在纸上——这个过程费时且4昂贵。数据收集只有在研究人员确定他们想要对实验或调查对象询问哪些问题后才能进行,收集到的这些高度结构化的数据按照有序的行和列转录到纸张上,然后通过传统的统计分析方法进行检验。到20世纪上半叶,有些数据开始被存储到计算机里,这有助于缓解部分劳动密集型工作的压力。但直到1989年万维网(或网络)的推出及其快速发展,以电子方式生成、收集、存储和分析数据才变得越来越可行。面对网络上可访问的海量数据,问题也接踵而来,它们需要及时得到处理。首先,让我们看看数据的不同类型。
我们从网络上获得的数据可以分为结构化数据、非结构化数据或半结构化数据。
手工编写并保存在笔记本或文件柜中的结构化数据,现在以电子的形式存储在电子表格或数据库中。电子表格样式的数据表由行和列组成,行记录的是数据,列对应的是字段(比如名称、地址和年龄)。当我们在线订购商品时,我们实际上也正在贡献结构化数据。精心构建和制表的数据相对容易管理,并且易于进行统计分析,实际上直到最近,统计分析方法也只能应用于结构化数据。
相比之下,像照片、视频、推文和文档这些非结构化数据就不太容易归类。一旦万维网的使用变得普遍,我们就会发现,很多这样的潜在信息仍然无法访问,因为它们缺乏现有分析技术所需的结构。但是,如果通过识别关键性特征,那么初看起来为5非结构化的数据也可能不是完全没有结构。例如,电子邮件虽然正文的数据是非结构化的,但标题中包含了结构化元数据,因此它可以归类为半结构化数据。元数据标签本质上是描述性引用,可用于向非结构化数据添加可识别的结构化信息。给网站上的图像添加单词标签,它就可以被识别并且更易于搜索。在社交网站上也可以找到半结构化数据,这些网站使用主题标签,以便识别特定主题的消息(非结构化数据)。处理非结构化数据具有挑战性:由于无法将其存储在传统数据库或电子表格中,因此必须开发特殊工具来提取有用信息。在后面的章节中,我们会谈到非结构化数据的存储方式。
本章的题名“数据爆炸”一词,指的是逐渐产生的越来越多的结构化、非结构化和半结构化数据。接下来,我们将梳理产生这些数据的各种不同来源。
大数据简介
在本书的写作过程中,我在网上检索相关资料,体验了被网上可用的数据所淹没的感觉——来自网站、科学期刊和电子教科书的数据可谓海量。根据IBM公司最近进行的一项全球范围内的调查,每天产生的数据大约为2.5Eb。一个Eb是1018(1后面跟18个0)字节(或100万Tb;请参阅本书结尾的“字节大小量表”)。在写作本书时,一台高配的笔记本电脑的硬盘通常会有1Tb或2Tb的存储容量。最初,“大数据”一词仅指数字时代产生的大量数据。这些海量数据(结构化和非结构化数据)包6括电子邮件、普通网站和社交网站生成的所有网络数据。
世界上大约80%的数据是以文本、照片和图像等非结构化数据的形式存在,因此不适合传统的结构化数据分析方法。“大数据”现在不仅用于指代以电子方式生成和存储的数据总体,还用于指数据量大和复杂度高的特定数据集。为了从这些数据集中提取有用的信息,需要新的算法技术。这些大数据集来源差异很大,因此有必要让我们先详细了解一下主要的数据源以及它们生成的数据。
搜索引擎数据
到2015年,谷歌是全球最受欢迎的搜索引擎,微软的必应和雅虎搜索分居第二位和第三位。从谷歌可以查阅的最近一年数据来看,也就是2012年的公开数据,仅谷歌每天就有超过35亿次搜索。
在搜索引擎中输入关键词能生成与之最为相关的网站列表,同时也会收集到大量数据。网站跟踪继续生成大量数据。作为试验,我用“边境牧羊犬”为关键词进行了检索,并点击返回的最顶层网站。通过一些基本的追踪软件,我发现仅通过点击这一个网站就可以生成大约67个第三方站点的链接。商业企业之间通过此类方式共享信息,以达到收集网站访问者兴趣爱好的目的。
每次我们使用搜索引擎时,都会创建日志,它记录我们访问过的推荐网站。这些日志包含诸多有用信息,比如查询的术语、所用设备的IP地址、提交查询的时间、我们在各个网站停留的时长,以及我们访问它们的顺序——所有这些都以匿名的方式进行。此外,点击流日志记录了我们访问网站时所选择的路径,以7及我们在网站内的具体导航。当我们在网上冲浪时,我们所做的每次点击都记录在某个地方以备将来使用。企业可以使用获取的软件来收集他们自家网站生成的点击流数据,这也是一种有价值的营销工具。通过提供有关系统使用情况的数据,日志有助于侦测身份盗用等恶意行为。日志还可用于评估在线广告的有效性,通过计算网站访问者点击广告的次数,广告的效用一目了然。
通过启用客户身份识别,“网络饼干”(Cookie)(一个小文本文件,通常由网站标识符和用户标识符组成)可用于个性化你的上网体验。当你首次访问所选网站时,“网络饼干”将被发送到你的计算机中,除非你已经禁用了它。以后每次你访问该网站时,“网络饼干”都会向网站发送一条消息,并借此跟踪你的访问。正如我们将在第六章中要看到的,“网络饼干”通常用于记录点击流数据,跟踪你的偏好,或将你的名字添加到定向广告中。
社交网站也会产生大量数据,脸书(Facebook)和推特(Twitter)位居榜首。到2016年年中,脸书平均每月有17.1亿个活跃用户。所有用户都在生成数据,仅日志数据每天就能达到大约1.5Pb(或1000Tb)。视频共享网站优兔(YouTube)创建于2005年,目前广受欢迎,影响深远。在近期的新闻发布会上,优兔声称其全球用户数超过了10亿。搜索引擎和社交网站产生的有价值数据可用于其他许多领域,比如健康问题的处理。
医疗数据
如果我们看看医疗保健,就会发现一个涉及人口比例越来越大的被电子化的领域。电子健康记录逐渐成为医院和手术的8标配,其主要目的是便于与其他医院和医生共享患者的数据,从而提供更好的医疗保健服务。通过可穿戴或可植入传感器收集的个人数据正日益增加。特别是为了健康监测,我们很多人都在使用复杂程度各异的个人健身追踪器,它们输出前所未有的新型数据。现在可以通过收集血压、脉搏和体温的实时数据,来远程监控患者的健康状况,从而达到降低医疗成本并提高生活质量的潜在目的。这些远程监控设备正变得越来越复杂,除了测量基本生命体征参数之外,睡眠跟踪和动脉血氧饱和度也成了测量的对象。
有一些公司通过激励措施来吸引员工使用可穿戴健身设备,公司设定某些具体目标,比如减肥或每天走多少步路。作为免费使用设备的条件,员工须同意与雇主共享数据。这似乎是合理的,但不可避免地要涉及个人隐私。此外,选择加入此类计划的员工很可能会承受额外的心理压力。
其他形式的员工监控也正变得越来越频繁,例如监控员工在公司提供的计算机和智能手机上的所有活动。使用自定义软件,此类监控可以包括从监视访问了哪些网站到记录键盘输入,以及检查计算机是否用于私人目的(如访问社交网站)。在大规模数据泄露的时代,安全性越来越受到关注,因此必须保护企业数据。监控电子邮件和跟踪访问的网站,只是减少敏感资料被盗的两种常用方法。9
如前文所述,个人健康数据可以来自传感器,例如健身追踪器或健康监测设备。然而,从传感器收集的大部分数据都以高度专业化的医疗为目的。伴随着对各物种开展的基因研究和基因组测序,产生了一批当今规模最为宏大的数据库。脱氧核糖核酸分子(DNA)以保存生物体遗传信息而闻名于世;1953年,詹姆斯·沃森和弗朗西斯·克里克首次将其描述为双螺旋结构。一个家喻户晓的基因研究项目是近年来的国际人类基因组计划,它的目标是确定人类DNA的30亿个碱基对的序列或确切顺序。这些数据最终会帮助研究团队进行基因疾病的探索。
实时数据
有些数据被实时收集、处理并使用。计算机处理能力的提高,惠及的不仅是数据处理,同时也大幅提升了数据生产能力。
有时候,系统的响应时间至关重要,数据必须要得到及时处理。例如,全球定位系统(GPS)使用卫星系统扫描地球并发回大量实时数据。安装在你的汽车或内置在智能手机中的GPS接收设备,需要实时处理这些卫星信号才能计算你的位置、时间和速度。(“智能”表示某个物品,这里指的是手机,具有访问互联网的功能,并且能够提供可以链接在一起的多种服务或应用。)
该技术现在用于无人驾驶或自动驾驶车辆的开发。这样的车辆已经在工厂和农场等封闭的专门场所使用,一些大品牌汽车制造企业也在开发无人驾驶车辆,包括沃尔沃、特斯拉和日产10等。相关的传感器和计算机程序必须实时处理数据,以便将车辆可靠地导航到目的地,并根据道路实况控制车辆的移动轨迹。这需要事先创建待行进路线的三维地图,因为传感器不能应对没有地图的路线。雷达传感器用于监控其他车流,并将数据发回控制汽车的外部中央执行计算机。传感器必须得到有效编程以探测不同的形状,并区分诸如跑进公路的孩子和风吹起的报纸这样的不同物体,或者甄别交通事故发生后的应急交通管制。然而,到目前为止,自动驾驶汽车还没有能力应对由瞬息万变的环境所带来的各种问题。
自动驾驶汽车首次致命碰撞事故发生在2016年。当时,驾驶员和自动驾驶仪都没有对切入汽车行进路线的车辆做出反应,也就是说没有任何制动的操作。自动驾驶汽车的制造商特斯拉在2016年6月的新闻稿中说,“引发事故的情况极为罕见”。自动驾驶系统会提醒驾驶员要始终将手放在方向盘上,并且还会检查他们是否在这样做。特斯拉表示,这是他们在1.3亿英里自动驾驶中发生的第一起死亡事故,而相比之下,美国每9400万英里的常规驾驶(非自动驾驶)就会造成一人死亡。
据估计,每辆自动驾驶汽车每天平均生成30Tb的数据,其中大部分数据必须立即处理。一个被称为流计算的新研究领域,绕过了传统的统计和数据处理方法,以期能提供处理这一特殊大数据的解决方案。
天文数据
2014年4月,国际数据公司(IDC)的一份报告估计,到2020年,数字世界将达到44万亿Gb(1000Mb等于1Gb),数据总量11是2013年的十倍。天文望远镜所产生的数据与日俱增,例如位于智利的超大光学望远镜由四个望远镜组成,每晚都产生大量的数据,单个望远镜每晚所产生的数据就高达15Tb。该望远镜在大型天气调查项目中起着引领的作用,它通过不停地扫描夜空制作和更新夜空图;该项目为期十年,产生的数据总量估计能达到60Pb(250字节)。
在数据生成方面数量更大的是,建在澳大利亚和南非的平方公里阵列探路者(SKAP)射电望远镜。[1]该望远镜预计于2018年开始运行。第一阶段它每秒将产生160Tb的原始数据,随着建设进程的推进,产生的数据还会进一步的增加。当然,并非所有这些数据都会被存储,但即便如此,仍需要世界各地的超级计算机来分析剩余的数据。
数据到底有何用途?
如今我们的日常活动也会被收集并成为电子化的数据,想避免个人数据被收集几乎已经是不可能的事。超市收银机记录我们购买的商品的数据;购买机票时,航空公司收集我们旅行安排的信息;银行收集我们的财务数据。
大数据广泛应用于商业和医学,并在法律、社会学、市场营销、公共卫生和自然科学的所有领域得到运用。如果我们能够开发合适的数据挖掘方法,那么所有形式的数据都有可能提供大量有用的信息。融合传统统计学和计算机科学的新技术,使得分析大量数据变得越来越可行。统计学家和计算机科学家开发的这些技术和算法,可用以搜索数据模式。梳理出关键的模式,是大数据分析成功与否的关键。数字时代带来的变化大大12改变了数据收集、存储和分析的方式。得益于大数据革命,我们才有了智能汽车和家庭监控。
以电子方式收集数据的能力,催生了令人兴奋的数据科学,也促成了统计学和计算机科学的融合。大量的数据得到有效分析,从而在跨学科应用领域产生了新的见解,获得了新的知识。处理大数据的最终目的是提取有用的信息。例如,商业决策越来越依靠从大数据中分析所得的信息,并且期望值很高。但是,目前还有一些大难题亟待解决,尤其是缺乏训练有素的数据科学家,只有他们才能有效地开发和管理那些提取有用信息的系统。
通过使用源自统计学、计算机科学和人工智能的新方法,人们正在设计新的算法,有望推动科学的进步和产生新的科学见解。例如,尽管无法准确预测地震发生的时间和地点,但越来越多的机构正在使用卫星和地面传感器收集的数据来监测地震活动。其目的是想大致确定,从远期来看,可能会发生大地震的地方。美国地质调查局(USGS)是地震研究领域的主要参与者。该机构2016年预测:“加利福尼亚州北部地区未来三十年发生里氏7级地震的概率为76%。”诸如此类的概率评估有助于将资源集中于重要事项,比如确保建筑物能够更好地抵御地震并实施灾害管理计划等。来自不同国家和地区的数家公司,正在使用大数据来改进地震的预测方法,这些方法在大数据出现之前是不可想象的。现在我们有必要来看一下大数据的非凡之处。13