因果关系的本质是什么?

因果关系的本质是什么?

过去三十年,由朱迪亚·珀尔(Judea Pearl)为首的一批科学家,在学术界掀起了一场"因果革命".

朱迪亚·珀尔是人工智能领域开山鼻祖级别的人物,也是机器学习这门技术的奠基人之一,但现在他却成了这项技术最尖锐的批评者.在他看来,无论是传统的机器学习还是如今的大语言模型,本质上都只是在数据和语料里来回打转,只能捕捉到其中的相关性,而不能真正理解背后的因果关系.

珀尔有句名言:"数据是极其愚蠢的."比如我们开车不会等到真的没油了才去加油,而是看到油箱见底就去加,因为我们知道没油车就开不动了.但是光凭数据是看不出这一点的(因为我们甚至没有"没油车就不动"的观测数据!).为了让AI获得真正的"理解力",珀尔发明了一整套形式化的因果关系语言,希望有朝一日AI能理解复杂事物之间的因果结构.

我们大部分人应该不会去研究AI,这套学说对人工智能的作用咱们先不提,单说它对人的作用.在我看来,这套因果理论对于我们自己理解因果意义重大,我们经常说 导致了 ,也就是 是 的原因,但是你能给"因果"下一个准确定义吗?

再比如,我们日常还会说直接原因、间接原因,充分原因、必要原因,普遍原因、特殊原因.这些词我们天天在用,而且默认大家都懂.但是如果你仔细深究的话,就会发现这些概念其实相当模糊,你很难给它们下个严谨又自洽的定义.

这种模糊性会限制我们的思维.也许在一些相对简单的场景里,我们凭借直觉还能做出大差不差的判断,但在更复杂的情形中,直觉就很可能误导我们.而且缺少严密的逻辑体系,我们既不能把自己的直觉完整、清晰地传达给别人,也很难真正说服别人相信我们的判断.

因此,在我看来,珀尔的因果理论,最大的价值就在于:它第一次让我们能够清晰地表达各种关于因果的概念,并且提供了一整套数学工具来分析因果问题.值得一提的是,虽然这套理论是近三十年才发展起来的,但其中用到的数学只是最基础的概率论知识和一点点图论知识.这说明,这套理论真正厉害的地方在于思想高度,而不是技术难度.它几乎不需要什么高深数学,一旦有了正确的思想,把理论搭起来反而不难.

这也意味着这套理论是我们普通人也能学的.如果你能认真学下来,你的大脑会立即获得一次不可逆的升级,从此你理解这个复杂世界就比别人多了一个维度.

在正式介绍珀尔这套因果理论之前,我们先看看人类历史上对因果的认知历程.你会发现,人类起初对因果非常自信,觉得自己当然知道什么是因果;接着开始怀疑因果的存在,以至于在相当长的一段时间里,学界只承认"相关性",而否认"因果";后来又有天才拨云见日,从相关性的迷雾中重新看见了因果;最后到最近三十年的"因果革命",我们甚至连因果是否真的客观存在都说不清楚了……

但这并不是认知的倒退,人类对因果的认识经历了好几次升维.我们先从古希腊哲学家亚里士多德说起.

亚里士多德大概是人类历史上第一位系统研究因果的哲学家,他提出了著名的"四因说",分别是质料因、形式因、动力因和目的因.

质料因回答的是"事物由什么构成",比如一座青铜雕塑是由青铜构成的,我们用橡皮泥做不出同样的雕像.形式因回答的是"它为什么是这个而不是那个",青铜既可以用来铸成雕塑,也可以锻造成一把剑,两者的区别不在于材料,而在于"形式",这就是形式因.动力因回答的是"什么使它改变或者产生",比如雕塑之所以存在,是因为有人去雕刻,雕塑家就是雕塑的动力因.最后,目的因回答的是"它是为了什么".比如雕塑是为了供人欣赏,"被人欣赏"就是雕塑的目的因.

从今天的眼光来看,亚里士多德对因果的分类十分朴素,而且目的因带有浓厚的形而上学色彩.地球绕太阳公转背后有什么目的吗?只是牛顿力学支配下的运动罢了,这背后并没有体现什么神灵的意志.

英国经验主义哲学家休谟就不赞成亚里士多德的这个分类,他坚持因果应该有一个统一定义.在《人性论》中,休谟认为,因果并不是事物内在的某种特性,而是人类自身记忆和经验的产物.比如我们靠近火焰,就会有温暖或灼烧的感觉,因为"火焰"和"热"在我们的记忆中恒常联结,于是我们称一个为因,另一个为果.

简而言之,如果一件事发生时,总是伴随另一件事发生,或者一件事发生会改变另一件事发生的概率,写成数学公式就是

那么我们就称事件 是事件 的原因.

但是,这个定义很快遇到了麻烦.比如公鸡打鸣总是伴随太阳升起,可我们并不会把公鸡打鸣当成太阳升起的原因.所以在提出这个定义的九年后,休谟又做了一个重要补充:一个对象称为因,如果它先于另一个对象发生,并且如果没有前一个对象,后一个对象就不可能存在.

我们重点来看休谟补充的这句话,这里面蕴含着一个石破天惊的观点,我们说 是 的原因,不光因为 总是伴随 一起发生,还因为我们可以想象一个没有 的世界里, 并没有发生!

后一种定义现在称为"若非原则"(but-for).在这个定义下,公鸡打鸣就不是太阳升起的原因了,因为在一个想象的世界里,公鸡生病了,或者干脆任性不打鸣,太阳依然会照常升起.

遗憾的是,休谟提出的第二种定义很长时间里被哲学家们忽视了.对因果概念再次发起挑战的,不是哲学家,而是统计学家.

1877年,弗朗西斯·高尔顿研究了人类身高的代际遗传,我曾经介绍过高尔顿和这个故事.但当时这个故事只讲了一半,今天我们把另一半补上.话说高尔顿发现人的身高有回归均值的倾向,高个子父亲的儿子,虽然很可能比平均身高要高,但通常没有他们父亲那么高.

高尔顿认为,这里面蕴藏着某种神秘的遗传机制,他在一次科学演讲中向观众展示了著名的高尔顿板,并用倾斜的凹槽来直观演示了回归均值的倾向.高尔顿一直在寻求回归均值的因果解释,为此他苦思冥想了整整12年!

后来,他偶然发现回归均值现象的时间顺序竟然可以逆转.也就是说,如果儿子的身高高于平均值,那么他们父亲的身高也很可能高于平均值,但往往父亲要比儿子矮.意识到这点后,高尔顿终于放弃了为回归均值寻找因果解释的尝试,因为子辈的身高显然不可能是父辈身高的原因.

如果我们把父亲身高和儿子身高的数据画成散点图,就会发现它们大致分布在一条倾斜向上的直线两侧,这条直线的斜率,在今天就被称为 和 的相关系数(标准化处理后).高尔顿从寻找因果关系出发,最终却得到了相关性.他很快意识到,相关性可以在不依赖人的主观判断或解释的前提下,客观度量两个变量是如何相互关联的.

他的学生卡尔·皮尔逊把高尔顿的思想进一步发扬光大.在他看来,相比在数学上清晰又精确的相关性,模糊而又陈旧的因果概念早就应该被扫进历史的垃圾桶了.皮尔逊认为,因果关系不具备任何科学意义,有意义的科学思想只能来自我们实际观察到的特定模式,而这些模式完全可以用相关性描述,因果作为一个华而不实的概念,则应该被彻底摒弃.

皮尔逊的观点几乎统治了整个20世纪,直到今天,正统的统计学教材里也很少系统讨论因果关系,顶多是在讲相关性时顺便加一句"相关不等于因果".

当然,反对声音也不是没有,甚至皮尔逊本人也发现,有些相关性是非常可笑的,应该叫做"伪相关".一个经典的笑话是一个国家的人均巧克力消费量和该国诺贝尔奖得主人数之间存在很强的正相关,所以我们应该鼓励大家多吃巧克力.这显然是荒谬的,更合理的解释是,无论是巧克力消费量,还是诺贝尔奖得主人数,都受到同一个因素——国家经济水平的影响,它们是因为这个共同原因才呈现出相关性的.

皮尔逊解释说,真正的相关性反映的是变量之间的"有机关系",而伪相关则不行.可问题是,到底什么是有机关系?皮尔逊解释不清楚,到头来还得诉诸因果关系.

