Stata:异质性稳健DID估计量方法汇总

发布时间:2022-08-25 阅读 6542

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

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

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

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

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

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:梁淑珍 (华侨大学)
邮箱13514084150@163.com


编者按:本文主要摘译自下文,特此致谢!
Source:De Chaisemartin C, D'Haultfoeuille X. Two-way fixed effects and differences-in-differences with heterogeneous treatment effects: A survey[R]. National Bureau of Economic Research, 2022. -PDF-


目录


连享会推文「DID 最新进展:异质性处理条件下的双向固定效应 DID 估计量 (TWFEDD)」从理论角度详细介绍了异质性处理情况下 TWFE 估计量存在的问题,并对学者提出的诊断及修正方法进行了回顾与梳理。本文侧重于介绍论文中提及的部分异质性稳健 DID 估计量的 Stata 命令。

1. 引言

双向固定效应回归 (Two-way Fixed Effects,TWFE) 是识别处理效应最常用的估计方法之一,但是要想得到无偏的平均处理效应需要满足以下假设:

  • 平行趋势假定;
  • 处理效应无组群和不同时点的异质性。

然而在现实情况下,假设 (2) 很难得到满足。因此 TWFE 估计量得到的估计系数很可能存在偏误,甚至产生错误比较和负权重等问题。很多学者提出了 TWFE 的替代估计方法,本文将展示这些异质性稳健 DID 估计量的 Stata 操作。

2. 模拟数据的生成

本文使用的基础数据结构为 300 个体 × 15 时期 = 4500 个观察值的平衡面板数据。后文中的估计量均使用这份模拟数据。

. clear all
. timer clear

