DID功效计算中的序列相关问题-T407

发布时间:2021-05-16 阅读 2966

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

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

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

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

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

⛳ Stata 系列推文:

PDF下载 - 推文合集

胡文涛 (中国人民大学),hwtxwhr@163.com
王晗希 (中山大学),wanghx37@mail2.sysu.edu.cn

编者按:本文摘译自下文,特此致谢!
Source:Burlig F, Preonas L, Woerman M. Panel data and experimental design[J]. Journal of Development Economics, 2020, 144: 102458. -PDF-.


目录


1. 背景介绍

随机对照实验 (RCT) 越来越多被用于研究变量间的因果关系。在设计随机对照实验时,研究者需要在样本量大小与统计准确性之间作出权衡,而事前的功效计算 (Power calculations) 为这种权衡提供了重要的参考。与此同时,由于同一个体多期观察数据相比于多个体一期观察数据更具研究价值,面板数据随机对照实验也越发的流行。面板数据中包含对同一个体多期的观察数据,这就可能隐含着序列相关的问题。对这一问题的忽视,可能造成两个问题:

  • 一是增加第一类错误的可能性,因为这种序列相关会导致标准误偏向于 0 (Bertrand 等,2004);
  • 二是影响统计功效 (statistical power)。

接下来,我们将介绍面板数据的功效计算、稳健的序列相关功效计算框架、以及 pcanel 命令在 DID 功效计算中的应用与实现。其中,pcanel 命令实现了在任意序列相关的情况下,对面板数据的功效计算及相关检验。

2. 理论介绍

2.1 面板数据的功效计算

在给定样本量和实验设计的情况下,功效计算 (Power calculations) 提供了一个对实验能够统计检测到的最小效应量 (the smallest effect size) 预先估计。不同于常见的 p 值,效应量衡量的是实验真实效果大小或者变量关联强度的指标,并且不受样本容量大小的影响。大多数功效计算形式如下:

其中,在自变量 X 给定条件下:

  • Var(τ^|X) 表示的是处理效应估计量的精确有限样本方差;
  • tα/2d 是有 d 个自由度的 t 分布与第一类错误相关的临界值,α 对应的是双边检验中 τ=0
  • t1kd 是正确的拒绝错误的原假设概率相关的临界值。

这些参数决定了最小可观测效应 (MDE),最小值 |τ|>0 意味着一个实验将会在 α 显著性水平上有 k 的概率正确的拒绝原假设 τ=0

2.2 稳健的序列相关功效计算

考虑一个DID数据生成过程:

其稳健的序列相关功效计算公式为:

对于一个面板 DID 模型,当其个体接受处理是随机分配的时,并满足一系列假定前提条件下,即使存在任意的面板个体时序相关性,Var(τ^|X) 的无偏估计也可以用下公式表示:

如只是两期的短面板,则上述公式可简化为:

具体公式证明可参见 Burlig 等 (2020) 附录。

2.3 一个现实数据的应用

下面使用 Bloom 等 (2015) 的数据,展示考虑任意序列相关的 SCR 功效计算方法,与目前主要使用的 McKenzie (2012) 方法以及考虑误差项服从 AR(1) 过程 SCR 计算结果差异。其中,每条曲线基于不同的事前假设,并在特定的数量的事前与事后处理期数 (从 m=r=1 到 m=r=10) 下,根据一个DID实验可实现的功效值来绘制。

从下图可知,尽管 Bloom 等 (2015) 数据只是存在弱的序列相关性,但只有 SCR 公式非常稳健的实现了我们所需要的 80% 功效结果。

3. pcanel 命令介绍

Stata 原有的 power 命令可以涵盖重复测量的 ANOVA (方差分析),但不能应用于经济学中标准面板数据研究设计,如 DID、ANCOVA。pcpanel 命令在考虑了任意的序列相关的情况下,可以实现面板数据的功效计算。该命令核心原理是上文提到的 SCR 计算框架,其实现和操作是基于用户对于序列相关结构的假设和基于自有数据集的方差、协方差参数的非参数估计。该程序包由三个功能构成,分别为 pc_dd_analyticpc_dd_covarpc_simulate

