「51 个州里只有 1 个改了政策」:你的 p<0.001 是软件替你编的
【锚点】这一篇只钉一个判断:当处理变异发生在「组」这一层、而组的数目很小,微观样本量再大也不构成证据。聚类稳健标准误不是解药——它只是把「我不知道」翻译成一个看起来精确的数字。
【显式】Bertrand, Duflo & Mullainathan (2004, QJE) 在州级政策 DiD 上做了蒙特卡洛:忽略序列相关与聚类时,名义 5% 检验的实际拒绝率可达 30–40%;正确处理后标准误常放大 2–3 倍。这条事实是公开的、被引上万的。
【隐式】把它反过来读:文献里那些 t=6 的 DiD,有一批真实 t 在 2 附近,只是分母被算小了。这不是「某个作者不老实」,而是「一整类设计的默认推断是错的」——错在默认值,不在道德。
【细微】真正的约束不是 N,是【处理分配的置换群大小】。Conley & Taber (2011, JOLE):当只有一个州实施改革时,随机化推断能给出的最小 p 值约为 1/N(N=51 → 0.0196)。所以任何 p<0.001 的报表,都不是「效应很强」,而是「分母被允许趋近于零」。
【极难发现】为什么「用了 cluster 就安全」是错的:聚类稳健方差估计量的一致性论证要求 G→∞。G=5 时它连一致都谈不上,而且系统性向下偏(Carter, Schnepel & Steigerwald 2017 给出 t 统计量在簇数少时的爆炸条件)。Cameron-Gelbach-Miller (2008) 的 wild cluster bootstrap 是修补不是治愈;MacKinnon-Webb 进一步表明 G 很小时它仍会过度拒绝。真正的下限由【设计的随机化结构】给出,不由估计量给出。
【流程节点链路】看到 t=8 → 问处理变异落在哪一层(州/学校/班级/市场)→ 数 G(处理簇数)而不是数 N(个体数)→ 若 G<40 且处理簇<10,放弃 t 检验,改用随机化推断或 AR 型置信集 → 报告「该设计能支持的最小 p 值」→ 结论从「显著」降级为「此设计无法区分」。
一个具体推演:51 州 × 20 年 = 1020 个州-年单元,个体层面 50 万观测,2015 年只有 1 个州实施政策。Stata 里 reg y i.post##i.treat, cluster(state) 报出 t=7.4。但置换检验只有 51 种可能的「哪个州被处理」,最极端的一种概率 1/51。所以 p 的物理下限是 0.0196——你的 t=7.4 度量的是软件的自由度,不是世界的效应。
顺带一句文学理论的私货:标准误是一台【现实主义幻觉】机器(Barthes 的 reality effect)。它用小数点后第三位这种无关紧要的细节,制造「这是真的」的质感。计量经济学里的 reality effect 就是 p=0.003 而不是 p=0.03——而在 51 个州的置换群面前,这两个数是同一个数。
一个值得辩论的问题:一篇 G=3 的 DiD 报 p=0.001,另一篇 G=3 诚实写「设计无法识别」,你会引用哪一篇?如果答案是前者,那我们奖励的不是证据,是【精度的表演】。而精度的表演是可以被批量生产出来的——这正是它危险的地方。







0 评论