Stata:双重差分的固定效应模型 (DID)

作者:张伟广 | 知乎 | | 码云

Stata连享会   计量专题 || 精品课程 || 推文 || 公众号合集

Stata:双重差分的固定效应模型 (DID)_第1张图片
点击查看完整推文列表

2020寒假Stata现场班 (北京, 1月8-17日,连玉君-江艇主讲),「+助教招聘」

Stata:双重差分的固定效应模型 (DID)_第2张图片
2020寒假Stata现场班


双重差分法(DID)作为估计处理效应的工具方法,常被用来对政策实施的跨期效果进行评估,其本身也是一种固定效应估计方法。在不同应用情形下,该方法具有多种可供选择的回归命令,而由于有些应用者对双重差分模型设定的优点和缺陷,以及 stata 命令实现不够了解,使得该方法有被错误滥用的倾向。

在此借鉴参考 Using Stata to estimate difference-in-differences models with fixed effects by Nicholas Poggioli ([email protected]) ,举例从混合回归、 areg 回归、面板回归的随机效应和固定效应等情形,给出正确和错误模型设定的对比,以期为双重差分模型估计命令的正确选择作参考。

简要回顾双重差分模型的设定形式:

模型(1)为双重差分模型的基本设定。其中, 为分组虚拟变量(处理组=1,控制组=0); 为分期虚拟变量(政策实施后=1,政策实施前=0);交互项 表示处理组在政策实施后的效应,其系数即为双重差分模型重点考察的处理效应。

模型(2)是加入个体固定效应 ()、时间固定效应 (),以及其它控制变量 () 的双重差分模型设定的一般形式。

下面,我们通过一份模拟数据来对比分析不同估计方法的效果和偏误。

1. 生成数据

  • 生成企业数量
set obs 400
gen firm=_n
  • 时间跨度设定为24个季度(6年)
expand 24
bysort firm: gen t=_n
  • 设定事件冲击发生在第14期
gen d=(t>=14)
label var d "=1 if post-treatment"
  • 设定处理组和对照组
gen r=rnormal()
qui sum r, d
bysort firm: gen i=(r>=r(p50)) if _n==1
bysort firm: replace i=i[_n-1] if i==. & _n!=1
drop r
label var i "=1 if treated group, =0 if untreated group"
  • 设定随机变量
gen e = rnormal()
label var e "normal random variable"

2. 验证模型

处理效应设定交互项系数为 0.56

gen y = 0.3 + 0.19*i + 1.67*d + 0.56*i*d + e

2.1 混合回归 (POLS)

错误设定模型

. reg y i d

      Source |       SS       df       MS              Number of obs =    9600
-----------+------------------------------           F(  2,  9597) = 4406.07
       Model |  9073.16808     2  4536.58404           Prob > F      =  0.0000
    Residual |  9881.26843  9597  1.02962055           R-squared     =  0.4787
-----------+------------------------------           Adj R-squared =  0.4786
       Total |  18954.4365  9599  1.97462616           Root MSE      =  1.0147

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |   .4349154   .0208277    20.88   0.000     .3940888     .475742
           d |   1.902249   .0207848    91.52   0.000     1.861506    1.942991
       _cons |    .192176   .0168782    11.39   0.000     .1590912    .2252609
----------------------------------------------------------------------------

这一设定忽略了交互项,此时 id 的 OLS 的估计都是有偏估计。即使考虑异方差稳健性标准误或在企业层面进行聚类调整后的标准误,也不会改变其有偏性。因此,使用 reg y i d, robustreg y i d, vce(cluster firm) 是无济于事的。

正确设定模型

. reg y i d  i.i#i.d
. eststo pooled

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |    .174383   .0280267     6.22   0.000     .1194448    .2293213
           d |   1.647874   .0276935    59.50   0.000     1.593589    1.702159
         i#d |
        1 1  |   .5684342   .0413982    13.73   0.000     .4872851    .6495834
       _cons |   .3087643   .0187486    16.47   0.000     .2720131    .3455154
----------------------------------------------------------------------------

此时对交互项的估计、对 id 的估计都是接近参数的真实值的。

Stata连享会 专题课程 || 精彩推文

2.2 areg 回归

. areg y i d i.i#i.d, absorb(firm)
. eststo areg

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |          0  (omitted)
           d |   1.647874   .0276586    59.58   0.000     1.593657    1.702091
         i#d |
        1 1  |   .5684342    .041346    13.75   0.000     .4873869    .6494815
       _cons |   .3868007   .0139183    27.79   0.000     .3595177    .4140837