*安装 pcpanel
ssc install pcpanel, replace

3.1 pc_dd_analytic 命令

3.1.1 简介

在传统的DID模型中,我们通常假定误差项不相关,但事实上,误差项存在序列相关的可能。Burlig 等 (2020) 论证了功效 (power) 标准的计算工具忽略了面板数据中存在的非常数序列相关问题,进而导致 "power" 计算的严重错误。

pc_dd_analytic 命令可用于序列相关 DID 模型的功效分析 (analytic power) 的计算,它可以在结果变量中容纳任意序列相关,也可以直接估计现有数据集的相关结构。在 "power" 的计算中,假定以下模型:

其中,eit 为序列相关的误差项。

3.1.2 语法

pc_dd_analytic, [n(numlist) mde(numlist) power(numlist) options]
  • n(numlist):实验样本量列表 (随机分组所包含的横截面单元数),且必须是正整数,例如 n(50(10)150)
  • mde(numlist):最小可检测效应大小的列表,以水平值 (非百分比) 表示,例如 mde(10 20 30)
  • power(numlist):实验的期望统计力的列表,必须在 0 和 1 之间,默认为 power(0.80)

在以上三个参数中,使用者应提供其中两个参数的准确值,以便 pc_dd_analytic 求解出剩下的参数。