直觉上我们觉得因果关系是有用的,尽管现在我们还无法从纯粹理性的角度定义什么是因果.

就在皮尔逊和他的追随者对因果关系充满敌意,准备将它从科学中清除出去的时候,有一个名不见经传的生物学家却主动拥抱因果,开始了自己的研究. 1920年,休厄尔·赖特在《美国自然科学院学报》上发表了一篇文章,首次引入"因果图"这一数学工具.

赖特发现,豚鼠的毛色遗传和孟德尔遗传定律并不完全吻合,因此他怀疑,豚鼠的毛色除了受到遗传因子()和环境因子()的影响外,还受到某种"发育因子()"的影响.他把这三种因素如何影响毛色的关系,画成下面这张因果图:

然后,他根据自己的实验结果,用解方程的方法算出了这三种因素影响大小的相对比例,发现假设中的发育因子比遗传因子发挥了更大作用.在随机繁殖的豚鼠中,约有 的变异是由遗传因子引起的,而有 则来自发育因子.

赖特意识到,如果不借助因果图,像确定几个因素的相对影响大小的问题,用此前的任何统计工具都无法得到正确的答案.另一个出色的例子来自赖特1921年的论文《相关关系和因果关系》,这个例子更加简单,我们可以欣赏一下赖特的解法.

赖特的论文中提出了这样一个问题:豚鼠在母鼠的子宫里每多待一天,会对其出生体重产生多大影响?已有的数据可以让我们直接比较不同孕期豚鼠的出生体重,比如孕期 天和孕期 天.赖特发现,在子宫里每多待一天,会让出生体重平均增加 克.

有人可能觉得问题不就解决了吗?豚鼠胚胎平均每天增长 克.但是赖特说这是错的!因为幼鼠晚出生是有原因的,比如同一窝产仔数较少,这就意味着幼鼠有更有利的发育环境.比如有 个兄弟姐妹的幼鼠相比有 个兄弟姐妹的幼鼠,如果都是在怀孕 天时出生,前者通常就比后者更重.

所以增长的 克体重有两个影响因素,一是由于子鼠在母鼠子宫内多待了一天,二是由于子鼠可以与更少的兄弟姐妹竞争.我们真正关心的是第一个因素,为此需要排除第二个因素带来的干扰.

赖特根据这里面的因果关系,画出了下面这张因果图.其中 表示幼鼠的出生体重, 和 代表影响出生的体重两个已知原因:怀孕时长()和产前生长速率().但是 无法直接观测,我们实际能测量的是同一窝幼鼠的个数(),它会同时影响 和 .最后, 和 表示我们拿不到数据的一些外因,比如遗传或者其它环境因素.

赖特进一步假设,这些变量之间是线性依赖的关系,也就是每个变量可以写成关于它的父节点变量的线性函数,再加上一个随机扰动项,

我们能够观测的数据只有 , 和 ,接下来赖特展示了一个"代数魔法",只要对变量数据作标准化处理(除以它们各自的标准差),就可以用路径系数来表示变量之间的相关系数.具体来说,赖特证明了下面两个公式:

比如 和 之间相关系数 ,它由两部分构成:一部分是 对 的直接效应 ,另一部分是路径 带来的间接效应.于是有

类似的,对于 和 的相关系数 ,以及 和 的相关系数 ,我们可以得到下面这个方程组:

也许你会对第三个方程产生疑惑,为什么没有把路径 算进去?这是因为这条路径上存在一个对撞结构 ,这个对撞会阻碍 对 产生间接影响.这里的数学原理我们以后再慢慢说,现在只需对赖特的思路有个大致了解即可.

从上面的方程组,我们就可以解出

这就是怀孕时长对出生体重的真实效应.赖特计算出,如果小鼠在母鼠子宫里每多待一天,出生体重不是平均增长 克,而是 克!

赖特的革命性方法本应在学界引起巨大反响,然而出人意料的是,除了赖特本人和少数遗传学家继续用因果图分析问题外,因果图并没有得到广泛应用.从1920年到1960年,赖特的方法几乎被人遗忘了,直到上世纪60年代,因果图才被经济学家们重新拾起.又过了几十年,珀尔等人继承赖特的思想,建立起一整套严密的因果分析框架,而它的核心思想就是因果图!

