did双重差分法_双重差分及R、Stata操作与应用

本文由计量经济学服务中心综合整理

转载请注明来源

1简介现代计量经济学和统计学的发展为我们的研究提供了可行的工具。倍差法来源于计量经济学的综列数据模型,是政策分析和工程评估中广为使用的一种计量经济方法。主要是应用于在混合截面数据集中,评价某一事件或政策的影响程度。该方法的基本思路是将调查样本分为两组,一组是政策或工程作用对象即“作用组”,一组是非政策或工程作用对象即“对照组”。根据作用组和对照组在政策或工程实施前后的相关信息,可以计算作用组在政策或工程实施前后某个指标(如收入)的变化量(收入增长量),同时计算对照组在政策或工程实施前后同一指标的变化量。然后计算上述两个变化量的差值(即所谓的“倍差值”)。这就是所谓的双重差分估计量(Difference in Differences,简记DD或DID),因为它是处理组差分与控制组差分之差。该法最早由Ashenfelter(1978)引入经济学,而国内最早的应用或为周黎安、陈烨(2005)。

常用的倍差法主要包括双重倍差法和三重倍差法。双重差分法(Difference-in-difference,DID)有几种其他的称谓:倍差法、差分再差分等。该方法的原理非常简单,它要求数据期至少有两期,所有的样本被分为两类:实验组和控制组,其中实验组在第一期是没有受到政策影响,此后政策开始实施,第二期就是政策实施后的结果,控制组由于一直没有受政策干预,因此其第一期和第二期都是没有政策干预的结果。双重差分方法的测算也非常简单,两次差分的效应就是政策效应。

双重差分法的假定,为了使用OLS一致地估计方程,需要作以下两个假定。 

假定1:此模型设定正确。特别地,无论处理组还是控制组,其时间趋势项都是。此假定即“平行趋势假定”(parallel trend assumption)。DID最为重要和关键的前提条件:共同趋势(Common Trends)

双重差分法并不要求实验组和控制组是完全一致的,两组之间可以存在一定的差异,但是双重差分方法要求这种差异不随着时间产生变化,也就是说,处理组和对照组在政策实施之前必须具有相同的发展趋势。

假定2:暂时性冲击与政策虚拟变量不相关。这是保证双向固定效应为一致估计量(consist estimator)的重要条件。在此,可以允许个体固定效应与政策虚拟变量相关(可通过双重差分或组内变换消去,或通过LSDV法控制)。

DID允许根据个体特征进行选择,只要此特征不随时间而变;这是DID的最大优点,即可以部分地缓解因 “选择偏差”(selection bias)而导致的内生性(endogeneity)。

2命令介绍

案例数据介绍:cardkrueger1994

背景介绍:“准自然实验”是借助政策的突然改变所带来的冲击识别变量间因果关系的一种方法,由Meyer(1995)进行了系统的分析。“准自然实验”的好处是在微观个体没有相应预期的情况下,有关政策的突然实施就如同一次外生的冲击,借助此外生冲击可以观测微观个体作出的各种反映。

例如,Card and Krueger(1994)就利用了新泽西州最低工资的一次突然上涨,在收集了新泽西州以及与之相邻的宾夕法尼亚州的快餐行业雇工数据后,他们讨论了最低工资的上涨与就业的关系。

在1992年,美国新泽西州通过法律将最低工资从 每小时4.25美元提高到5.05美元,但在相邻的宾夕法尼亚州最低工资却保持 不变。这两个州的雇主仿佛被随机地分配到实验组(新泽西州)与控制组 (宾夕法尼亚州)。收集了两个州的快餐店在实施新法前后雇佣人数的数据,发现提高最低工资对 低技能工人的就业几乎没有影响。

3R操作之手工计算双重差分

代码为

setwd("C:/Users/admin/Desktop")library(readstata13)cardkrueger1994"cardkrueger1994.dta")cardkrueger$treat $treated==df=fte~treat+t+I(treat*t)ols data=cardkrueger)summary(ols)

结果为:

78c71f8263af1d4f07ee7b2592afa292.png

4Stata操作之手工计算双重差分

代码为

use cardkrueger1994,cleargen gd=t*treated    // (定义交叉项gd)reg fte gd treated t, r

结果为:

cedd24c8e8952f63a114023665e88109.png

gd处理效应的系数估计值为2.914,但是仅在10%显著性水平下显著,p值为0.094,与手工回归的结果完全相同。

5Stata操作之双重差分

命令为:

diff outcome_var [if] [in] [weight] ,[ options]

模型必选项介绍:

outcome_var :结果变量

period(varname) :实验期变量

treated(varname) :处理变量

cov(varlist) :协变量。

可选项介绍:

cov(varlist),协变量,加上kernel可以估计倾向得分

