fect:基于面板数据的因果推断(上)-T218a

发布时间:2021-06-04 阅读 346

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

 

作者: 曹琳君 (南开大学) ;陈波 (深圳大学)

邮箱: linjuncao@yeah.net1900123011@email.szu.edu.cn

Source: Practical Guide to Counterfactual Estimators for Causal Inference with Time-Series Cross-Sectional Data." Working Paper, Stanford University, -Link-


目录


1. 背景介绍

双向固定效应分析是人们用来识别因果机制的主要策略之一,它基于两个重要的假设条件:(1) “线性假设”,即干预效果在研究的时间范围内以固定的速率变化 (当干预为二分变量时,则简化为干预效果恒定) ;(2) “无时变混杂因素假设”,即不存在同时与干预结果和潜在结果相关的未观察到的、随时间变化的因素。当只有两个时期和两个组时,这一假设意味着平行趋势。

然而严格的假设条件意味着它只能在平行世界中产生可解释的因果估计,任一假设的失败都会导致因果估计结果的偏差。

针对这一问题,Licheng Liu (Tsinghua) 、Ye Wang (NYU) 和 Yiqing Xu (Stanford) 三位学者开发了 fect 命令,通过引入一组估计量来放宽双向固定效应在分析干预措施为二元变量时的假设条件,以获得更精确的因果估计结果。

本文主要介绍 fect 命令的基本原理和相关语法,以帮助大家更好的进行因果推断。

2. fect 命令的基本原理

在这一环节,本文主要介绍 fect 命令的适用条件及三种基于 fect 命令生成的反事实估计量。

2.1 fect 命令的适用条件

fect 命令适用于干预措施是二分变量的固定效应模型,它的固定效应既可以相加也可以交互。该命令包括以下功能性假设:

A1. 固定效应假设

(1) 双向固定效应假设 (Two-way fixed effects) :对任一样本 i , 它在 t 时间的干预效果为 Yit,其计算公式为:

  • Dit 表示样本 i 是否在时间 t 被干预 (如果是则取值为 1 ,否则取值为 0) ;
  • δit 表示样本 i 在时间 t 的干预效果;
  • Xit 表示一个 (p× 1) 的外生协变量向量;
  • β 表示一个 (p× 1) 的未知参数向量;
  • αi 和 ξt 分别表示各种独立的不随时间改变的个体效应和不随个体改变的时间效应;
  • εit 表示表示样本 i 在时间 t 受到的未被观察到的特殊冲击,且均值为 0 。

该假设与传统的固定效应假设的区别在于:该假设允许干预效果在样本之间和不同时间内是异质性的,放宽了传统的固定效应分析的线性假设 (即当干预变量为二分变量时,干预效果是恒定的假设) 。

(2) 交互固定效应假设 (Interactive fixed effects) :对任一样本 i , 它在 t 时间的干预效果为 Yit,其计算公式为:

同固定效应假设的计算公式相比,交互固定效应假设的计算公式增加了 λift 项,其中 ft=[f1t,,frt] 表示一个未被观察到的公共因子的 (r×1) 向量, λi= [λ1r,,λir] 表示一个未知的因子载荷 (r×1) 向量。

因子可以理解为对每个单元产生不同的影响的时变趋势,因子载荷可以理解为由每个单元的各种未观察到的特征引起的异质性影响。例如, 2008 年的金融危机打击了美国经济,但它对不同的城市产生了不同的影响,这取决于一个城市的人口统计学特征、房地产市场、产业结构等。

该假设与传统的固定效应假设的区别在于:该假设利用 λift 捕捉了时变趋势的特征,放宽了传统的固定效应分析的“无时变混杂因素假设”。

A2. 严格外生性假设

双向固定效应假设模型和交互固定效应假设模型都假设在进行干预效果分析时的残差项严格外生。

2.2 基于 fect 命令的反事实估计量

干预组的平均干预效果 ATT 和干预开始以来的整数期内的平均干预效果 ATTs 是进行因果分析的重要指标。

ATT 的计算公式如下:

