关于因果关系的识别,前面介绍了一些方法:随机对照试验、后门调整、前门调整、do-演算。今天介绍另一种进行因果效应识别的另一种方法:工具变量。

1. 什么是工具变量?

因果推断模型R语言 因果推断工具变量_edn


上面的因果图中,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02就是一个工具变量,可以利用它在因果推断模型R语言 因果推断工具变量_因果推断模型R语言_03观测不到的情况下计算因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04因果推断模型R语言 因果推断工具变量_edn_05的因果效应。

工具变量的标准:

  1. (Relevance)因果推断模型R语言 因果推断工具变量_因果推断模型R语言_06因果推断模型R语言 因果推断工具变量_因果推断模型R语言_07的直接原因。
  2. (Exclusion Restriction)因果推断模型R语言 因果推断工具变量_因果推断模型R语言_06因果推断模型R语言 因果推断工具变量_因果推断模型R语言_09的因果效应由因果推断模型R语言 因果推断工具变量_因果推断模型R语言_07完全介导。
  3. (Instrumental Unconfoundedness)因果推断模型R语言 因果推断工具变量_因果推断模型R语言_06因果推断模型R语言 因果推断工具变量_因果推断模型R语言_09没有畅通无阻的后门路径。

一个变量满足上述工具变量标准,才能成为一个工具变量,才能利用其进行因果关系的识别。

2. 工具变量不能进行ATE的无参识别

与第五章介绍的ATE识别的方法相比,工具变量无法对ATE进行无参识别。当使用后门调整、前门调整和do-演算识别ATE时,我们无需对参数形式或者说结构变量做任何假设,但工具变量对ATE的识别必须建立在对参数形式(例如,线性)的假设之上。

因果效应可以被无参识别的必要条件是:因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04到其后代也是因果推断模型R语言 因果推断工具变量_edn_05的祖先的节点因果推断模型R语言 因果推断工具变量_因果推断模型R语言_15的后门路径是可以被阻断的(见第五章最后)。在上面的因果图中,因果推断模型R语言 因果推断工具变量_edn_05因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04的子代,并将其看成自己的祖先,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04因果推断模型R语言 因果推断工具变量_edn_05的后门路径因果推断模型R语言 因果推断工具变量_因果推断模型R语言_20由于因果推断模型R语言 因果推断工具变量_因果推断模型R语言_03观测不到而无法被阻断,因此因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04因果推断模型R语言 因果推断工具变量_edn_05的因果效应不能被无参识别。

3. 二元线性设置下工具变量识别ATE

首先介绍最简单的情况:二元线性设置下用工具变量识别ATE。

因果推断模型R语言 因果推断工具变量_edn


假设:因果推断模型R语言 因果推断工具变量_edn_25,假设因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02都是二元变量。

根据假设,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04因果推断模型R语言 因果推断工具变量_edn_05的因果效应为因果推断模型R语言 因果推断工具变量_edn_30,我们需要根据因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02估计因果推断模型R语言 因果推断工具变量_edn_30的值。

因果推断模型R语言 因果推断工具变量_因果推断模型R语言_33

在计算过程中把因果推断模型R语言 因果推断工具变量_edn_34直接删掉是因为根据工具变量标准的第三条,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02因果推断模型R语言 因果推断工具变量_因果推断模型R语言_03是相互独立的。于是,

因果推断模型R语言 因果推断工具变量_edn_37注意,根据工具变量标准的第一条,上式中的分母不为零。

然后,我们插入经验平均值来代替这些条件期望值,得到Wald估计量:
因果推断模型R语言 因果推断工具变量_edn_38其中,因果推断模型R语言 因果推断工具变量_edn_39因果推断模型R语言 因果推断工具变量_因果推断模型R语言_40的样本数,因果推断模型R语言 因果推断工具变量_edn_41因果推断模型R语言 因果推断工具变量_因果推断模型R语言_42的样本数。

4. 连续线性设置下工具变量识别ATE

同样假设因果推断模型R语言 因果推断工具变量_edn_25,当因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02都是连续的的时候,
因果推断模型R语言 因果推断工具变量_edn_46证明:

因果推断模型R语言 因果推断工具变量_因果推断模型R语言_47

5. 工具变量无参识别局部ATE

根据Principal Strata,将数据分为四层:

  1. Compliers - 因果推断模型R语言 因果推断工具变量_edn_48
  2. Always-takers - 因果推断模型R语言 因果推断工具变量_edn_49
  3. Never-takers - 因果推断模型R语言 因果推断工具变量_edn_50
  4. Defiers - 因果推断模型R语言 因果推断工具变量_因果推断模型R语言_51

因果推断模型R语言 因果推断工具变量_edn_52


Local ATE(LATE, Complier Average Causal Effect (CACE))的定义:

因果推断模型R语言 因果推断工具变量_因果推断模型R语言_53

Monotonicity假设:因果推断模型R语言 因果推断工具变量_因果推断模型R语言_54,这个假设的意思就是没有defier。

基于上面的假设,我们可以得到局部ATE:
因果推断模型R语言 因果推断工具变量_因果推断模型R语言_55

证明:
按照Principal Strata将数据分为四层,
因果推断模型R语言 因果推断工具变量_edn_56对于always-takers和never-takers,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02因果推断模型R语言 因果推断工具变量_因果推断模型R语言_04是独立的,因此因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02因果推断模型R语言 因果推断工具变量_edn_05也没有因果效应,因此消去它们。因果推断模型R语言 因果推断工具变量_因果推断模型R语言_61根据假设,没有defiers,因此,消去它们。因果推断模型R语言 因果推断工具变量_因果推断模型R语言_62
现在,我们可以得到,对于compliers,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_02因果推断模型R语言 因果推断工具变量_edn_05的因果效应为:
因果推断模型R语言 因果推断工具变量_因果推断模型R语言_65因为是compliers,所以因果推断模型R语言 因果推断工具变量_因果推断模型R语言_66因果推断模型R语言 因果推断工具变量_因果推断模型R语言_66,因此,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_68因为没有compliers,可以用总概率减去always-takes和never-takers得到compliers的概率。于是,因果推断模型R语言 因果推断工具变量_因果推断模型R语言_69

上面计算局部ATE的方法仅局限于:

  1. 线性
  2. 满足Monotonicity假设

6. ATE识别的更一般设置

因果推断模型R语言 因果推断工具变量_因果推断模型R语言_70


因果推断模型R语言 因果推断工具变量_edn_71