本文由 PieCloudDB Database 社区成员美国南加州大学陈振宇参与贡献
现如今,当人们被问到什么学科最火爆,就业率最高时,“数据科学”想必一定是其中的一个答案。《哈佛商业评论》曾一度将“数据科学家”这一职业评为21世纪最性感的工作 ("Data Scientist: The sexiest job of the 21st century” - Harvard Business Review)。近年来,随着可用的数据量日益激增,数据挖掘和分析给企业带来了巨大的经济效应,数据科学领域也得到了蓬勃的发展。各行各业掀起了对数据科学家的招聘浪潮,越来越多的大学设立了数据科学相关学科来满足社会需求。在数据科学成立之前,数据研究一直都是学术统计学领域的工作,通过数据建模来对某种现象进行推论。随着数据的发展,越来越多的人发现数据本身的价值,通过对数据的分析和利用,我们可以解决许多生活中的实际问题,而不仅仅是停留在学术理论的研究。第一个提出对传统统计学进行改革的吹哨人是John W. Tukey,他发表的文章《The Future of Data Analysis》一直被人们看做是数据科学的起源。
John W. Tukey是20世纪美国著名的统计学家。早在六十多年前,他就曾呼吁学术统计学家们减少对统计理论的关注,转而注重统计学的实际应用,其中最重要的部分就是对数据的处理和分析。1962年,他发表的《The Future of Data Analysis》文章震惊了当时的统计学界。他提出了数据分析(Data Analysis)这一新科学和其未来发展的可能性,并预言突破数理统计学边界的数据时代将会到来。在文章中,他指出数据分析的目的是通过对数据的收集、处理和分析来学习数据中的信息,解决我们生活中所遇到的实际问题。
《The Future of Data Analysis》这篇文章为未来数据科学的发展奠定了基础。John W. Tukey对该领域的兴趣与他的人生经历息息相关。1939年,Tukey顺利地获得普林斯顿大学数学硕士学位和博士学位。在研究生时期,他主要从事数学方面的研究工作。但是随着二战的到来,他开始关注解决国家所面临的实际问题。1941年5月,Tukey加入了普林斯顿大学设立的火控研究室 (Fire Control Research Office)。在研究室工作期间,Tukey与工程师Charlie Winsor结识,并与多位统计学家深入探讨。最终通过数据分析,Tukey和他的团队协助美国在二战期间优化了其武器管理系统,他也因此对这种数学形式产生了浓厚的兴趣。
在John W. Tukey发表了《The Future of Data Analysis》之后的几十年里,数据科学领域并没有想象中那般快速地发展,其主要的原因有3点:
但随着互联网的普及,数据指数倍的快速增长使越来越多的统计学家们意识到数据科学的重要性,在诸多如John Chambers、C. F. Jeff Wu等著名统计学家的努力下,数据科学最终打破了传统统计学的边界,在其发展历史上留下了以下重要的人物与事件:
1993年,John Chambers在意识到统计学不能再只关注于传统推论后,发表了题为《Greater or Lesser Statistics: A Choice for Future Research》的论文,呼吁统计学领域学者对传统统计学的改革。在文中,Chambers指出传统统计学专业在未来的研究中将面临两种选择:
Chambers指出“更包容”虽然充满了挑战,但会带来更多的机遇;而“更专有”则有可能使传统统计学研究变得越来越边缘化。因此Chambers呼吁要打破传统统计学的边界,更多的专注于数据本身,正视数据分析本质上是一种基于经验的科学。
1993年,Robert Gentleman和Ross Ihaka基于S语言成功地开发了R语言,将其开源,使R得到了迅速地传播。R脚本可以详细记录撰写者数据处理的代码逻辑,社区用户可下载并运行被分享的脚本,节省自行开发的时间和精力,让这些代码逻辑可以在自己的数据上产生价值。因此,R语言的出世对数据分析产生了巨大的影响,它彻底改变了人们对分析数据、处理数据和可视化数据的方式。
R的数据结构包括向量、数列、列表和数据框架。其衍生出的各种库让R能够实现对各种统计的理论概念的应用,其中包括:
另一位对数据科学的发展做出了杰出贡献的是著名的应用统计学家C. F. Jeff Wu。1997年,Wu被聘为美国密歇根大学统计系教授。他曾在一次名为“ Statistics = Data Science?”(《统计学=数据科学?》)的演讲中将当时定义的「统计学工作内容」描述为:数据收集、数据建模与分析和洞察与决策三部曲,并提出了他对未来统计学发展方向的展望,呼吁将统计学重新命名为数据科学。
2001年,加州大学伯克利分校的统计学家Leo Breiman发表了一篇题为《Statistical Modeling: The Two Cultures 》的文章。这篇文章指出当时的统计学界对于数据建模形成的两种不同的文化,这也是统计学与数据科学之间最本质的差异:
Breiman指出,98%的统计学家崇尚数据建模文化,即通过数据建模去进行因果推断;只有2%的统计学家致力于算法建模,通过数据分析来进行预测,进而解决现实中的问题。因此,Breiman表示这种情况造成了统计学家们耗费大量精力研究很多无关紧要的理论和存疑的结论,阻碍了他们去接触更有现实价值的问题。
同一年,William S. Cleveland发表了一篇题目为《数据科学:拓展统计学技术领域的行动计划》的文章。在文中,Cleveland提出了数据科学的6个焦点,即使站在当下,这6个焦点也为学习数据科学这个领域提供了一个很好的概念框架:
数据科学的发展一直以来都与计算机领域紧密相连。从1962年至今,数据科学一直都只停留在概念和理论层面。随着21世纪计算机领域的突飞猛进,数据科学的理论在一些数据软件工具中得以应用。因此,数据科学不仅要求我们掌握统计学中的理论知识来分析数据,同时还需要熟练地运用如Python、SQL、C++、Java等编程语言来处理数据、建立模型以及实现可视化等。
如果说R语言奠定了数据科学基础,改变了传统的数据分析方式,那么Python的出现则拓展了数据科学的潜能。不久前,TIOBE发布了最新的编程语言排行榜,Python再次夺得了排行榜的榜首。作为近年来最火热的编程语言,Python不仅容易学习,且应用极其广泛。在各种成熟的第三方库支持下,Python成为了强大、高效的计算工具。除此之外, Python作为一个连接器,它能够连接、调取、并且使用各种数据库的资源,如Pandas,Scikit-Learn,TensorFlow等。因此,Python得到了众多数据科学家的追捧。在2019年,大约有 65.8%的数据科学家称他们在使用Python,这无疑是一个庞大的比率,并且这个数字还在持续增长。
接下来,让我们来看看有哪些重要的库主要引导了数据科学领域发展到如今的规模。
· NumPy
NumPy对于数据科学家来说是一个不可或缺的数据处理工具。NumPy是Numerical Python的缩写,专门用来处理矩阵数据。它的主要研究对象是同种元素的多维数组,并且运算效率远高于列表,能够让数组和矩阵的处理更加自然。同时NumPy库中包含大量实用的数学函数用以支持各种复杂的如线性代数 、随机数生成等函数。
· Pandas
在日常的数据分析过程中,数据清洗的工作是不可或缺的环节。Pandas作为一个强大的数据处理第三方库,不仅能够对数据进行各种处理 ,还能够实现可视化、复杂统计以及与各种数据库交互等功能,因此,Pandas是数据科学家们使用率最高的库之一。Pandas的基本数据类型一共有两种:
· Matplotlib
Matplotlib是Python专门的一个数据可视化工具库,它能够绘制多种类型的图表和高级图形。Matplotlib使用起来十分简单方便,只需要几行代码便可以生成直方图、条形图、散点图等。
· Scikit-Learn
Scikit-Learn项目最早于2007年,由数据科学家David Cournapeau基于Python语言发起的一款专门针对机器学习的开源框架,依托于NumPy、Scipy等几种工具库来实现大量机器学习的模型。Scikit-Learn的算法主要分为四类:
· TensorFlow
TensorFlow是Google开发的一款使用数据流图进行数值计算的开源库,主要用于深度学习。TensorFlow接受高维度的多维数组形式的数据来训练和运用深度神经网络,并能快速处理大量数据。
在数据科学的发展过程中,越来越多的科学家和编程专家加入了数据相关领域的研究中,许多成熟、复杂的统计学概念以程序语言的形式得到了开发和运用。这个过程中衍生出了各式各样以数据开发应用为中心的新型代码库,大家若有兴趣可自行查阅。
21世纪初,大数据时代已然来临,一些科技公司,如Google、Facebook积攒了大量的原始数据 (raw data)。虽然硬盘储存数据的容量得到了显著的提升,但在数据的读取速度能力上却止步不前。因此,这些公司急于探索一种新的模式去高效地处理庞大的数据体量。2005年,计算机科学家Doung Cutting和Mike Cafarella共同研发了开源的软件框架Hadoop,用来存储和处理大量的数据集。Hadoop框架中的两个核心为HDFS和MapReduce。HDFS是一个分布式文件储存系统,使数据能够被高效地储存并多次读出,而MapReduce则是一种分布式并行的计算引擎,它能够将大规模数据集的操作分配给各个子节点同步计算 ,最后整合各个子节点的结果得出最终的计算结果,使数据处理的能力得到了质的飞跃。Hadoop的框架设计理念激发了大家对大数据处理的创新思维,为随后的Spark、Flink、MADlib等分布式计算工具的发展发挥了重要的作用。
Hadoop的出现让企业拥有了处理大量数据集的能力,也让企业家们意识到数据处理在商业中的重要性。数据研究不仅使商业公司的诸多问题得到了解决,而且帮助他们探索新的商业模式、研究消费者行为,在此基础上做出更好的商业决策。因此,各大公司空前渴望拥有数据分析能力的人才,这使数据科学在商业领域中得到了迅速发展,并获得了大量的实践成果。
随着越来越多的商业公司开始重视数据的重要性,数据的保存成为了各大公司重要目标。尤其如Amazon、淘宝、京东等大型的电商公司为了应对双十一、黑色星期五等大型的打折优惠节日中短时间内的数据激增,这些公司需要购买大量的设备来处理和储存数据。当节日过去,数据量开始回归正常,大部分的设备开始闲置。因此,为了不让这些设备继续闲置,世界最大的电商Amazon开发了Amazon Web Service (AWS) 云平台,旨在将闲置的设备出租出去,让用户可以通过云平台在没有物理服务器的情况下得到一系列服务,如弹性计算、存储、数据库等。同时,云平台在大数据领域中提供了云分布式存储以及分布式计算的方案,解决了数据科学家由于庞大的数据量导致的算力不足的问题。
· 云数据库
随着云平台的发展,云数据库也得到了行业内的重视。云数据库相较于传统数据库来说,不仅实现了对SQL的完美兼容,同时还具备了备份、扩容、迁移等众多优势。2022年10月24日,国内顶尖的研发团队拓数派发布了全新的云原生数据库产品PieCloudDB Database,其采用了突破式创新分布式技术 - elastic Massive Parellel Processing (弹性大规模并行计算),构建了以云原生、分析型分布式数据库为引擎的数据计算平台,为数据科学家提供了更加方便、快速的数据获取、以及数据分析的方式。
自1962年John W. Tukey发表的《The Future of Data Analysis》文章以来,数据科学得到了蓬勃的发展。从起初停留在统计学理论层面到如今成为一门拥有复合的知识体系且专业性极强的学科。越来越多的公司和机构开始组建数据科学团队来解决商业运营中遇到的各种实际问题。随着数据的日益增长,计算机科学的持续发展,我们相信数据科学领域会在不久的将来深入大家生活中的方方面面,为人们的生活带来更多的便利。
相关博文