. * 设定随机数种子, 设置 4500 个样本观测值
. set seed 10
. global T = 15
. global I = 300
. set obs `=$I*$T'

. * 生成 id 与时间
. gen i = int((_n-1)/$T )+1
. gen t = mod((_n-1),$T )+1
. tsset i t

. * 随机生成每个 i d首次接受处理的时间标志, Ei 的取值在 10 和 16 之间
. gen Ei = ceil(runiform()*7)+$T -6 if t==1
. bys i (t): replace Ei = Ei[1]

. * 生成处理变量, K 为相对处理时间, D 为处理时间哑变量
. gen K = t-Ei
. gen D = K>=0 & Ei!=.

. * 生成时间上的异质性处理效应
. gen tau = cond(D==1, (t-12.5), 0)

. * 生成误差项
. gen eps = rnormal()

. * 生成结果变量Y
. gen Y = i + 3*t + tau*D + eps

3. 异质性稳健 DID 估计量

3.1 did_imputation

Borusyak 等 (2021) 提供了一种基于插补的反事实方法解决 TWFE 的估计偏误问题。基于 TWFE,通过估计组群固定效应、时间固定效应和处理组-控制组固定效应,可以得到更准确的估计量,具体可参考连享会推文「Stata:事件研究法的稳健有效估计量-did_imputation」。

. did_imputation Y i t Ei, allhorizons pretrends(5)

                                                         Number of obs = 4,500
------------------------------------------------------------------------------
           Y | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
        tau0 |      0.085      0.080     1.07   0.284       -0.071       0.242
        tau1 |      0.670      0.084     7.99   0.000        0.505       0.834
        tau2 |      1.084      0.101    10.71   0.000        0.885       1.282
        tau3 |      1.605      0.133    12.04   0.000        1.343       1.866
        tau4 |      1.919      0.153    12.53   0.000        1.619       2.219
        tau5 |      2.651      0.243    10.90   0.000        2.175       3.128
        pre1 |     -0.089      0.124    -0.72   0.474       -0.333       0.155
        pre2 |     -0.022      0.106    -0.21   0.833       -0.231       0.186
        pre3 |     -0.067      0.100    -0.67   0.506       -0.264       0.130
        pre4 |     -0.014      0.088    -0.16   0.869       -0.187       0.158
        pre5 |     -0.033      0.071    -0.47   0.639       -0.174       0.107
------------------------------------------------------------------------------

可以看出,pre1-pre5 的 p 值均不显著,该数据集满足平行趋势假设,tau1-tau4 的 p 值显著,表现为异质性处理效应。进一步使用 event_plot 命令,将不同时期的处理效应系数绘制出来。

. event_plot, default_look graph_opt(xtitle("Periods since the event") ytitle("Average causal effect") ///
>     title("Borusyak et al. (2021) imputaion estimator") xlabel(-5(1)5) name(BJS, replace)) together

3.2 did_multiplegt

De Chaisemartin 和 D‘Haultfoeuille (2020) 提出通过加权计算两种处理效应的值得到平均处理效应的无偏估计,这两种处理效应为:

  • t1 期未受处理而 t 期受处理的组与两期都未处理的组的平均处理效应;
  • t1 期受处理而 t 期未受处理的组与两期都受处理的组的平均处理效应。

该方法的前提条件是处理效应不具有动态性 (即处理效应与过去的处理状态无关),具体可参考连享会推文「DIDM:多期多个体倍分法-did_multiplegt」。

. did_multiplegt Y i t D, robust_dynamic dynamic(5) placebo(5) longdiff_placebo breps(100) cluster(i)

             |  Estimate         SE      LB CI      UB CI          N  Switchers 
-------------+------------------------------------------------------------------
    Effect_0 |  .1408578   .1581723    -.16916   .4508756       1211        250 
    Effect_1 |  .7141733   .1371814   .4452979   .9830488        899        205 
    Effect_2 |  1.132017   .1400374   .8575438    1.40649        628        164 
    Effect_3 |  1.565301   .1709356   1.230268   1.900335        398        117 
    Effect_4 |  1.899413   .2036894   1.500182   2.298644        215         70 
    Effect_5 |  2.773816   .3108357   2.164578   3.383054         83         33 
   Placebo_1 |  .0482671   .1020707  -.1517915   .2483257       1211        250 
   Placebo_2 |  .0460625   .1096916  -.1689331    .261058        899        205 
   Placebo_3 |  .0305153   .1082104  -.1815771   .2426078        628        164 
   Placebo_4 | -.0692496   .1461691   -.355741   .2172418        398        117 
   Placebo_5 |  .0299686   .1821709  -.3270864   .3870236        215         70 

绘制各期处理效应图:

. event_plot e(estimates)#e(variances), default_look graph_opt(xtitle("Periods since the event") ///
>     ytitle("Average causal effect") title("de Chaisemartin and D'Haultfoeuille (2020)")        ///
>     xlabel(-5(1)5) name(dCdH, replace)) stub_lag(Effect_#) stub_lead(Placebo_#) together

3.3 csdid

Callaway 和 SantAnna (2021) 将 t 期以前从未受处理的组作为控制组进行估计,代码如下:

. * 生成日期变量,从未受处理的组取值为 0
. gen gvar = cond(Ei>15, 0, Ei)
. csdid Y, ivar(i) time(t) gvar(gvar) agg(event)

Difference-in-difference with Multiple Time Periods
                                                         Number of obs = 4,500
Outcome model  : weighted least squares
Treatment model: inverse probability tilting
------------------------------------------------------------------------------
             | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
        T-13 |      0.219      0.321     0.68   0.496       -0.411       0.849
        T-12 |      0.127      0.185     0.69   0.492       -0.236       0.491
        T-11 |     -0.025      0.144    -0.17   0.861       -0.307       0.257
        T-10 |     -0.188      0.128    -1.47   0.140       -0.438       0.062
         T-9 |      0.141      0.110     1.28   0.199       -0.074       0.357
         T-8 |      0.019      0.102     0.18   0.855       -0.182       0.219
         T-7 |      0.068      0.101     0.67   0.501       -0.129       0.265
         T-6 |      0.038      0.094     0.40   0.688       -0.146       0.221
         T-5 |     -0.048      0.092    -0.52   0.606       -0.228       0.133
         T-4 |     -0.020      0.096    -0.21   0.834       -0.209       0.168
         T-3 |     -0.081      0.092    -0.88   0.378       -0.262       0.099
         T-2 |      0.037      0.104     0.35   0.723       -0.167       0.241
         T-1 |     -0.102      0.097    -1.05   0.293       -0.291       0.088
         T+0 |      0.106      0.147     0.72   0.474       -0.183       0.395
         T+1 |      0.632      0.146     4.33   0.000        0.346       0.918
         T+2 |      0.995      0.160     6.21   0.000        0.681       1.308
         T+3 |      1.465      0.184     7.98   0.000        1.105       1.825
         T+4 |      1.821      0.218     8.34   0.000        1.393       2.248
         T+5 |      2.774      0.289     9.60   0.000        2.208       3.340
------------------------------------------------------------------------------
Control: Never Treated
See Callaway and Sant'Anna (2021) for details
. event_plot e(b)#e(V), default_look graph_opt(xtitle("Periods since the event")             ///
>     ytitle("Average causal effect") xlabel(-14(1)5) title("Callaway and Sant'Anna (2020)") ///
>     name(CS, replace)) stub_lag(T+#) stub_lead(T-#) together    

3.4 eventstudyinteract

Sun 和 Abraham (2020) 认为还能够使用后处理组作为控制组,允许使用简单的线性回归进行估计,代码如下:

. sum Ei
. * 生成从未受处理组的虚拟变量
. gen lastcohort = Ei==r(max)
. * 生成各期处理组的虚拟变量
. forvalues l = 0/5 {
  2.     gen L`l'event = K==`l'
  3. }
