数据的作用:文明的基石
早期人类得到的数据是从哪里来的?其中一个重要的来源是对现象的观察。从观察中总结出数据,是人类和动物的重要区别,后者虽具有观察能力,却无法总结出数据,但是人类有这个能力。而得到数据和使用数据的能力,是衡量文明发展水平的标准之一。
我们的文明从一开始就伴随着对数据的使用,可以说数据是文明的基石。人类最初希望了解到的是周围的世界,这样可以更好地生活。早在埃及法老们开始修建金字塔的几千年之前,闪米特人4和当地的土著就在尼罗河畔辛勤耕耘了。为什么他们会选择在那个地方定居呢?除了气候温暖之外,最重要的原因是每年尼罗河都会发洪水,洪水退去之后留下大片肥沃的土地供他们耕耘收获。为了准确预测洪水到来和退去的时间,以及洪水的大小5,当时的埃及人开始观察天象,并且在观察数据的基础上开创了天文学。他们根据天狼星和太阳同时出现的位置来判断一年中农耕的时间和节气,然后准确地判断洪水可能到达的边界和时间。古埃及人观察到一年的时间不是正好365天,而是多了一点,但在古埃及的历法中又没有闰年,于是他们用了一个非常长的“季度”长达365×4+1=1461天,因为每隔这么多天,太阳和天狼星就一起升起。事实证明,以天狼星和太阳同时出现作为参照系比以太阳作为参照系更准确些。这实际上也说明了好的模型要和数据相吻合的道理,因此古埃及人已经有了从数据中总结数学模型的基本能力。
图1.4古埃及人为了农业的收成而发展起天文学
图1.5从地球上看到的金星运行轨迹
透过上述天文学的起源和发展历程,我们可以清晰地了解到数据在人类发展过程中所产生的巨大作用。人类另一个古老的文明中心是美索不达米亚6平原,那里的苏美尔人对天文学有了进一步的发展,他们根据观察发现月亮每隔28~29天就完成从新月到满月再回到新月的周期。他们同时观察到每年有四季之分,每过12~13个月亮的周期,太阳就回到原来的位置,这样他们就发明了太阴历,历法实际上就是对天文现象的一个数据化描述。苏美尔人还观测到了五大行星(金、木、水、火、土,因为肉眼看不到天王星和海王星)运行的轨迹不是简单地围绕地球转,而是波浪形的。西方语言中行星(planet)一词的意思就是漂移的星球。他们还观测到行星在近日点运动比远日点快,以及金星大约每4年在天上画一个五角星,他们记录了这些信息。在美索不达米亚文明中,当地的数学家一直试图利用他们所获得的天文观测数据建立起我们今天所说的数学模型,来完成从数据到知识的过程。利用这些模型,美索不达米亚人能够计算出月亮和五大行星的运行周期,并且能够预测日食和月食。
从这些例子可以看出,人类的文明过程其实伴随着如图1.6所示的这样一个过程:
图1.6使用数据的标准流程
由此可见,数据在人类文明中起到了基石的作用。
到了古希腊文明时期,地中海沿岸的学者们学习继承了美索不达米亚文明的成果。公元前551年,古希腊科学和哲学的集大成者毕达哥拉斯来到米利都(Miletus)7、得洛斯(Delos)8等地,拜访了当时著名的数学家和天文学家泰勒斯(Thales of Miletus,前624~前546)9、阿那克西曼德(Anaximander,前611~前546)10和菲尔库德斯(Pherecydes of Syros,生平不详)11等人,并成了他们的学生,把美索不达米亚的数学和天文学成就带回了古希腊地区。在这之后,古希腊成了全世界数学和天文学研究的中心。后来柏拉图的学生欧克多索(Eudoxus of Cnidus,前408—前347)建立了地心说的早期模型,阿基米德(Ahmadis,前287年~前212年)则建立了日心说模型的原型。而最终利用数据建立起描述天体运动模型的是著名天文学家托勒密。
托勒密的伟大之处在于用40~60个小圆套大圆的方法,精确地计算出了所有行星运动的轨迹,如图1.7所示。托勒密继承了毕达哥拉斯的一些思想,他也认为圆是最完美的几何图形,因此,所有天体均以匀速度按完全圆形的轨道旋转。事实上,后来日心说的提出者哥白尼也坚持认为天体运动的模型必须符合毕达哥拉斯的思想。但是实际上天体以变速度按椭圆轨道绕地球以外的中心——太阳——运动。为了维护原来的基本假设,就必须用小圆套在大圆之上的方法解释了。托勒密使用了3种尺寸的圆相互嵌套的模型,即本轮、偏心圆和均轮,这样,他就能对五大行星的轨道给出合理的描述。不过这五大行星的轨道无法用一组圆来统一描述,因此,托勒密用了很多个圆分别描述,互相嵌套的大小圆多达40~60个。
图1.7托勒密用多个圆相互嵌套的模型来描述行星运动
托勒密认为模型必须与观测数据相吻合(这种想法从古埃及开始就有了),要感谢喜帕恰斯为托勒密留下了很多观测数据,使得他的模型能够建立得很准确。托勒密的追随者宣称托勒密地心说的模型和前面800多年的观测数据相吻合,这种说法可能有点夸大,今天有证据表明在托勒密的时代,人类可能只记载了一百多年的观测数据。不过即使只能和一百多年的数据相契合,这个模型也很了不起了。托勒密根据自己的模型绘制了一张表,预测了今后某个时候某个星球所在的位置。托勒密模型的精度之高,让后来所有的科学家都惊叹不已。即使今天,在计算机的帮助下,我们也很难解出40个套在一起的圆的方程。每每想到这里,我都由衷地佩服托勒密。托勒密根据计算,制定了关于日月星辰位置的《实用天文表》(Handy Tables),和当时的儒略历[12]相吻合,即每年365天,每4年增加一个闰年,多一天。其后1500年,人们根据儒略历和《实用天文表》决定农时。但是,经过了1500年后,托勒密对太阳运动的累积误差还是多出了10天。由于这10天的差别,欧洲的农民从事农业生产的日期几乎差了一个节气,很影响农业生产。1582年,教皇格里高利十三世在日历上取消掉10天,然后将每一个世纪最后一年的闰年改成平年,每400年再插回一个闰年,这就是我们今天用的日历,这个日历几乎没有误差。为了纪念格里高利十三世,我们今天的日历也叫作格里高利日历。
图1.8 格里高利的墓碑,左下角那本书代表他的历法
格里高利十三世之所以能“凑出”准确的历法,即每400年比儒略历减去3个闰年,其实也是根据上千年的历史数据。当然,格里高利十三世没有本事修正托勒密的模型,而波兰天文学家哥白尼则从另一个角度看问题,提出了日心说的模型,它的好处是只需要8〜10个圆,就能计算出一个行星的运动轨迹。但遗憾的是,哥白尼正确的假设并没有得到比托勒密更好的结果,他的模型误差比托勒密模型的误差要大不少,很重要的原因是哥白尼缺乏数据。由于早期的日心说模型并不比托勒密的地心说模型更准确,因此不能让人心服口服地接受,日心说要发展,就得更准确地描述行星运动。
完成这一使命的是约翰内斯·开普勒(Johannes Kepler,1571~1630)。开普勒在所有一流的天文学家中,资质较差,一生中犯了无数低级的错误。但是他有两样别人没有的东西,第一是从他的老师第谷(Tycho Brahe,1546~1601)手中继承的大量的、在当时最精确的观测数据,第二是运气。开普勒很幸运地发现了行星围绕太阳运转的轨道实际上是椭圆形的,这样不需要用多个小圆套在大圆之上,而只要用一个椭圆就能将星体运动规律描述清楚。开普勒为此提出了三个定律,形式都非常简单,而且非常准确。至于为什么是椭圆的,开普勒也说不清楚,他其实只是碰巧找到了一个模型能够比较好地拟合全部观测数据罢了。在开普勒之后,牛顿提出了万有引力定律,这才彻底解释了为什么天体运动的轨迹是椭圆形的。牛顿还修正了开普勒的椭圆模型,椭圆的焦点从太阳移到了太阳系的重心(两者有微小的差别)。
数据的重要性不仅表现在科学研究中,而且渗透到我们社会生活的方方面面。虽然中国古代不像古希腊和古罗马那样重视自然科学,但是在使用数据上一点也不比西方少。中国的历史从某种意义上讲是通过对数据进行收集、处理和总结而写成的。在中国的远古传说中,有伏羲演八卦的故事。伏羲是中国上古的三皇之一,比我们说的炎、黄二帝还要早得多。也有人说他其实不是一个人,而是代表一个部落,当然这个并不重要。据说他发明了八卦,并且可以通过它推演未来的吉凶。伏羲演八卦准不准,我们这里不做评论,但是这件事说明在远古人们已经懂得把未来的吉凶根据不同的条件(实际上是输入数据)归纳成8种或者64种可能的结果(输出数据)。之所以能够对未来这样分类并且有很多人相信它(虽然我不太相信),是因为很多人认为过去所听到的、看到的事情(也是数据)证明了这么归纳分类的正确性。到了农耕文明的时代,先前的很多生活经验,比如什么时候要开始播种,什么时候可以收获,常常就是从“数据”中总结出来的,只是那时还没有文字或者很多人不识字,大家只能一代代地口口相传。
图1.9 开普勒的太阳系模型
我们从天文学的发展历程中可以看出,数据的作用自古有之,并非到了今天大数据时代大家才意识到。但是在过去数据的作用常常被人们忽视。这里面有两个原因,首先是由于过去数据量不足,积累大量的数据所需要的时间太长,以至于在较短的时间里它的作用不明显。其次,数据和所想获得的信息之间的联系通常是间接的,它要通过不同数据之间的相关性才能体现出来。可以说,相关性是让数据发挥出作用的魔棒。