提纲:
1.传统双重差分法:普通最小二乘法 regress指令+ diff指令
2.多时点双重差分法(处理行为发生时间相同)指令
3.多期双重差分法(处理行为发生时间不同)指令 (CSDID)
1.OLS和DIFF的具体步骤
| 步骤 | 软件 | 操作 | 含义 | ||||
| 1 | excel | control+A | 全选 | ||||
| 2 | excel | control+C | 复制 | ||||
| 3 | stata | edit | 将会打开一个类似于excel表格的可编辑的表格 | ||||
| 4 | stata | control+V | 选中表格总第一个格子,粘贴数据 | ||||
| 5 | stata | 同意则选择”variable names“,中文的话选择第一个“变量名”。 | 将会出现一个小窗口如下,问是否要将第一行作为变量名。![]() | ||||
| 6 | stata | 5后,将会出现一个简短的变量描述 | |||||
| 7 | stata | generate interaction_term=time*treatmentgroup | 生成一个名叫“interaction_term”的变量,在上述例子中我们需要的“交乘项”。 且该“交乘项”=time变量✖treatmentgroup变量 | ||||
| 8 | stata | (本个指令与下一个指令效果相同):reg weight i.time##i.treatmentgroup | time##treatmentgroup:将这两个变量包含在回归中,且,将这两个变量的交乘项也包含在回归中。即,新增交乘项 | ||||
| 8 | stata | regress weight time treatmentgroup interaction_term | 双重差分指令与最小二乘回归分析指令相同“reg";后面依次是 :因变量、(等式右侧的内容,分别是:)时间变量、分组变量、交乘项 | ||||
| 9 | stata | 解释处理行为效应,关注交乘项系数,也就是红框中的内容,如下所示👇: |
|

上图👆是最小二乘法回归
下图👇是Diff法
| 步骤 | 软件 | 操作 | 含义 |
| 9 | stata | diff weight,treatment(treatmentgroup) p(time) cov(control_1 control_2 control_3) | diff指令 关注最后一行Diff-in-Diff的内容;cov后面可以加入控制变量 |

1.1. 为什么要用双重差分法?
有兴趣可以看看我的互联网老师欧~~讲的太好了,严谨的推理,强推~
双重差分法(八) 双重差分法的Stata操作(上集)/传统双重差分法、多时点双重差分法、多期双重差分法_哔哩哔哩_bilibili

2. 多时点双重差分法
注意:处理行为发生时间不同,关注的是处理行为发生时点前后若干时间点
| reg weight i.month##i.treatmentgroup control_1 control_2 control_3 |
3. 多期双重差分法(处理行为发生时间不同)
3.1. 基本多期双重差分法stata指令
因为不同组处理时间不同,因此无法用同一个时间变量time代表处理前后,因此采用”处理时间变量“treatment time”代表处理行为发生的时间点。
| 1 | ssc install csdid,all replace | 更新替换已经存在的相关指令。若第一次安装,可以不加“all replace"。 |
| (1) | ssc install drdid,all replace | 安装drdid |
| 2 | csdid weight control_1 control_2 control_3,ivar(uid) time(month) gvar( treatment_time) | ivar():面板数据中个体识别变量,如果是重复截面数据,可以不加此选项。 在本例子中,uid是每一个看过小周视频人的id,若是企业的,则可能是企业的股票代码。 |
| 面板数据:针对同一个对象在不同时间点上的数。 vs 重复截面数据:在不同时间点上选择相同数量的对象数据,但是每个时间点上所收集的具体个体是不相同的。 |
3.2. 计算处理行为效果
3.2.1. 整体处理行为效果
| 计算所有小模块的加权平均数 | 先算出日历时期的处理行为效果,然后再计算整体处理行为效果 | Caverage | estat simple |
| 按照事件时期计算处理行为效果,然后再通过事件时期来计算整体处理行为效果 | post_average、pre_average | ||
| 先算出每个组的平均处理行为效果,然后再通过组平均处理行为效果计算整体处理行为效果 | Gaverage | ||
| 不同时期的处理行为效果 | 日历时期 | estat calendar | |
| 事件时期(按照每个模块所对应的处理行为发生后的期数) | estat event | ||
| 不同组别的处理行为效果 | estat group | ||
3.2.2. csdid指令有三种估计小模块处理行为效果的方法
| 方法 | 指令 |
| Double Robust | csdid默认 |
| Outcome Regression | 在最后加上method(reg) |
| Inverse Probability Weighting | 在最后加上method(ipw) |
3.2.3. csdid对照组选择
| 从未处理过的个体 | csdid默认 |
| 尚未处理过的个体 | 在最后加上notyet |
| 默认 (if数据中没有从未处理个体,或者我们的数据中所有个体或早或晚都最终接受了处理行为) |
资料来源:up主“小周同学慢慢学”。讲的超好!!!强推!!
本文详细介绍了使用Stata进行传统、多时点和多期双重差分法的步骤,包括OLS和DIFF指令,以及CSDID的运用。重点讲解了如何处理行为发生时间不同的情景,以及如何通过交互项和控制变量来分析处理行为效应。

1800

被折叠的 条评论
为什么被折叠?



