因果关系发现:推开认知世界的大门

本文探讨了因果关系发现的三个层次,强调了干预和反事实推理的重要性。通过辛普森悖论举例说明了仅依赖相关性进行因果推断的局限性。文章介绍了因果发现的工具,如因果图和结构因果模型,并阐述了如何运用这些工具进行因果发现,包括基于约束和分数的方法。最后,强调了因果推理在机器学习和多个领域的应用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一篇文章(灵魂三问:因果推断)中,我们介绍了什么是因果推断,为什么要以及如何进行因果推断。本文将围绕如下内容介绍如何进行因果关系发现研究:

  • 因果发现的三个层级

  • 因果发现的重要工具

  • 因果发现的具体方法

(本文共4137字,预计阅读时长10分钟)

先从一组数据说起:为了研究某个治疗方案是否对某疾病有疗效,研究人员安排了治疗组和控制组进行实验,每组40人。治疗组将严格按照方案进行治疗,而控制组的人只能得到一些安慰剂。在实验进行一段时间后,得到两组病人的生存率,如图所示。

在这里插入图片描述

  • 人群总体:50%(治疗组生存率) >40% (控制组生存率)

  • 男性:60%(治疗组生存率) <70% (控制组生存率)

  • 女性:20%(治疗组生存率) <30% (控制组生存率)

上面的数据给出一个令人迷惑的结论:从人群总体的角度,我们发现治疗组的生存率要高于控制组。但当区分性别来看,会完全颠覆之前的结论,即无论男性还是女性,治疗组的生存率均低于控制组。

你是不是也有一点糊涂?别担心,这就是困扰了统计学家60多年的著名的辛普森悖论,是因为仅通过学习某个条件概率,就去回答因果性问题而产生的。

一、认知因果的三个层次

图灵奖得主Judea Pearl提出,认知因果包含三个层级 1 。通过观察发现事物之间的关联只是第一个层级;在这之上,还需要对过程进行有目的的干预,才能去回答“如果进行了治疗,生存率是否会提高的问题”。认知因果的第三个层级是反事实推理,回答“假如没有…,那么…“这样的问题。

传统的机器学习最擅长做的是根据数据中呈现出来的相关性学习函数 f ( Y ∣ X 1 , … , X m ) f\left({Y|X}_1,\ldots,X_m\right) f(YX1,,Xm)去拟合条件概率 P ( Y ∣ X 1 , … , X m ) P\left(Y|X_1,\ldots,X_m\right) P(YX1,,Xm)。这种机器学习模型只学习到了认知因果的第一个层次即关联

干预,是对所有可能影响因果关系的因子进行控制。如果不使用严格的控制实验,仅通过数据进行干预,需要引入由do算子定义的干预分布,直观地描述对 X i X_i Xi进行有意图干预时,其他变量概率分布的变化情况 2 。例如: P ( Y ∣ d o ( X ) = a ) P(Y|do\left(X\right)=a) P(Ydo(X)=a)描述了当 X X X取值为 a a a时, Y Y Y所对应的分布。写成如下形式:
P ( X 1 , … , X i − 1 , X i + 1 … , X n | d o ( X i ) = a ) = P ( X 1 , … , X n ) P ( X i | p a i ) I ( X i = a ) P\left(X_1,\ldots{,X}_{i-1,}X_{i+1}\ldots,X_n\middle| d o\left(X_i\right)=a\right)=\frac{P\left(X_1,\ldots,X_n\right)}{P\left(X_i\middle|{pa}_i\right)}I(X_i=a) P(X1,,Xi1,Xi+1,Xndo(Xi)=a)=P(Xipai)P(X1,,Xn)I(Xi=a)
其中, p a i {pa}_i pai表示所有产生 X i X_i Xi的原因; I ( X i = a ) I(X_i=a) I(

"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值