T 表示干预组,T:={it,t s.t. Dit=0,Dit=1}

ATTs 的计算公式如下:

ATTs=0 for any s0

基于 fect 命令,研究者可以生成 3 个关于 ATT 的反事实因果估计指标:(1) 固定效应的反事实因果估计量 (Fixed-effect counterfactual estimator) ,(2) 交互固定效应的反事实估计量 (Interactive fixed-effect counterfactual estimator) 和 (3) 矩阵完备估计量 (Matrix completion estimator)。

(1) 固定效应的反事实因果估计量 (FEct) 的特点:该估计量与传统的双向固定效应模型共享相同的假设,同时放宽当干预效果为二分变量时的恒定干预效果假设。当干预效果是异质性的时候,该估计量依然稳健。

(2) 交互固定效应的反事实估计量 (IFEct) 的特点:当存在未观察到的时变混杂因素时, FEct 将导致有偏估计。如果这些混杂因素可以分解为时间特定因子与单位特定因子载荷相互作用,我们可以使用 IFEct 来获得更精确的估计量。IFEct 估计量是对 FEct 估计量的拓展,放宽了双向固定效应模型中的“无时变混杂因素假设”。

(3) 矩阵完备估计量 (MC) 的特点:类似于 FEct 估计量和 IFEct 估计量,它将因果推理问题视为一个任务,即完善一个N×T 矩阵的缺失项, 当 Dit=1 时缺少发生。

3. fect 命令安装

fect 命令依赖 reghdfeftools 命令, 所以在安装 fect 命令之前,我们需要事先安装最新的 reghdfe 命令和 ftools 命令:

ssc install reghdfe, replace

ssc install ftools, replace

安装这两个命令 之后,作者提供了两种方法安装 fect

途径 1 :在线安装

若电脑中已安装 fect 命令,先通过 uninstall 卸载旧命令。随后使用 net install 从指定网址安装最新的安装包。

cap ado uninstall fect

