双重差分模型python包_开学礼包:如何使用双重差分法的交叉项(迄今最全攻略)...
原标题:开学礼包:如何使用双重差分法的交叉项(迄今最全攻略)
秋风送爽,学期伊始。本号为计量小伙伴们送上一个开学小礼包:如何使用双重差分法的交叉项(迄今最全攻略)。
双重差分法(Difference-in-differences,简记DID)无疑是实证研究中最常用的计量方法之一,而交互项则是DID的灵魂。在计量实践中,取决于数据的类型与性质,DID的交互项有着不同的形式。灵活地使用DID的交互项,是实证研究的一项重要技能。为此,本文全面地梳理了文献中关于DID交互项的各种形式,包括(1)传统DID;(2)经典DID;(3)异时DID;(4)广义DID;以及(5)异质性DID。
传统DID
双重差分法是研究“处理效应”(treatment effects)的流行方法。一般来说,DID的使用场景为,在面板数据中,个体可分为两类,即受到政策冲击的“处理组”(treatment group)与未受政策影响的“控制组”(control group)。为此,引入处理组虚拟变量 :
然而,处理组的个体也只有到了处理期才会受到政策冲击(之前未受冲击),故引入处理期虚拟变量:
传统DID的模型设定为
其中,处理组虚拟变量 捕捉了处理组的组别效应(处理组与控制组的固有差别),处理期虚拟变量 控制了处理期的时间效应(处理期前后的固有时间趋势), 为其他控制变量,而交互项 则代表了处理组在处理期的真正效应,其系数 正是我们关心的处理效应。然后进行OLS估计即可。
经典DID
DID使用了面板数据,而估计面板模型的标准方法为“双向固定效应模型”(two-way fixed effects),它既控制了“个体固定效应”(individual fixed effects),也控制了“时间固定效应”(time fixed effects)。研究者后来发现,虽然传统DID控制了处理组的组别效应()与处理期的时间效应();但其实还可以做得更好,干脆引入双向固定效应模型,我们称之为“经典DID”:
其中, 为个体固定效应(在回归时加入个体虚拟变量即可), 为时间固定效应(在回归时加入时间虚拟变量即可),而交互项 之前的系数 依然是我们感兴趣的处理效应。显然,加入个体固定效应 之后,就不必再放入处理组虚拟变量 ;否则,将导致严格多重共线性,因为前者包含比后者更多的信息(前者控制到个体层面,而后者仅控制到组别层面)。
类似地,加入时间固定效应 之后,就不必再放入处理期虚拟变量 ;否则,将导致严格多重共线性,因为前者包含比后者更多的信息(前者控制了每一期的时间效应,而后者仅控制处理期前后的时间效应)。估计方法依然是OLS,但须使用“聚类稳健标准误”(cluster-robust standard errors),因为面板数据一般为“聚类数据”(cluster data)。这种经典DID的模型设定在实证研究中最为常见。
异时DID
在传统与经典DID的模型设定中,一个隐含假设是,处理组的所有个体开始受到政策冲击的时间均完全相同。但有时也会遇到每位个体的处理期不完全一致的情形(heterogeneous timing);比如,某项试点政策在不同城市分批推出。此时,可使用“异时DID”(heterogeneous timing DID)。
异时DID的关键在于,既然每位个体的处理期不完全一致,则处理期虚拟变量也因个体而异,故应写为 (既依赖于个体 i,也依赖于时间 t)。具体而言,异时DID的模型设定为
在具体实施时,可在Stata中首先定义因个体而异的处理期虚拟变量 。比如,考虑一个五期面板,对于第1位个体,;对于第2位个体,;而对于第3位个体,。这意味着,第1位个体从第3期开始受到政策处理,第2个体从第4期开始受到政策冲击,而第3位个体从未受到政策冲击(属于控制组);以此类推。
广义DID
以上各种DID方法均假设存在处理组与控制组的区别,但有时某项政策在全国统一铺开,此时只有处理组,并没有控制组,是否还能使用DID呢?答案是“能”,可以尝试“广义DID”(generalized DID)。
使用广义DID的重要前提是,虽然所有个体均同时受到政策冲击,但政策对于每位个体的影响力度并不相同,不妨以 来表示。
一个经典研究是 Bai and Jia (2016, Econometrica) 使用清朝的府级面板数据,考察废除科举制对于革命起义的影响。由于科举制于1911年在全国统一废除,故不存在严格意义上的控制组。但由于各地科举配额的巨大差异,废除科举对于各地的影响力度差别很大。
直观上,如果某个府本来的科举配额微乎其微,则废除科举当然影响很小;反之,对于科举配额很多的府,废除科举则可能引发剧烈震动,因阻断很多士子的上升空间而导致革命。为此,Bai and Jia (2016) 以“科举配额占人口比重”作为对于 的度量。
在实践中,只要寻找到合适的 变量(一般从经济理论出发来寻找),则可以之替代经典DID的 虚拟变量,将广义DID模型设定如下:
其中,交互项 之前的系数 依然是我们关心的处理效应,然后对上式进行OLS估计。
当然,对于广义DID,文献中也曾出现更为“简单粗暴”的处理方法,即人为地设定一个门槛值 c,根据 变量是否超过此门槛值来定义处理组与控制组。具体来说,定义
然后,按照经典DID来处理。这种处理方法的缺点在于,门槛值 c 的设定比较主观,一般须进行“稳健性检验”(robustness checks),即考察不同门槛值下的回归结果是否稳定。另外,在将连续变量 压缩为二分变量 的时候,显然损失了不少信息,故在实践中已不多见。
异质性DID
传统的处理效应模型一般假设“同质性处理效应”(homogeneous treatment effects),即所有个体的处理效应都相同。显然,此假定太苛刻,在实践中难以成立。更为合理的假定则为“异质性处理效应”(heterogeneous treatment effects),即允许每位个体的处理效应不尽相同。
在DID的框架下,也可引入异质性处理效应,关键仍在于对交互项 的调整。为简单起见,假设根据经济理论,可将所有个体分为两类,以虚拟变量 来表示。在理论上,我们预期这两类个体的处理效应并不相同。此时,可在经典DID的模型中,再引入三重交互项 ,构建异质性DID模型:
由上式可知,对于 那类处理组个体,其处理效应为 。而对于 那类处理组个体,其处理效应为 。显然,对于 或 的这两类个体,其处理效应是异质的(只要三重交互项的系数
显著)。
推而广之,如果经济理论认为,应将所有个体分为 M 类,以考察这 M 类个体的异质性效应,则可设立 (M -1) 个类别虚拟变量,比如 ,然后分别生成三重交互项 ,引入回归方程中:
在上式中,第 1 类个体的处理效应为 ,第 2 类个体的处理效应为
,以此类推。然后照常进行OLS估计即可。
当然,双重差分法还有其他变种,比如三重差分法(Difference-in-differences-in-differences,简记DDD),以及与倾向得分匹配相结合的PSM-DID 等,有兴趣的读者可参考陈强(2014)。
参考文献
陈强,《高级计量经济学及Stata应用》,第2版,高等教育出版社,2014年
陈强,《计量经济学及Stata应用》,高等教育出版社,2015年(好评如潮的配套教学视频,可在网易云课堂购买)
陈强,《机器学习及R应用》,高等教育出版社,2020年(即将出版)
陈强老师亲授“高级计量经济学与Stata应用”2019年国庆节(10月1-6日)现场班占座开启(经管之家主办),详情可点击页底“阅读原文”或请联系(根据缴费顺序安排座位哦):
魏老师
QQ:2881989714
Tel:010-68478566
Mail:vip@pinggu.org
We chat:13581781541
陈强老师简介
陈强,男,1971年出生,山东大学经济学院教授,数量经济学博士生导师。
分别于1992年、1995年获北京大学经济学学士、硕士学位,后留校任教。2007年获美国Northern Illinois University数学硕士与经济学博士学位。已独立发表论文于Oxford Economic Papers (lead article), Economica, Journal of Comparative Economics,《经济学(季刊)》、《世界经济》等国内外期刊。著有畅销研究生教材《高级计量经济学及Stata应用》与本科教材《计量经济学及Stata应用》,以及好评如潮的本科计量教学视频(网易云课堂)。2010年入选教育部新世纪优秀人才支持计划。
(c) 2018, 陈强,山东大学经济学院
www.econometrics-stata.com
转载请注明作者与出处
Our mission is to make econometrics easy, and facilitate convincing empirical works.返回搜狐,查看更多
责任编辑:
双重差分模型python包_开学礼包:如何使用双重差分法的交叉项(迄今最全攻略)...相关推荐
- 双重差分模型python包_什么是双重差分模型(difference-in-differences model)?
前面有人说了两个组别两个时间点的DID, 我简单来说一下DDD也可以说是多组别多时间点的DID 假设,推行一项政策,各个地区实行的时间不同 简单来说,让我们来以g代表不同的地区(g>=2),t代 ...
- 双重差分模型能做固定效应吗_Stata:双重差分的固定效应模型 (DID)
作者:张伟广 | 知乎 | 简书 | 码云 2020寒假Stata现场班 (北京, 1月8-17日,连玉君-江艇主讲),「+助教招聘」 双重差分法(DID)作为估计处理效应的工具方法,常被用来对政策实 ...
- 双重差分模型能做固定效应吗_stata中双重差分操流程及代码
原标题:stata中双重差分操流程及代码 一.简介 现代计量经济学和统计学的发展为我们的研究提供了可行的工具.倍差法来源于计量经济学的综列数据模型,是政策分析和工程评估中广为使用的一种计量经济方法.主 ...
- python飞机大战程序导入_Python飞机大战项目的准备 导入Pygame最全攻略~
1.导入pygame 首先是导入pygame模块,下面介绍的是pycharm中导入 先建立一个项目 左上角File->Setting->project:飞机大战项目(你自己的文件名字)-& ...
- prusai3打印机使用教程_【打印虎】零基础自制RepRap Prusa i3图解全攻略
第一节,介绍 3D 打印技术,特别是面向普通用户的桌面级 3D 打印,在最近几年间得到了快速的发展. 很多国内外 DIY 爱好者,都可以利用 3D 打印机,自己设计.改进机械零件,并把自己的 设计快速 ...
- 双重差分模型DID学习笔记
双重差分模型DID学习 1.DID介绍 1.1 特点 1.2 传统DID 1.3 经典DID 1.4 异时DID 1.5 广义DID 1.6 异质性DID 2. DID 平行趋势检验 3 实践举例 3 ...
- python 双重差分模型_双重差分模型DID python操作
搬运网站:https://blog.csdn.net/Claire_chen_jia/article/details/106903842?utm_medium=distribute.pc_aggpag ...
- 学习:双重差分模型DIDPSM-基于Stata实现
双重差分模型 定义 双重差分法(Difference in Differences): 通过利用观察学习的数据,计算自然实验中"实验组"与"对照组"在干预下增量 ...
- 离线安装python包_补充
离线安装python包_补充 一.利用好pip,找到所有依赖库 1.要安装 paramiko,先 pip show 一下 paramiko 2.继续 pip show 其依赖库 3.继续 pip sh ...
最新文章
- 深度学习基础:张量运算
- ajax 同步异步true,async: false 实现AJAX同步请求 ( $.ajax同步/异步(async:false/true) )(示例代码)...
- 学习型php空间,补装修日记:学习型业主三大要素
- java学习(124):小综合案例
- gridview 简单的分页
- react json转换_Typescript + React 新手篇
- 在线MG小游戏html5源码
- python报错cannot import name ‘BeautifulSoup‘ from ‘bs4‘
- 解读千人千面,洞悉数据智能的价值(附ppt下载链接)
- php中类的构造函数和析构函数,php面向对象-构造函数和析构函数详解
- 栈、队列(链表实现)
- jdbc连oracle dns报错,近期处理的oracle问题汇总
- jd反编译java_java反编译工具jd
- matlab与计量经济学,matlab与计量经济学
- 高德打车宣布上线共享雨伞:或许是醉翁之意不在酒
- [递推] 51Nod1383 整数分解为2的幂
- 官方蓝牙4.0基本概念
- C++工程管理 版本控制git Makefile cmake LInux
- maven打包成jar文件与打包成tar.gz文件
- HTML介绍以及常用代码
热门文章
- 动态获取bind dns日志IP脚本
- Apollo Planning决策规划算法代码详细解析 (2):Scenario执行
- nvidia-smi卡顿详解
- appdata文件夹有什么用途?C盘appdata可以删除吗?
- 太原理工大学计算机院招生网,相洁-太原理工大学信息与计算机学院
- saf java_Android SAF实现外置SD卡的写入JAVA层与JNI层hook
- java+selenium3
- Android 环信 自定义聊天气泡
- pc wap模板 html,快速创建一个pc或者wap站点模板
- 计算机三级嵌入式工程师,怎样通过计算机三级嵌入式,如何成为嵌入式工程师——第一章嵌入式系统概论