. forvalues l = 1/14 {
  2.     gen F`l'event = K==-`l'
  3. }
. drop F1event
. eventstudyinteract Y L*event F*event, vce(cluster i) absorb(i t) cohort(Ei) control_cohort(lastcohort)    

IW estimates for dynamic effects                        Number of obs =  4,500
Absorbing 2 HDFE groups                                 F(84, 299)    =   9.76
                                                        Prob > F      = 0.0000
                                                        R-squared     = 0.9999
                                                        Adj R-squared = 0.9999
                                                        Root MSE      = 1.0191
                                    (Std. err. adjusted for 300 clusters in i)
------------------------------------------------------------------------------
             |               Robust
           Y | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     L0event |      0.106      0.148     0.71   0.477       -0.186       0.397
     L1event |      0.632      0.147     4.30   0.000        0.343       0.921
     L2event |      0.995      0.161     6.16   0.000        0.677       1.312
     L3event |      1.465      0.186     7.89   0.000        1.100       1.831
     L4event |      1.821      0.221     8.24   0.000        1.386       2.255
     L5event |      2.774      0.293     9.48   0.000        2.198       3.350
     F2event |      0.102      0.098     1.04   0.300       -0.091       0.295
     F3event |      0.065      0.098     0.66   0.511       -0.129       0.258
     F4event |      0.146      0.110     1.33   0.183       -0.069       0.362
     F5event |      0.166      0.116     1.44   0.152       -0.062       0.394
     F6event |      0.214      0.126     1.70   0.091       -0.034       0.462
     F7event |      0.176      0.130     1.35   0.178       -0.080       0.433
     F8event |      0.109      0.132     0.83   0.410       -0.150       0.367
     F9event |      0.090      0.130     0.69   0.492       -0.167       0.346
    F10event |     -0.055      0.138    -0.40   0.693       -0.327       0.218
    F11event |      0.165      0.140     1.18   0.239       -0.110       0.441
    F12event |      0.247      0.161     1.53   0.128       -0.071       0.564
    F13event |      0.082      0.209     0.39   0.697       -0.330       0.493
    F14event |     -0.072      0.299    -0.24   0.810       -0.661       0.516
------------------------------------------------------------------------------

如果出现报错 command avar is unrecognized,则输入 ssc install avar,安装后再次运行命令。

