在介绍双重差分法之前,我们先思考一个问题。如果一个学校在班级A进行课改实验,为了知道课改的效果,一般会采用两种方法来计算。第一种:课改前班级A平均成绩减去课改后班级A平均成绩(这里不考虑由于试卷题目难易对成绩造成的影响,假设每次考试的试卷对同学的难易程度是相同的),第二种:找到一个差不多的班级B进行对比,对比课改以后一段时间两班成绩的差距。这两种方法都存在一些的问题,会造成结果的偏差。为什么说这两种方法存在问题呢?借助图1进行说明
图1
第一种方法存在的问题。
如图1所示,假设学校对A班进行课改(课改之前班级平均分为80),B班不进行课改(课改之前班级平均分为70)。课改之后A班的成绩上升到了86分,B班成绩上升到了72分。按照第一种方法,课改的效果为提升6分(86-80=6分)。第一种方法存在的问题在于,没有剔除随时间变化的其他效果的影响。如:课改的同时,换了一个比较认真的年级主任,那么这提高的6分中包括了换年级主任带来的效果,导致高估了课改的效果。换年纪主任带来的效果是多少呢?由于B班没有进行课改,但和A班一样享受到了换年级主任带来的效果,所以课改前后B班成绩提升的2分(72-70=2分)应该是换年纪主任带来的效果。所以换年纪主任会使班级成绩提升2分,A班成绩提高6分中有2分是换年级主任带来的,所以实际的课改效果应该为4分(6-2=4分)。这里进行了双重差分,分别为:1,(86-80=6分)得到课改效果+随时间变化效果;(72-70=2分)得到随时间变化效果。2 (6-2=4分)去除随时间变化效果,得到课改的真正效果。
第二种方法存在的问题
第二种方法是找到一个差不多的班级进行对比,但找到两个完全一样的班级是完全不可能的,所以两个不一样班级之间肯定具有差别。为了更好解释,在图1案例中放大了这一差距。按照第二种方法,课改的效果应该为14分(86-72=14分)。这种方法存在的问题在于没有剔除两个班级之间的个体差异,也就是两个班级之间的差别。那两个班级之间的个体差异为多少呢?也就是课改之前两个班级的成绩差10分(80-70=10分)。这里假设课改前后班级的个体差异是不变的,所以第二种方法高估了10分,实际的课改效果为4分(14-10=4分)。这里也是进行了双重差分,分别为:1,(86-72=14分)得到课改效果+个体差异;(80-70=10分)得到个体差异。2 (14-10=4分)去除个体差异,得到课改的真正效果。
我们现在用计量方法进行解释下。
综上可知:a代表课改前B班得成绩;d代表个体差异,c代表时间效应。
现在计算课改效果:
根据双重差分思想1:[(课改后的A班)-( 课改前的A班)]-[( 课改后B班)-( 课改前B班)]= [(a+b+c+d)-( 𝑎+d)]-[( a+c)-( a)]=b, b就是课改效果。
2[(课改后的A班)- ( 课改后B班)]-[ ( 课改前的A班) -( 课改前B班)]= [(a+b+c+d)-( a+c)]-[(𝑎+d)-( a)]= b, b就是课改效果。
表1
如何使用stata实现呢?
下面提供了一份实例数据,20周的146个班的成绩,其中10个为课改班(实验组),其余为为进行课改的班级(控制组)。如图2所示。Y为成绩,x1-x5为控制变量。课改时间为第10周,课改班级为qk大于且等于2的班级。
现在进行stata操作
***告诉stata我是面板数据
xtset id week
****将控制命令打包,待用
global xlist x1 x2 x3 x4 x5
***描述面板数据情况
sum Y $xlist //统计描述相关变量
*课改时间为第10周,大于10为1,反之为0
gen time = (week >= 10) &!missing(week)
*课改班级为qk大于且等于2的班级
gen treated = (qk >=2)&!missing(qk)
*产生交乘项*******也就是例子中的dd
gen did = time*treated
*OLS估计,也可以用diff
reg Y did time treated $xlist ,r
*地区+时间固定效应回归
xtreg Y did $xlist i.week, fe //加入时间和地区固定效应后就不用再加入time和treated, 防止共线性
*上面结果等同于OLS同时加入地区和时间固定效应
reg Y did $xlist i.week i.id ,r
结果放在表2中,以双固定效果为准的话,课改效果为提高了0.654分.
图2 演示数据
表2 回归结果
****PSM部分(do文件内包括逐年PSM)
采用最近邻匹配(1对4),通过前后和密度图可以看出匹配效果很好。匹配前后t检验的区别也可以看出只剩X2存在显著差异,但比匹配前差距减小。
匹配前核密度图核匹配后和密度图
匹配前后的t检验结果
平行趋势检验(动态或多期DID)可以查看随时间变化趋势:
平行趋势检验是进行DID必须做的,DID虽然不要求实验组和控制组完全一样,但要求实验组和控制组在政策之前具有相同的变化趋势,也就是所处的大环境相同。我们继续使用上面的数据进行平行趋势检验,检验结果如图3所示。可以看出课改前两组的差别一直为0,表明实验组和控制组具有相同趋势。课改后效果显著为正,表明课改提高了分数,并且这一效果在随时间扩大。
图3 平行趋势检验
安慰剂检验。
安慰剂检验的意思可以对照医学实验,医生为了检验药的效果,会给实验组和控制组的病人同时吃药丸,差别在于实验组吃的是药,控制组吃的是糖丸。
我们这里随机抽取部分班级作为课改班,随机抽取一周作为课改开始的时间,看两组的差别。这一过程被重复500次,结果如图4所示:
dd的系数平均分布在0的两侧,且值介于(-0.15,0.15)之间,远低于课改效果的0.654。表明满足安慰剂检验。
图4 安慰剂检验
数据和命令放在下方。