二重差分法深度分析(DID),三重差分兼论
计量经济圈,欢迎学习定量分析的圈友,进入咱们的大社群,进入里面之后可以找到Stata 15 MP版本,前天发送的那个令大家满意的软件。
双重差分模型(difference-in-differences)主要被用于社会学中的政策效果评估。其原理是基于一个反事实的框架来评估政策发生和不发生这两种情况下被观测因素y的变化。如果一个外生的政策冲击将样本分为两组—受政策干预的Treat组和未受政策干预的Control组,且在政策冲击前,Treat组和Control组的y没有显著差异,那么我们就可以将Control组在政策发生前后y的变化看作Treat组未受政策冲击时的状况(反事实的结果)。通过比较Treat组y的变化(D1)以及Control组y的变化(D2),我们就可以得到政策冲击的实际效果(DD=D1-D2)。
双重差分法,英文名Differences-in-Differences,别名“倍差法”,小名“差中差”。作为政策效应评估方法中的一大利器,双重差分法受到越来越多人的青睐,概括起来有如下几个方面的原因:(1)可以很大程度上避免内生性问题的困扰:政策相对于微观经济主体而言一般是外生的,因而不存在逆向因果问题。此外,使用固定效应估计一定程度上也缓解了遗漏变量偏误问题。(2)传统方法下评估政策效应,主要是通过设置一个政策发生与否的虚拟变量然后进行回归,相较而言,双重差分法的模型设置更加科学,能更加准确地估计出政策效应。(3)双重差分法的原理和模型设置很简单,容易理解和运用,并不像空间计量等方法一样让人望而生畏。(4)尽管双重差分法估计的本质就是面板数据固定效应估计,但是DID听上去或多或少也要比OLS、FE之流更加“时尚高端”,因而DID的使用一定程度上可以满足“虚荣心”。
在细致介绍DID之前首先强调一点,一般而言,DID仅适用于面板数据,因此在只有截面数据时,还是不要浪费心思在DID上了。不过,事无绝对,在某些特殊的情景下,截面数据通过巧妙的构造也是可以运用DID的,大神Duflo曾经就使用截面数据和DID研究了南非的养老金计划项目对学前儿童健康的影响,感兴趣的可以去搜搜大神的文章。
具体来说,基准的DID模型设置如下:
其中,du为分组虚拟变量,若个体i受政策实施的影响,则个体i属于处理组,对应的du取值为1,若个体i不受政策实施的影响,则个体i属于对照组,对应的du取值为0。dt为政策实施虚拟变量,政策实施之前dt取值为0,政策实施之后dt取值为1。du·dt为分组虚拟变量与政策实施虚拟变量的交互项,其系数
从DID的模型设置来看,要想使用DID必须满足以下两个关键条件:一是必须存在一个具有试点性质的政策冲击,这样才能找到处理组和对照组,那种一次性全铺开的政策并不适用于DID分析;二是必须具有一个相应的至少两年(政策实施前后各一年)的面板数据集。
为什么交互项du·dt的系数
双重差分法的基本思想就是通过对政策实施前后对照组和处理组之间差异的比较构造出反映政策效果的双重差分统计量,将该思想与上表的内容转化为简单的模型(1),这个时候只需要关注模型(1)中交互项的系数,就得到了想要的DID下的政策净效应。
更进一步地,DID的思想与上表的内容可以通过下图来体现:
图中红色虚线表示的是假设政策并未实施时处理组的发展趋势。事实上,该图也反映出了DID最为重要和关键的前提条件:共同趋势(Common Trends),也就是说,处理组和对照组在政策实施之前必须具有相同的发展趋势。DID的使用不需要什么政策随机以及分组随机,只要求CT假设,因此用DID做论文时必须对该假设进行验证,至于具体怎么验证,后面再说。
很多时候,大家在看使用DID的文献时,会发现别人的基准模型和模型(1)并不完全一致,别人的模型如下:
别人的模型里只有交互项du·dt,而缺失了du和dt,是哪里出问题了么?并没有,模型(1)和(2)本质还是一样的,且模型(2)在多年面板数据集里更为常见。模型(2)中,
在介绍完DID的基本思想和模型设定后,现在要开始强调同等重要的内容,那就是稳健性检验——必须证实所有效应确实是由政策实施所导致的。很多人对这一点并不重视,认为DID很简单,随便跑几个回归就可以写出一篇大作了。关于DID的稳健性检验,主要表现在两个方面:
(1)共同趋势的检验。这个假设是比较难验证的,看文献时会发现别人经常没有做该检验,比如,很多人做DID时只有政策实施前后各一年的数据,这样的的话根本无法验证政策实施前的趋势问题。不过,如果是多年的面板数据,可以通过画图来检验CT假设,之前推荐的那篇AER文章就画了大量的图形对此进行了说明。
(2)即便处理组和对照组在政策实施之前的趋势相同,仍要担心是否同时发生了其他可能影响趋势变化的政策,也就是说,政策干预时点之后处理组和对照组趋势的变化,可能并不真正是由该政策导致的,而是同时期其他的政策导致的。这一问题可以概括为处理变量对产出变量作用机制的排他性,对此,可以进行如下的检验:
A. 安慰剂检验,即通过虚构处理组进行回归,具体可以:a)选取政策实施之前的年份进行处理,比如原来的政策发生在2008年,研究区间为2007-2009年,这时可以将研究区间前移至2005-2007年,并假定政策实施年份为2006年,然后进行回归;b)选取已知的并不受政策实施影响的群组作为处理组进行回归。如果不同虚构方式下的DID估计量的回归结果依然显著,说明原来的估计结果很有可能出现了偏误。
B. 可以利用不同的对照组进行回归,看研究结论是否依然一致。
C. 可以选取一个完全不受政策干预影响的因素作为被解释变量进行回归,如果DID估计量的回归结果依然显著,说明原来的估计结果很有可能出现了偏误。等等。
差分法的局限
经济学家常关心某政策实施后的效应,比如对于收入的作用。最简单的做法是比较处理组(即受政策影响的地区或个体)的前后差异,这称为“差分估计量”(difference estimator),即将处理组(treatment group)政策实施后的样本均值,减去政策实施前的样本均值。然而,由于宏观经济环境也随时间而变(时间效应),故政策实施地区的前后差异未必就是处理效应(treatment effects)。
双重差分法
为了解决差分法的局限性,常用方法是寻找适当的控制组(control group),即未实施政策的地区,作为处理组的反事实(counterfactual)参照系。具体来说,可将未受政策影响的控制组之前后变化视为纯粹的时间效应,即
综合以上两个差分,即将处理组的前后变化减去控制组的前后变化,可得到对于政策处理效应更为可靠的估计:
这就是所谓的双重差分估计量(Difference in Differences,简记DD或DID),因为它是处理组差分与控制组差分之差。该法最早由Ashenfelter(1978)引入经济学,而国内最早的应用或为周黎安、陈烨(2005)。
一般双重差分回归
更一般地,可在面板模型中加入个体固定效应、时间固定效应,以及其它控制变量:
其中,为个体固定效应,为时间固定效应,为一系列控制变量,而为暂时性冲击(transitory shock)。
不难看出,上式就是“双向固定效应模型”(two-way fixed effects),因为它既包括个体固定效应(),也包括时间固定效应();只不过多了双重差分法的关键变量,即交互项(政策虚拟变量:policy dummy)。在具体回归中,个体固定效应可通过加入个体虚拟变量来实现(即LSDV法,或进行组内离差变换,within transformation);而时间效应可通过加入每期的时间虚拟变量(time dummies)来实现。
举个例子:在进行DID分析时,treat,post系数为负,两者的交乘项treat*post为正说明什么?
如果预计treat组在政策发生前的Y本来就更高,treat系数为正;如果预计随着时间推移,Y会提高,post为正;如果预计treat组随着政策发生后的Y高于untreat组,treat*post的系数为正。
如果treat系数为负,说明政策发生变化前的Y本来更低;post为负,意思是没有政策的话,所有样本的Y随着时间下降,treat*post的系数为正的话,说明随着政策发生后treat相比untreat组的Y下降更慢。
双重差分法的优越性
相对于静态比较法,双重差分法不是直接对比样本在政策前后的均值变化,而是使用个体数据进行回归,从而判断政策的影响是否具有显著的统计意义。相对于传统办法,双重差分法能够避免政策作为解释变量所存在的内生性问题,即有效控制了被解释变量和解释变量之间的相互影响效应。如果样本是面板数据,那么双重差分模型不仅可以利用解释变量的外生性,而且可以控制不可观测的个体异质性对被解释变量的影响。因此,双重差分法既能控制样本之间不可观测的个体异质性,又能控制随时间变化的不可观测总体因素的影响,因而能得到对政策效果的无偏估计。同时,我们在使用该方法时也应做到恰当运用,主要需注意内生性、控制组受影响、样本异质性及概念混淆等问题。否则将产生一定的负面影响,甚至使政策评估出现偏差乃至完全相反的结论(陈林、伍海军,2015)。
现代计量经济学和统计学的发展为我们的研究提供了可行的工具。倍差法来源于计量经济学的综列数据模型,是政策分析和工程评估中广为使用的一种计量经济方法。主要是应用于在混合截面数据集中,评价某一事件或政策的影响程度。
该方法的基本思路是将调查样本分为两组,一组是政策或工程作用对象即“作用组”,一组是非政策或工程作用对象即“对照组”。根据作用组和对照组在政策或工程实施前后的相关信息,可以计算作用组在政策或工程实施前后某个指标(如收入)的变化量(收入增长量),同时计算对照组在政策或工程实施前后同一指标的变化量。然后计算上述两个变化量的差值(即所谓的“倍差值”)。常用的倍差法主要包括双重倍差法和三重倍差法。
框格法
DID=(((Y_1 ) ̅│D=1)-((Y_0 ) ̅│D=1))-(((Y_1 ) ̅│D=0)-((Y_0 ) ̅│D=0))
绘图法
回归法
关于回归法,小编主要以双重倍差法和三重倍差法为例进行介绍。
双重倍差法
实验效果需要一段时间才能显现,首先考虑两期面板数据:
y_it=α+γD_t+βx_it+μ_i+ε_it (i=1,…,n;t=1,2)
其中D_t为试验期虚拟变量(D_t=1,若t=2,表示的是试验后;D_t=0,若t=1,表示实验前),μ_i为不可观测的个体特征。政策虚拟变量(policy dummy)
当t=1时,实验组与控制组并未受到任何不同对待,处于相同的环境中,x_it都等于0;当t=2时,实验组x_it=1,而控制组x_it=0;
由于是面板数据,可对原方程进行一阶差分,消除μ_i,得到
∆y_t= γ+ βx_i2+∆ε_i
用OLS(普通最小二乘法)估计上式,可得一致估计。根据与差分估计量同样的推理:
由此得出的统计量β ̂_OLS被称为“双重差分估计量”,
此估计方法就是双重倍差法。双重倍差法估计量如下图所示:
对于双重倍差估计量,也可以引入其他解释变量{z_i1,…〖,z〗_iK }。
一阶差分后的方程表示为:
∆y_t= γ+ βx_i2+δ_1 z_i1+⋯+δ_K z_iK+∆ε_i
注:此时的被解释变量的双重差分法不适用于多期数据。
在两期数据的假设下,上述方程与下面的模型是等价的:
y_it=β_0+β_1G_i∙D_t+β_2 G_i+γD_t+ε_it (i=1,…,n;t=1,2)
其中,G_i为实验组虚拟变量(G_i=1,属于实验组;G_i=0,属于控制组),即是分组虚拟变量,主要是刻画实验组和控制组本身的差异;D_t为实验期虚拟变量(〖若t=2,D〗_t=1;若t=1,D_t=0),即是时间虚拟变量,用来刻画实验前后两期本身的差异;交互项G_i∙D_t=x_it(若i∈实验组,且t=2,G_i∙D_t=1);反之则为0,才真正度量实验组的政策效应。
当t=1时,方程可写为
y_i1=β_0+β_2 G_i+ε_i1
当t=2时,方程可写为
y_i2=β_0+β_1 G_i∙D_2+β_2 G_i+γ+ε_i2
上述两个式子相减
∆y_t=γ+β_1 G_i∙D_2+(ε_i2-ε_i1)= γ+ βx_i2+∆ε_i
得到的结果双重倍差法的结果完全相同。此时β ̂_1(即交互项G_i∙D_t的系数)就是双重差分估计量。双重差分法的优点在于,同时控制了分组效应G_i (group-specificeffects)与时间效应D_t (time-specific effects)
注意:倍差法是将干预发生时实验组和控制组趋势的差异归因于该干扰项,若是有其他因素影响两组之间的趋势差异,评价结果便会产生偏倚。
三重倍差法
如果控制组和实验组的时间趋势不同,也就是说,γD_t的系数,控制组为γ_0,实验组的系数为γ_0+γ_1,则双重倍差法的公式应该写为:
y_it=β_0+β_1 G_i∙D_t+β_2 G_i+γ_0 D_t+γ_1 G_i∙D_t+ε_it
=β_0+〖(β〗_1+γ_1)G_i∙D_t+β_2 G_i+γ_0 D_t+ε_it
此时,通过OLS得到的参数估计是〖(β〗_1+γ_1)的一直估计,无法分离出对实验组的效应β_1。因此需要进一步改进双重差分的估计量。
写在后面:各位圈友,咱们的计量经济圈社群里面资料和计量咨询都很多,希望大家能够积极加入咱们这个大家庭(戳这里)。之后我们会逐步邀请社群里的圈友再直接建立微信群与圈圈对话,进去之后一定要看“群公告”,不然接收不了群信息。
提议
为了更好地促进计量经济圈成员学习因果推断计量方法,我们决定组建“causal effect”文献学习小组。里面主要是通过学习使用因果推断计量方法的经典文献,那让群里每个成员逐渐理解并掌握因果推断计量方法:treatment effects, RD, DID, DDID, Synthetic control等。