Stata 双重差分 DID 怎么做:平行趋势检验与结果解读
更新于
Stata 双重差分最常卡住的一步是平行趋势检验:它不显著时,只能说明没发现违背的证据,再看 Treat × Post 交互项的系数和置信区间就是政策净效应。在本站用双重差分(DID) 菜单,上传数据、拖四列变量、点开始分析,三步出完整报告。
双重差分法 DID 的数据要怎么排
以下结果来自本站演示数据(模拟生成,不代表真实研究结论):60 家企业、2018–2023 年共 6 期、360 行,其中 30 家在 2021 年成为试点。数据按「一行一家企业一年」的长表排列,Stata 的 .dta 文件可以直接上传。方法说明与全部选项见帮助文章双重差分(DID)。
| 列名 | 类型 | 放进哪个区 | 说明 |
|---|---|---|---|
| 全要素生产率指数(基期=100) | 定量 | 放入因变量 Y | 被解释变量 |
| 是否试点(处理组) | 0/1 | 放入分组变量 Treat | 1=处理组,0=对照组,编码反了会让符号反向 |
| 年份 | 数值 | 放入时间变量 Time | 至少两个取值 |
| 企业编号 | 文本或数值 | 放入个体ID (可选) | 提供后按个体聚类,强烈建议放 |
| 企业规模(对数总资产) | 定量 | 放入控制变量 (可选) | 只放不受政策影响的前定变量 |
Stata 双重差分在线怎么做
- 上传 .dta、.xlsx 或 .csv 文件,在方法列表里找到「双重差分(DID)」。
- 把上表五列分别拖进第三列写的五个区(区名照页面原文)。
- 「事件发生时点」可以留空:系统按年份取值的中位次序推断为 2021,报告会写明这是推断值;真实政策年份不同时就填上。
- 点开始分析,报告依次给出前提检验、主结果表、平行趋势图、效应量与稳健性、结论句五张卡。分析和查看结果不用登录;开通会员后可导出 Word / PDF 报告、使用 AI 解读。

平行趋势检验结果怎么看
先看第一张卡的识别前提表。事件研究法的事前联合检验 F(2, 59)=0.124,p=0.884;只用事件前样本的线性趋势差异检验,交互系数 0.089,p=0.931。两项都说明没有发现违背平行趋势的证据。

再看事件研究动态效应图。以 2020 年为基期,2018、2019 年的效应分别为 -0.588(p=0.629)和 -0.218(p=0.840),置信区间都跨 0;2021–2023 年分别为 3.839、3.987、3.869,均显著。本例事前点估计靠近参考线,事后估计为正;这种图形并不验证识别假设,应与设计依据共同说明。

净效应 ATT 和稳健性怎么读
主结果表里 Treat × Post 的系数就是净效应:ATT=4.175,标准误 0.632(按企业聚类,60 个聚类),95%CI [2.909, 5.440],p<0.001。换成标准化效应 δ=0.756,属于中等效应。事前组间差 3.557(p=0.004)显著,这是水平差异,本身不违反平行趋势要求,但仍须论证两组未受处理时的变化可比。
下表补充各单元格内部的样本离散程度,用于区分观测波动与 ATT 估计误差。四个样本标准差不能直接合并为 ATT 的聚类标准误。

第四张卡还做了两项稳健性检验:去掉控制变量后净效应为 5.086;把事件时点前移到 2019 年做安慰剂检验,伪净效应 0.467,p=0.637,未检出显著伪效应;这一结果不排除其他事前趋势或遗漏因素,无法据此确立因果解释。
双重差分结果在论文里怎么写
可以照这个句式写,数字换成自己的结果:
采用双重差分法评估 2021 年试点政策的影响。事件研究法的事前联合检验 F(2, 59)=0.124,p=0.884,未发现违背平行趋势的证据。模型估计处理组的全要素生产率指数相对对照组平均差异为 4.175(95%CI [2.909, 5.440],p<0.001),标准误按企业聚类;安慰剂检验的伪净效应为 0.467(p=0.637)。
Stata 双重差分常见错误
- 把「检验不显著」写成「平行趋势成立」:应写「未发现违背平行趋势的证据」,并附事件研究图。
- 分组变量编码反了:处理组必须是 1。模块遇到非 0/1 编码会直接提示,避免净效应符号反向。
- 面板数据不给个体编号:本例去掉企业编号后标准误从 0.632 变成 1.172,推断自由度也从 59 变成 355。
- 多个时点陆续受处理还用经典 DID:交错处理时双向固定效应估计量可能有偏,需要单独说明局限。
怎么确认没有读错
先核对事件时点、基期、处理组与对照组,再分别登记事前联合检验、政策后估计和安慰剂结果。事前未检出偏离与安慰剂未显著不验证识别假设,仍需说明平行趋势、无预期反应与无溢出等设计条件;无法估计的项目应保留原因。
延伸阅读
常见问题
- 平行趋势检验 p 值大于 0.05 就说明平行趋势成立吗?
- 只能说明没有发现违背的证据。检验本身只能证伪;论文里还要结合政策背景说明两组在政策前的走势可比,并给出事件研究图。
- stata双重差分的净效应看哪一行?
- 看 Treat × Post 交互项那一行,它就是 ATT。它的数值和置信区间与 2×2 均值表里 Diff-in-Diff 那一行同源同值。
- 事前两组差异显著,还能做双重差分法 DID 吗?
- 可以。双重差分允许两组基线水平不同,被差掉的正是这个固定差距。本例事前组间差 3.557、p=0.004,该看的是趋势是否一致,而不是水平是否相等。