大家都拿 csdid 跑异质性 DID,可 Stata 官方命令早就追平了:2026 年你的论文该走哪条路

源自83位全网作者

08-27 16:01

搜"交错 DID"的教程,你会发现一个怪现象:中文圈排在前面的内容,几乎清一色在教 csdid、drdid 配 event_plot。哔哩哔哩好像 Stata 里做异质性 DID 只有这一条路。

这不是教程作者偏心。这些教程大多成稿于 2022 到 2023 年,那时候 Stata 官方的异质性 DID 命令确实还不存在。问题是,软件已经更新了好几轮,教程不会跟着更新,这个信息差就落在正在写论文的人头上——很多人至今不知道,Stata 官方的 [CAUSAL] 类目已经把当年需要靠外部命令才能实现的活儿,原生接了过去。Stata 官网

大家都拿 csdid 跑异质性 DID,可 Stata 官方命令早就追平了:2026 年你的论文该走哪条路

今天把 2026 年 8 月这个时间点,Stata 里做异质性 DID 的路线一次性摊开。

【小标题一:五条路线,各管一段】

第一条,TWFE 交互项,也就是 reghdfe 或 xtreg 加上处理×时间。这是入门款,也是现在最容易被审稿人挑战的写法。2021 年 Goodman-Bacon 那篇论文把话说透了:处理时点不同时,TWFE 的系数其实是所有可能的 2×2 DID 的加权平均,权重可以是负的,部分"已处理组"会悄悄被当成别人的对照组。知乎不过先别急着把 TWFE 拉黑,后面第三条里官方的扩展版 TWFE 是另一回事。

第二条,didregress 和 xtdidregress,Stata 17 起内置,分别管重复截面和面板的基础 DID。功能不花哨,但最近被 StataNow 补了两刀:加了 HC2/HC3 校正标准误,didregress 和 xtdidregress 里直接用 vce(hc3) 就行。Stata 官网另外 Stata 19 还改进了这两个命令的 wild bootstrap 置信区间。Stata 官网两期 DID 的作业,到这条就够了。

第三条,hdidregress 和 xthdidregress,Stata 18 起内置,是这篇的主角。官方口径叫"异质性 DID 估计":估计随组别和时间变化的处理效应,重复截面用 hdid,面板用 xthdid。一口气给了四个估计量:twfe、ra(回归调整)、ipw(逆概率加权)、aipw(双重稳健)。默认估出组别×时间的 ATET,可以按组、按时间、按处理时长聚合,直接画动态效应图。controlgroup() 里选从未处理组还是尚未处理组当对照,basetime() 选基期,当年 csdid 费了不少劲搭的东西,这里全是原生选项。Stata 官网注意,xthdidregress 里的 twfe 不是第一条里手写的交互项。它是把组别×时间结构拆开处理的扩展版,不掉负权重的坑。同名不同命,别混。

第四条,csdid 配 drdid,SSC 安装,基于 Callaway 和 Sant’Anna 2021 年发表在 Journal of Econometrics 上的方法。微信公众号中文教程里出镜率最高,优点很实在:聚合口径灵活,配 event_plot 出 event study 图的工具链成熟,审稿人见过的论文大多也是这套。

大家都拿 csdid 跑异质性 DID,可 Stata 官方命令早就追平了:2026 年你的论文该走哪条路

第五条,专病专治的三位:did_multiplegt 和 did_multiplegt_dyn,de Chaisemartin 和 D’Haultfœuille 一系,擅长交错处理加模糊处理场景。fuzzydid,处理存在不完全服从的模糊 DID。sdid,合成 DID,处理单元少、个体差异大时比传统 DID 更稳。微信公众号这三家用到再学,不用提前囤。

大家都拿 csdid 跑异质性 DID,可 Stata 官方命令早就追平了:2026 年你的论文该走哪条路

【小标题二:官方和外部命令,真正差在三件事】

第一件是依赖风险。外部命令靠作者维护,SSC 上的包版本一变,老代码可能跑不动,老教程的语法也可能对不上。官方命令随软件发布,写的时候是什么版本,几年之后还是那个行为,这对要存档、要复现的论文是硬指标。

第二件是后估计生态。官方命令的结果直接接 estat、margins、collect、etable,三线表、系数图、导出 Word 和 LaTeX 一条命令的事;外部命令的结果往往要再装一套工具去加工。

第三件最现实,版本门槛。hdidregress 和 xthdidregress 要 Stata 18 起;而 HC3 标准误、异质性 DID 的调节效应(over() 配 noxinteract)、带处理切换的 DID、gencohort、usercohort、estat aggregation 的权重选项,这些是 StataNow 先在加的功能。年度订阅或带维护的授权,update all 就能吃到;一次性买断、没续维护的,就跟这些新功能没关系了。Stata 官网选 Stata 买哪种授权,这是一个很多人没算过的隐性成本。想看自己的版本到底吃到哪些更新,敲 help whatsnew。

【小标题三:三个误区】

误区一,“官方追平了,csdid 可以退休”。不至于。CS 方法在某些设计下的聚合口径更细,审稿人的眼睛也已经熟悉了它。我的用法是主回归跑 xthdidregress,稳健性放 csdid。两套结果方向一致,结论的可信度直接抬一档;不一致,反而是免费的线索,说明识别假设有地方没对上。

误区二,“Stata 19 支持中文了”。社区里有这种说法,去官方功能清单看,19 新增的是法语界面,中文暂时没有。Stata 官网学命令别等中文界面,也别被这种帖子带节奏。

误区三,“异质性 DID 必须四个估计量都跑”。不用。平行趋势干净的场景,twfe 或 ra 就够;ipw 和 aipw 主要是给处理选择机制可能设错时上的保险。四个都跑是四套数,报哪个取决于你的识别假设,不是哪个显著报哪个。

大家都拿 csdid 跑异质性 DID,可 Stata 官方命令早就追平了:2026 年你的论文该走哪条路

【小标题四:行动清单】

手里的 Stata 是 18 及以上,正要开新的交错 DID 论文:主回归 xthdidregress,aipw 和 twfe 各看一遍,csdid 放稳健性,动态效应用官方系数图。

手里只有 Stata 17:xtdidregress 打底,SSC 装 csdid 解决异质性部分。

审稿人已经点名要 CS 方法:csdid 上主桌,顺手加一组 xthdidregress 当稳健性,论文里解释两句两者为什么一致,比只给一套结果体面。

处理单元不到十个,或者处理边界模糊:分别去看 sdid 和 fuzzydid,别硬套标准面板。

授权层面:科研强度高、想吃最新 DID 功能的,年度订阅加 update all,比一次买断加不续维护更划算。

最后说两个免费的。8 月 20 日前后,科学软件网把 Stata 官方 33 集实操视频教程挂出来免费申请了,22 集功能讲解加 11 集专题,带中文字幕,里面 HDFE、条件平均处理效应、面板 VAR 这些新东西都有,比外面几百块的录播课干净得多。今日头条另外 2026 年 Stata 年会 10 月 1 日到 2 日在波士顿开,会议材料会后一般会挂官网,做方法的值得蹲一波。

一句话带走:2026 年选 DID 命令,选的不是哪行代码时髦,是你的识别假设配得上哪套估计量。教程会过时,help whatsnew 不会骗你。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章