DID学习差异模型
- 一、DID简介
- 1.1 特点
- 1.2 传统 DID
- 1.3 经典 DID
- 1.4 DID不同时间
- 1.5 广泛的 DID
- 1.6 DID异构性
- 2. DID平行趋势测试
- 3个实际例子
- 3.1 所有人同时开始受到政策冲击
- 3.1.1 政策效果不随时间变化 DID
- 3.1.2 政策效果随时间变化 DID
- 3.2 人们在不同时期受到政策冲击的影响
- 3.2.1 政策效果不随时间变化 DID
- 3.2.2 政策随时间变化的影响 DID
1.1 特点
差异-差异模型(DID)是政策评估的非实验方法中使用最广泛的方法,其中交互元素是DID的灵魂。
交互项的形式有多种形式,包括(1)传统的DID; (2)经典DID; (3) 同步DID; (4)广义TID; (5) 异构 TID。这些在下面介绍。
1.2 传统 DID
差分法是研究“治疗效果”的一种流行方法。笼统地说,DID的使用场景是,在panel data中,个人可以分为两类,即subject to政策冲击“治疗组”与政策未受影响“对照组”.重点是政策冲击以及是否受到政策冲击的影响,这是通过引入虚拟变量得到的。哪一个:
政策影响前后(pre-post)定义为0和1,如果受到政策影响(control-treatment)则定义为0和1。
因此,该模型通常被认为是
治疗组假人贝塔治疗组的群体效应(治疗组和对照组之间的内在差异), 治疗期间的虚拟变量拉姆达控制治疗期的时间效应(治疗期前后的内在时间趋势), X 是其他控制变量和交互作用项下一个代表治疗期间治疗组的真实效果(政策冲击的影响),也就是我们关心的处理效果。然后运行 OLS 估计。
1.3 经典 DID
经典 DID 控制传统 DID 模型中的个体固定效应和时间固定效应,并删除个体变量。该模型如下:
模型解释如下:
(1) u 为个体固定效应。添加个体固定效应后,不必放置治疗组dummy(治疗i),否则会出现多重共线性问题。因为前者包含的信息比后者多(前者控制个体层面,而后者只控制群体层面)。
(2) Enter是固定时间效应。同样,在加入时间的固定效应时,不必加入治疗期(t 后)虚拟变量。否则会导致严格的多重共线性,因为前者包含的信息比后者多(前者控制每个周期时间的影响,而后者只控制治疗周期前后时间的影响)。
(3) 注:估计方法仍然是OLS,但要使用“稳健集群标准误差”(robust cluster standard errors)。
1.4 DID不同时间
在传统和经典的 DID 模型设置中,一个隐含的假设是,治疗组中的所有个体同时开始受到该政策的影响。.但有时查找每个人的治疗期不完全相同的情况(异构时间);比如在不同城市分批推出试点政策。这时候就可以使用“DID异构同步”(DID heterogeneous synchronization)。
异时TID的关键是因为每个人的治疗期不完全一样,治疗期假人也因人而异,所以应该写成 post(i,t),这取决于个人 i 和时间 t.该模型以下列任何一种方式设置:
一个5期面板数据申请状态:
1)定义变量:定义因人而异的治疗期虚拟变量post(i,t);
2)确定受影响者:post1(i,t) = (0,0,1,1,1)表示第一个个体从第三个时期开始受到政治待遇; post2(i,t) = (0,0, 0, 1, 1) 表示第二个个体从第四个时期开始接受政策治疗; post3(i,t) = (0, 0, 0, 0, 0) 表示个体从未受到策略的影响(属于对照组)。
1.5 广泛的 DID
各种较旧的 DID 方法两者都假设治疗组和对照组之间存在差异。, 但有时一项政策在全国统一实施。此时只有一个治疗组,没有对照组。, 你还能用 DID 吗?答案是“有”,你可以试试“广义DID”(generalized DID)。
使用广义 DID 的重要前提是,虽然所有个体同时受到策略的影响,但政策对每个人的影响不同, 可以很好地用强度 (i) 表示。
其中交互系数是我们关注的对象。另外,对于广义DID,文献中还有一种阈值法来区分群体,即人为设定一个阈值c,根据变量是否超过该值来定义治疗组和对照组的界限。 .由于将连续变量压缩为虚拟变量会丢失大量信息,因此这在实践中很少见。
1.6 DID异构性
传统治疗效果模型一般假设“同质治疗效果”(homogeneous treatment effects),即治疗效果对所有个体都是相同的。显然,这个假设过于苛刻,无法在实践中实现。更合理的假设是“异质治疗效果”,即允许治疗效果因人而异.尤其:
1)在DID下,引入异质性处理效果,即交互作用项(treat后),即引入相互作用项(治疗等级*组)。
2)在模型建立方面,在经典的DID模型中,引入三重交互项来构建异构DID模型。
从上面的公式可以看出,对于group = 0的治疗组中的个体,治疗效果为s。对于治疗组group=1的受试者,治疗效果为(s+t)。因此,治疗效果是异质的(只要三重相互作用项的系数显着)。
3)扩展多尔,只要将所有个体分为M个类别,设置类别虚拟变量(M -1)。
注意,应用DID的前提是在没有政策影响的情况下,处理组和控制组的变化趋势是平行的,所以平行趋势检验是绝对必要的。
在文献中,有两种最常见的检验方法来表明平行趋势假设是否成立:
1、不同组因变量均值时间趋势比较;二、回归在每个时间点添加虚拟变量和策略变量之间的交互项,如果政策或待遇发生前交互作用项的系数不显着,说明确实存在平行趋势。
- 第一种方法(图片来自状态交流会)是:
- 第二种方式分为:代码运行和图形输出
安装命令:install coefplot
从每个时间点虚拟变量和策略变量之间的交互项生成交互项。
回归
输出图形
学习实例:DID 多期:平行趋势检验图
查看学习链接了解更多详情
3.1 所有人同时开始受到政策冲击
参考学习示例:
Sharing Club——DID复制方式详解(一):传统DID
/*模拟数据生成*////建立60备注,设置一个明确的随机数种子全部定义观察60定义种子10101一代我会去 =_norte//每个值的数量被扩展。11次,然后减去前 60 个观测值,即60*11-60 = 600,为了60个人10年度仪表盘数据展开11发布不 1个/60告诉///的我会去按范围分组生成时间戳我会去 :世代时间=_norte+ 1999xtset我会去速度///生成协变量 x1,x2gen x1=普通的(1个,7)一代x2=普通的(2个,5个)///生成单独的固定效应和时间固定效应来排序节奏我会去当时:基因工业=整齐的我会去的时间我会去 :t世代=_norte///生成句柄和发布变量2005年这一年是政治干预的时间点,我会去为了30-60受试者为治疗组,其余为D基因对照组。= 0替代物 D= 1个 是的 我会去 > 29代邮= 0更换帖子= 1个 是的速度>= 2005年///将基本数据结构保存为dta文件,命名为DID_Basic_Simu.数据,保存到当前工作目录路径默认保存“DID_Basic_Simu.dta”,取代
3.1.1 政策效果不随时间变化 DID
///调用本文第二部分生成的基本数据结构use“DID_Basic_Simu.dta”,清除///产生两个潜在的结果并综合最终的结果变量,使得政策的真实效果是10拉开我会去 :y0世代= 10 + 5个*x1+ 3个*x2+吨+印第安纳州+普通的()拉开我会去 :第 11 代= 10 + 5个*x1+ 3个*x2+吨+印第安纳州+普通的() 是的速度< 2005年拉开我会去 :替换 y1= 10 + 5个*x1+ 3个*x2+ 10 +吨+印第安纳州+普通的() 是的速度>= 2005年基因和=y0+丁*(y1-y0)///消除协变量和个体效应对y的影响,绘制剩余残差的图像xtreg y x1 x2,预测,uebin散布时间,线(连接)的(丁)///显示生成的图片,让格式为800*600图形导出“article1_1.png”,作为(PNG)替换宽度(800)高度(600)///reg 和 c 多元回归形式.丁#c.post x1 x2 i.time i.id,robustoeststo regxtreg y c.丁#c.post x1 x2 i.time,absorb(id) 鲁棒图这是 aregreghdfe yyc.丁#c.post x1 x2, absorb (识别时间) vce (robust)我是*,标题(《实参值比较》) ///细胞(b(星星(%9.3f))com(标准杆)) ///统计数据(N N_g,调速器(%9.0f %9.0克)标签(n组)) ///与传奇合作(两者都不)变量标签(_cons 常量)瓜迪亚(x1 x2c.丁#c.post)///ESA和图解法///预生成的年度虚拟可变提前期,一代(再次)reg 和 eu.丁#i.time x1 x2,vce(稳健)reghdfe y c.丁#(c.year2-year10) x1 x2, absorb(identification time) vce(robust)系数图, ///瓜迪亚(C.丁#c.ano2 c.D#c.ano3 c.D#c.ano4 c.D#c.ano5 c.D#c.ano6 c.D#c.ano7 c.D#c.ano8 c.D#c.ano9 c.D#c.ano10) ///系数标签(C.丁#c.ano2 = "-4" ///C.丁#c.ano3 = "-3" ///C.丁#c.ano4 = "-2" ///C.丁#c.ano5 = "-1" ///C.丁#c.ano6 = "0" ///C.丁#c.ano7 = "1" ///C.丁#c.ano8 = "2" ///C.丁#c.yes9 = "3" ///C.丁#c.ano10 = "4") ///垂直的///一般来说(0) ///标题(“系数”) ///标题(“相对于采用默认合同例外的年份的时间流逝”) ///添加情节(línea @b @at) ///西普茨(改写(覆盖)) ///方案(s1mon)///显示生成的图片,让格式为800*600图形导出“article1_3.png”, 作为(PNG)替换宽度(800)高度(600)
3.1.2 政策效果随时间变化 DID
///调用本文第二部分生成的基本数据结构use“DID_Basic_Simu.dta”,清除///产生两个潜在结果并合成最终结果变量,使政策的实际效果随时间变化,即(5个*吨-T), 由于2005年2009年开始干预,每年的政策效果应该是24,28,32,36,40.拉开我会去:y0世代= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+普通的()拉开我会去:第 11 代= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+普通的() 是的速度< 2005年拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+ 10 +吨+印第安纳州+普通的() 是的速度>= 2005年基因和=y0+丁* (y1-y0)///消除协变量和个体效应对y的影响,绘制剩余残差的图像xtreg y x1 x2,预测,uebin散布时间,线(连接)的(丁)///显示生成的图片,让格式为800*600图形导出“article1_1.png”,作为(PNG)替换宽度(800)高度(600)///reg 和 c 多元回归形式.丁#c.post x1 x2 i.tiempo i.id,reststo regxtreg y c.丁#c.post x1 x2 i.tiempo, r feeststo xtreg_feareg y c.丁#c.post x1 x2 i.time,吸收器(id)robustoeststo aregreghdfe y c.丁#c.post x1 x2, absorb (识别时间) vce (robust)eststo reghdfeestout*,标题(《实参值比较》) ///细胞(b(星星(%9.3f))com(标准杆)) ///统计数据(N N_g,调速器(%9.0f %9.0克)标签(n组)) ///与传奇合作(两者都不)变量标签(_cons 常量)瓜迪亚(x1 x2c.丁#c.post)///ESA和图解法///预生成的年度虚拟可变提前期,一代(再次)reghdfe 和我.丁#i.time x1 x2, vce(robusto) 吸收器(id 时间)reghdfe y c.丁#(c.year2-year10) x1 x2, absorb(identification time) vce(robust)系数图, ///瓜迪亚(C.丁#c.ano2 c.D#c.ano3 c.D#c.ano4 c.D#c.ano5 c.D#c.ano6 c.D#c.ano7 c.D#c.ano8 c.D#c.ano9 c.D#c.ano10) ///系数标签(C.丁#c.ano2 = "-4" ///C.丁#c.ano3 = "-3" ///C.丁#c.ano4 = "-2" ///C.丁#c.ano5 = "-1" ///C.丁#c.ano6 = "0" ///C.丁#c.ano7 = "1" ///C.丁#c.ano8 = "2" ///C.丁#c.yes9 = "3" ///C.丁#c.ano10 = "4") ///垂直的///一般来说(0) ///标题(“系数”) ///标题(“相对于采用默认合同例外的年份的时间流逝”) ///添加情节(línea @b @at) ///西普茨(改写(覆盖)) ///方案(s1mon) ///显示生成的图片,让格式为800*600图形导出“article1_4.png”,作为(PNG)替换宽度(800)高度(600)
3.2 人们在不同时期受到政策冲击的影响
Double Split DID详解(二):Multipoint DID(Progressive DID)
所有人同时开始获得策略命中:默认 DID
人们在不同时间开始经历政策冲击:时变 DID
/*模拟数据生成*/ ///建立60备注,设置一个明确的随机数种子全部定义观察60 定义种子10101一代我会去 =_norte///每个值的数量被扩展。11次,然后减去前 60 个观测值,即60*11-60 = 600,为了60个人10年度仪表盘数据展开11发布不 1个/60告诉///的我会去按范围分组生成时间戳我会去:世代时间=_norte+1999xtset我会去速度///生成个体和时间协变量和基因 x1 效应=普通的(1个,7)一代x2=普通的(2个,5个)安排时间我会去当时:基因工业=整齐的我会去的时间我会去:t世代=_基因= 0///生成处理变量,现在 D 是 Dit,建立1个-20存在2004年多年接受影响,21-40为了2006年也,36-60为了2008年年gen D= 0基因日期_出生= 0按价值观我= 1个/20{替代物 D= 1个 是的 我会去 =='欧盟'&速度>= 2004年替换 date_of_birth= 2004年 是的 我会去 =='欧盟'}按价值观我= 21/40{替代物 D= 1个 是的 我会去 =='欧盟'&速度>= 2006年替换 date_of_birth= 2006年 是的 我会去 =='欧盟'}按价值观我= 41/60{替代物 D= 1个 是的 我会去 =='欧盟'&速度>= 2008年替换 date_of_birth= 2008年 是的 我会去 =='欧盟'}///将基本数据结构保存为dta文件,命名为DID_Basic_Simu.数据,保存到当前工作目录路径默认保存“DID_Basic_Simu_1.dta”,取代
3.2.1 政策效果不随时间变化 DID
/*政策效果不随时间改变 DID*////使用生成的基础数据文件调用“DID_Basic_Simu_1.dta”,清除///Y 世代将受到冲击的个人的实际政策的效果视为10拉开我会去:y0世代= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+普通的()拉开我会去:第 11 代= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+ 10 +普通的() 是的速度>= 2004年 & 我会去 >= 1个 & 我会去 <= 20拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+ 10 +普通的() 是的速度>= 2006年 & 我会去 >= 21 & 我会去 <= 40拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+ 10 +普通的() 是的速度>= 2008年 & 我会去 >= 41 & 我会去 <= 60拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+普通的() 是的y1== .替代和=y0+丁* (y1-y0)///消除个体效应和协变量对 Y 的影响,得到残差,绘制 xtreg 和 x1 x2,预测,uebin散布时间,线(连接)的(丁)///显示生成的图片,让格式为800*600图形导出“article2_1.png”,作为(PNG)替换宽度(800)高度(600)///保存并输出各种reg和c命令的输出.D x1 x2 哟.给我计时.我会去,reststo regxtreg y c.D x1 x2 哟.速度,r feeststo xtreg_feareg y c.D x1 x2 哟.速度,吸收器(我会去)aregreghdfe 和 c 更健壮.深度 x1 x2,吸收器(我会去速度)vce(强壮的)eststo reghdfeestout*,标题(《实参值比较》) ///细胞(b(星星(%9.3f))com(标准杆)) ///统计数据(N N_g,调速器(%9.0f %9.0克)标签(n组)) ///与传奇合作(两者都不)变量标签(_cons 常量)瓜迪亚(x1 x2D)///ESA 和 Tempo 图形方法-结合不同的 DID 和事件研究方法///用当年减去受试者接受治疗的年份,得到相对时间价值事件,定义-4个期间之前的时间与期间合并。-4个期间,因为有些人不超过-4个大体时间///接下来,生成一个相对时间值虚拟变量eventt,将第一个周期设置为参考控制组生成事件。=速度-birth_date替换事件= -4个 是的事件<= -4个导游活动,一代(事件)删除 eventt1xtreg 和 eventt*x1 x2 有.速度,r fecoefplot, ///瓜迪亚(事件*) ///系数标签(事件2= “-3” ///事件3= “-2” ///事件4= “-1” ///事件5= “0” ///事件6= “1” ///事件7= “2” ///事件8= “3” ///事件9= “4” ///事件10= “5”) ///垂直的///一般来说(0) ///标题(“系数”) ///标题(“相对于采用默认合同例外的年份的时间流逝”) ///添加情节(línea @b @at) ///西普茨(改写(覆盖)) ///方案(s1mon)///显示生成的图片,让格式为800*600图形导出“article2_2.png”,作为(PNG)替换宽度(800)高度(600)
3.2.2 政策随时间变化的影响 DID
/*DID 政策随时间的影响*////使用生成的基础数据文件调用“DID_Basic_Simu_1.dta”,清除///对于千禧一代,将政策的实际效果定义为3个, 并且每年增加3个拉开我会去:y0世代= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+普通的()拉开我会去:第 11 代= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+ (速度-生日+ 1个 ) * 3个 +普通的() 是的速度>= 2004年 & 我会去 >= 1个 & 我会去 <= 20拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+ (速度-生日+ 1个 ) * 3个 +普通的() 是的速度>= 2006年 & 我会去 >= 21 & 我会去 <= 40拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+ (速度-生日+ 1个 ) * 3个 +普通的() 是的速度>= 2008年 & 我会去 >= 41 & 我会去 <= 60拉开我会去:替换 y1= 10 + 5个 *x1+ 3个 *x2+吨+印第安纳州+普通的() 是的y1== .替代和=y0+丁* (y1-y0)///消除个体效应和协变量对 Y 的影响,得到残差,绘制 xtreg 和 x1 x2,预测,uebin散布时间,线(连接)的(丁)///显示生成的图片,让格式为800*600图形导出“article2_3.png”,作为(PNG)替换宽度(800)高度(600)///保存并输出各种reg和c命令的输出.D x1 x2 哟.给我计时.我会去,reststo regxtreg y c.D x1 x2 哟.速度,r feeststo xtreg_feareg y c.D x1 x2 哟.速度,吸收器(我会去)aregreghdfe 和 c 更健壮.深度 x1 x2,吸收器(我会去速度)vce(强壮的)eststo reghdfeestout*,标题(《实参值比较》) ///细胞(b(星星(%9.3f))com(标准杆)) ///统计数据(N N_g,调速器(%9.0f %9.0克)标签(n组)) ///与传奇合作(两者都不)变量标签(_cons 常量)瓜迪亚(x1 x2D)///ESA 和 Tempo 图形方法-结合不同的 DID 和事件研究方法///用当年减去受试者接受治疗的年份,得到相对时间价值事件,定义-4个期间之前的时间与期间合并。-4个期间,因为有些人不超过-4个大体时间///接下来,生成一个相对时间值虚拟变量eventt,将第一个周期设置为参考控制组生成事件。=速度-birth_date替换事件= -4个 是的事件<= -4个导游活动,一代(事件)删除 eventt1xtreg 和 eventt*x1 x2 有.速度,r fecoefplot, ///瓜迪亚(事件*) ///系数标签(事件2= “-3” ///事件3= “-2” ///事件4= “-1” ///事件5= “0” ///事件6= “1” ///事件7= “2” ///事件8= “3” ///事件9= “4” ///事件10= “5”) ///垂直的///一般来说(0) ///标题(“系数”) ///标题(“相对于采用默认合同例外的年份的时间流逝”) ///添加情节(línea @b @at) ///西普茨(改写(覆盖)) ///方案(s1mon)///显示生成的图片,让格式为800*600图形导出“article2_2.png”,作为(PNG)替换宽度(800)高度(600)
本文总结的项目如下:
开学大礼包:跨项双差法的使用方法(目前最全攻略)
DID 多期:平行趋势检验图
Sharing Club——DID复制方式详解(一):传统DID
Double Split DID详解(二):Multipoint DID(Progressive DID)