net install fect, from(https://raw.githubusercontent.com/xuyiqing/fect_stata/master/) replace

但是考虑到国内的上网条件,访问 github 网速很慢,上述方法不一定安装成功。因此作者提供了本地安装方法。

途径 2 :本地安装

我们先从 fect 命令所在网址: https://github.com/xuyiqing/fect_stata ,手动下载 ZIP 压缩文件。当然,考虑到国内访问 github 较慢,我们可以访问国内码云链接:https://gitee.com/caolinjun/fect_stata.git , 点击【克隆/下载】。将文件解压到特定位置,如 D:\fect ,并将文件存放路径粘贴至 from() 中,运行以下命令即可完成安装。

cap ado uninstall fect

net install fect, all replace from("~/Downloads/fect_stata-master") //macOS

net install fect, all replace from("D:\fect") //Windows

安装好命令后,清除 Stata 内存,并调入测试数据 simdata1 ,为接下来的操作做好准备:

clear

set more off

sysuse simdata1

*note: 如果调用不成功,也可以手动从之前的下载位置打开。

4. fect 命令介绍

我们先简单介绍一下 fect 命令:

fect outcome [if] , treat(varname) unit(varname) time(varname) [options]
  • outcome :被解释变量
  • treat :分组变量,区分处理组与对照组
  • unit :样本 id
  • time :时间变量
  • options:包括协变量 cov 、估计方法 method 设定和 force 固定效应设定。

现有版本的 fect ,共提供了五种方法进行反事实预测,分别是 : fe(fixed effect)ife(interactive fixed effects)mc(matrix completion)bspline(unit-specific bspline)polynomial(unit-specific time treads) 。下面对我们主要对常用的前三种进行详细介绍。

4.1 Fixed Effects (FE)

我们先使用 Fixed Effects 进行反事实预测:

*- Fixed Effects
fect Y, treat(D) unit(id) time(time) cov(X1 X2) method("fe") force("two-way")

cox 中是协变量,method(fe) 是将预测方法设定为 feforce 设定固定效应,我们使用双固定效应 two-way

下图展示了 FE 方法 的ATT 的估计结果。观察图中的折线,我们可以发现,在接受处理之后, ATT 出现了明显的跃升,这表明该政策是有效的。而在接受处理之前 (虚线左侧) ,ATT 保持相对平稳,且一直围绕在 0 值附近。图中的条形图部分,则展示了每一期接受处理样本的个数。

如果需要知道 ATT 的精确数值,输入如下命令即可:

. mat list e(ATT)

e(ATT)[1,2]
          ATT          N
r1  3.4890777        900

每一期的 ATT 则可以通过如下命令获取 (仅展示五期) :

. mat list e(ATTs)

e(ATTs)[47,3]
              s           n         ATT
 r1         -31          20  -.77109587
 r2         -30          20  -.60864007
 r3         -29          20  -.17312063
 r4         -28          40  -.46861675
 r5         -27          40  -.46439415

我们还可以获取协变量和常数项的具体估计结果:

. mat list e(coefs)

e(coefs)[1,3]
         cons         X1         X2
r1  10.043207  .92796433  3.0523357

4.2 Interactive Fixed Effects (IFE)

在使用交互固定效应预测反事实时,需要引入不可观测的共同因子。当因子数为 1 时,交互固定效应等价于上文的固定效应方法。默认是存在一个因子,我们也可以使用 r() 设定多个因子。下面我们将因子数设定为 2 ,进行反事实预测:

*- Interactive Fixed Effects
fect Y, treat(D) unit(id) time(time) cov(X1 X2) method("ife") force("two-way") r(2)

下图展示了使用 IFE 方法的 ATT 的估计结果。同样地,我们可以发现,在处理前后, ATT 有着明显的差异。

使用与上文相同的命令,我们也可以获取 ATT 的具体数值、每一期的 ATT ,以及协变量和常数项的估计值:

. mat list e(ATT)  //获取 ATT

e(ATT)[1,2]
          ATT          N
r1  3.4890777        900


. mat list e(ATTs) //获取每一期的 ATT (仅展示五期)

e(ATTs)[47,3]
              s           n         ATT
 r1         -31          20  -.77109587
 r2         -30          20  -.60864007
 r3         -29          20  -.17312063
 r4         -28          40  -.46861675
 r5         -27          40  -.46439415

. mat list e(coefs) //获取控制变量与常数项的估计值

e(coefs)[1,3]
         cons         X1         X2
r1  10.043207  .92796433  3.0523357

4.3 Matrix Completion (MC)

MC 方法引入了一个新的参数 lambda ,作为估计时的惩罚项。 lambda 默认的数值为 1 ,在下面的估计中,我们将其修改为 0.004, 进行反事实预测:

*- Matrix Completion
fect Y, treat(D) unit(id) time(time) cov(X1 X2) method("mc") lambda(0.004)

下图展示了 MC 方法的 ATT 估计结果。我们可以发现,MC 方法得出的估计值呈现出与 FE 和 IFE 方法相似的时间趋势。

同样地,我们也可以通过以下命令获取 ATT 、每一期的 ATT ,以及控制变量与常数项的估计值:

. mat list e(ATT) //获取 ATT

e(ATT)[1,2]
          ATT          N
r1  2.5668276        900

. mat list e(ATTs) //获取每一期的 ATT (仅展示五期)

e(ATTs)[47,3]
              s           n         ATT
 r1         -31          20  -.07194448
 r2         -30          20  -.11271387
 r3         -29          20   .23297906
 r4         -28          40  -.17737634
 r5         -27          40  -.20824151

. mat list e(coefs) //获取控制变量与常数项的估计值

e(coefs)[1,3]
         cons         X1         X2
r1  11.201599  .94348337  3.0173834

5.结语

综合上述三种方法的估计结果,我们可以发现,不同方法得出的总体趋势是相似的,但具体的估计值却存在一定的差异。那么,我们该如何抉择呢?选定模型之后,我们又该如何检验其稳健性呢?详细答案,敬请期待下一期推文。

6. 参考资料

7. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 因果推断
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh