1.3 变量之间的关系
从人们对自然规律的认识体系来看,相关性和因果关系在人们对自然规律的认识体系中属于不同的认识层次。如图1.1所示,人们对自然界中不同变量之间关系的认识大致可以分为三个层面。
图1.1 人们对变量之间关系的认识层次
人们对自然界中不同变量之间关系的最低认识层次是相关性关系。比如前述“吃冰激凌的人数多”和“溺亡人数多”具有相关性,火灾事故中“消防车数量多”和“伤亡人数多”具有相关性。这些变量之间的相关性反映了变量变化的同步性,比如,在观察到“吃冰激凌的人数多”的同时观察到“溺亡人数多”;在火灾事故中,经常在观察到“消防车数量多”的同时观察到火灾“伤亡人数多”。变量之间的相关性结论可以仅仅通过观察性数据得出。基于变量之间的相关性关系,我们可以根据一个变量的情况对另一个变量的情况做出大致的估计,比如,根据火灾事故中“消防车数量多”,大致估计在该事故中“伤亡人数多”,而如果“消防车数量少”则估计“伤亡人数少”;根据“公鸡叫”大致判断“快要天明了”。但是,根据变量之间的相关性做估计很可能存在风险,比如,假设我们故意驱赶公鸡让它叫,这时候如果再根据“公鸡叫”来估计“快要天明了”,就会发生错误。
在相关性关系之上是因果关系。比如,冬天衣服穿少了着凉后就会感冒,“着凉”和“感冒”之间就具有因果关系,我们不但可以观察到“着凉”和“感冒”(大致)同步发生,而且如果我们故意让一个人衣服穿少,他就必然会“感冒”(这里考虑总体情况,忽略极少部分特例)。而相关性则不同,在火灾事故中“消防车数量多”和“伤亡人数多”具有相关性,但如果我们特意在火灾事故救援中增加“消防车数量”,并不会必然导致这次火灾事故中“伤亡人数”增加。因此,我们可以说,变量之间具有因果关系则必然具有相关性,但变量之间具有相关性并不一定具有因果关系。在仅有观察性数据的条件下,我们不一定能够得到变量之间的因果关系,那么,在什么条件下、采取什么样的方法可以基于观察性数据得到变量之间的因果关系呢?这将是本书的主要内容,也是大数据时代“数据驱动”所关注的重要问题。基于变量之间的因果关系,我们可以根据一个变量的情况对另一个变量的情况做出估计,避免根据相关性进行估计时可能发生的错误。比如,“长期吃折耳根”,长期摄入马兜铃酸,就必然会导致“肝脏损伤”;冬天衣服穿少了,“着凉”就必然会“感冒”。这里,无论是自然发生的衣服穿少了“着凉”,还是故意安排让人衣服穿少了“着凉”,都必然会导致发生“感冒”。如果我们根据“着凉”估计将会出现“感冒”,就不会出现错误。因此,变量之间的因果关系较之于相关性关系,具有更多的信息,代表着人们对客观世界更为深刻的认识,能够让我们做出更为准确的推断和预测。
人们对变量之间关系最深入的认识是以微分方程(普通方程可视为微分方程的特例)关系形式表达的变量之间的关系。比如,在惯性系中,物体运动满足牛顿第一定律
其中是物体所受的外力,是物体的速度,m是物体质量,t是时间。式(1.6)表达了惯性系中物体所受外力、物体质量和物体的加速度这三个变量之间的关系。对于已知质量的物体,只要给定微分方程中物体所受的外力,即可精确求得该物体的加速度。根据这个微分方程,我们可以通过控制对物体施加的外力,控制该物体的加速度。显然,物体所受的外力和其加速度之间存在因果关系,物体所受外力是“因”,物体的加速度是“果”。如果对物体施加外力,则必然产生加速度。但在因果关系信息的基础上,变量之间的微分方程关系还体现了变量之间较之因果关系更为精确和深入的关系。基于式(1.6),我们可以根据对物体施加外力的数值,精确推断出产生的加速度的数值。
在人们对客观世界的认识体系中,变量之间的相关性关系分析最简单,只需要对观察性数据做统计分析即可得到,因此,基于相关性的统计分析在机器学习领域得到了广泛的应用,近年来也取得了巨大的成功。但是,由于相关性关系分析对变量之间关系规律的反映最肤浅,也带来两个方面的问题。
1)基于相关性统计分析的机器学习泛化能力不足。马克斯·普朗克智能系统中心主任Bernhard Schölkopf发表文章指出,“尽管近期机器学习取得了很大成功,但如果我们将机器学习能够完成的事与动物能做的事进行对比,就会发现机器学习对于动物擅长的一些技能表现并不好。这包括将解决问题的能力迁移至新问题,以及进行任意形式的泛化,这里不是指从一个数据点到另一个数据点(数据点来自同一分布)的泛化,而是从一个问题泛化至下一个问题”,并且他认为,“关注对干预进行建模和推理的因果关系可以极大地帮助理解和解决这些问题,从而将机器学习领域推向新高度”。
2)由于变量之间的相关关系可以完全被第三个变量所“扭曲”,因此基于相关性对变量进行预测,很可能得出类似辛普森悖论的错误结论。从数学的角度来看,辛普森悖论体现的就是:变量X和变量Y存在边缘正相关,但在给定另外的第三个变量Z后,在变量Z的每一个水平上,变量X和变量Y却存在条件负相关。辛普森悖论的案例说明,我们观察到的数据并非事物的全貌,变量之间的相关性关系并不等于变量之间的因果关系,简单地应用统计相关性分析相关结果得出分析结论,很可能得到一个错误的结果。鉴于辛普森悖论的潜在可能,简单的相关性分析不能代替因果推断研究。因此,在分析中,我们不能止步于相关性分析,而是需要采用正确的分析方法,进一步研究整个数据生成的过程,分析其中各个变量之间相互作用的机制,以获得变量之间的因果关系模型。
变量之间的微分方程关系精确、深入地刻画了变量之间的相互作用机制及量化关系,根据微分方程,可以对变量进行准确、量化的预测。但是变量之间的微分方程关系很难从观察性数据中获得,需要人们设计、执行大量的试验,才能从中归纳、演绎出变量之间的微分方程关系,获取的难度比相关性关系和因果关系更高。
在人们对客观世界的认识体系中,变量之间的因果关系是介于相关性关系和微分方程关系之间的一个层次。因果关系对客观世界变量之间关系反映的准确性介于相关性关系和微分方程关系之间,获取因果关系的难度也介于相关性关系和微分方程关系之间。通常,我们通过试验性数据获取变量之间的因果关系,比如大家常用的随机对照试验(Randomized Controlled Trail, RCT),但在一定条件下,我们也可以基于观察性数据得出变量之间的因果关系。一旦通过因果关系理解了数据中各个变量之间相互作用的机制,我们就能在观察性数据的基础上,结合变量之间的相互作用机制,通过因果推断,正确解决类似于前述辛普森悖论的决策问题。在机器学习方面,“关注对干预进行建模和推理的因果关系可以极大地帮助理解和解决这些问题(泛化问题),从而将机器学习领域推向新高度”。因此,对变量之间因果关系的研究将是本书要介绍的主要内容。