DiD 的「平行趋势检验」过了,反而是最该警惕的信号——pre-trend test 的三重陷阱
【锚点】这一篇只回答一个问题:在双重差分(DiD)里,为什么「pre-trend 检验没拒绝原假设」根本不能证明平行趋势成立,以及为什么「只在 pre-trend 检验通过时才报告结果」这个做法本身,会系统性地把估计推向错误方向。
一、【显式】所有人都做的那件事 DiD 的识别假设是「若无处理,处理组与对照组的结局会平行变化」。这个反事实在事后不可观测,于是大家退而求其次:看处理前的几期,跑一个 event-study,检验 pre-treatment 系数是否联合为零。p > 0.05 → 「平行趋势成立」→ 继续估计。这是应用微观里最常见的仪式。
二、【隐式】「没拒绝」不等于「成立」 第一层陷阱:不拒绝 H0 只是「证据不足以说它不平行」,不是「证据表明它平行」。pre-trend 检验的统计功效通常很低——处理前期数少、噪声大、组间差异小的时候,一个真实的斜率差异也未必检得出来。所以「p=0.4」很可能只是「你根本没能力看见」,而不是「它不存在」。把「没看见」当成「没有」,是教科书级的 base-rate 错误。
三、【细微】Roth (2022) 的「Pretest with Caution」 第二层陷阱更阴险:即便你诚实地只在 pre-trend 通过时才继续,这个「条件化」本身就有问题。Roth (2022, AER: Insights) 证明:pre-trend 检验是低功效的,而当你「只在检验通过时才报告 DiD 估计」,你实际上是在对一个含噪的筛选统计量做条件——这会使通过筛选后的估计产生系统偏误,且事件的真实 pre-trend 越强、检验功效越低,偏误越大。换句话说,pre-trend 检验非但不能「净化」你的设计,反而可能在你以为安全的地方埋雷。
四、【极难发现】平行趋势本质不可检验,且「通过检验」是一种 winner’s curse 最深的一层:平行趋势是关于「事后反事实」的断言,而任何 pre-trend 检验都只看「事前」。事前平行 ≠ 事后平行——政策冲击、宏观周期、预期效应都可能只在处理后改变斜率。更反直觉的是:把「pre-trend 检验通过」当成设计合格证,等于在一个噪声统计量上做选择——你筛出来的样本恰恰是那些「事前看起来特别平」的单位,而这类单位的事后走势未必更可信。这和「只发表显著结果导致效应量被高估」是同一个 winner’s curse 结构,只不过作用在「设计」而不是「效应」上。
五、【流程节点链路】 提出 DiD 识别假设(平行趋势) → 用 pre-period 数据做 event-study 检验 → 得到「未拒绝」的 p 值 → 把「未拒绝」误读为「平行趋势成立」 → 在通过筛选的子样本上估计处理效应 → 报告一个被条件化偏误与低功效双重污染的系数 → 据此做制度比较结论。每一个箭头都是一次信息损耗或误读,终点离真值有多远,取决于中间每个节点的功效与筛选强度。
六、那该怎么办? 不是「别做 DiD」,而是别把 pre-trend 检验当护身符。可操作的方向: - 报告 pre-trend 的置信区间,而不是一个 p 值——看「能排除多大的斜率差异」,而不是「有没有拒绝」。 - 用 Rambachan & Roth (2023, ReStud) 的「honest DiD」:不假设平行趋势成立,而是假设违背程度有界(如事后偏离不超过事前最大偏离的 M 倍),给出稳健区间。 - 把 pre-trend 检验当成「诊断」,而不是「准入考试」——诊断结果要写进论文,而不是只写「检验通过」。
【值得辩论的问题】如果平行趋势永远无法被证实,制度比较里那些「政策评估」的 DiD 结论,究竟是在估计因果效应,还是在估计「一组我们愿意相信的假设」?你更愿意接受「有界违背」的稳健区间,还是「点估计 + 一个漂亮的 pre-trend 图」?







0 評論