我们再看一眼因果图,因果图里的箭头到底是什么意思?它们代表真实的因果关系吗?赖特在这里有一个非常重要的洞见:因果图不是一个统计概念,它无法从数据中得到,而是我们在充分理解事物本质和作用机制之后,画出来的一幅结构图,是我们主观知识的一种表达.

我们之所以这样画因果图而不是那样画,只考虑了这些箭头而没有画出别的箭头,仅仅是一种主观选择,是根据我们的经验、背景知识和判断画出来的.

因果,其实是你的主观假设.

这个观点有些离经叛道,因为直觉上我们总是觉得客观事物之间是存在内在联系的,因果也应该是客观存在.珀尔则说因果是否客观存在并不重要,关键在于我们无论是认识世界,还是改变世界,都是在头脑中先建立起类似因果图的世界模型,然后根据这个模型进行预测和行动.

当然,因果图也不能随便想象,它是一种可证伪的假设,如果我们的观察和数据与因果图矛盾,那就意味着我们的因果假设错了.

到目前为止,我们还没有直接回答"什么是因果"这个根本问题.这就引出了珀尔的一个洞见,他说因果分为三个层级.

第一个层级是"观察",也就是发现事物之间的联系.这是很多动物也具备的能力,比如一个地方草木茂盛,那就可以推断这里降水充沛,很可能有水源.

第二个层级是"干预",也就是采取行动主动改变结果.例如通过吃阿司匹林来缓解头痛,或者通过运动来减轻体重.

第三个层级是"想象",也叫反事实,是想象如果当初采取了另一种行动,结果会怎么样.比如一个因为长期吸烟而得了肺癌的患者,会问:"如果当初我没有吸烟,现在是不是就不会得癌症了?"

珀尔认为,传统的统计学和现在的人工智能,基本还停留在第一个层级,只是在数据里发现相关性、做出预测. ChatGPT虽然表现出很高的智能水平,但它的工作原理,本质上还是预测下一个词的概率.要想真正到达因果的第二个和第三个层级,就必须引入因果图这样的工具,而后两个层级才真正触及了因果的本质.

我们认为 和 存在因果关系,仅仅发现它们之间有相关性是不够的.就像巧克力消费量和诺贝尔奖得主人数的例子,它们可能是受到第三个共同因素的影响.必须是我们主动对 发起干预,结果 跟着响应了,才能说 对 有因果效应.比如,无论我们强迫公鸡半夜打鸣,还是强迫它不打鸣,都不影响太阳照常升起,因此公鸡打鸣和日出之间就不存在因果关系.

在因果图中,对 干预就是主动屏蔽所有可能影响 的因素,也就是"切断"所有指向 的箭头,然后通过一个外部操作强行改变 的取值.珀尔把这样的操作叫做 -算子( -operator), -算子可以说是整个因果理论中最重要的概念,我们后面会详细展开.如果

我们就说 对 有因果效应,这大概是目前最科学的因果定义.

这个定义和休谟的定义(1)看起来有点像,但其实有根本的差别.休谟那里用的是 ,表示我们在被动观察到 取某个值时 的分布,因此仍然停留在"观察"的第一层级.而 表示的是我们主动将 固定为某个值,再看 的分布,这是去看干预后的世界.

需要注意的是,定义(2)并不意味着 和 之间必须直接画一条箭头.比如在下面这个例子中,

"学习时长"并不直接影响"考试成绩",而是通过中介变量"知识掌握程度"来起作用的.但是如果我们主动增加或者减少"学习时长",通常"考试成绩"还是会受到影响.因此,虽然"学习时长"和"考试成绩"之间没有直接箭头,它们之间仍然存在因果关系.

以后我们会看到,如果在因果图中 指向 画了一个箭头,那么我们就把 称为 的直接原因(这不是直接原因的严格数学定义,但在绝大多数情形里是等价的),其它不是直接原因的原因就称为间接原因.

借助因果图,我们终于可以说清楚什么是因果关系.需要强调的是,因果图不只是一张漂亮的图画,或者一个玩弄概念的思维工具,它更是一个强大的计算工具.豚鼠的例子已经向我们展示了它的部分威力,之后我会结合更多具体案例,充分展示因果理论的精妙之处.只要你愿意下功夫把它啃下来,你将收获一整套认识世界和改变世界的高级套路.