. event_plot e(b_iw)#e(V_iw), default_look graph_opt(xtitle("Periods since the event") ///
>     ytitle("Average causal effect") xlabel(-14(1)5) title("Sun and Abraham (2020)")  ///
>     name(SA, replace)) stub_lag(L#event) stub_lead(F#event) together    

3.5 did2s

Gardner (2021) 提出的两阶段双重差分的基本原理:在第一阶段识别组群处理效应和时期处理效应的异质性,在第二阶段时再将异质性处理效应剔除,具体可参考连享会推文「Stata 倍分法新趋势:did2s-两阶段双重差分模型」。

. did2s Y, first_stage(i.i i.t) second_stage(F*event L*event) treatment(D) cluster(i)
                                      (Std. err. adjusted for clustering on i)
------------------------------------------------------------------------------
             | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
     F2event |      0.026      0.050     0.51   0.609       -0.073       0.124
     F3event |     -0.026      0.052    -0.49   0.622       -0.129       0.077
     F4event |      0.017      0.054     0.32   0.748       -0.088       0.122
     F5event |     -0.009      0.050    -0.18   0.853       -0.108       0.089
     F6event |      0.021      0.053     0.39   0.695       -0.084       0.126
     F7event |      0.031      0.053     0.60   0.550       -0.072       0.134
     F8event |     -0.015      0.056    -0.26   0.795       -0.124       0.095
     F9event |      0.017      0.054     0.31   0.756       -0.089       0.122
    F10event |     -0.090      0.062    -1.46   0.143       -0.211       0.031
    F11event |      0.048      0.061     0.79   0.432       -0.071       0.167
    F12event |      0.072      0.069     1.04   0.299       -0.064       0.207
    F13event |     -0.004      0.080    -0.05   0.957       -0.162       0.153
    F14event |     -0.121      0.093    -1.30   0.194       -0.304       0.062
     L0event |      0.085      0.136     0.63   0.531       -0.182       0.353
     L1event |      0.670      0.128     5.25   0.000        0.420       0.919
     L2event |      1.084      0.130     8.37   0.000        0.830       1.338
     L3event |      1.605      0.153    10.48   0.000        1.305       1.905
     L4event |      1.919      0.168    11.41   0.000        1.589       2.248
     L5event |      2.651      0.243    10.90   0.000        2.175       3.128
------------------------------------------------------------------------------
. event_plot, default_look stub_lag(L#event) stub_lead(F#event) together          ///
>     graph_opt(xtitle("Periods since the event") ytitle("Average causal effect") ///
>     xlabel(-14(1)5) title("Gardner (2021)") name(DID2S, replace))    

3.6 stackedev

与计算加权 ATT 的方法相比,Cengiz 等 (2019) 认为堆叠 (Stacking) 也是解决 TWFE 估计偏误的替代方法,基本思路是将数据集重建为相对事件时间的平衡面板,然后控制组群效应和时间固定效应,以得到处理效应的加权平均值。

. gen treat_year=.
. replace treat_year=Ei if Ei!=16
. * 生成从未受处理的虚拟变量
. gen no_treat= (Ei==16)
. cap drop F*event L*event
. sum Ei
. forvalues l = 0/5 {
  2.     gen L`l'event = K==`l'
  3.     replace L`l'event = 0 if no_treat==1
  4. }
. forvalues l = 1/14 {
  2.     gen F`l'event = K==-`l'
  3.     replace F`l'event = 0 if no_treat==1
  4. }
. drop F1event

. * 运行 stackedev 命令
. preserve
. stackedev Y F*event L*event, cohort(treat_year) time(t) never_treat(no_treat) unit_fe(i) clust_unit(i)
. restore  

HDFE Linear regression                            Number of obs   =      8,250
Absorbing 2 HDFE groups                           F(  19,    508) =      27.30
Statistics robust to heteroskedasticity           Prob > F        =     0.0000
                                                  R-squared       =     0.9999
                                                  Adj R-squared   =     0.9998
                                                  Within R-sq.    =     0.0658
Number of clusters (unit_stack) =        509      Root MSE        =     1.0677
                           (Std. err. adjusted for 509 clusters in unit_stack)
------------------------------------------------------------------------------
             |               Robust
           Y | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     F2event |      0.108      0.122     0.89   0.373       -0.131       0.347
     F3event |      0.063      0.121     0.52   0.603       -0.174       0.300
     F4event |      0.141      0.123     1.15   0.250       -0.100       0.383
     F5event |      0.163      0.120     1.36   0.175       -0.073       0.399
     F6event |      0.210      0.127     1.66   0.097       -0.038       0.459
     F7event |      0.170      0.125     1.36   0.174       -0.075       0.416
     F8event |      0.103      0.125     0.83   0.408       -0.142       0.349
     F9event |      0.093      0.122     0.76   0.447       -0.147       0.332
    F10event |     -0.158      0.130    -1.22   0.225       -0.414       0.098
    F11event |     -0.068      0.136    -0.50   0.618       -0.334       0.199
    F12event |     -0.120      0.147    -0.82   0.411       -0.408       0.167
    F13event |     -0.316      0.183    -1.73   0.084       -0.675       0.042
    F14event |     -0.456      0.234    -1.95   0.051       -0.915       0.003
     L0event |      0.046      0.145     0.32   0.751       -0.239       0.332
     L1event |      0.658      0.149     4.43   0.000        0.366       0.950
     L2event |      1.132      0.148     7.65   0.000        0.841       1.423
     L3event |      1.810      0.167    10.81   0.000        1.481       2.139
     L4event |      2.347      0.185    12.72   0.000        1.985       2.710
     L5event |      3.370      0.251    13.42   0.000        2.877       3.863
       _cons |    168.183      0.038  4390.68   0.000      168.108     168.259
------------------------------------------------------------------------------
. event_plot e(b)#e(V), default_look graph_opt(xtitle("Periods since the event")    ///
>     ytitle("Average causal effect") xlabel(-14(1)5) title("Cengiz et al. (2019)") ///
>     name(CDLZ, replace)) stub_lag(L#event) stub_lead(F#event) together    

3.7 TWFE OLS

多维固定效应 OLS 代码:

. reghdfe Y F*event L*event, absorb(i t) vce(cluster i)

HDFE Linear regression                            Number of obs   =      4,500
Absorbing 2 HDFE groups                           F(  19,    299) =       9.24
Statistics robust to heteroskedasticity           Prob > F        =     0.0000
                                                  R-squared       =     0.9999
                                                  Adj R-squared   =     0.9998
                                                  Within R-sq.    =     0.0402
Number of clusters (i)       =        300         Root MSE        =     1.0769
                                    (Std. err. adjusted for 300 clusters in i)
------------------------------------------------------------------------------
             |               Robust
           Y | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
     F2event |      0.152      0.094     1.61   0.108       -0.034       0.337
     F3event |      0.077      0.096     0.81   0.418       -0.111       0.265
     F4event |      0.042      0.104     0.40   0.687       -0.162       0.246
     F5event |     -0.056      0.102    -0.55   0.580       -0.257       0.144
     F6event |     -0.084      0.110    -0.76   0.446       -0.300       0.132
     F7event |     -0.145      0.112    -1.29   0.197       -0.366       0.076
     F8event |     -0.244      0.120    -2.04   0.043       -0.480      -0.008
     F9event |     -0.322      0.124    -2.60   0.010       -0.565      -0.078
    F10event |     -0.577      0.137    -4.22   0.000       -0.846      -0.308
    F11event |     -0.495      0.140    -3.53   0.000       -0.770      -0.219
    F12event |     -0.553      0.161    -3.44   0.001       -0.870      -0.236
    F13event |     -0.867      0.184    -4.72   0.000       -1.229      -0.505
    F14event |     -1.046      0.226    -4.62   0.000       -1.492      -0.601
     L0event |     -0.168      0.126    -1.33   0.183       -0.416       0.080
     L1event |      0.358      0.113     3.17   0.002        0.136       0.581
     L2event |      0.610      0.118     5.18   0.000        0.379       0.842
     L3event |      0.978      0.142     6.87   0.000        0.698       1.258
     L4event |      1.159      0.160     7.25   0.000        0.844       1.473
     L5event |      1.634      0.221     7.39   0.000        1.199       2.070
       _cons |    174.690      0.064  2719.06   0.000      174.564     174.817
------------------------------------------------------------------------------
. event_plot, default_look stub_lag(L#event) stub_lead(F#event) together  ///
>     graph_opt(xtitle("Days since the event") ytitle("OLS coefficients") ///
>     xlabel(-14(1)5) title("OLS") name(OLS, replace))    

3.8 xtevent

Freyaldenhoven 等 (2019) 提出处理面板事件研究的估计方法,代码如下:

. xtevent Y, policyvar(D) panelvar(i) timevar(t) window(4) plot    

Linear regression, absorbing indicators            Number of obs     =   1,800
Absorbed variable: i                               No. of categories =     300
                                                   F(11, 1489)       = 3952.82
                                                   Prob > F          =  0.0000
                                                   R-squared         =  0.9999
                                                   Adj R-squared     =  0.9999
                                                   Root MSE          =  1.0234
------------------------------------------------------------------------------
           Y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    _k_eq_m5 |     -0.074      0.170    -0.44   0.663       -0.408       0.260
    _k_eq_m4 |     -0.088      0.139    -0.63   0.526       -0.361       0.185
    _k_eq_m3 |     -0.049      0.133    -0.37   0.713       -0.309       0.212
    _k_eq_m2 |     -0.014      0.129    -0.11   0.911       -0.268       0.239
    _k_eq_p0 |     -2.034      0.162   -12.53   0.000       -2.353      -1.716
    _k_eq_p1 |     -1.458      0.227    -6.43   0.000       -1.903      -1.013
    _k_eq_p2 |      0.000  (omitted)
    _k_eq_p3 |      0.000  (omitted)
    _k_eq_p4 |      0.000  (omitted)
    _k_eq_p5 |      0.000  (omitted)
           t |
          7  |      3.025      0.085    35.74   0.000        2.859       3.191
          8  |      5.874      0.089    66.25   0.000        5.700       6.048
          9  |      8.992      0.097    92.30   0.000        8.801       9.183
         10  |     12.006      0.111   107.77   0.000       11.787      12.225
         11  |     15.039      0.133   112.95   0.000       14.778      15.300
             |
       _cons |    168.563      0.175   965.67   0.000      168.220     168.905
------------------------------------------------------------------------------
F test of absorbed indicators: F(299, 1489) =  4.3e+04        Prob > F = 0.000
Warning: Some event-time dummies were omitted in the regression. These coefficients 
will be shown as zero in the plot. Check the window and the instruments, if any.

3.9 eventdd

eventdd 是 Damian Clarke 和 Kathya Tapia (2020) 共同开发的事件研究法代码,具体可参考连享会推文「Stata:面板事件研究法-eventdd」。

. eventdd Y i.t,timevar(K) method(fe, cluster(i)) balanced graph_op(ytitle("Y"))    
note: lead15 omitted because of collinearity

Fixed-effects (within) regression               Number of obs      =      4500
Group variable: i                               Number of groups   =       300
R-sq:  Within  = 0.9939                         Obs per group: min =        15
       Between = 0.0028                                        avg =      15.0
       Overall = 0.0228                                        max =        15
                                                F(33,299)          =  19538.43
corr(u_i, Xb)  = -0.0006                        Prob > F           =    0.0000
                                    (Std. err. adjusted for 300 clusters in i)
------------------------------------------------------------------------------
             |               Robust
           Y | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
           t |
          2  |      2.926      0.091    31.99   0.000        2.746       3.106
          3  |      5.867      0.086    67.84   0.000        5.697       6.037
          4  |      8.771      0.084   104.41   0.000        8.606       8.936
          5  |     11.772      0.093   126.73   0.000       11.589      11.955
          6  |     14.734      0.103   143.72   0.000       14.533      14.936
          7  |     17.689      0.112   157.52   0.000       17.468      17.910
          8  |     20.509      0.113   181.12   0.000       20.286      20.731
          9  |     23.640      0.116   203.61   0.000       23.411      23.868
         10  |     26.458      0.140   189.33   0.000       26.183      26.733
         11  |     29.295      0.135   216.99   0.000       29.029      29.560
         12  |     32.439      0.137   236.15   0.000       32.169      32.709
         13  |     35.815      0.154   232.85   0.000       35.512      36.117
         14  |     39.351      0.168   234.66   0.000       39.021      39.681
         15  |     43.222      0.197   219.04   0.000       42.833      43.610
             |
      lead15 |      0.000  (omitted)
      lead14 |     -0.236      0.179    -1.32   0.188       -0.588       0.116
      lead13 |     -0.126      0.152    -0.83   0.406       -0.425       0.172
      lead12 |     -0.034      0.149    -0.23   0.819       -0.326       0.258
      lead11 |     -0.018      0.132    -0.14   0.889       -0.279       0.242
      lead10 |     -0.095      0.126    -0.76   0.450       -0.343       0.152
       lead9 |      0.106      0.119     0.89   0.374       -0.128       0.340
       lead8 |      0.127      0.110     1.15   0.251       -0.090       0.344
       lead7 |      0.220      0.100     2.20   0.028        0.023       0.417
       lead6 |      0.295      0.101     2.93   0.004        0.097       0.493
       lead5 |      0.350      0.091     3.84   0.000        0.170       0.529
       lead4 |      0.423      0.091     4.66   0.000        0.245       0.602
       lead3 |      0.371      0.086     4.33   0.000        0.202       0.539
       lead2 |      0.321      0.084     3.83   0.000        0.156       0.486
        lag0 |      0.078      0.130     0.60   0.550       -0.178       0.333
        lag1 |      0.579      0.122     4.75   0.000        0.339       0.819
        lag2 |      0.808      0.132     6.12   0.000        0.548       1.068
        lag3 |      1.153      0.162     7.14   0.000        0.835       1.471
        lag4 |      1.313      0.183     7.17   0.000        0.953       1.674
        lag5 |      1.761      0.246     7.17   0.000        1.277       2.244
       _cons |    153.565      0.117  1314.12   0.000      153.335     153.795
-------------+----------------------------------------------------------------
     sigma_u |  86.770012
     sigma_e |  1.0779864
         rho |  .99984568   (fraction of variance due to u_i)
------------------------------------------------------------------------------

此外,还有 drdidflexpaneldidstaggeredjwdid 等命令。在实际应用过程中,为了解决 TWFE 估计偏误的问题,不妨将上述异质性稳健估计量都使用一遍,若能够通过大部分的估计量检验,那么结果就是可靠的。

4. 相关推文

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

相关课程

免费公开课

最新课程-直播课

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

课程主页

课程主页

关于我们

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

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

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

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

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