8.1 循线而行

前几章着重强调了因果图的概念。作为本书的作者,我显然对节点和箭头情有独钟。

这些图表之所以对应用研究者如此有用,是因为它们清晰地展示了两个变量之间可能产生关联的不同原因,同时也指明了我们需要采取哪些步骤才能识别出研究问题的答案。 因果图的这两大优势,都源于对图中变量间路径的细致考量。

这些路径告诉我们原因——为什么两个变量会相关?究竟是谁导致了谁?这正是我们解答研究问题所需的关键背景信息。

路径:在因果图中,路径是指从一个变量到另一个变量的过程中,所经过的所有箭头和节点的集合。

本章的核心内容,正是关于这些路径的探讨。

那么,什么是路径?在因果图中,两个变量之间的路径,就是当你从一个变量”行走”至另一个变量时,所经过的一系列箭头与节点的轨迹描述。

例如,请看\(图8.1\)所示的因果图。我们在数据中可以观察到\(B\)\(C\)存在关联。但为什么它们会相关呢?

Figure 8.1: An Example Causal Diagram for Path Finding

一个原因是\(B\)直接导致\(C\)——毕竟图中明确标有\(B \rightarrow C\)的路径,这是\(B\)\(C\)之间的一条直接通路。

另一个原因则在于\(D\)同时影响着\(E\)\(C\),而\(E\)又影响着\(B\)。具体来看,这条路径可表述为\(B \leftarrow E \leftarrow D \rightarrow C\)。我们可以这样”行走”:从\(B\)回溯至\(E\),再追溯至\(D\),最后抵达\(C\)。这就像沿着图中所铺设的小径,完成了一次从变量\(B\)到变量\(C\)的思维漫步1

那么\(B\)\(C\)为何相关?如前所述,首要原因是\(B\)\(C\)的直接影响(\(B \rightarrow C\)路径)。其次则源于\(D\)的共因作用:\(D\)同时影响\(C\)\(E\),而\(E\)又影响\(B\)。换言之,\(B\)\(C\)的联动现象,部分源于它们共同受到\(D\)的驱动。

当我们的研究问题是”\(B\)\(C\)的因果效应”时,第二条由\(D\)主导的路径就构成了除\(B \rightarrow C\)之外,另一个解释\(B\)\(C\)相关的替代机制。这种共因关系为变量间的相关性提供了不同于研究问题目标答案(\(B\)是否及如何影响\(C\))的其他解释可能。

这些路径既能指引我们走向目标因果链条,也能帮助我们规避混淆因素。它们对确立因果识别策略具有关键作用。下面我们就来系统学习这些路径规律。

8.2 条条大路通罗马

我们的首要任务是找出所有路径——没错,是所有的路径。我们需要完整列出从处理变量出发、最终指向结果变量的每一条可能的路径。

为什么必须确保找出每一条路径?因为每条路径都代表着处理变量和结果变量之间可能存在的一种关联机制,它们构成了对观测现象的替代性解释。以”吸烟对癌症的影响”研究为例:若存在”\(吸烟 \rightarrow 癌症\)“的直接路径,同时存在”\(吸烟 \leftarrow 收入水平 \rightarrow 癌症\)“的路径,那么当研究者声称”吸烟导致癌症”时,质疑者完全可以有理有据地反驳:“或许如此,但低收入既影响吸烟概率又影响整体健康状况,观测到的关联可能只是统计假象!”

如果你想真正展示你的干预如何导致结果,就必须找出那些替代性解释,以便在研究中加以控制,从而精确识别你感兴趣的那个解释。这些替代性解释存在于路径中。若要消除它们,首先必须了解它们。

那么,如何找到从干预到结果的所有路径呢2?在更复杂的图中,路径可能非常多。我们该如何找到它们?

我们可以按照以下便捷步骤操作3

  1. 从处理变量出发

  2. 沿任意方向追踪箭头(进入或离开处理变量的箭头均可!)找到下一个变量

  3. 继续追踪该变量的进出箭头

  4. 重复步骤3,直到出现两种情况:

    • 遇到已访问过的变量(形成环路,不属于有效路径)

    • 到达结果变量(即找到一条路径,需记录下来)

  5. 回溯探索:每当发现路径或环路时,退回上一步变量,尝试其他未选择的箭头,直到穷尽所有可能

  6. 完成搜索:当治疗变量的所有可能路径都被探索后,即获得全部路径