另外,options 主要包括如下选项:

  • p(numlist):实验中随机分配到各处理组的单元所占比例;
  • pre(numlist):实验前预处理周期的个数。如果没有指定,将默认为 pre(1)
  • post(numlist):实验后处理周期的个数。如果没有指定,将默认为 post(1)
  • alpha(#):指定一个类型I的错误率 (或错误发现率)。传统的显著性水平为 alpha(0.05),这也是默认值;
  • depvar(depvar):被解释变量;
  • i(panelvar)t(timevar):分别为随机分组的横截面单元和时间变量,这两个选项必须与 depvar(depvar) 一同被指定;
  • variance(numlist):允许使用者提供残差方差的列表。需要注意的是,该方差不是综合误差项的方差,而是除了单元和时间周期固定效应之外的特征误差项的方差 (即上述方程中的 eit)。对于习惯于用 McKenzie (2012) 表示的使用者,该方差 (vare) 结合了复合方差(vary) 和群内相关性 (ρ),即 vare=vary×(1ρ)。该选项不可与 depvar(depvar)sd(numlist) 同时出现;
  • sd(numlist):允许使用者提供残差标准差的列表。该选项不可与 depvar(depvar)variance(numlist) 同时出现;
  • ar1(numlist):允许使用者使用简单的 AR(1) 过程对序列相关的误差项建模。假定每个横截面单元的误差项会随着过程的发展而变化,eit=ar1×ei(t1)+vitvit 为独立同分布,白噪声项。该选项只可与 variance(numlist)sd(numlist) 同时出现;
  • avgcov(pre post cross):允许使用者手动输入特殊误差的单元内协方差的平均值。这些项依次为,处理前的平均协方差、处理后的平均协方差、处理前后的平均协方差;
  • avgcor(pre post cross):允许使用者手动输入特殊误差的单元内相关系数的平均值。

3.1.3 实例


. *计算 mde
. pc_dd_analytic, n(80(20)160) pre(3) post(3) var(1) ar1(0.9)

Solving for minimum detectable effect, given sample size n={80 100 120 140 160} and power={.8}

DD power calc:  n= 80   mde=  0.3794   power=.8   p=.5   pre=3   post=3   var=1   ar1=.9 
DD power calc:  n=100   mde=  0.3385   power=.8   p=.5   pre=3   post=3   var=1   ar1=.9 
DD power calc:  n=120   mde=  0.3085   power=.8   p=.5   pre=3   post=3   var=1   ar1=.9 
DD power calc:  n=140   mde=  0.2853   power=.8   p=.5   pre=3   post=3   var=1   ar1=.9 
DD power calc:  n=160   mde=  0.2666   power=.8   p=.5   pre=3   post=3   var=1   ar1=.9 
. *计算 n
. webuse grunfeld, clear
. xtset company year
. pc_dd_analytic, mde(20) power(0.8) pre(1(3)10) post(1(4)9) p(0.5) depv(invest) i(company) t(year)

Solving for sample size, given minimum detectable effect mde={20} and power={.8} 

DD power calc:  n= 220   mde=20   power=.8   p=.5   pre= 1   post=1   depvar=invest 
DD power calc:  n= 271   mde=20   power=.8   p=.5   pre= 1   post=5   depvar=invest 
DD power calc:  n= 268   mde=20   power=.8   p=.5   pre= 1   post=9   depvar=invest 
DD power calc:  n= 492   mde=20   power=.8   p=.5   pre= 4   post=1   depvar=invest 
DD power calc:  n= 264   mde=20   power=.8   p=.5   pre= 4   post=5   depvar=invest 
DD power calc:  n= 142   mde=20   power=.8   p=.5   pre= 4   post=9   depvar=invest 
DD power calc:  n= 722   mde=20   power=.8   p=.5   pre= 7   post=1   depvar=invest 
DD power calc:  n= 303   mde=20   power=.8   p=.5   pre= 7   post=5   depvar=invest 
DD power calc:  n= 278   mde=20   power=.8   p=.5   pre= 7   post=9   depvar=invest 
DD power calc:  n=1017   mde=20   power=.8   p=.5   pre=10   post=1   depvar=invest 

. *计算 power
. webuse grunfeld, clear
. pc_dd_analytic, n(50 60 70) mde(20 15) depv(invest) i(company) t(year)

Solving for power, given minimum detectable effect mde={15 20} and sample size n={50 60 70}

DD power calc:  n=50   mde=15   power=0.1603   p=.5   pre=1   post=1   depvar=invest 
DD power calc:  n=50   mde=20   power=0.2537   p=.5   pre=1   post=1   depvar=invest 
DD power calc:  n=60   mde=15   power=0.1862   p=.5   pre=1   post=1   depvar=invest 
DD power calc:  n=60   mde=20   power=0.2985   p=.5   pre=1   post=1   depvar=invest 
DD power calc:  n=70   mde=15   power=0.2119   p=.5   pre=1   post=1   depvar=invest 
DD power calc:  n=70   mde=20   power=0.3422   p=.5   pre=1   post=1   depvar=invest 

3.2 pc_dd_covar 命令

3.2.1 简介

pc_dd_covar 命令用来估计 DID 模型中特殊残差的方差和平均协方差,并返回以下四个估计值:

  • 残差的方差 var(eit)
  • 处理前残差的平均协方差 mean(cov(eit,eis)),其中 ts
  • 处理后残差的平均协方差 mean(cov(eit,eis)),其中 ts
  • 处理前后残差的平均协方差 mean(cov(eit,eis))t 为处理前时期,s 为处理后时期。

pc_dd_covar 命令的结果会被储存到以下标量 (scalars) 中:

  • r(variance)
  • r(cov_pre)
  • r(cov_post)
  • r(cov_cross)
  • r(n_units)

其中,r(n_units) 为用于估计上述 4 项的平均横截面单元个数。

3.2.2 语法

pc_dd_covar depvar [if] [in] , pre(#) post(#) [i(panelvar) t(timevar) display]
  • pre(#):处理前的期数,必须是正整数;
  • post(#):处理后的期数,必须是正整数。
  • i(panelvar):随机化的横截面单元,必须是一个数字。如果没有指定,将默认为储存到 r(panelvar)
  • t(timevar):时间变量,必须是一个数字。如果没有指定,将默认为储存到 r(timevar)
  • display:将估计方差和平均协方差显示在 Stata 控制台。

3.2.3 实例

. webuse grunfeld, clear
. xtset company year
. pc_dd_covar invest, i(company) t(year) pre(1) post(2) display

Estimated variance-covariance structure of idiosyncractic residuals:

variance   =  1246.285  (estimated residual variance) 
cov_post = -220.920  (avg within-unit residual covariance in post-treatment periods) 
cov_cross = -824.254  (avg within-unit residual covariance across pre/post-treatment periods) 
. webuse grunfeld, clear
. xtset company year
. pc_dd_covar invest, i(company) t(year) pre(1) post(2)
. dis r(variance) 
1246.2849

3.3 pc_simulate 命令

3.3.1 简介

利用现有数据集,通过仿真模拟来计算 power。

3.3.2 语法

pc_simulate depvar [if] [in] , model(model) mde(numlist) [options]
  • depvar:被解释变量;
  • model(model):估计的模型类型,有 ONESHOT、POST、DD、ANCOVA 四种;
  • mde(numlist):最小可检测效应大小的列表,以水平值 (非百分比) 表示,例如 mde(10 20 30)

另外,options 主要包括如下选项:

  • absorb(varlist):将固定效应纳入估计方程,变量必须以数字形式呈现。默认 absorb(panelvar timevar) 用于 DD 模型;
  • controls(varlist):将控制变量纳入估计方程,变量必须以数字形式呈现;
  • nsim(#):每组实验设计参数的模拟次数,默认是 nsim(500)
  • stratify(varlist):允许使用者模拟分层随机化,其中随机化发生在由 egen cell = group(varlist) 定义的细胞内。对于 stratify(gender age_group),每个性别年龄组组合将代表一个单独的随机细胞,每个变量单元必须嵌套在单个单元格中;
  • tstart(# [#]):限制开始实验的时间范围。例如,tstart(4 7) 将模拟在 timevar={4,5,6,7} 时间段开始的实验,且它们的概率相等;
  • weight(weight):允许使用三种 OLS 权重,即 fweightsaweightspweights

3.3.3 实例

webuse grunfeld, clear
xtset company year
gen value = int(mvalue)  //取整
pc_simulate invest, model(ONESHOT) mde(1) weight(fw=value) n(2(1)10) vce(robust) nsim(50)

4. 结语

在进行随机对照实验设计时,选择适宜的样本量来达到可观测的效果是研究人员必须面对的问题,而事前的功效计算能够帮助我们对此进行决策。为此,本文介绍了考虑误差项结构中存在任意序列相关性的面板数据功效计算框架。该方法对可选的双重差分估计统计量、具有确定性时间冲击的 ANCOVA、以及真实世界的数据生成过程估计统计量都是稳健的。同时,本文也介绍了 pcpanel 命令,该命令既可以执行基于分析的功效计算,也可以执行基于模拟的功率计算。

5. 参考资料

  • Bertrand M, Duflo E, Mullainathan S. How much should we trust differences-in-differences estimates?[J]. The Quarterly journal of economics, 2004, 119(1): 249-275. -PDF-
  • Burlig F, Preonas L, Woerman M. Panel data and experimental design[J]. Journal of Development Economics, 2020, 144: 102458. -PDF-
  • Bloom N, Liang J, Roberts J, et al. Does working from home work? Evidence from a Chinese experiment[J]. The Quarterly Journal of Economics, 2015, 130(1): 165-218. -PDF-
  • McKenzie D. Beyond baseline and follow-up: The case for more T in experiments[J]. Journal of development Economics, 2012, 99(2): 210-221. -PDF-
  • Frison L, Pocock S J. Repeated measures in clinical trials: analysis using mean summary statistics and its implications for design[J]. Statistics in medicine, 1992, 11(13): 1685-1704. -PDF-
  • Denes M R, Howell S T, Mezzanotti F, et al. Investor Tax Credits and Entrepreneurship: Evidence from US States[R]. National Bureau of Economic Research, 2020. -PDF-
  • Bloom H S. Minimum detectable effects: A simple way to report the statistical power of experimental designs[J]. Evaluation review, 1995, 19(5): 547-556. -PDF-

6. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh did, m
安装最新版 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