方法选择 ·

传统双向固定效应 DID 还是 CSDID?错位实施政策怎么选

TWFE DID 与 CSDID 怎么选?本文从统一处理时点、交错实施、效应异质性和对照组出发给出决策,并核对 ChatSRS 当前 DID 系数与 simple 总体 ATT 的真实输出。

直接决策答案

如果处理组在同一时点统一受到政策,存在稳定的未处理对照组,且一个平均 DID 系数能回答研究问题,双向固定效应 DID(TWFE)通常更直接。

如果不同个体在不同年份首次受处理,且处理效应可能随 cohort 或处理后时间变化,应优先考虑 CSDID 的组—时效应框架。不能因为某个软件操作更方便,也不能因为某个结果更显著而选择估计器。

这里的“优先”仍受实现范围约束:当前 CSDID 路径要求存在 never-treated 个体,直出的是 simple 聚合总体 ATT,不展示完整 ATT(g,t) 明细。若所有个体最终都被处理,当前实现不会自动改用 not-yet-treated 对照。

先检查处理时点

设计情形更匹配的起点核心原因
全部处理组同一年实施TWFE DID一个 treat×post 系数对应清晰共同冲击
不同地区分批实施CSDID避免把已处理组不恰当地作为其他组的对照
处理效应随 cohort/事件时间变化CSDID估计框架允许组别与时间异质性
只想得到简洁基准规格TWFE DID便于报告个体/时间固定效应与聚类 SE
没有 never-treated,所有单位最终处理当前两者都需额外设计判断当前 CSDID 不支持 not-yet-treated;TWFE 又可能受交错异质性影响

选择之前还要核对处理是否不可逆、政策是否有提前反应、对照组是否受溢出,以及结果变量口径是否跨期一致。

设计诊断要先于估计器切换

从 TWFE 换到 CSDID 不能修复错误政策日期、被污染的对照组或结果口径变化。建议先按个体列出首次处理年份,检查处理后是否又回到未处理状态,再统计各 cohort 在每一年可用的处理前后观测。随后核对 never-treated 是否在整个研究期保持未处理,以及它与各 cohort 在政策前是否具有可比较趋势。

还要区分“没有显著前趋势”与“平行趋势可信”。前者只是样本中的检验结果,可能受统计功效影响;后者需要制度背景、趋势图、系数区间和替代规格共同支持。若政策会影响邻近未处理地区,never-treated 也可能被溢出污染。此时无论 TWFE 还是当前 CSDID,估计对象都需要重新定义。

最后,交错处理不等于效应一定异质,但它使异质性风险不能被忽略。可以把 TWFE 作为透明基准,把 CSDID 作为与设计更匹配的主结果或敏感性分析;报告时说明两者使用的对照和权重不同,而不是把结果差异简单归因于“方法更先进”。

ChatSRS 当前 TWFE DID 的真实范围

panel_did 要求:

  • Y、个体列、时间列;
  • 0/1 DID 状态列,其中只有处理组在政策后取 1;
  • 可选控制变量。

它估计个体与时间双向固定效应,并按个体层级计算聚类稳健 SE。直出摘要包含 DID 系数、SE、精确 p、N、调整 R²,以及 DID=1 和 DID=0 的观测数;系数表同时用星号表示阈值显著性。

**边界:**当前 DID 状态列必须是 treat×post,而不是时不变处理组标签。直出不含事件研究、处理前各期系数、联合平行趋势检验或安慰剂检验。交错实施且效应异质时,TWFE 系数可能混合不恰当比较,分析器也会在表注中提示这一点。

ChatSRS 当前 CSDID 的真实范围

panel_csdid 要求 cohort 列记录首次受处理年份,0 或缺失表示 never-treated。它用 differences.ATTgt 估计后进行 simple 聚合,直出总体 ATT、SE、Z、正态近似 95% CI、个体总数、处理个体数和 never-treated 个体数。

**边界:**当前格式化结果没有完整 ATT(g,t) 表或事件时间图,只展示 simple 总体 ATT。没有 never-treated 会直接停止;总体 ATT 不能反推出每个 cohort 或每个时期的效应。CSDID 运行成功也不证明平行趋势、无提前反应或无溢出已经成立。

两种数据编码不能混用

TWFE 输入示例:

unityearoutcomedid
A政策前0
A政策后且已处理1
对照单位任意期0

CSDID 输入示例:

unityearoutcomefirst_treat_year
A各期2019
B各期2021
对照单位各期0

把 cohort 年份误填进 0/1 did 列,或把每期 0/1 状态误当首次处理年份,都会改变估计含义。

可复核的一句话输入

统一处理时点的 TWFE:

outcome 是 Y,unit_id 和 year 是面板索引,did 是 treat×post 的 0/1 列,控制 size 和 baseline。请做双向固定效应 DID,按 unit_id 聚类,报告 DID b、SE、精确 p、N、调整 R²和 0/1 观测数;明确当前没有直出事件研究或平行趋势检验。

交错实施的 CSDID:

outcome 是 Y,unit_id 是个体,year 是时间,first_treat_year 是首次处理年份,0 或缺失表示 never-treated。请做 CSDID,核对处理组与 never-treated 均存在,报告 simple 总体 ATT、SE、Z、95% CI 和个体数;明确当前不直出 ATT(g,t) 明细。

输出解读与论文模板

[TWFE 模板]
本研究以 did=treat×post 估计个体和时间双向固定效应模型,
标准误聚类至 [unit]。DID 系数为 b = [ ](SE = [ ],
p = [ ]),N = [ ],调整 R² = [ ]。该估计作为统一处理时点下
的平均政策关联报告;平行趋势与动态效应另行检验。

[CSDID 模板]
鉴于政策分批实施,本研究以首次处理年份定义 cohort,并使用
never-treated 作为对照。simple 聚合总体 ATT = [ ](SE = [ ],
Z = [ ],95% CI [[ ], [ ]])。当前直出未展示 ATT(g,t) 明细,
因此不据总体平均值推断每个 cohort 或事件时间的效应。

如果将两者作为稳健性比较,不能只写“方向一致所以因果稳健”。应说明二者对照组、估计对象、权重与样本不同。

常见问题 FAQ

Q1:政策分批实施还能直接用 TWFE 吗?

可以作为描述或基准,但在异质处理效应下可能有偏,需要诊断并配合适当的稳健估计。

Q2:CSDID 一定需要从未处理组吗?

理论实现可以有不同对照组策略,但当前产品路径明确要求 never-treated。

Q3:CSDID 总体 ATT 显著是否表示所有 cohort 都显著?

不表示。聚合结果可能掩盖不同组别和时期的方向与量级。

Q4:平行趋势由哪个分析器自动证明?

都不能自动证明。当前两条直出均不含完整的前趋势证据,需要按设计另行检验与解释。

相关阅读

确认处理时点与对照组后,可打开 ChatSRS,按设计选择 TWFE 或 CSDID。选择理由应先于结果显著性。