接下来我们将通过\(图8.2\)的简单案例进行演示

Figure 8.2: Diagram that we will Look for Paths On

让我们按照上述步骤进行操作4

  1. \(Treatment\)出发

  2. 首先追踪箭头直达\(Outcome\) → 找到第一条路径:\(Treatment \rightarrow Outcome\)

  3. 回溯至\(Treatment\),选择另一箭头指向\(A\)

  4. \(A\)追踪箭头至 \(Outcome\) → 获得第二条路径:\(Treatment \rightarrow A \rightarrow Outcome\)

  5. 回溯至\(A\),选择另一箭头指向\(B\)

  6. \(B\)只能前往\(C\)(避免变量重复)

  7. \(C\)追踪至\(Outcome\) → 第三条路径:\(Treatment \rightarrow A \leftarrow B \rightarrow C \rightarrow Outcome\)

  8. 回溯链:\(B\)无其他路径 → 返回\(A\) → 返回\(Treatment\)

  9. 选择\(Treatment\)最后剩余箭头指向\(B\)

  10. \(B\)出发:

    • \(B \rightarrow A \rightarrow Outcome\) → 第四条路径:\(Treatment \leftarrow B \rightarrow A \rightarrow Outcome\)

    • \(B \rightarrow C \rightarrow Outcome\)→ 第五条路径:\(Treatment \leftarrow B \rightarrow C \rightarrow Outcome\)

最终确认所有可能性已穷尽,共发现\(5\)条路径

完整的路径列表如下:

  1. 直接路径\(Treatment \rightarrow Outcome\)

  2. 单中介路径\(Treatment \rightarrow A \rightarrow Outcome\)

  3. 后门路径\(Treatment \rightarrow A \leftarrow B \rightarrow C \rightarrow Outcome\)

  4. 混杂路径\(A\)\(Treatment \leftarrow B \rightarrow A \rightarrow Outcome\)

  5. 混杂路径\(B\)\(Treatment \leftarrow B \rightarrow C \rightarrow Outcome\)

让我们来做个练习。\(图8.3\)的示例图表结构更为复杂,正好适合我们尝试找出所有可能的路径。建议您先自行尝试——尽可能找出所有路径,然后再对照完整列表看看您的完成度如何。

\(图8.3\)展示了饮酒\(Wine\)与寿命\(Lifespan\)之间的关联关系。饮酒者可能更长寿的原因包括多个方面:首先,葡萄酒本身可能确实对寿命存在因果效应;其次,选择饮用葡萄酒的人群可能本身就具有更长的预期寿命(这可能源于其基础健康水平或收入等其他因素)5;此外,饮酒行为还可能通过影响使用其他药物的倾向(比如替代效应)进而间接影响寿命。所有这些可能性都在因果图中得到了呈现。

Figure 8.3: The Effect of Wine on Lifespan

让我们按照步骤逐步追踪所有路径:

  1. 直接效应路径\(Wine \rightarrow Lifespan\)(基础路径)

  2. 药物中介路径\(Wine \rightarrow Drugs \rightarrow Lifespan\)(通过药物使用的中介效应)

  3. 收入混杂路径\(Wine \leftarrow Income\rightarrow Lifespan\)(收入作为混杂因素)

  4. 未观测变量路径1\(Wine \leftarrow Income \leftarrow U1 \rightarrow Health \rightarrow Lifespan\)(通过未观测变量U1和健康的多重中介)

  5. 健康直接路径\(Wine \leftarrow Health \rightarrow Lifespan\)(健康状态作为混杂因素)

  6. 未观测变量路径2\(Wine \leftarrow Health\leftarrow U1 \rightarrow Income\rightarrow Lifespan\)(U1同时影响收入和健康的复杂路径)

至此,我们已穷尽所有从葡萄酒到寿命的可能路径。完整路径列表如下:

  1. 直接因果路径\(Wine \rightarrow Lifespan\)

  2. 药物中介路径\(Wine \rightarrow Drugs \rightarrow Lifespan\)

  3. 收入混杂路径\(Wine \leftarrow Income\rightarrow Lifespan\)

  4. 未观测变量路径(健康中介)\(Wine \leftarrow Income \leftarrow U1 \rightarrow Health \rightarrow Lifespan\)

  5. 健康混杂路径\(Wine \leftarrow Health \rightarrow Lifespan\)

  6. 未观测变量路径(收入中介)\(Wine \leftarrow Health\leftarrow U1 \rightarrow Income\rightarrow Lifespan\)

每一条因果路径都对应着一个潜在的解释机制,揭示了数据中葡萄酒消费与寿命之间可能存在的关联:

  1. 药理路径解释:葡萄酒摄入可能改变药物使用行为(如替代效应),进而影响寿命\(Wine \rightarrow Drugs \rightarrow Lifespan\)

  2. 社会经济混杂解释:高收入群体往往有更多葡萄酒消费习惯,同时收入水平本身也会影响寿命\(Wine \leftarrow Income\rightarrow Lifespan\)

  3. 健康选择偏误解释:通过未观测变量U1(如遗传因素)的传导,高收入反映更好的基础健康状况,而健康人群既更可能饮酒,通常也更长寿\(Wine \leftarrow Income \leftarrow U1 \rightarrow Health \rightarrow Lifespan\)

每个路径都提供了一个自洽的解释框架。但关键问题在于:在这些竞争性解释中,哪些才是具有实质性因果意义的真实机制?

8.3 有效路径与干扰路径:前门准则与后门准则

既然我们已经梳理出所有可能的因果路径,接下来该如何运用这些路径呢?

我的承诺始终是:这些路径能帮助我们解答研究问题。事实上确实如此。现阶段的关键在于,我们需要精确解析每条路径与研究问题之间的逻辑关联。

这就引出了因果分析中至关重要的路径分类概念——有效路径与干扰路径6

简言之:有效路径\(Good \space Paths\)指那些与研究问题直接相关、应当纳入考量的处理变量与结果变量间的因果关联;

有效路径判定标准:当且仅当某条因果路径能够解释处理变量与结果变量之间的关联,且该解释直接响应研究问题时,该路径方可被判定为有效路径\(Good \space Paths\)

干扰路径\(Bad \space Paths\)则代表需要排除的替代性解释,即与研究假设无关的伪关联路径。

干扰路径\(Bad \space Paths\)判定标准:当某条因果路径满足以下任一条件时,即被判定为干扰路径:

  1. 解释处理变量与结果变量关联的原因与研究问题无关;

  2. 对观测数据提供替代性解释(即存在混杂因素)。

通常来说,判断标准非常简单:“所有箭头都从\(Treatment\)出发的路径就是有效路径\(Good \space Paths\),其余都是干扰路径\(Bad \space Paths\)”。所有箭头都从\(Treatment\)出发的路径也被称为前门路径\(front \space door \space path\),其余则属于后门路径\(back \space door \space path\)。具体而言,只要路径中存在至少一个箭头指向\(Treatment\),就是后门路径。因此,在大多数情况下,所有前门路径都是有效的,而后门路径都是干扰性的7

::: {#front_door_path & bad_door_path style=“color:red”} 前门路径\(Front \space Door \space Doors\):所有箭头均从处理变量\(Treatment\)出发的因果路径。
后门路径\(Back \space Door \space Path\):路径中至少存在一个箭头反向指向\(Treatment\)的因果路径。 :::

\(图8.3\)为例,所有箭头均从\(Wine\)出发的路径有两条:\(Wine \rightarrow Lifespan\)\(Wine \rightarrow Drugs \rightarrow Lifespan\)。这两条路径完整展现了\(Wine\)可能影响\(Lifespan\)的所有作用机制,因此属于前门路径。如果研究问题是”葡萄酒是否会影响寿命?“,那么这些前门路径就是有效路径,其他后门路径则属于干扰路径。

不过实际情况可能更为复杂,这取决于具体的研究问题。例如,如果将问题改为:“排除对药物使用的影响后,葡萄酒是否直接影响寿命?”,那么即便\(Wine \rightarrow Drugs \rightarrow Lifespan\)仍属于前门路径,但由于研究目标的调整,这条路径突然变成了我们不感兴趣的路径。

从原始数据来看,\(Wine\)\(Lifespan\)之间存在关联的一个原因确实是通过\(Drugs\)这个中介变量。但现在我们不再关注这部分效应!在这种情况下,我们可能会将其视为干扰路径。

这类研究问题(仅将\(Wine \rightarrow Lifespan\)视为有效路径)聚焦于识别”直接效应\(Direct \space effect\)“,而忽略那些经由\(Drugs\)等中介变量产生的”间接效应\(indrect \space effect\)“。

直接效应\(Direct \space effect\):特指”\(Wine \rightarrow Lifespan\)“这一最简因果路径所表征的效应量。

在完成以下关键步骤后:(1)穷尽所有因果路径,(2)区分有效路径与干扰路径,研究问题的核心就转化为:如何从数据中精准分离有效路径的因果信号,同时有效规避干扰路径造成的估计偏误。

8.4 打开和关闭路径

这些棘手的干扰路径确实会带来严重问题——但仅限于路径”畅通无阻”时。所谓”畅通”,即指干扰机制处于活跃状态。因果图中路径的存在意味着:

  1. 中介路径\(Wine \rightarrow Drugs \rightarrow Lifespan\), 表明葡萄酒与寿命的关联部分源自\(Wine\)\(Drugs\)的影响效应

  2. 混杂路径\(Wine \leftarrow Income\rightarrow Lifespan\), 反映葡萄酒与寿命的关联部分源于\(Income\)对二者的共同影响

不过,上述结论仅适用于路径处于”开放”状态的情况。所谓开放路径\(Open \space Path\)8,是指该路径上所有变量均存在实际变异——即当路径中至少有一个变量无变异时,该路径即处于封闭状态\(Closed \space Path\)

::: {#open_path & closed_path style=“color:red”} 开放路径\(Open \space Path\):当某因果路径上的所有变量在数据中均存在变异时,该路径处于开放状态。
封闭路径\(Closed \space Path\):若因果路径上至少有一个变量在数据中无变异,则该路径处于封闭状态。 :::

\(Wine \rightarrow Drugs \rightarrow Lifespan\)路径为例:若数据集中同时包含:

此时该因果路径上所有变量均具有变异性,因此属于典型的开放路径。反之,若数据中所有个体均为非饮酒者(\(Wine\)无变异),则该路径将自动封闭。

如果我们选择一个所有研究对象都不吸毒的数据集呢?在这种情况下,\(Drugs\)变量完全缺乏变异,因此\(Wine\)\(Lifespan\)之间的任何关联都不可能是通过\(Drugs\)这个中介变量产生的。这条因果路径已经自动封闭了9

其核心原理在于:当消除某条路径上某个变量的所有变异时,该路径即会封闭——从而不再干扰我们的因果识别。虽然通过特殊抽样(如选取完全不吸毒的样本)来消除变量变异是一种可行方法,但这并非最优方案。实际上,还存在其他更有效的路径封闭方式

目前,我们暂假设已掌握某种变量控制方法——即通过统计调整消除特定变量的全部变异,从而封闭包含该变量的路径(也可理解为保持该变量恒定不变)。如第四章所述,通过估计条件均值\(conditional \space means\)即可实现这一目标10。此外,还可采用以下方法:1)直接选取该变量无变异的数据集;2)筛选具有相同/相近变量取值的未处理组观测样本。

只要我们在每条干扰路径上至少控制一个变量,同时不控制任何有效路径上的变量,就能确定研究问题的答案。

这就是因果分析的基本方法。

让我们把这个方法应用到葡萄酒研究中。先快速回顾一下:\(图8.4\)再次展示了这个因果图,同时列出了所有可能的路径:

Figure 8.4: The Effect of Wine on Lifespan

1. \(*Wine \rightarrow Lifespan\)

2. \(*Wine \rightarrow Drugs \rightarrow Lifespan\)

3. \(Wine \leftarrow Income\rightarrow Lifespan\)

4. \(Wine \leftarrow Income \leftarrow U1 \rightarrow Health \rightarrow Lifespan\)

5. \(Wine \leftarrow Health \rightarrow Lifespan\)

6. \(Wine \leftarrow Health\leftarrow U1 \rightarrow Income\rightarrow Lifespan\)

如果我们要研究葡萄酒对寿命的影响,就需要找出所有\(Wine\)可能导致\(Lifespan\)变化的路径。我们需要关注所有前门路径。目前有两条前门路径(用\(*\)标记),即两条有效路径,其余都是干扰路径。

要回答这个研究问题,我们可以在每条干扰路径上至少控制一个变量,同时不控制任何有效路径上的变量。

让我们先从控制收入\(Income\)变量开始。这样会得到什么结果呢?把所有封闭路径\(Closed \space Path\)标灰后可以看到:\(Income\)出现在路径\(3\)\(4\)\(6\)中,因此这些路径现在都处于封闭状态。

  1. \(*Wine \rightarrow Lifespan\)

  2. \(*Wine \rightarrow Drugs \rightarrow Lifespan\)

  3. \(Wine \leftarrow Income\rightarrow Lifespan\)

  4. \(Wine \leftarrow Income \leftarrow U1 \rightarrow Health \rightarrow Lifespan\)

  5. \(Wine \leftarrow Health \rightarrow Lifespan\)

  6. \(Wine \leftarrow Health\leftarrow U1 \rightarrow Income\rightarrow Lifespan\)

现在只剩一条干扰路径需要封闭了!只要我们再控制\(Health\)变量就能实现。同时控制\(Health\)\(Income\)变量后,我们将得到…

1. \(*Wine \rightarrow Lifespan\)

2. \(*Wine \rightarrow Drugs \rightarrow Lifespan\)

3. \(Wine \leftarrow Income\rightarrow Lifespan\)

4. \(Wine \leftarrow Income \leftarrow U1 \rightarrow Health \rightarrow Lifespan\)

5. \(Wine \leftarrow Health \rightarrow Lifespan\)

6. \(Wine \leftarrow Health\leftarrow U1 \rightarrow Income\rightarrow Lifespan\)

因此,当我们同时控制\(Health\)\(Income\)变量后,\(Wine\)\(Lifespan\)之间任何残留的统计关联,即为我们的研究问题——“葡萄酒对寿命的因果效应是多少?”——提供了确切的答案11

但有个关键例外:碰撞变量\(Colliders\)。关于路径开放/封闭的完整判定规则,我此前有所保留。目前我只说明了:当路径上所有变量均可自由变异时,路径开放;而通过控制路径上任一变量消除其变异后,路径即封闭。

碰撞变量\(Collider\):当某变量在路径中同时被两个箭头指向(即其左右两侧的箭头均指向该变量时),该变量即被定义为该路径上的碰撞变量。

不过这一规律存在例外:当路径上存在碰撞变量\(collider\)时就不适用。所谓碰撞变量,是指在特定路径上两侧箭头都指向它的变量。

例如在路径\(Treatment \leftarrow A \rightarrow B \leftarrow C \rightarrow Outcome\)中,\(B\)就是一个碰撞变量,因为其两侧的箭头(\(A \rightarrow B\)\(C \rightarrow B\))都指向它12

当路径包含碰撞变量时,该路径默认处于封闭状态\(Closed \space by \space default\)——即使路径上所有变量都可以自由变异,路径仍然保持封闭。更特别的是,如果你控制了碰撞变量,该路径会重新开放!幸运的是,你可以通过控制该路径上的其他变量再次将其封闭。

为什么会这样?为什么两个箭头都指向这个变量如此重要?

可以这样理解:碰撞变量不会影响路径上的其他变量——它只是被动地接受路径左右两侧变量的影响。因此,当我们需要排除处理变量\(Treatment\)和结果变量\(Outcome\)之间的替代性解释时,碰撞变量会自动阻断这些干扰路径。

如果路径是\(Treatment \leftarrow C \rightarrow Outcome\)没有碰撞变量,那么\(Treatment\)\(Outcome\)会因\(C\)的同时影响而产生伪相关。但在含有碰撞变量的路径中\(Treatment \leftarrow A \rightarrow B \leftarrow C \rightarrow Outcome\)中:虽然\(C\)仍能影响\(Outcome\)\(B\),但是因为\(B\)不能影响\(Treatment\)\(C\)无法再导致\(Treatment\)\(Outcome\)之间的伪关联——碰撞变量\(B\)在此起到了关键阻断作用。

这就是碰撞变量默认会封闭路径的原因。但为什么控制碰撞变量后路径会重新开放呢?因为一旦控制了碰撞变量,指向它的两个变量就会产生关联——此时\(C\)又能通过影响\(A\)来间接影响\(Treatment\),那些替代性解释便重新出现了13

乍看之下,碰撞变量似乎无关紧要——只要不主动控制它们就不会有问题。但这里存在两个潜在陷阱:

首先,识别难题。我们必须先准确识别出哪些变量是碰撞变量,才能避免控制它们。问题是这些变量常常伪装成”看起来应该控制”的合理变量(毕竟它们确实出现在因果图中)。

其次,样本选择带来的隐性控制。比如选择仅包含大学生的研究样本,本质上就是在控制”大学入学”变量\(Z\)。如果大学入学恰好是一个碰撞变量(例如:\(家庭收入 \rightarrow 大学入学 \leftarrow 个人能力\)),那就糟了!

那么我们的目标是什么?要回答研究问题,关键是要封闭所有干扰路径,同时保持所有有效路径开放。达成这个条件后,处理变量和对照变量之间的任何剩余关联,就只能通过我们需要的有效路径产生——这正是我们想要的理想状态。

这需要仔细分析因果图中的每条路径:

这个过程就是因果识别\(identification\)的核心。

8.5 利用路径检验因果图

在继续之前,我们还可以用因果路径做一个小技巧。到目前为止,我们讨论的重点一直是寻找处理变量和结果变量之间的路径。但因果图的功能不止于此——我们实际上可以分析图中任意两个变量之间的路径。

虽然这不能直接解答我们关心的研究问题(毕竟研究问题通常只关注\(Treatment\)\(Outcome\)的路径),但它能帮助我们验证最初构建的因果图是否正确。

让我们选择因果图中除\(Treatment\)\(Outcome\)外的两个变量(暂称为\(A\)\(B\))。基本思路如下:

  1. 列出\(A\)\(B\)之间的所有路径

  2. 通过必要操作确保这些路径全部封闭

  3. \(A\)\(B\)仍存在统计关联(可用第四章所述方法检验14),则表明图中存在未考虑的潜在路径——该因果图存在缺陷,且可能是重大缺陷。

让我们以葡萄酒研究为例快速演示。查看\(图8.4\),选择\(Income\)\(Drugs\)两个变量进行分析。这两个变量之间存在哪些路径?按照之前的方法步骤,我们得到:

\(Drugs \leftarrow Wine \leftarrow Income\)

\(Drugs \leftarrow Wine \leftarrow Health \leftarrow U1 \rightarrow Income\)

\(Drugs \leftarrow Wine \leftarrow Health \rightarrow Lifespan \leftarrow Income\)

\(Drugs \leftarrow Wine \rightarrow Lifespan \leftarrow Income\)

\(Drugs \rightarrow Lifespan \leftarrow Income\)

\(Drugs \rightarrow Lifespan \leftarrow Wine \leftarrow Income\)

\(Drugs \rightarrow Lifespan \leftarrow Wine \leftarrow Health \leftarrow U1 \rightarrow Income\)

\(Drugs \rightarrow Lifespan \leftarrow Health \rightarrow Wine \leftarrow Income\)

\(Drugs \rightarrow Lifespan \leftarrow Health \leftarrow U1 \rightarrow Income\)

看起来路径很多,但实际开放路径要少得多——因为\(Lifespan\)在图中所有出现的位置都是碰撞变量。目前开放的路径仅剩:

\(Drugs \leftarrow Wine \leftarrow Income\)

\(Drugs \leftarrow Wine \leftarrow Health \leftarrow U1 \rightarrow Income\)

如果我们进一步控制葡萄酒饮用量\(Wine\),这两条路径也会封闭。这说明当前的因果图实际上做了一个很强的假设:收入\(Income\)和药物使用\(Drugs\)之间的关联必须完全通过葡萄酒饮用量来解释。这个假设显然不太靠谱。

我们可以通过数据验证:在控制\(Wine\)后,检查\(Income\)\(Drugs\)是否仍存在关联。如果确实存在关联(很可能存在),就证明我们的模型不完整。

这类检验被称为安慰剂检验\(placebo \space tests\)——基于因果图判定某关联效应为零(因无开放路径存在),进而验证实际数据是否确实为零。其命名类比医学安慰剂:理论上不应存在任何效应,但实际可能并非如此。本书后续将频繁运用这种检验方法。

安慰剂检验\(placebo \space tests\):通过检测因果图中理论关联值应为零的变量关系,验证其实际观测值是否确实为零的分析方法。

值得庆幸的是,安慰剂检验未通过并非世界末日。确实,检验失败证明模型存在错误和遗漏——但坦白说,我们早就知道所有模型都必然存在简化。关键不在于是否有变量被忽略,而在于这些忽略是否影响重大。

那么这些检验究竟有什么用呢?