-----------+----------------------------------------------------------------
        firm |      F(399, 9198) =      1.156   0.019         (400 categories)

连享会计量方法专题……

2.3 面板回归

. xtset firm t, quarter

错误设定模型

. xtreg y i d

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |   .4349154   .0212192    20.50   0.000     .3933266    .4765042
           d |   1.902249   .0207677    91.60   0.000     1.861545    1.942953
       _cons |    .192176   .0170907    11.24   0.000     .1586789    .2256731
-----------+----------------------------------------------------------------
     sigma_u |  .04121238
     sigma_e |  1.0138689
         rho |  .00164959   (fraction of variance due to u_i)
-----------------------------------------------------------------------------
. xtreg y i d, fe

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |          0  (omitted)
           d |   1.902249   .0207677    91.60   0.000     1.861539    1.942958
       _cons |   .3868007   .0140598    27.51   0.000     .3592403    .4143611
-----------+----------------------------------------------------------------
     sigma_u |  .30216053
     sigma_e |  1.0138689
         rho |  .08157474   (fraction of variance due to u_i)
------------------------------------------------------------------------------

此时 i 不能被估计,因为在面板数据中的企业代码是不随时间变化的。更为核心的问题在于:没有包含交乘项!

正确设定模型——随机效应 (RE)

. xtreg y i d i.i#i.d
. eststo xtreg_re

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |    .174383   .0284493     6.13   0.000     .1186234    .2301427
           d |   1.647874   .0276586    59.58   0.000     1.593664    1.702084
         i#d |
        1 1  |   .5684342    .041346    13.75   0.000     .4873976    .6494709
       _cons |   .3087643   .0190313    16.22   0.000     .2714636    .3460649
-----------+----------------------------------------------------------------
     sigma_u |  .05056003
     sigma_e |   1.003664
         rho |  .00253126   (fraction of variance due to u_i)
----------------------------------------------------------------------------

该随机效应模型与正确设定的混合回归模型产生了一致的估计结果。

正确设定模型——固定效应 (FE)

. xtreg y i d i.i#i.d, fe
. eststo xtreg_fe

----------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
           i |          0  (omitted)
           d |   1.647874   .0276586    59.58   0.000     1.593657    1.702091
         i#d |
        1 1  |   .5684342    .041346    13.75   0.000     .4873869    .6494815
       _cons |   .3868007   .0139183    27.79   0.000     .3595177    .4140837
-----------+----------------------------------------------------------------
     sigma_u |  .22793566
     sigma_e |   1.003664
         rho |   .0490464   (fraction of variance due to u_i)
----------------------------------------------------------------------------
F test that all u_i=0:     F(399, 9198) =     1.16           Prob > F = 0.0194

该固定效应模型对交互项和变量 d 的估计结果一致,但对变量 i 的估计则被忽略,因为其并不随面板代码而发生变化;

随机效应模型能够估计出变量 i ,因为该模型能够包含企业变化,且 i 也随企业发生变化。

2.4 结果输出对比

estout *, title("Actual parameter values are i = .19, d = 1.67, and i*d = .56") ///
    cells(b(star fmt(%9.3f)) se(par))   ///
    stats(N N_g, fmt(%9.0f %9.0g) label(N Groups))          ///
    legend collabels(none) varlabels(_cons Constant) keep(i d 1.i#1.d)
--------------------------------------------------------------------------
                 pooled            areg        xtreg_re        xtreg_fe   
--------------------------------------------------------------------------
i                 0.174***        0.000           0.174***        0.000   
                (0.028)             (.)         (0.028)             (.)   
d                 1.648***        1.648***        1.648***        1.648***
                (0.028)         (0.028)         (0.028)         (0.028)   
1.i#1.d           0.568***        0.568***        0.568***        0.568***
                (0.041)         (0.041)         (0.041)         (0.041)   
--------------------------------------------------------------------------
N                  9600            9600            9600            9600   
Groups                                              400             400   
--------------------------------------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 推文同步发布于 CSDN 、 和 知乎Stata专栏。可在百度中搜索关键词 「Stata连享会」查看往期推文。
  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
  • 欢迎赐稿: 欢迎赐稿。录用稿件达 三篇 以上,即可 免费 获得一期 Stata 现场培训资格。
  • E-mail: [email protected]
  • 往期精彩推文:一网打尽

Stata:双重差分的固定效应模型 (DID)_第3张图片
欢迎加入Stata连享会(公众号: StataChina)

7bI5C5OhRqjkOw)

你可能感兴趣的:(Stata:双重差分的固定效应模型 (DID))