目录
Interventions
我花时间详细讲解因果模型的原因是,一旦你拥有了一个因果模型,你就可以开始对其进行调整,尝试解答因果问题。在专业术语中,这种调整被称为干预。例如,你可以取一个非常简单的因果模型,然后迫使所有人接受处理t0。这样一来,就消除了T自然产生的原因,将其替换为一个恒定的值
这是一个思维实验,目的是回答“如果我把处理设置为,结果Y会发生什么变化?”的问题。实际上,你不必真的对处理进行干预(尽管你可以,而且之后也会这样做,但那是后话)。在因果推断的文献中,这类干预可以用do算子来表示。如果你想思考如果对T进行干预会发生什么,你可以写成。
do算子也初步揭示了关联与因果的区别所在。我已经论述过,对于正在进行促销的企业,高销量(E[AmountSold | IsOnSales = 1])可能会高估如果所有企业都进行价格削减时平均销量会是多少(E[AmountSold | do(IsOnSales = 1)])。在第一种情况下,你所观察的是那些自主选择降价的企业,它们很可能规模较大。相比之下,后面的量E[AmountSold | do(IsOnSales = 1)],指的是如果你迫使所有企业都参与促销,而不仅仅是那些大型企业,会发生什么。重要的是,一般来说,
理解这两者之间差异的一个方式是从选择与干预的角度来看待。当你基于销售情况做条件概率时,你测量的是在实际降价的一系列企业子样本上所售出的数量。而当你基于干预do(IsOnSales)做条件概率时,你是在迫使所有企业都降价,然后在全部样本上测量所售出的数量(见图1-2)。
do算子用于定义那些并非总能从观测数据中直接获取的因果量。在前面的例子中,你无法观测到每个企业都进行do(IsOnSales = 1)的情况,因为你并没有迫使他们进行促销。do算子作为一种理论概念非常有用,它能让你明确指出你追求的因果量是什么。由于它不是直接可观察的,因果推断的很大一部分工作就是从理论表达中去除它——这一过程被称为识别。
Individual Treatment Effect
do算子也能帮助你表达个体处理效应,也就是处理对于个体单元i的结局产生的影响。你可以将它写成两个干预之间的差值的形式:
用语言描述就是,“对于单元i,从处理t0变化到t1的效应τi,等于该单元在t1处理下和t0处理下的结局之差。”你可以利用这个概念来分析我们想要弄清楚的问题,即在AmountSold中将IsOnSales从0翻转到1的影响:
然而,由于因果推断的基本问题,你只能观察到上述等式中的一个项。所以,尽管理论上你能这样表达这个量,但这并不意味着你能够直接从数据中获取它。
Potential Outcomes
在因果推断中,do算子能帮助定义一个既酷炫又广泛使用的概念——反事实或潜在结果:
你可以这样理解:"如果把个体i的干预设置为t,那么i的结局将会是Y。"有时候,我会用函数记号来定义潜在结果,因为下标可能会变得过于拥挤:
当讨论二元处理(接受处理与否)的情况时,我会用Y0i表示个体i在无处理情况下的潜在结果,而Y1i表示个体i在接受处理情况下的潜在结果。我也会将其中一个潜在结果称为事实结果,即我可以观察到的结果;而另一个则称为反事实结果,意味着它无法被观察到。例如,如果个体i接受了处理,我可以观察到它在处理下的变化,也就是说,我可以观察到,我将之称为事实潜在结果。相反,我无法看到如果个体i没有接受处理会发生什么,即我无法看到,因为它属于反事实结果:
您可能还会发现同样的事情用以下方式书写:
回到我们的例子,你可以用来表示如果没有进行任何价格削减的话,商家i原本能卖出的商品数量;而则表示如果商家i确实进行了促销活动,它可能卖出的商品数量。你还可以根据这些潜在结果来定义效果,即: