当前位置: 首页 > news >正文

【stata】自写命令分享dynamic_est,一键生成dynamic effect

1. 命令简介

dynamic_est 是一个用于可视化动态效应(dynamic effect)的工具。它特别适用于事件研究(event study)或双重差分(Difference-in-Differences, DID)分析。通过一句命令即可展示动态效应,帮助用户更好地理解在某变量的作用下,随时间变化其对结果变量的影响。

在输出的图像中,为了让结果更加直观,我加入了各期的系数、标准误,也标注了显著性

fig1
这个命令最早是我用来checkdata的,后来为了方便就写成了函数。现在我稍微完善了一下,封装成了stata外部命令,能够实现一句命令查看被解释变量变量在treat下的dynamic effect,希望能帮到大家。

2.使用方法

(1) 主要选项

dynamic_est 需要以下四个必需变量:

  • y: 结果变量(outcome variable),即你想要观察的因变量。
  • treat: 分组变量
    • 可以是二元变量,用于区分处理组(treatment group)或对照组(control group)
    • 也支持强度(intensity)变量
  • time: 时间变量
    • 支持自然年份(standard-spec.)
    • 相对年份(staggered-spec.)
  • ref: 基期选择,数值型,如{2006} 或 {-1},用于定义参考时期。

(2) 其他选项

除了以上的必需变量,dynamic_est 还支持以下可选参数:

  • absorb(string): 可吸收的固定效应或控制变量
  • cluster(varlist): 聚类变量,用于调整标准误
  • cov(string): 模型中要包含的协变量
  • level(string): 置信区间水平,默认为90%,可选值为909599
  • regtype(string): 回归类型,可选择reg(默认的OLS)或ppml(泊松伪极大似然估计)
  • figname(string): 输出图形的文件名
  • figtitle(string): 图形的标题
  • figsubtitle(string): 图形的副标题

3.安装方法

net install dynamic_est, from("https://mengke25.github.io/files/function/stata/dynamic_est") replace

如果安装失败,可通过邮件向我索取。因为是自用命令,可能还有很多不完善的地方,所以先暂时上传到了个人的repositories中,如果大家有什么建议或者问题,欢迎私信我!

allenmeng97@gmail.com

uibemk@126.com

4.示例

(1) 基本用法

standard-spec.
dynamic_est lnv , treat(treat) time(year) ref(2009) 
staggered-spec.
dynamic_est lnv , treat(treat) time(t) ref(-1) 

(2) 进阶用法

dynamic_est lnv , treat(treat_intens) time(year) ref(2009) absorb(id year) cluster(id) regtype(reg)

(3) 帮助文件

help

5.写在最后

需要补充说明的是,dynamic effect并不完全等同于DID中的平行趋势检验。
上文所谓的standard-spec和staggered-spec是为了区分数据的范式

  • 在standard-spec情形下,time是自然时间,此时dynamic effect结果可以被看做平行趋势检验结果。在这种请跨国下,以下两组代码等价:
ppmlhdfe Active i(2016/2019).year#i1.Tr_cate if year>=2015 , /// 
a(id_cate#country_j year#country_j) cluster(country_j) 
dynamic_est Active if year>=2015,treat(Tr_cate) time(year) ref(2015) /// 
absorb(id_cate#country_j year#country_j) cluster(country_j) regtype(ppml)
  • 在standard-spec情形下,
    • 不能直接用dynamic_est去直接对类似多时点的数据进行分析。
    • 需要先对panel进行处理,例如像Sun Abraham、callaway santanna等(或者用panelmatch的方法)对panel进行重组,才能进行分析。
    • 不过,我写的另一个外部命令(欢迎使用)twfe_stgdid可以直接对staggered-spec的数据进行分析。

转载请注明出处@mengke25

请喝咖啡打赏渠道

http://www.lryc.cn/news/433375.html

相关文章:

  • 文心一言 VS 讯飞星火 VS chatgpt (342)-- 算法导论23.2 1题
  • 部署若依Spring boot项目
  • oc打包:权限弹窗无法正常弹出
  • 深入理解RxJava:响应式编程的现代方式
  • Maven 依赖漏洞扫描检查插件 dependency-check-maven 的使用
  • 2. 下载rknn-toolkit2项目
  • xhr、ajax、axois、fetch的区别
  • 【HuggingFace Transformers】OpenAIGPTModel源码解析
  • macOS安装Java和Maven
  • SpringBoot教程(安装篇) | Elasticsearch的安装
  • 前端登录鉴权——以若依Ruoyi前后端分离项目为例解读
  • 【Tools】大模型中的自注意力机制
  • PhotoZoom Classic 9软件新功能特性及安装激活图文教程
  • 【数据结构】直接插入排序
  • JavaScript 实现虚拟滚动技术
  • 【重学 MySQL】十八、逻辑运算符的使用
  • 关于 QImage原始数据格式与cv::Mat原始数据进行手码数据转换 的解决方法
  • 前端WebSocket客户端实现
  • 读取realsense d455双目及imu
  • 浮点的运算
  • 对随机游走问题的分析特定行为模式的建模
  • JVM面试(七)G1垃圾收集器剖析
  • php转职golang第一期
  • java后端服务监控与告警:Prometheus与Grafana集成
  • 【系统架构设计师】工厂方法设计模式
  • 怎样解决OpenEuler下载sdl2失败
  • 基于Python的自然语言处理系列(2):Word2Vec(负采样)
  • 每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟
  • 大数据之Flink(六)
  • 设计模式学习[5]---装饰模式