请选择 进入手机版 | 继续访问电脑版
218953 419

[程序分享] Stata绘图(二) | 多期DID的平行趋势检验   [推广有奖]

Janice_Yang 学生认证  发表于 2020-5-2 15:20:29 |显示全部楼层 |坛友微信交流群
请问您有研究过drop掉d_1期的代码吗?如果您有所了解,我能不能付费向您咨询。十分感谢

使用道具

Janice_Yang 学生认证  发表于 2020-5-2 15:23:55 |显示全部楼层 |坛友微信交流群
石器时代的大菠萝 发表于 2020-5-2 14:45
平行趋势检验图右侧如果都不显著,暗示did结果也可能不显著,不过这种暗示不一定准确,还是要以did回归结 ...
其中有一个是显著的(以current为基期),这样可以吗。我发现按您的文中提及的思路,drop掉d_1期,以d_1为基期平行趋势假设的结果很好,右侧均显著。我采取哪一种会比较好呢。十分感谢

使用道具

乐乐宝宝 学生认证  发表于 2020-5-2 22:38:24 来自手机 |显示全部楼层 |坛友微信交流群
石器时代的大菠萝 发表于 2020-3-22 01:46
Stata绘图(二) | 多期DID的平行趋势检验

作者:石器时代的大菠萝
正在学习,谢谢分享

使用道具

石器时代的大菠萝 在职认证  发表于 2020-5-3 07:49:38 来自手机 |显示全部楼层 |坛友微信交流群
Janice_Yang 发表于 2020-5-2 15:23
其中有一个是显著的(以current为基期),这样可以吗。我发现按您的文中提及的思路,drop掉d_1期,以d_1为 ...
可以drop d_1,平行趋势检验只看左侧,右侧一般不看,但是如果右侧有显著那就更好了。

使用道具

Janice_Yang 学生认证  发表于 2020-5-3 08:15:25 |显示全部楼层 |坛友微信交流群
石器时代的大菠萝 发表于 2020-5-3 07:49
可以drop d_1,平行趋势检验只看左侧,右侧一般不看,但是如果右侧有显著那就更好了。
嗯嗯。好的,谢谢您!

使用道具

Janice_Yang 学生认证  发表于 2020-5-3 10:19:01 |显示全部楼层 |坛友微信交流群
石器时代的大菠萝 发表于 2020-5-3 07:49
可以drop d_1,平行趋势检验只看左侧,右侧一般不看,但是如果右侧有显著那就更好了。
Graph.jpg
您好,不好意思再打扰您一下,我想咨询一下这个平行趋势图形是正常的吗?

使用道具

Janice_Yang 发表于 2020-5-3 10:19
您好,不好意思再打扰您一下,我想咨询一下这个平行趋势图形是正常的吗?
显然这是不正常的图片。我在写 手工绘图法 代码的时候,没有对current的置信区间也进行绘图,所以这里你需要增加一些命令。具体我在楼下写了一个新的代码可以供参考。

使用道具

请教:

用方法2 命令直接画图的话,如果不选择“current” 作为基期,选择其他的话,是不是下面这个循环就得手动?不能直接循环了?

“*生成系数(政策前)
forvalues i=1/4 {
replace b = b_`i'  if distance == -`i'
}“

感谢!那如果这样看的话,第二类作图只是空出了基期,更好看些,还是第一类能更方便地挑选出合适基期吧?
或者可以在方法一试出合适基期后,再通过第二类作图美化一下?

使用道具

假设你需要以d_1为基期,那么你可能需要修改多处代码:

rename current d0  //先把current改个名称
(1)回归方程重新设定为:
xtreg y d_4 d_3 d_2 d0 d1 d2 d3 d4 d5 i.year 控制变量, fe r
gen t = invttail ( 自由度 , 0.05 )2)手工绘图法 部分代码修改地方
*生成b_j的系数与置信区间(假设有4期,即distance最小值是-4;你可以手动调整下面命令的参数)
forvalues i=2/4 {   //跳过d_1
gen b_`i' = _b[d_`i'] 
gen se_b_`i' = _se[d_`i']
gen b_`i'LB = b_`i' - t * se_b_`i'
gen b_`i'UB = b_`i' + t * se_b_`i'
}

*生成bj的系数与置信区间(假设有5期,即distance最大值是5)
forvalues i=0/5 {   //循环起点改成0
gen b`i' = _b[d`i'] 
gen se_b`i' = _se[d`i']
gen b`i'LB = b`i' - t * se_b`i'
gen b`i'UB = b`i' + t * se_b`i'
}

gen b = .
gen LB = .
gen UB = .

*生成系数(政策前)
forvalues i=2/4 {
replace b = b_`i'  if distance == -`i'
}

*生成系数(政策后)
forvalues i=0/5{
replace b = b`i'  if distance == `i'
}

*生成系数置信区间下限(政策前)
forvalues i=2/4 {
replace LB = b_`i'LB if distance == -`i'
}

*生成系数置信区间下限(政策后)
forvalues i=0/5 {
replace LB = b`i'LB if distance == `i'
}

*生成系数置信区间上限(政策前)
forvalues i=2/4 {
replace UB = b_`i'UB if distance == -`i'
}

*生成系数置信区间上限(政策后)
forvalues i=0/5 {
replace UB = b`i'UB if distance == `i'
}
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小凌是小白 + 5 + 3 + 3 + 3 观点有启发

总评分: 论坛币 + 5  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

薰衣草Ge 发表于 2020-5-4 01:39
请教:

用方法2 命令直接画图的话,如果不选择“current” 作为基期,选择其他的话,是不是下面这个循环 ...
不以current为基期的情况,我把代码放在楼上了。
coefplot作图可能会不好看,手工绘图更好看一点。
已有 1 人评分论坛币 收起 理由
happy_287422301 + 100 对论坛有贡献

总评分: 论坛币 + 100   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-28 17:59