导言:思维胜于数据
每一门蒸蒸日上的科学都是在其符号系统的基础上繁荣发展起来的。
——奥古斯都·德·摩根(1864)
本书将要讲述的故事会围绕一门科学展开,这门科学改变了我们区分事实与虚构的方式,但目前,它仍处于大众的视野之外。这门新科学非常重要,已经影响到了日常生活的种种重要的方面,并且还有可能进一步扩大影响范围,覆盖从新药开发到经济政策制定,从教育和机器技术到枪支管制乃至全球变暖等重大问题的探索和解决。值得注意的是,尽管这些问题涉猎的领域广泛多元且完全不具可比性,但这门新科学仍然成功地将它们全部纳入一个统一的框架,这在20年前是根本不可能实现的。
这门新科学并没有一个时髦的名字,和我的许多同事一样,我简单地称之为“因果推断”。它本身也并不是什么高科技。因果推断力图模拟的理想技术就存在于我们人类自身的意识之中。数万年前,人类开始意识到某些事会导致其他事的发生,并且改变前者就会导致后者的改变。没有其他物种领悟到了这一点,更别说达到我们所理解的这种程度。由这一发现,人类这一物种创造出了有组织的社会,继而建立了乡村和城镇,直至创建了我们今天所享有的科技文明。所有这一切都源于我们的祖先提出了这样一个简单的问题:为什么?
因果推断正是关于这个问题的严肃思考。它假设人类大脑是大自然有史以来为处理因果知识而设计出的最先进的工具。我们的大脑存储了海量的因果知识,而在数据的辅助下,我们可以利用这些知识解决当代社会所面临的最紧迫的问题。一个更宏伟的目标是,一旦我们真正理解了因果思维背后的逻辑,我们就可以在现代计算机上模拟它,进而创造出一个“人工科学家”。这个智能机器人将会为我们发现未知的现象,解开悬而未决的科学之谜,设计新的实验,并不断从环境中提取更多的因果知识。
但在冒险推测未来发展之前,了解迄今为止因果推断或因果关系这门科学所取得的成就至关重要。我们将深入探讨它如何改变了几乎所有依赖数据信息的学科中研究者的思维模式,以及它将如何改变我们的生活。
这门新科学解决了以下这些看似简单明了的问题:
•一种特定的疗法在预防某类疾病方面的效果如何?
•是新税法的颁布还是层出不穷的广告推销活动导致了销售额的增长?
•由肥胖引发的医疗保健成本增长的总体占比为何?
•雇用记录能否证明雇主实施了涉及性别歧视的招聘政策?
•我打算辞掉工作。我究竟该不该这么做?
这些问题的共同点在于它们都与因果关系有关,我们可以通过诸如“预防”“导致”“由……引发”“证明”“该不该”这样的词语轻易识别出它们。这些词在日常生活用语中很常见,我们的社会也一直在不断提出这样的问题并寻求答案。然而,就在不久之前,我们甚至还无法在科学的范围内找到途径明确地表述这些问题,更别说回答它们了。
到目前为止,因果推断对人类最重要的贡献就是让这个科学盲点变成了历史。这门新科学催生出了一种简单的数学语言,用以表达我们已知和欲知的因果关系。以数学形式表达因果关系的能力让我们得以开发出许多强大的、条理化的方法,将我们的知识与数据结合起来,并最终回答出如上述那5个涉及因果关系的问题。
过去的25年里,我有幸成为参与这一科学发展进程的一员。在公众的视野之外,我曾目睹这门新科学在学生宿舍和研究实验室中崭露头角,也曾听到过在严肃的科学会议中它的突破性进展所引发的共鸣。眼下,随着我们进入强人工智能时代,越来越多的人开始鼓吹大数据和深度学习的无尽可能性,这使我越发感觉到,向读者展示这门新科学正在进行的大胆探索,及其对于数据科学以及人类在21世纪的生活可能造成的诸多影响,是恰逢其时且激动人心的。
我知道,当听到我把这些成就描述为一门“新科学”时,你可能会心存疑虑。你甚至可能会问,为什么科学家没有在更早的时间就开始这样做?比如在古罗马诗人维吉尔首次宣称“幸运儿乃是能理解众事原委之人”(公元前29年)的时候,或者,在现代统计学的奠基人弗朗西斯·高尔顿和卡尔·皮尔逊首次发现人口统计数据可以揭示一些科学问题的答案的时候。在这些关键性的时间节点上,他们很遗憾地与因果关系失之交臂,这背后的曲折故事我将在本书有关因果推断的历史渊源的章节中一一道来。在我看来,阻碍因果推断这一科学诞生的最大障碍,是我们用以提出因果问题的词汇和我们用以交流科学理论的传统词汇之间的鸿沟。
为了说明这一鸿沟的深度,不妨设想一下科学家在尝试表达一些明显的因果关系时所面临的困难——举个例子,气压计读数B可以用来表示实际的大气压P。我们可以轻而易举地用方程式来表示这种关系,B=kP,其中k是某个比例常数。如今,代数规则允许我们以多种形式书写这个方程,例如,P=B/k,k=B/P,或者B–kP=0。它们意义相同,即如果知道方程中的三个量中的任意两个,那么第三个量就是确定的。字母k、B或P三者中的任意一个在数学上都没有凌驾于其他两个之上的特权。那么,我们怎样才能表达这个确凿无疑的事实,即是大气压导致了气压计读数的变化,而不是反过来?倘若连这一事实都无法表达,我们又怎能奢望去表达其他许多无法用数学公式来表达的因果推断,例如公鸡打鸣不会导致太阳升起?
我的大学教授们就没能做到这件事,也从没有为此抱怨过。我敢打赌,你们的大学教授中也没人研究过这个问题。现在,我们已经明白原因为何了:他们从未见识过一种关于因果的数学语言,也从未发现到它的好处。这种语言的发展被好几代科学家漠视,其实质是一种科学的衰败。众所周知,按动开关按钮会导致一盏灯的打开或关闭,夏日午后的闷热空气会促使当地冰激凌店的销售额增加。那么,为什么科学家们没有像用公式表达光学、力学或几何学的基本法则那样,用公式去捕捉这些显而易见的事实?为什么他们容忍这些事实在原始的直觉中凝滞,而不去运用那些促使其他科学分支走向繁荣和成熟的数学工具呢?
答案部分在于,科学工具的开发是为了满足科学需要。正因为开关、冰激凌和气压计这类问题我们处理起来驾轻就熟,所以用特殊的数学工具来解决它们的意愿始终不够强烈。但随着人类求知欲的不断增强,以及社会现实开始要求人们讨论在复杂的法律、商业、医疗等领域的决策情境中出现的因果问题,我们终于发现我们缺少一门成熟的科学所应提供的用于回答这些问题的工具和原理。
这种迟来的觉醒在科学中并不少见。例如,直到大约400年前,人们还满足于以本能来应对日常生活中的不确定性,从过马路到冒险打一架都包括在内。后来,赌徒们发明了复杂的赌博游戏,他们得以通过精心的设计来欺骗我们做出糟糕的选择。直到这时,布莱斯·帕斯卡(1654)、皮埃尔·德·费马(1654)和克里斯蒂安·惠更斯(1657)这样的数学家才发现有必要建立一门今天我们称之为概率论的数学科学分支。同样,只有当保险机构开始要求准确估算人寿年金保险的时候,爱德蒙·哈雷(1693)和亚伯拉罕·棣莫弗(1725)这样的数学家才开始关注死亡率统计数据,并据此计算出了人的预期寿命。与此相似,正是天文学家对天体运动精确预测的要求促使雅格布·伯努利、皮埃尔–西蒙·拉普拉斯和卡尔·弗里德里希·高斯建立了误差理论,让我们得以从噪声中提取信号。这些方法和理论都是今天统计学得以建立的基础。
具有讽刺意味的是,对因果关系理论的需求正是在统计学产生的那一刻浮出水面的。事实上,现代统计学的创立正源自因果问题——高尔顿和皮尔逊提出了一个关于遗传的因果问题,并独具匠心地尝试用跨代数据来解答它。遗憾的是,这一努力失败了,他们没有停下来问为什么,反而声称这些问题是禁区,转而去发展另一项刚刚兴起、不涉及因果关系的事业——统计学。
这是科学史上的一个关键时刻。给因果问题配备一套专属语言的机会眼看就要被成功捕捉并转化为现实,却被白白浪费掉了。在接下来的几年里,这些问题被宣布为“非科学”,被迫转入地下。尽管遗传学家休厄尔·赖特(1889—1988)为此做出了艰苦卓绝的努力,但因果词汇仍然被科学界禁用了半个多世纪。我们知道,禁止言论就意味着禁止了思想,同时也扼杀了与此相关的原则、方法和工具。
哪怕不从事科学研究,你也能见证这一禁律的存在。在统计学基础课程中,每个学生都会很快学会念叨“相关关系不等于因果关系”这句话。此话的确颇有道理!公鸡打鸣与日出高度相关,但它显然不是日出的原因。
遗憾的是,统计学盲目迷恋这种常识性的观察结论。它告诉我们,相关关系不等于因果关系,但并没有告诉我们因果关系是什么。在统计学教科书的索引里查找“因果”这个词是徒劳的。统计学不允许学生们说X是Y的原因,只允许他们说X与Y“相关”或“存在关联”。
这一禁律也潜移默化地让人们认同了处理因果问题的数学工具毫无用武之地这一结论,与此同时,统计学唯一关注的就是如何总结数据,而不关注如何解释数据。一个了不起的例外是20世纪20年代由遗传学家休厄尔·赖特发明的路径分析(path analysis),它是本书所集中讨论和使用的一种关键方法的直接原型。然而,统计学及其相关学科严重低估了路径分析,使其在萌芽状态历经了数十年的压制。直至20世纪80年代,这迈向因果关系科学的第一步仍然是科学界唯一的一步。统计学的其他分支,以及那些依赖统计学工具的学科仍然停留在禁令时代,错误地相信所有科学问题的答案都藏于数据之中,有待巧妙的数据挖掘手段将其揭示出来。
今天,这种以数据为中心的观念仍然阴魂不散。我们生活在一个相信大数据能够解决所有问题的时代。大学中“数据科学”方面的课程激增,在涉足“数据经济”的公司中,“数据科学家”享有极高的工作待遇。然而,我希望本书最终能说服你相信这一点:数据远非万能。数据可以告诉你服药的病人比不服药的病人康复得更快,却不能告诉你原因何在。也许,那些服药的人选择吃这种药只是因为他们支付得起,即使不服用这种药,他们照样能恢复得这么快。
在科学和商业领域,仅凭数据不足以解决问题的情况一再发生。尽管或多或少地意识到了其局限所在,但多数热衷于大数据的人仍然选择盲目地继续追捧以数据为中心的问题解决方式,仿佛我们仍活在因果禁令时代。
正如我刚才所说的,在过去的30年里,情况发生了戏剧性的变化。如今,感谢那些设计精巧的因果模型,当代科学家得以着手解决那些一度被认为是不可能解决的甚至是超出了科学探索范围的问题。例如,仅在100年前,人们还认为“吸烟是否危害健康”这一问题是非科学的。仅仅是在研究论文中提及“因”或“果”这样的词都会在任何稍有名气的统计期刊上引发强烈的批判。
甚至就在20年前,询问一个统计学家诸如“是阿司匹林治愈了我的头痛吗”这样的问题还会被视为在问他是否相信巫术。引用我的一位备受尊敬的同事的话,讨论这种问题“与其说是科学探索,不如说是鸡尾酒会上的八卦闲谈”。但今天,流行病学家、社会学家、计算机科学家以及一些开明的经济学家和统计学家开始频繁地提出这样的问题,并能够借助具有高度精确性的数学工具作答。对我来说,这种改变就是一场革命。我斗胆称之为“因果革命”,是因为这场科学剧变真正接纳了我们人类理解因果知识的认知天赋,而不再拒之于科学大门之外。
因果革命不是在真空中产生的;它背后有数学工具上的发展作为支撑,这种数学工具最恰当的名称应该是“因果关系演算法”。借助这种工具,我们得以解答一些有关因果关系的最棘手的问题。能向公众展示这一演算法实在令我兴奋不已,这不仅是因为它拥有跌宕起伏的发展史,更是因为我真心期待未来某天它能在某些人那里发挥出超出我的想象的潜力……也许就出自本书读者之手。
因果关系演算法由两种语言组成:其一为因果图(causal diagrams),用以表达我们已知的事物,其二为类似代数的符号语言,用以表达我们想知道的事物。因果图是由简单的点和箭头组成的图,它们能被用于概括现有的某些科学知识。点代表了目标量,我们称之为“变量”,箭头代表这些变量之间已知或疑似存在的因果关系,即哪个变量“听从于”哪个变量。这些因果图非常容易绘制、理解和使用,读者将在书中看到许多此类因果图的示例。这么说吧,如果你会使用基于单向街道地图的导航系统,你就一定可以理解因果图,继而就可以独自解决本书导言中提出的那些关于因果关系的问题。
虽然因果图是本书选择使用的主要工具,也是我过去35年的研究主题,但它并不是唯一可用的因果模型。有些科学家(比如计量经济学家)喜欢使用数学方程;另一些研究者(比如纯统计学家)则更倾向于借助一组假设来描述问题,这些假设表象化地概括了因果图的关系结构。但不管使用哪种语言,因果模型都应该描述,哪怕是定性地描述数据的生成过程,换句话说,就是那些在环境中控制并塑造数据生成的因果力量。
与图表式的“知识语言”并存的还有一种符号式的“问题语言”,它被用于表述我们想要回答的问题。例如,如果我们感兴趣的是药物(D)对病人生存期(L)的影响,那么我们的问题可以用符号写成:P(L|do(D))。换句话说,如果一个身体状况具有足够代表性的病人服用了这种药,那么他在L年内存活的概率(P)是多少?这句话所描述的就是被流行病学家称为干预(intervention)或处理(treatment)的概念,其对应于我们在临床试验中所测量的内容。在许多情况下,我们可能还希望对P(L│do(D))和P(L|do(not-D))进行比较,后者描述的是拒绝接受相应处理(服药)的病人,也称“对照组”病人的情况。其中,do算子表明了我们正在进行主动干预而非被动观察,这一概念是经典统计学不可能涉及的。
在这里,我们必须调用一个干预算子do(D)来确保观察到的病人存活期L的变化能完全归因于药物本身,而没有混杂其他影响寿命长短的因素。如果我们不进行干预,而是让病人自己决定是否服用该药物,那么其他因素就可能会影响病人的决定,而服药和未服药的两组病人的存活期差异也将无法再被仅仅归因于药物。例如,假设只有疾病发展到末期的病人服用了这种药,那么这些人的情况就显然不同于那些不服药的病人,两组的比较结果实际上反映的是其病情的严重程度,而非药物的影响。相比之下,随机地指示一些病人服用药物或不服用药物,而不考虑先决条件如何,则可以去除两组病人之间原有的差异,提供有效的比较结果。
在数学上,我们把自愿服药的病人的生存期L的观测频率记作P(L|D),这就是统计学教科书中常用的条件概率。这个公式表示生存期L的概率(P)是以观察到病人服用药物D为条件的。注意P(L|D)与P(L|do(D))完全不同。观察到(seeing)和进行干预(doing)有本质的区别,它解释了我们不认为气压计读数下降是风暴来临的原因。观察到气压计读数下降意味着风暴来临的概率增加了,但人为迫使气压计读数下降对风暴来临的概率并不会产生影响。
对观察和干预的混淆成为悖论之源,对此本书将展开详细的讨论。缺少P(L|do(D)),而完全由P(L|D)统治的世界将是十分荒诞的。在这个世界中,病人不去就诊就能减少人们患重病的概率,城市解雇消防员就能减少火灾的发生,医生会向男性患者和女性患者推荐药物,但不向性别保密的患者推荐药物,诸如此类的例子还有很多。而令人难以置信的是,就在不到30年前,科学正是在这样一个不存在do算子的世界里运行的。
因果革命最重要的成果之一就是解释了如何在不实际实施干预的情况下预测干预的效果。如果我们没有首先定义do算子以便提出正确的问题,其次设计出一种在不需要真正实施干预行动的条件下模拟干预行动的方法,那么我们就永远不可能取得这一成就。
当我们感兴趣的科学问题涉及反思性的思考时,我们通常会诉诸另一种类型的表达形式,这种表达形式是因果推断科学独有的,我们称之为“反事实”(counterfactual)。例如,假设乔在服用了药物D一个月后死亡,那么我们现在关注的问题就是这种药物是否导致了他的死亡。为了回答这个问题,我们需要想象这样一种情况:假如乔在即将服药时改变了主意,他现在会活着吗?
再强调一遍,经典统计学只关注总结数据,因此它甚至无法提供一种语言让我们提出上面那个问题。因果推断则不仅提供了一种表达符号,更重要的是,它还提供了一种解决方案。这使得我们在预测干预效果时,在多数情况下能够借助一种算法来模拟人类的反思性思考,通过将我们对观测世界的了解输入算法系统,其将输出有关反事实世界的答案。可以说,这种“反事实的算法化”正是因果革命另一项宝贵的成果。
反事实推理涉及假设分析(what-ifs),这可能会使一些读者质疑其科学性。事实上,经验观察永远无法证实或反驳这些问题的答案。然而,人类一直在对哪些事可能发生或哪些事可能已经发生做出极可靠的、可重复的判断。例如,我们都明白,即使某天早晨公鸡没有打鸣,太阳也会照常升起。这一共识源于这样一种事实:反事实并非异想天开之物,而是反映了现实世界运行模式的特有结构。共享同一因果模型的两个人也将共享所有的反事实判断。
反事实是道德行为和科学思想的基石。回溯自己过去的行为以及设想其他可能情景的能力是自由意志和社会责任的基础。反事实的算法化使“思维机器”(thinking machine)习得这种人类特有的能力,并掌握这种目前仍为人类所独有的思考世界的方式成为可能。
在上段提到“思维机器”这个词是我有意而为的。我是以一名浸淫人工智能领域多年的计算机科学家的身份涉足这门新科学的,我的研究背景使我在进行因果推断方面的研究时能够使用一种该领域的大多数研究者并不具备的视角。首先,在人工智能的世界里,只有当你能够教会机器人理解某个课题时,你才算真正理解了它。这就是为何你会在本书看到我反复强调符号、语言、词汇和语法。我痴迷于这样的思考:是否可以用一种业已存在的语言来表达某个论断,以及我们如何判断一个论断是否与其他一些论断相一致。我们可以看到,仅仅是遵循科学语言的语法进行话语实践就能让我们掌握大量的知识,这实在令人惊喜。我对语言的强调也源于一个坚定的信念,即语言会塑造我们的思想。你无法回答一个你提不出来的问题,你也无法提出一个你的语言不能描述的问题。作为一名哲学和计算机科学的学生,我之所以被因果推断吸引,最关键的因素就是渴望获得那种亲眼见证一门被边缘化的科学语言促使一门科学从诞生走向成熟这一整个过程所带来的兴奋感。
我在机器学习方面的背景也给了我研究因果关系的另一个动力。20世纪80年代末,我意识到智能机器缺乏对因果关系的理解,这也许是妨碍它们发展出相当于人类水平的智能的最大障碍。在本书的最后一章,我将回到我的老本行,带领大家一起探索因果革命对人工智能的影响。我坚信强人工智能是一个可实现的目标,也是一个完全无须恐惧的目标,因为我们在实现它的过程中纳入了因果关系。因果推理模块将使智能机器有能力反思它们的错误,找到自身软件程序中的弱点,并能像一个道德实体那样思考和行动,自然地与人类交流它们自己的选择和意图。
现实的蓝图
当今时代,读者们一定都听过诸如“知识”“信息”“智能”“数据”等术语,有不少人可能会对它们之间的差异以及它们是如何相互作用的感到一头雾水。而现在,我提议引入另一个术语——“因果模型”。我知道,读者们可能会认为这样做只会增加困惑。
不,并不会!事实上,因果模型将科学、知识、数据这些晦涩的概念纳入了一个具体的、有意义的背景框架,让我们得以看到三者是如何相互协作以解答棘手的科学问题的。图0.1展示了一个“因果推断引擎”的蓝图,此引擎将帮助未来的人工智能进行因果推理。更重要的是,它不仅仅是一张关于未来的蓝图,也是一份指南,用于指导我们发现在当今的科学应用中,因果模型是如何发挥作用的,以及它们与数据之间的相互作用是怎样的。
图0.1 “因果推断引擎”能够将数据与因果知识相结合生成目标问题的答案。虚线框不是引擎的组成部分,但它是构建引擎的必要基础。箭头也可以从方框4和方框9指向方框1,但在这里为简化图示进行了省略。
因果推断引擎是一种问题处理机器,它接收三种不同的输入——假设、问题和数据,并能够产生三种输出。第一种输出是“是/否”判断,用于判定在现有的因果模型下,假设我们拥有完美的、无限的数据,那么给定的问题在理论上是否有解。如果答案为“是”,则接下来推断引擎会生成一个被估量。这是一个数学公式,可以被理解为一种能从任何假设数据中生成答案的方法,只要这些数据是可获取的。最后,在推断引擎接收到数据输入后,它将用上述方法生成一个问题答案的实际估计值,并给出对该估计值的不确定性大小的统计估计。这种不确定性反映了样本数据集的代表性以及可能存在的测量误差或数据缺失。
为深入阐释这个图示的内在逻辑,我给方框贴了1至9的数字标签,以便接下来以“药物D对病人生存期L的影响是什么”这个问题为例进行具体分析。
1.“知识”指的是推理主体(reasoning agent)过去的经验,包括过去的观察、以往的行为、接受过的教育和文化习俗等所有被认为与目标问题有关的内容。“知识”周围的虚线框表示它仍隐藏在推理主体的思想中,尚未在模型中得到正式表达。
2.科学研究总是要求我们给出简化的假设,这些假设也就是研究者在现有知识的基础上认为有必要明确表述出来的陈述。研究者所拥有的大部分知识都隐藏于他的大脑,只有假设能将其公之于世,也只有假设才能被嵌入模型。事实上,我们可以从模型中提取出假设,这也使得一些逻辑学家得出了这样的结论:模型不过是一组假设而已。而计算机科学家对此说法持有异议,他们指出,假设表示方式的不同将导致多方面的巨大差异,包括是否能准确地说明假设,是否能从假设中推导出结论,乃至是否能根据确凿的证据扩展或修改假设等。
3.因果模型有多种表现形式,包括因果图、结构方程、逻辑语句等。我热衷于为几乎所有的应用场景构建因果图,主要原因就在于它清晰易懂,并且可以为我们想问的许多问题提供明确的答案。从构建因果图的角度来看,“因果关系”的定义就非常简单了:如果变量Y“听从于”变量X,并根据所“听到”的内容决定自己的值,那么变量X就是变量Y的一个因。例如,如果我们怀疑一位病人的存活期L“听从于”该病人是否服用了药物D,那么我们便可以称D为L的因,并在因果图里绘制一个从D到L的箭头。当然,关于D和L之间的关系问题的答案很可能还取决于其他变量,因而我们也必须将这些变量及其因果关系在因果图中表示出来。(在这里,我们统一用Z来表示其他变量。)
4.以因果模型的路径来表示的变量之间的听从模式通常会导向数据中某种显而易见的模式或相关关系。这些模式可被用于测试模型,因此也被称为“可验证的蕴涵”(testable implications)。将“D和L之间没有连接路径”翻译成统计学语言,就是“D和L相互独立”,也就是说,发现D的存在不会改变L发生的可能性。而如果实际数据与这一推断相抵触,那么我们就需要修改模型。此类修改涉及另一个引擎,它从方框4和方框7中获取输入,并计算模型的“拟合度”,即数据与模型假设的匹配程度。为尽可能简化示意图起见,我没有在图0.1中表示出这个引擎。
5.向推理引擎提交的问题就是我们希望获得解答的科学问题,这一问题必须用因果词汇来表述。例如,我们现在感兴趣的问题是:P(L|do(D))是什么?因果革命的主要成就之一就是确保了这一语言在科学上容易理解,同时在数学上精确严谨。
6.被估量“estimand”来自拉丁语,意思是“需要估计的东西”。它是我们从数据中估算出来的统计量。一旦这个量被估算出来,我们便可以用它来合理地表示问题的答案。虽然被估量的表现形式是一个概率公式,如P(L|D,Z)×P(Z),但实际上它是一种方法,可以让我们根据我们所掌握的数据类型回答因果问题(前提是推断引擎证实了这种数据类型就是我们需要的)。
重要的是要认识到,与传统的统计学所提供的估计方法不同,在当前的因果模型下,无论我们收集到多少数据,有些问题可能仍然无法得到解答。例如,如果我们的模型显示D和L都依赖于第三变量Z(比如疾病的发展阶段),并且,如果我们没有任何方法可以测量Z的值,那么问题P(L|do(D))就无法得到解答。在这种情况下,收集数据完全就是浪费时间。相反,我们需要做的是回过头完善模型,具体方式则是输入新的科学知识,使我们可以估计Z的值,或者简化假设(注意,此处存在犯错的风险),例如假设Z对D的影响是可以忽略不计的。
7.数据可以被视作填充被估量的原料。这里我们一定要认识到,数据本身不具备表述因果关系的能力。数据告诉我们的只是数量信息,如P(L|D)或P(L|D,Z)的值。而被估量则能够告诉我们如何将这些统计量转化为一个表达式。基于模型假设,该表达式在逻辑上等价于我们所要回答的因果问题,比说P(L|do(D))。
请注意,被估量这个概念以及图0.1顶部的所有概念在统计分析的传统方法中都是不存在的。在传统的统计方法中,被估量就等同于有待解决的问题。例如,如果我们对存活期为L的人群中服用过药物D的病人的比例感兴趣,那么我们可以将这个问题简记为P(D|L)。该表达式的值也就是我们的被估量。这一表达式已经确切地说明了数据中的哪个概率有待被估计,而并不涉及任何因果知识。鉴于此,一些统计学家至今仍然难以理解为何有些知识游离于统计学之外,以及为何只靠数据不能弥补科学知识的欠缺。
8.现在,你已经得到了一个新鲜出炉的估计值。不过,它只是一个近似值,其原因涉及关于数据的另一个真相:数据永远是从理论上无限的总体中抽取的有限样本。在我们所讨论的这个例子中,数据样本由我们筛选出来进行研究的病人组成。即使这种筛选是随机的,我们也无法避免根据样本测量的概率无法代表整个总体的相应概率的可能性。幸运的是,依靠机器学习领域所提供的先进技术,统计学科为我们提供了很多方法来应对这种不确定性,这些方法包括最大似然估计、倾向评分、置信区间、显著性检验等。
9.最后,如果我们的模型是正确的且数据是充分的,那么我们就获得了这个待解决的因果问题的答案,比如“药物D使糖尿病患者Z的生存期L增加了30%,误差±20%。”啊哈!现在,这一答案将被添加到我们的科学知识(方框 1)中。而如果这一答案与我们的预期不符,则很可能说明我们需要对因果模型做一些改进(方框3)。
这个流程图乍看起来很复杂,因而你可能会怀疑它是否确有必要。事实上,在日常生活中,我们总能用某种方法做出一些因果判断,而与此同时并没有意识到自己经历了如此复杂的推断过程,当然也不会诉诸计算概率和比例的数学工具。我们的因果直觉通常足以让我们应付日常生活乃至职业生活中的不确定性。但是如果我们想教一个笨拙的机器人借助因果思维来思考问题,或者如果我们正试图推动无法依靠直觉来指引的前沿科学的发展,那么这一经过精心设计的推断流程就很有必要了。
我特别想强调数据在上述过程中发挥的作用。首先,请注意,我们是在完成了以下步骤之后才收集的数据:根据假设确定了因果模型,提出了我们想要解决的科学问题,推导出被估量。这与上面提到的传统统计方法形成了鲜明对比,后者甚至没有用到因果模型。
但是,当今科学界对因果关系的合理推论提出了新的挑战。尽管科学的快速发展提高了人们对因果模型必要性的认识,许多人工智能领域的研究者仍然想跳过构建因果模型或识别出已有的因果模型这一难度较大的步骤,只依赖数据解决所有的认知难题。他们希望在因果问题出现时,数据本身就能指引他们找到正确的答案——当然,这种想法通常来说都是隐秘不宣的。
对此趋势,我曾直言不讳地公开表示质疑,因为我知道,对于因果关系方面的知识来说,数据没有任何发言权。例如,有关行动或干预结果的信息根本无法从原始数据中获得,这些信息只能从对照试验操作中收集。相比之下,如果拥有一个因果模型,我们就可以在大部分情况下从未经干预处理的数据中预测干预的结果了。
当我们试图回答反事实问题,比如“假如我们采取了相反的行动会发生什么”时,因果模型的重要性就更加引人注目了。我们将非常详细地讨论反事实,因为对任何人工智能来说,反事实问题都是最具挑战性的问题。这类问题也是推动人类认知力和想象力发展的核心,其中前者使我们成为人类,后者使科学成为可能。原因通过机制传递效果,因此我们还会解释为何关于这种机制的问题,以“为什么”为典型,实际上是一个经过伪装的反事实问题。如果我们想让机器人回答“为什么”这样的问题,或者只是试图让它们理解此类问题的意义,那么我们就必须用因果模型武装它们,并教它们学会如何回答反事实问题,做法就像图0.1所展示的那样。
因果模型所具备而数据挖掘和深度学习所缺乏的另一个优势就是适应性。注意在图0.1中,被估量是在我们真正检查数据的特性之前仅仅根据因果模型计算出来的,这就使得因果推断引擎适应性极强,因为无论变量之间的数值关系如何,被估量都能适用于与定性模型适配的数据。
为了说明这种适应性为什么重要,我们下面将该引擎与学习主体(learning agent)进行比较。在本例中,我们将学习主体设定为人,但在其他情况下,学习主体也可能是一个深度学习算法,或者是一个使用深度学习算法、想要纯粹从数据中获得知识的人。通过观察许多服用药物D的患者的存活期L,某研究者能够预测出某个具有Z特征的病人存活L年的概率。现在,假设她被调职到位于城市另一地区的医院,而那里的人口总体特征(饮食、卫生、工作习惯)与原来的地区有所不同。即使这些新特性仅仅改变了以前她所记录的变量之间的数值关系,她仍不得不重新自我训练,再次从头学习新的预测函数。这就是深度学习程序所能做的:将函数与数据拟合。而如果该研究者掌握了药物的作用机制,并且新地区的因果模型结构仍与原来保持一致,那么她在以往的训练中获得的被估量就依然有效,可被应用于新数据,产生一个新的关于特定总体的预测函数。
通过“因果透镜”,许多科学问题都会变得有所不同,我很高兴自己有机会研究这个透镜。过去的25年里,新见解和新工具赋予这一透镜越来越强大的功能。我希望并相信本书的读者也将分享我的喜悦。因此,我想预告一下本书即将呈现的亮点内容,以此结束导言。
本书的第一章将观察、干预和反事实这三个台阶组合成因果关系之梯(ladder of causation),这是本书的核心隐喻。它将向你揭示利用因果图(我们主要的建模工具)进行推理的基本原理,同时引导你一步步成为一名精通因果推理的专家。事实上,在读过本书后,你将远远超过几代数据科学家,因为他们曾试图通过一个模型盲(model-blind)的透镜解释数据,完全忽略了因果关系之梯所阐明的特质。
本书的第二章将讲述一个匪夷所思的故事:统计学科是如何让自己陷入了因果蒙昧的黑暗,以及这对所有依赖数据的科学产生了怎样深刻的影响。我会在这一章讲述遗传学家休厄尔·赖特的故事,他是本书中的一位大英雄,他在20世纪20年代绘制出了世界上第一张因果图,多年来他是少数几个敢于认真对待因果论的科学家之一。
本书的第三章讲述的是一个同样奇妙的故事:我是如何通过对人工智能的研究,特别是对贝叶斯网络的研究,皈依了因果论。贝叶斯网络是让计算机得以在“灰色地带”进行思考的第一个工具,有段时期,我曾坚信它掌握着开启人工智能大门的钥匙。而到了20世纪80年代末,我终于确信自己错了,本章讲述的正是我从贝叶斯倡导者变身为“叛教者”的整段旅程。不过,贝叶斯网络仍然是人工智能领域的一个非常重要的工具,其涵盖了因果图的大部分数学基础。除了对贝叶斯法则和贝叶斯推理方法所做的浅显的、以因果关系为梳理逻辑的介绍外,第三章还将为读者提供一些贝叶斯网络的应用实例。
本书的第四章讲述的是统计学对因果推断的主要贡献:随机对照试验(randomized controlled trial,简称RCT)。从因果的角度来看,随机对照试验是一个进行人为干预的工具,用以解答P(L|do(D))问题,可以说这就是该工具的本质特征。随机对照试验的主要目的是将目标变量(比如D和L)与其他变量(Z)分离,因为如果不进行分离,则变量(Z)就会对二者产生影响。如何消除这种潜在变量带来的扭曲或“混杂”在近百年来一直未曾得到妥善解决。而本章将引导读者使用一种极其简单的方法来解决这个常见的混杂问题。这种方法就是在因果图中进行路径跟踪,你在10分钟之内便能掌握这种方法。
本书的第五章将讲述因果论发展史乃至科学史上的一个重要时刻,当时,统计学家纠结于“吸烟是否会导致肺癌”这一问题。由于无法使用他们最喜欢的工具——随机对照试验,他们在是否接受某一方的结论上始终难以达成一致,甚至对于如何理解这个问题也一直存在分歧。关于吸烟的争论将因果论的重要性推到了风口浪尖。可以说,数百万人因吸烟而丧生或折寿,正是因为科学家没有适当的语言或方法论来回答这个因果问题。
在第五章的严肃话题之后,我希望本书的第六章会让读者享受一些轻松时刻。这章的主题是悖论,包括蒙提·霍尔悖论、辛普森悖论、伯克森悖论等。此类经典悖论的确可以当作脑筋急转弯来消遣,但它们也有严肃的一面,尤其是当你从因果的角度来分析它们的时候。事实上,几乎所有这些悖论都体现了某种与因果直觉有关的冲突,从而也揭示出了这种因果直觉的内在构造。这些悖论是一种警示,用以提醒科学家们人类的直觉是根植于因果的,而不是根植于统计和逻辑的。我相信读者会从这些有趣的古老悖论中得到“柳暗花明又一村”的体验。
终于,本书的第七章到第九章将带领读者踏上因果关系之梯激动人心的攀登之旅。我们会从第七章的干预问题入手,讲述我和我的学生们如何历经20年的努力,实现do类型问题解答的自动化。我们成功了。我还将在本章解释“因果推断引擎”的本质,以及它如何能够产生“是/否”问题的答案及图0.1中的被估量。对该引擎的深入分析将让读者学会如何在因果图中发现某些模式,这些模式将生成因果问题的直接答案。我将这些模式称为后门调整、前门调整和工具变量,它们是研究者在科学实践中进行因果推断的主要工具。
本书的第八章将通过讨论反事实把你带到因果关系之梯的顶端。反事实被视为因果论的基本组成部分这一认识至少要追溯到1748年,当时苏格兰哲学家大卫·休谟提出了这样一个多少有些别扭的因果定义:“我们可以给一个原因下定义说,它是先行于、接近于另一个对象的一个对象,而且在这里,凡与前一个对象类似的一切对象都和与后一个对象类似的那些对象处在类似的先行关系和接近关系中。或者,换言之,假如没有前一个对象,那么后一个对象就不可能存在。”大卫·刘易斯,普林斯顿大学的哲学家(于2001年去世),曾指出休谟实际上给出的是两个而非一个定义。第一个是规则性定义(因后面通常跟着果),第二个是反事实定义(“假如没有前一个对象……”)。尽管哲学家和科学家以往更多地将注意力集中于规则性定义,但刘易斯指出,反事实定义与人类直觉的联系更为紧密:“我们认为因是起重要作用的事物,并且它所引起的差异必然就是有它和没它所发生结果之不同。”
读者将在本章结尾兴奋地发现,我们现在可以越过学术争辩,估算出任何反事实问题答案的实际值(或概率),无论这个问题有多复杂。其中最有趣的问题就是某个观察到的事件的必要因(necessary cause)和充分因(sufficient cause)问题。例如,被告的行为有多大可能是原告受伤的必要因?人为因素引起的全球气候变化有多大可能是异常气候事件的充分因?
最后,本书的第九章讨论的主题是中介。在因果图中谈论箭头绘制时,你可能会想,如果药物D只是单纯地通过影响血压Z(中介物)来影响病人的生存期,那么我们是否仍然要从药物D画一个直接指向生存期L的箭头?换言之,D对L的影响是直接的还是间接的?如果两者都有,那么我们如何评估它们的相对重要性?这些问题不仅具有重大的科学意义,而且具有深刻的实际影响:如果我们了解了药物的作用机理,那么我们或许就可以开发出其他效果相同,但价格更低廉或副作用更少的药物。同样,读者将在本章结尾愉快地了解到,这一古老的中介机制问题将被简化为一道代数题,而科学家将通过使用因果工具包中的一些新工具轻松解决这些问题。
本书的第十章将通过追溯我本人转向因果研究领域的起始地带领读者走向尾声。正是这个问题,即人类智能的自动化(有时也被称为“强人工智能”是否可能)引导我开始研究因果关系的。我相信因果推理对智能机器至关重要,它可以让智能机器使用我们的语言与我们交流策略、实验、解释、理论乃至遗憾、责任、自由意志和义务,并最终让智能机器做出自己的道德决策。
如果能用一句话来概括本书的内容,那就是“你比你的数据更聪明”。数据不了解因果,而人类了解。我希望因果推断这门新科学能让我们更好地理解我们是如何做到这件事的,因为除了自我模拟,我们没有更好的方法来了解人类自身了。与此同时,在计算机时代,这种新的理解也有望被应用于增强人类自身的因果直觉,从而让我们更好地读懂数据,无论是大数据还是小数据。