虽然检验未通过不意味着全盘皆输,但至少能促使我们思考模型是否需要改进。事实上,单是设计检验的过程就很有启发——比如查看\(图8.4\)时,您是否注意到它暗示”收入\(Income\)只能通过葡萄酒\(Wine\)影响药物使用\(Drugs\)“?无论是否发现这点,检验都能明确揭示这个问题。

此外,即便发现变量间存在关联,其显著程度也至关重要。若出现微弱但非零的异常关联(即因果图中不应存在的关联),可能只需轻微修正;但若检测到强烈且显著的异常关联,则需彻底重新构建因果图模型。

8.6 路径术语表

我们已讨论了多种不同类型的路径。以下是这些术语的含义说明:

有效路径\(Good \space Path\)与研究问题相关的路径/你试图识别的路径。

干扰路径\(Bad \space Path\)与研究问题无关的路径。

前门路径\(Front \space Door \space Path\):所有箭头均从处理变量\(Treatment\)出发的路径。

后门路径\(Back \space Door \space Path\):至少存在一个箭头指向处理变量\(Outcome\)的路径。

开放路径\(Open \space Path\):路径上所有变量均存在变异(且无碰撞变量变异)的路径。

封闭路径\(Closed \space Path\):路径上至少存在一个无变异变量(或存在变异的碰撞变量)的路径。

碰撞变量\(Collider\):若某变量在路径上被两侧箭头同时指向,则该变量为该路径上的碰撞变量。


  1. There’s a third way to go, too: \(B \leftarrow A \leftarrow E \leftarrow D \rightarrow C\)
    ↩︎

  2. 这种方法同样适用于寻找两个变量之间的路径(即使它们不是处理变量和结果变量),这在某些情况下非常有用——包括本章稍后对图表进行检验时。↩︎

  3. 计算机科学爱好者可能会意识到:这本质上是一种贪心算法↩︎

  4. 如果这个过程看起来繁琐(确实如此),别担心——熟能生巧:当你用这种方法分析过几张图表后,很快就能一眼识别所有路径,无需再经历这种机械的逐步推演。↩︎

  5. 此处的”健康”特指基线健康水平,即个体在饮酒(或不饮酒)之前的初始健康状态。↩︎

  6. 在本章中,我将对这两个术语使用首字母大写(Good Paths/Bad Paths)以突出其重要性。不过这种强调方式若持续使用会显得冗余,因此该惯例仅限本章使用。↩︎

  7. 在第五章Abel和Annie的案例中:有效路径(前门路径) = 通过地下室窗户的正当进入路径;干扰路径(后门路径) = 房屋其他所有非正常出口路径↩︎

  8. 这种方法在学术上称为”匹配法”(matching),我们将在第14章对其进行系统性的深入探讨。↩︎

  9. 同理,如果我们选取的样本中所有人都不饮用葡萄酒(\(Wine\)变量零变异),那么所有包含\(Wine\)的因果路径(实际上就是全部路径)都将封闭。在这种样本中,由于缺乏饮酒者与非饮酒者的可比数据,我们显然无法研究葡萄酒的任何效应——用专业术语表述就是:所有因果路径都处于封闭状态。↩︎

  10. 或者将该变量作为控制变量加入回归模型(具体方法将在第13章详细讨论)。不过这只是”变量控制”的一种具体应用形式——我们此处讨论的是更普适性的方法论。↩︎

  11. 以上结论均基于模型设定正确的假设前提下。↩︎

  12. 需要特别注意:一个变量是否成为碰撞变量(collider),取决于它在特定路径中的位置关系。这是路径的特征,而非变量本身的属性。例如变量B在某条路径中可能是碰撞变量,但在其他包含它的路径中可能就不是。↩︎

  13. 为什么会这样呢?

    举个例子:假设你老板有给全办公室订三明治的习惯,但总是在你已经点完午餐后才宣布。这样就形成了一个因果路径:\(购买三明治 \rightarrow 吃三明治 \leftarrow 获赠三明治\)

    正常情况下,你是否购买三明治和老板是否送你三明治这两个行为是完全独立的。但如果我们知道你”吃了三明治”(即控制了这个碰撞变量),它们就会产生关联——如果你没有购买三明治,那必定是老板送了你一个。于是,购买行为和获赠行为之间就形成了新的联系,替代性解释由此产生。↩︎

  14. 在因果图的专业术语中,这一原理被称为”d-分离(d-separation)“——通过我们选择的控制变量,实现两个变量间的统计隔离。↩︎