双重差分(DID)
DIDEvent Study
平行趋势假设:直觉、检验与可视化
深入理解DID的核心假设——平行趋势。讲解假设的含义、可视化检验方法和预趋势检验(Pre-trend test),配套Stata代码。
作者:计量科研导航站发布:2025-03-12★★★
本文结构
- 原理:平行趋势假设的精确含义
- 直觉:为什么平行趋势如此关键
- 代码:可视化检验 + 预趋势统计检验
第一层:原理
平行趋势假设的精确表述
DID 的识别依赖于平行趋势假设(Parallel Trends Assumption):
用文字说:在反事实世界中(即假设没有处理),处理组和控制组的结果变量变化趋势相同。
不可检验性
平行趋势假设涉及反事实 ,因此在原则上不可直接检验。我们只能检查:
- 处理前两组的趋势是否平行(必要但不充分)
- 预趋势检验(Pre-trend test)
预趋势检验的事件研究框架
其中 是政策实施时点, 为基准期。
检验逻辑:如果 对所有 (处理前期间),则平行趋势假设得到支持。
第二层:直觉
想象两条平行铁轨:
- 处理前:两组像平行铁轨一样以相同速率变化
- 政策实施后:处理组的轨道发生偏转,偏转的幅度就是处理效应
如果处理前两条轨道就不平行(比如处理组本来就在加速增长),那么 DID 会把这种"预存在的差异趋势"错误地归因为处理效应。
第三层:Stata 代码
// ═══════════════════════════════════════════════
// 平行趋势检验
// ═══════════════════════════════════════════════
clear all
set seed 54321
set obs 500
gen id = _n
expand 10
bysort id: gen t = _n
gen treat = (id > 250)
gen post = (t > 5)
// 模拟数据:处理前趋势平行
gen y = 1 + 0.3*treat + 0.5*t + 2*treat*post + rnormal(0, 1)
// ═══ 可视化检验 ═══════════════════════════════
preserve
collapse (mean) y, by(treat t)
twoway (connected y t if treat==0, lcolor(blue) mcolor(blue)) ///
(connected y t if treat==1, lcolor(red) mcolor(red)), ///
xline(5.5, lpattern(dash)) ///
legend(order(1 "控制组" 2 "处理组")) ///
title("平行趋势可视化检验")
restore
// ═══ 预趋势统计检验 ═══════════════════════════
gen rel_t = t - 6
forval k = -5/4 {
gen D`k' = (rel_t == `k') * treat
}
drop D-1 // 基准期
reghdfe y D*, absorb(id t) cluster(id)
// 联合检验:处理前系数是否联合为零
test D-5 D-4 D-3 D-2
// p > 0.05 → 不能拒绝平行趋势参考文献
- Roth, J. (2022). Pretest with Caution: Event-Study Estimates after Testing for Parallel Trends. AER: Insights, 4(3), 305-322.
- Kahn-Lang, A., & Lang, K. (2020). The Promise and Pitfalls of Differences-in-Differences. Journal of Economic Perspectives, 34(3), 203-220.
继续阅读
- 事件研究法:动态效应估计与系数图
事件研究法(Event Study)的完整讲解,包含动态效应估计、系数图绘制、归一化和Leads/Lags设置。
DID平行趋势的可视化就是事件研究图(31 次访问,知识库最高)。 - DID 的思想起源:从霍乱地图到因果推断
追溯双重差分法的历史脉络——从 19 世纪 John Snow 的伦敦霍乱研究到现代计量经济学的基石,理解 DID 的核心思想如何诞生。
DID平行趋势的思想源头(0 次访问)。 - 经典 2×2 双重差分(DID):模型设定、估计与推断
系统讲解经典双重差分法的模型设定、双向固定效应估计、聚类标准误选择,配套完整Stata代码。
DID2×2 里平行趋势最干净(0 次访问)。 - 15_强度DIDDID强度 DID 同样需要趋势可比(6 次访问)。
- 控制时间趋势——加一个 t 还是加一串年份虚拟变量?t 怎么赋值?
你研究\"城镇化率对居民消费的影响\"。你用的是省级面板数据,2000—2020 年。你跑了一个回归:
计量经济学允许组间趋势不同时,年份 FE / 时间趋势怎么加(10 次访问)。