kernel, 执行双重差分倾向得分匹配

id(varname),kernel选项要求使用

bw(#) ,核函数的带宽,默认是0.06

ktype(kernel),核函数的类型.

rcs                 Indicates that the kernel is set for repeated cross section. This option does not require option id(varname). Option rcs strongly assumes that covariates in cov(varlist) do not vary over time.

qdid(quantile),执行分位数双重差分

pscore(varname)  .提供倾向得分

logit,进行倾向得分计算,默认probit回归

ddd(varname),三重差分

1、DID with no covariates不带协变量的估计

diff fte, t(treated) p(t)

43c388fa01bc573cd9edf3f80fcea32a.png

bootstrapped 稳健标准误

4197556535840b429cf5004eb2f8ae18.png

6addfb2e03085d80e0740850e4051fba.png

2、DID with  covariates带协变量的估计

diff fte, t(treated) p(t) cov(bk kfc roys) 

diff fte, t(treated) p(t) cov(bk kfc roys) report 

diff fte, t(treated) p(t) cov(bk kfc roys) report bs

85f9d6c8ed98dc567974a337c6358394.png

fcbc13b35068b2987cd73f2ae82eb334.png

3、Kernel Propensity Score Diff-in-Diff

diff fte, t(treated) p(t) cov(bk kfc roys) kernel rcs 

diff fte, t(treated) p(t) cov(bk kfc roys) kernel rcs support 

diff fte, t(treated) p(t) cov(bk kfc roys) kernel rcs support addcov(wendys) 

diff fte, t(treated) p(t) kernel rcs ktype(gaussian) pscore(_ps) 

diff fte, t(treated) p(t) cov(bk kfc roys) kernel rcs support addcov(wendys) bs reps(50)

40deaf4bc9bda9099e8780dc09695031.png

e5897306a537d0c97be7926e938bd7ba.png

4、 Quantile Diff-in-Diff 分位数双重差分法

diff fte, t(treated) p(t) qdid(0.25)

diff fte, t(treated) p(t) qdid(0.50)

diff fte, t(treated) p(t) qdid(0.75)

diff fte, t(treated) p(t) qdid(0.50) cov(bk kfc roys)

diff fte, t(treated) p(t) qdid(0.50) cov(bk kfc roys) kernel id(id)      diff fte, t(treated) p(t) qdid(0.50) cov(bk kfc roys) kernel rcs

178156b3d9eacc6b0f5b0dea91581d90.png

5、Balancing test of covariates.包含协变量的控制组与实验组之间差异检验

diff fte, t(treated) p(t) cov(bk kfc roys wendys) test

diff fte, t(treated) p(t) cov(bk kfc roys wendys) test id(id) kernel

diff fte, t(treated) p(t) cov(bk kfc roys wendys) test kernel rcs

aa6a23874beba7f8e6a87aa52860bc73.png

6. Triple differences (consider bk is a second treatment category).

三重差分法

diff fte, t(treated) p(t) ddd(bk)

057c6495c281d8513b5fb0028f1a09ea.png

7becd0e27b96c71c36641da3d15f1134.png

PSM-DID即Propensity Score Matching and Difference-in-Differences,是一种结合了倾向得分匹配(PSM)双重差分(DID)两种方法的技术,在经济学和社会科学领域被广泛应用于评估项目干预效果或政策变化的影响。 ### 倾向得分匹配 (PSM) 这种方法用来解决样本选择偏差的问题。当研究对象不是随机分配给处理组和对照组时可能出现这种偏差。通过估计一个单位接受治疗的概率——这个概率被称为倾向得分,可以创建出更相似的比较群体来减少混淆因素带来的影响。 ### 双重差分 (DID) 此方法旨在衡量随时间推移而发生的事件对特定群体的效果。它利用的是实验前后的数据对比以及受试者之间是否存在显著差异的信息。具体来说,就是计算处理前后两期的变化量之差,并将其归因为所考察的因素。 ### PSM-DID 结合应用 两者结合起来能够更好地控制不可观测的选择效应和其他混杂变量。先用PSM找到最接近实际条件下的配对案例,之后再运用DID去测量这些经过筛选的数据点之间的长期趋势变动情况。这样不仅可以提高估计精度还可以增强因果关系解释力。 #### 实现方式 实现PSM-DID通常需要借助统计软件包完成,例如Stata、R或其他支持高级计量分析功能的语言环境。以下是简化的流程概述: - 收集并整理好包括协变量在内的面板数据; - 利用Logistic回归或者其他分类算法构建倾向分数模型以预测个体属于哪个群组的可能性; - 对照组中寻找处理组成员具有相同或相近倾向值的对象形成匹配集合; - 报告最终的结果同时考虑进行敏感度测试确保结论稳定可靠。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值