经济与商务实证研究方法 - 第 4 周:DiD 方法的前沿拓展

完整讲义:从匹配 DiD 到合成 DiD,再到交错 DiD 与面板匹配

作者
单位

陈志远

中国人民大学商学院

发布于

2026年5月23日

1 引言

W3 我们建立了经典 2×2 DiD 的识别与推断框架:两组两期、平行趋势、聚类标准误。但现实里的政策评估几乎不会出现在这样干净的设定里——处理单位选择往往依赖可观测的混杂因素、政策分批推进、某些研究只有一个处理单位。本讲把 W3 的工具箱拓展到四个更现实的方向。

第一条线是匹配与半参数。当处理组与对照组在协变量分布上本身就不同时,即使做了 2×2 DiD,平行趋势也可能被未观测的组间差异污染。倾向得分匹配 DiD(PSM-DID)、Abadie (2005) 的半参数 DiD,都是为了解决这个问题。

第二条线是合成化。当研究只有一个处理单位(加州 Prop 99、英国脱欧、海南自贸港),DiD 无法直接使用——合成控制法(SCM)和它的现代继承者合成 DiD(Arkhangelsky et al., 2021)填补了这个空白。

第三条线是交错处理。Goodman-Bacon (2021) 证明 TWFE 在交错处理下可能给出错误符号的估计量——这是最近十年计量学界最大的一场震动。Callaway-Sant’Anna、Sun-Abraham、de Chaisemartin-D’Haultfoeuille、Borusyak-Jaravel-Spiess 提供了系统的修复方案。

第四条线是动态与历史。Ashenfelter (1978) 提醒我们过去的 YY 本身就是时变混杂;Imai-Kim-Wang (2021) 用面板匹配的语言系统地刻画“条件在 LL 期历史之后的 ATT”——对不稳定、可逆的政策尤其有用。

1.1 上节课回顾

W3 的核心要点:面板数据解锁了组内变异,固定效应扣除时不变异质性;经典 2×2 DiD 在“平行趋势 + 无预期”下识别 ATT;TWFE 回归与 DiD 估计量在 2×2 下等价;推断必须聚类到政策分配的最细层级。本讲的六个话题都可视为 W3 框架在不同维度上的拓展:PSM-DID 拓展了“对照组构造”,合成 DiD 拓展了“单位权重”,交错 DiD 拓展了“多时点多组群”,Imai-Kim-Wang 拓展了“时间路径条件化”。

2 第一部分:倾向得分匹配 DiD

2.1 从潜在结果到选择偏误

把“是否选修 RMEB 课程”看作一个二元决定 Di{0,1}D_i \in \{0, 1\},未来收入 YiY_i 是我们关心的结果变量。每个学生都有两种潜在结果:选修下的收入 Yi1Y_i^1 和不选修下的收入 Yi0Y_i^0。我们只能观测到一个:

Yi=DiYi1+(1Di)Yi0Y_i = D_i Y_i^1 + (1 - D_i) Y_i^0

受处理组的平均效应(ATT)定义为

ATT=E[Yi1Yi0Di=1,𝐗i]ATT = E[Y_i^1 - Y_i^0 \mid D_i = 1, \boldsymbol{X}_i]

但我们无法同时观测 Yi1Y_i^1Yi0Y_i^0。最朴素的做法是用对照组的结果近似处理组的反事实:

E[YiD=1,𝐗]E[YiD=0,𝐗]观测差异=δ(𝐗)ATT𝐗+E[Yi0D=1,𝐗]E[Yi0D=0,𝐗]选择偏误\underbrace{E[Y_i \mid D = 1, \boldsymbol{X}] - E[Y_i \mid D = 0, \boldsymbol{X}]}_{\text{观测差异}} = \underbrace{\delta(\boldsymbol{X})}_{ATT \mid \boldsymbol{X}} + \underbrace{E[Y_i^0 \mid D = 1, \boldsymbol{X}] - E[Y_i^0 \mid D = 0, \boldsymbol{X}]}_{\text{选择偏误}}

右端第二项就是选择偏误:处理组与对照组的“无政策下结果”的系统差异。选择偏误为 0 时,观测差异直接识别 ATT;当它不为 0 时,简单比较就会偏。

2.1.1 条件独立假设(CIA)

一个关键的识别假设是 Rubin 的 CIA:

Yi0Di𝐗iY_i^0 \perp D_i \mid \boldsymbol{X}_i

𝐗i\boldsymbol{X}_i 给定的前提下,处理状态相当于随机指派。此时 Bias(𝐗i)=0Bias(\boldsymbol{X}_i) = 0,ATT 可识别。Angrist (1998) 研究自愿服兵役时即用此假设。

CIA 的失效场景:当不可观测特征(能力、偏好、私人信息)同时驱动 DDY0Y^0 时,CIA 不成立。实证研究的核心任务之一就是论证 CIA 的合理性——这通常需要制度背景、数据结构与稳健性检查三者合力。

2.1.2 回归与匹配:两种加权

“Regression can be motivated as a particular sort of weighted matching estimator.” (Angrist & Pischke) 匹配与回归最大的区别在权重结构

  • 匹配估计量把权重放在 Pr(D=1𝐗)\Pr(D=1 \mid \boldsymbol{X}) 较高的协变量格子上——这些格子“更接近处理组”;
  • 回归则把权重放在 Pr(D=1𝐗)[1Pr(D=1𝐗)]\Pr(D=1 \mid \boldsymbol{X}) \cdot [1 - \Pr(D=1 \mid \boldsymbol{X})] 较大的格子上——处理 / 对照比例接近 50:50 的区域权重最高。

共同支撑(Common Support)要求 0<Pr(D=1𝐗)<10 < \Pr(D=1 \mid \boldsymbol{X}) < 1:若某些 𝐗\boldsymbol{X} 值下没有处理单位,或没有对照单位,权重无法定义,估计量无解。实证中必须先画倾向得分的分布重叠图才能继续。

2.2 倾向得分匹配(PSM)

𝐗\boldsymbol{X} 的维度很高,逐维匹配在有限样本下几乎不可行。Rosenbaum & Rubin (1983) 的突破是:在 CIA 成立时,匹配倾向得分就够了。

排除限制(Heckman-Ichimura-Todd, 1998):把 𝐗\boldsymbol{X} 拆成 (𝐓,𝐙)(\boldsymbol{T}, \boldsymbol{Z})

Yi0=g0(𝐓i)+Ui0,Yi1=g1(𝐓i)+Ui1Y_i^0 = g_0(\boldsymbol{T}_i) + U_i^0, \quad Y_i^1 = g_1(\boldsymbol{T}_i) + U_i^1 Pr(Di=1𝐗i)=Pr(Di=1𝐙i)=P(𝐙i)\Pr(D_i = 1 \mid \boldsymbol{X}_i) = \Pr(D_i = 1 \mid \boldsymbol{Z}_i) = P(\boldsymbol{Z}_i)

𝐓\boldsymbol{T} 进入潜在结果方程,𝐙\boldsymbol{Z} 进入选择方程,两者不必互斥。识别 ATT 只需要弱一些的假设:

Ui0DiP(𝐙i)(PSM 下的 CIA)U_i^0 \perp D_i \mid P(\boldsymbol{Z}_i) \quad (\text{PSM 下的 CIA})

这是一个结构式的解释——把 PSM 嵌入经济学的选择模型:

Di=𝟙{λ(𝐙i)v0}D_i = \mathbb{1}\{\lambda(\boldsymbol{Z}_i) - v \geq 0\}

𝐙v\boldsymbol{Z} \perp v,则 P(𝐙)=Fv[λ(𝐙)]P(\boldsymbol{Z}) = F_v[\lambda(\boldsymbol{Z})];若再有 λ(𝐙)(U0,v)\lambda(\boldsymbol{Z}) \perp (U^0, v)E(U0)=0E(U^0) = 0,则对任意 ssE(U0v=s)=0E(U^0 \mid v = s) = 0——不可观测维度上不再选择。

2.3 PSM-DID:把匹配嫁接到面板

单期横截面的 PSM 能处理可观测混杂,但对不可观测的时不变混杂束手无策。面板数据给我们一个额外的差分机会:

δ̂PSM-DID(𝐗)=E[Yi1Yi0𝐗,Di1=1]E[Yi1Yi0𝐗,Di1=0]\hat{\delta}^{PSM\text{-}DID}(\boldsymbol{X}) = E[Y_{i1} - Y_{i0} \mid \boldsymbol{X}, D_{i1} = 1] - E[Y_{i1} - Y_{i0} \mid \boldsymbol{X}, D_{i1} = 0]

在平行趋势假设下,这个量恰好识别 ATT:

δ̂PSM-DID=E[Ui1Ui0P(𝐙),D=1]E[Ui1Ui0P(𝐙),D=0]\hat{\delta}^{PSM\text{-}DID} = E[U_i^1 - U_i^0 \mid P(\boldsymbol{Z}), D = 1] - E[U_i^1 - U_i^0 \mid P(\boldsymbol{Z}), D = 0]

PSM-DID 比单期 PSM 多承担两件事:

  • 允许选择依赖于潜在结果的水平:个体固定效应被差分掉;
  • 允许部分不可观测维度上的选择:只要那些维度时不变。

2.3.1 实施步骤

  1. probitlogit 估计 P(𝐙i)P(\boldsymbol{Z}_i)
  2. 队列-年份P̂(𝐙i)\hat{P}(\boldsymbol{Z}_i) 上做最近邻匹配;
  3. 生成差分结果 ΔYit=YitYi0\Delta Y_{it} = Y_{it} - Y_{i0},加权聚合到 ATTgtATT_{gt}

推断依赖 Abadie & Imbens (2006) 的解析标准误(考虑匹配引入的额外不确定性);Stata 命令 teffects psmatch 直接支持。

2.3.2 Stata 实战:完整 DGP(Lab §2)

以下代码复现配套实验室 L4-Diff-in-Diffs-More.ipynb 中的 DGP:

* ===== DGP:500 个体 × 2 期面板 =====
clear all
set seed 10101
set obs 500
g id = _n
g lambda = rnormal(0, 0.5)                 // 个体固定效应
expand 2
bys id: g t = _n - 1
g x  = rnormal(0, 1)
g u1 = rnormal(0, 0.2)
g u0 = rnormal(0, 0.2)
g v  = rnormal(0, 1) if t == 1             // 选择方程噪声
scalar delta  = 0.1                        // 时间趋势
scalar alpha1 = 0.1
scalar alpha2 = 0.2
g y0 = alpha1*x + alpha2*x^2 + lambda + delta*t + u0
g y1 = alpha1*x + alpha2*x^2 + lambda + delta*t + u1
g D  = 0
bys id (t): replace D = 1 if t == 1 & x > v   // x 大的单位进入处理
g tau_u = cond(D == 1, 0.15, 0)            // 真实 ATT = 0.15
replace y1 = y1 + tau_u if D == 1
g y = D*y1 + (1 - D)*y0
save simdata_did1.dta, replace

2.3.3 估计倾向得分 + 重叠检查

qui probit D x       if t == 1
predict pr1 if t == 1

qui probit D x x^2   if t == 1            // 非线性倾向得分
predict pr2 if t == 1

twoway (hist pr1 if t==1 & D==1, color(blue%30)) ///
       (hist pr1 if t==1 & D==0, color(red%30)), ///
       legend(order(1 "treated" 2 "control")) ///
       title("Propensity Score Overlap")

2.3.4 PSM-DID 估计与近邻数敏感性

tsset id t
g dy = y - l.y                             // 差分结果

* 不同近邻数下的 ATT
matrix Res = J(10, 3, .)
forv i = 1/10 {
    qui teffects psmatch (dy) (D x, probit) if t==1, ///
        atet nn(`i') vce(robust)
    matrix Res[`i', 1] = (_b[r1vs0.D], _se[r1vs0.D], `i')
}

实操建议:2–5 个近邻是稳健的默认选择;若 ATT 对近邻数极度敏感,说明重叠不好或处理效应异质。

2.3.5 Python 演示:PSM-DID 的核心思想

下面用 Python 直接复现 DGP 并比较“TWFE vs. PSM-DID”:

点击查看 PSM-DID Python 代码
from sklearn.linear_model import LogisticRegression
from scipy.spatial.distance import cdist

rng = np.random.default_rng(10101)
n = 500
lam = rng.normal(0, 0.5, n)
x = rng.normal(0, 1, n)
v = rng.normal(0, 1, n)
D = (x > v).astype(int)
delta, a1, a2 = 0.1, 0.1, 0.2
tau_true = 0.15

# t = 0, 1
def outcome(t, d):
    u = rng.normal(0, 0.2, n)
    base = a1*x + a2*x**2 + lam + delta*t
    return base + u + (tau_true * d if t == 1 else 0)

y0 = outcome(0, np.zeros(n, dtype=int))
y1 = outcome(1, D)
dy = y1 - y0

# (1) 朴素差分
naive = dy[D == 1].mean() - dy[D == 0].mean()

# (2) PSM-DID:用 logit(x, x^2) 估计倾向得分,1-近邻匹配
X = np.c_[x, x**2]
ps = LogisticRegression().fit(X, D).predict_proba(X)[:, 1]
ps_treated = ps[D == 1]
ps_control = ps[D == 0]
dy_treated = dy[D == 1]
dy_control = dy[D == 0]

# 为每个处理单位找最近邻对照
dist = cdist(ps_treated.reshape(-1, 1), ps_control.reshape(-1, 1))
nn_idx = dist.argmin(axis=1)
matched_control = dy_control[nn_idx]
psm_did = (dy_treated - matched_control).mean()

print(f"真实 ATT             = {tau_true:.3f}")
print(f"朴素差分(有偏)      = {naive:.3f}")
print(f"PSM-DID(1 近邻)     = {psm_did:.3f}")

# 可视化倾向得分分布
fig, ax = plt.subplots(1, 2, figsize=(12, 5))
ax[0].hist(ps[D == 1], bins=30, alpha=0.55, color='#003153', label='处理组')
ax[0].hist(ps[D == 0], bins=30, alpha=0.55, color='#AE0B2A', label='对照组')
ax[0].set_xlabel('估计倾向得分 P(Z)', fontsize=12)
ax[0].set_ylabel('频数', fontsize=12)
ax[0].set_title('倾向得分分布(重叠检查)', fontsize=13)
ax[0].legend(fontsize=11)
ax[0].grid(alpha=0.3)

ax[1].bar(['朴素差分', 'PSM-DID', '真实值'],
          [naive, psm_did, tau_true],
          color=['#AE0B2A', '#003153', '#00A8CC'],
          edgecolor='white')
ax[1].axhline(tau_true, color='gray', linestyle='--', alpha=0.6)
ax[1].set_ylabel('ATT 估计', fontsize=12)
ax[1].set_title('三种估计量对比', fontsize=13)
ax[1].grid(axis='y', alpha=0.3)
plt.tight_layout()
plt.show()
真实 ATT             = 0.150
朴素差分(有偏)      = 0.142
PSM-DID(1 近邻)     = 0.128

PSM-DID:当处理选择依赖 x 时,简单 TWFE 产生偏差

3 第二部分:半参数 DiD

Abadie (2005, ReStud) 给出了一个权重形式的 ATT 表达,既不必显式选择近邻,也不要求协变量进入线性回归。其核心恒等式:

E[Yi11Yi10𝐗,Di1=1]=E[ρ0(Yi1Yi0)𝐗]E[Y_{i1}^1 - Y_{i1}^0 \mid \boldsymbol{X}, D_{i1} = 1] = E[\rho_0 (Y_{i1} - Y_{i0}) \mid \boldsymbol{X}]

其中权重为

ρ0=Di1P(Di1=1𝐗)P(Di1=1𝐗)[1P(Di1=1𝐗)]\rho_0 = \frac{D_{i1} - P(D_{i1} = 1 \mid \boldsymbol{X})}{P(D_{i1} = 1 \mid \boldsymbol{X}) \cdot [1 - P(D_{i1} = 1 \mid \boldsymbol{X})]}

取期望得到

ATT=E[Yi1Yi0P(D=1)Di1P(Di1=1𝐗)1P(Di1=1𝐗)]ATT = E\left[\frac{Y_{i1} - Y_{i0}}{P(D = 1)} \cdot \frac{D_{i1} - P(D_{i1} = 1 \mid \boldsymbol{X})}{1 - P(D_{i1} = 1 \mid \boldsymbol{X})}\right]

直觉:用倾向得分对差分后的结果加权,让对照组被重新加权成与处理组可比的反事实。这与 IPW(Inverse Probability Weighting)同源。

3.0.1 子群 ATT

对子集 𝐗isub\boldsymbol{X}^{sub}_i 的 ATT 可以通过求解如下最小化问题得到:

δ̂(𝐗sub)=argminθE{P(Di1=1𝐗)[ρ0(Yi1Yi0)g(𝐗sub;θ)]2}\hat{\delta}(\boldsymbol{X}^{sub}) = \arg\min_\theta E\{P(D_{i1} = 1 \mid \boldsymbol{X}) \cdot [\rho_0 (Y_{i1} - Y_{i0}) - g(\boldsymbol{X}^{sub}; \theta)]^2\}

估计步骤

  1. 估计倾向得分 P̂(D=1𝐗)\hat{P}(D = 1 \mid \boldsymbol{X})(用 probit 或 logit);
  2. 把拟合值代入样本类比式,得到 ATT̂\widehat{ATT} 或其子群拓展。

Stata 命令 absdid 直接封装了这一流程。手工实现也很简单:

use simdata_did1.dta, clear
qui logit D x if t == 1
predict pr1 if t == 1
egen pD = mean(D) if t == 1
tsset id t
gen ab_diff = (y - l.y)/pD * ((D - pr1)/(1 - pr1)) if t == 1
qui sum ab_diff if t == 1
display "半参数 ATT = " r(mean) ", SE = " r(sd)

* 或直接调用 absdid
g dy = y - l.y
absdid dy, tvar(D) xvar(x) sle

真实 ATT = 0.15,半参数估计值应该落在 0.14–0.16 附近。

4 第三部分:合成 DiD

4.1 合成控制法:背景

合成控制法(SCM)由 Abadie & Gardeazabal (AER 2003) 首创,Abadie, Diamond & Hainmueller (JASA 2010) 给出完整统计理论。核心思想是:当只有一个(或极少数)处理单位时,用对照池的凸组合构造合成反事实:

Ŷ1tSCM=j=2J+1ωj*Yjt\hat{Y}_{1t}^{SCM} = \sum_{j=2}^{J+1} \omega_j^* \cdot Y_{jt}

权重 ωj*0\omega_j^* \geq 0jωj*=1\sum_j \omega_j^* = 1,通过最小化处理前结果路径的匹配距离来选择:

minω(X1X0ω)V(X1X0ω)\min_\omega (X_1 - X_0 \omega)^\top V (X_1 - X_0 \omega)

经典案例:加州 Proposition 99。1988 年加州通过控烟法案大幅提高烟草税。用其他 38 个州合成加州:Utah 33%、Nevada 23%、Montana 20%、Colorado 14%、Connecticut 10%。1989–2000 年实际加州的人均香烟消费比合成反事实低约 26 包/年。

4.2 合成 DiD 的目标函数

Arkhangelsky et al. (AER 2021) 提出合成 DiD(SDiD),同时引入单位权重 ωisc\omega_i^{sc}时期权重 λtsc\lambda_t^{sc}

(δ̂sdid,μ̂,α̂i,β̂t)=argminit(YitμαiβtδDit)2ωiscλtsc(\hat{\delta}^{sdid}, \hat{\mu}, \hat{\alpha}_i, \hat{\beta}_t) = \arg\min \sum_i \sum_t (Y_{it} - \mu - \alpha_i - \beta_t - \delta D_{it})^2 \cdot \omega_i^{sc} \cdot \lambda_t^{sc}

直觉

  • 像 SCM:单位权重让处理前路径匹配 → 弱化对平行趋势的依赖;
  • 像 DiD:保留 TWFE 结构 → 允许大面板渐近推断、允许多个处理单位。

DiD 是 SDiD 的特例(所有权重相等);SCM 也是 SDiD 的特例(只有单位权重、不考虑时期权重)。

4.2.1 何时用 SDiD

  • 处理组不止一个,但个数有限且平行趋势不太放心;
  • 对照池丰富;
  • 需要 bootstrap / jackknife 推断而非置换检验;

4.2.2 Stata 实战:SDiD(Lab §4)

use simdata_did1.dta, clear
g x2 = x^2

* 合成 DiD(自带单位 + 时期权重)
sdid y id t D, covariates(x x2, projected) ///
    vce(bootstrap) seed(123)

* 提取单位权重 omega(仅存在于 t==1 且 D==0 的对照单位)
g omega = .
qui sum D if t==1 & D==0
qui forv i = 1/`r(N)' {
    scalar uw     = e(omega)[`i', 1]
    scalar ctr_id = e(omega)[`i', 2]
    replace omega = uw if id == ctr_id
}

* 权重 × 协变量的投影:合成样本的代表性
g x_proj = x * omega
ta t, sum(x_proj)

权重诊断是 SDiD 的核心透明度:权重集中(少数对照单位承担主要作用)→ 可解释性强;权重分散 → 更接近 TWFE,平行趋势要求更严。论文应常规地报告单位权重分布图。

5 第四部分:交错处理下的 TWFE 陷阱

5.1 交错处理是常态

中国自贸区从 2013 年上海开始、2015 年扩至闽粤津、2017-2020 年再陆续覆盖其他省份;美国无过错离婚法在 37 个州于 1969–1985 年间分批通过;企业数字化转型则完全由企业内生决定时点。交错处理(staggered treatment)是常态而非例外。

最直觉的做法是把 TWFE 直接扩展:

Yit=αi+λt+δDit+εitY_{it} = \alpha_i + \lambda_t + \delta D_{it} + \varepsilon_{it}

形式上与 2×2 一样。但 Goodman-Bacon (2021, JoE) 证明,在交错处理下这个 δ̂\hat{\delta} 的含义已经面目全非

5.2 Goodman-Bacon 分解定理

定理。设数据包含 k=1,,Kk = 1, \ldots, K 个按处理时点排序的组群。TWFE 估计量等于所有可能的 2×2 DiD的加权平均:

δ̂TWFE=jUsjUβ̂jU2×2+k<sk[μkβ̂k2×2,k+(1μk)β̂k2×2,]\hat{\delta}^{TWFE} = \sum_{j \neq U} s_{jU} \hat{\beta}_{jU}^{2 \times 2} + \sum_{k < \ell} s_{k\ell} \left[\mu_{k\ell} \hat{\beta}_{k\ell}^{2\times 2, k} + (1 - \mu_{k\ell}) \hat{\beta}_{k\ell}^{2\times 2, \ell}\right]

其中三种 2×2 DiD 估计量是

β̂jU2×2=(Yjpost(j)Yjpre(j))(YUpost(j)YUpre(j))\hat{\beta}_{jU}^{2\times 2} = (\bar{Y}_j^{post(j)} - \bar{Y}_j^{pre(j)}) - (\bar{Y}_U^{post(j)} - \bar{Y}_U^{pre(j)})

β̂k2×2,k=(Ykmid(k,)Ykpre(k))(Ymid(k,)Ypre(k))\hat{\beta}_{k\ell}^{2\times 2, k} = (\bar{Y}_k^{mid(k,\ell)} - \bar{Y}_k^{pre(k)}) - (\bar{Y}_\ell^{mid(k,\ell)} - \bar{Y}_\ell^{pre(k)})

β̂k2×2,=(Ypost()Ymid(k,))(Ykpost()Ykmid(k,))\hat{\beta}_{k\ell}^{2\times 2, \ell} = (\bar{Y}_\ell^{post(\ell)} - \bar{Y}_\ell^{mid(k,\ell)}) - (\bar{Y}_k^{post(\ell)} - \bar{Y}_k^{mid(k,\ell)})

KK 个时点组产生 K2K^2 个 2×2 DiD:KK 个“处理 vs 从未”比较 + K(K1)K(K-1) 个“处理 vs 已处理”比较。权重之和为 1,但可能为负

图 1: 三组三期的几何直觉
图 2: 四种 2×2 DiD 组合

5.3 权重公式

每个 2×2 DiD 的权重由子样本大小的平方固定效应调整后处理变量的方差共同决定:

sjU=(nj+nU)2V̂jUDV̂Ds_{jU} = \frac{(n_j + n_U)^2 \hat{V}_{jU}^D}{\hat{V}^D}

skk=[(nk+n)(1D)]2V̂kD,kV̂D,sk=[(nk+n)Dk]2V̂kD,V̂Ds_{k\ell}^k = \frac{[(n_k + n_\ell)(1 - \bar{D}_\ell)]^2 \hat{V}_{k\ell}^{D,k}}{\hat{V}^D}, \quad s_{k\ell}^\ell = \frac{[(n_k + n_\ell) \bar{D}_k]^2 \hat{V}_{k\ell}^{D,\ell}}{\hat{V}^D}

样本的子样本方差在两个时点组规模相近、或处理时点接近时间窗口中部时最大——这些比较的权重就最大。这意味着 TWFE 会放大规模相当、时点居中的比较,缩小边缘样本的影响。

5.4 VWATT-VWCT-ΔATT 分解

Goodman-Bacon 进一步证明 TWFE 系数可以解释为:

δ̂TWFE=VWATT方差加权 ATTVWCT方差加权共同趋势+ΔATT偏误项\hat{\delta}^{TWFE} = \underbrace{VWATT}_{\text{方差加权 ATT}} - \underbrace{VWCT}_{\text{方差加权共同趋势}} + \underbrace{\Delta ATT}_{\text{偏误项}}

  • VWATT=kUσkUATTkpost(k)+k<[σkkATTkmid(k,)+σkATTpost()]VWATT = \sum_{k \neq U} \sigma_{kU} ATT_k^{post(k)} + \sum_{k < \ell} [\sigma_{k\ell}^k ATT_k^{mid(k,\ell)} + \sigma_{k\ell}^\ell ATT_\ell^{post(\ell)}]
  • VWCT=0VWCT = 0 若平行趋势成立
  • ΔATT=k<σk[ATTkpost()ATTkmid(k,)]\Delta ATT = \sum_{k<\ell} \sigma_{k\ell} [ATT_k^{post(\ell)} - ATT_k^{mid(k,\ell)}]

负权重的根源。当早处理组 kk 在晚处理组 \ell 的“post”期继续累积效应(ATTkpost()>ATTkmid(k,)ATT_k^{post(\ell)} > ATT_k^{mid(k,\ell)})时,ΔATT>0\Delta ATT > 0——TWFE 把这部分“累积”误读为“控制组的趋势下降”,从而让新处理组 \ell 的系数被下拉。极端情况下,δ̂TWFE\hat{\delta}^{TWFE} 可以与真实平均 ATT 符号相反

解读 TWFE 的三条结论

  1. 即使 ΔATT=0\Delta ATT = 0(效应在时间上不变),权重仍是样本份额与处理方差的函数,VWATTVWATT 一般不等于样本 ATT;
  2. 效应在时间上变化(ΔATT0\Delta ATT \neq 0)时,TWFE 给出实际不可信的估计;
  3. 始终处理组作为新处理组的对照,最容易引发偏误——Roth 等人的经验是先检查 Bacon 分解再报告 TWFE 系数

5.5 案例:无过错离婚法对女性自杀率的影响

Stevenson & Wolfers (2006) 利用 37 个州无过错离婚法的分批通过作为自然变异。Goodman-Bacon (2021) 重新审视这一研究。事件研究估计显示后处理期的平均效应 4.92\approx -4.92,但 TWFE 系数仅为 3.08-3.08。差距从何而来?

图 3: 离婚法事件研究

bacondecomp 命令给出完整的权重分解:

图 4: 离婚法 Bacon 权重分解
  • 时点比较权重总和:skk+sk=0.26+0.11=0.37s_{k\ell}^k + s_{k\ell}^\ell = 0.26 + 0.11 = 0.37(这部分有偏误)
  • 处理-从未对照权重:sjU=0.38+0.24=0.62s_{jU} = 0.38 + 0.24 = 0.62
  • 排除“晚 vs 早”:ATT = -5.45
  • 再排除“始终处理 vs 新处理”:ATT = -3.71

5.6 Stata 实战:Bacon 分解(Lab §5)

配套实验室使用 Borusyak et al. (2021) 的交错 DGP 模板:

* ===== 交错处理 DGP =====
clear all
set seed 10
global T = 15
global I = 500
set obs `=$I * $T'
gen i  = int((_n - 1)/$T) + 1
gen t  = mod((_n - 1), $T) + 1
tsset i t
gen Ei = ceil(runiform() * 7) + $T - 6 if t == 1   // 首次处理年份 10..16
bys i (t): replace Ei = Ei[1]
gen K  = t - Ei                                    // 相对处理期
gen D  = K >= 0 & Ei != .
gen tau = cond(D == 1, (t - 12.5), 0)             // 动态效应
gen Y   = i + 3*t + tau*D + rnormal()

* Bacon 分解
qui xtreg Y D i.t, fe robust
ssc install bacondecomp, replace
bacondecomp Y D, ddetail

典型输出会展示每种 2×2 DiD 的权重和估计值。在这个 DGP 下,“晚 vs 早”比较的权重约 10%,但估计值为负——正是 Goodman-Bacon 警告的 negative weight 现象。

6 第五部分:现代 DiD 估计量

6.1 共同原则

四个现代方法的共同修复思路:

  1. 按组群-时期 (g,t)(g, t) 分别估计 ATT(g,t)ATT(g, t)
  2. 对照组只使用“从未处理”或“尚未处理”的单位;
  3. 按研究问题聚合——整体 ATT、事件时间 ATT、或组群 ATT。

6.2 Wooldridge (2021) 的 Mundlak 视角

Wooldridge 给出了一个优雅的诊断:“TWFE 并非估计方法本身有问题,问题在于它被应用到一个对处理效应异质性施加强假设的模型上。” 他的修复办法是把完整的组群-时期交互项放入回归:

E(Yit𝐆)=η+g=2TλgGig+s=2Tθs𝟏(t=s)+g=2Ts=gTτg,s(Gig𝟏(t=s))E(Y_{it} \mid \boldsymbol{G}) = \eta + \sum_{g=2}^T \lambda_g G_{ig} + \sum_{s=2}^T \theta_s \mathbf{1}(t = s) + \sum_{g=2}^T \sum_{s=g}^T \tau_{g,s}(G_{ig} \cdot \mathbf{1}(t = s))

识别假设

  • 无预期E[Yt(g)Yt()𝐆]=0E[Y_t(g) - Y_t(\infty) \mid \boldsymbol{G}] = 0t<gt < g
  • 平行趋势E[Yt()Y1()𝐆]=E[Yt()Y1()]θtE[Y_t(\infty) - Y_1(\infty) \mid \boldsymbol{G}] = E[Y_t(\infty) - Y_1(\infty)] \equiv \theta_t

Mundlak 回归直接用 POLS 估计上述交互项;τ̂g,s\hat{\tau}_{g,s} 就是 ATT(g,s)ATT(g, s)

6.3 Sun & Abraham (2021, JoE)

SA 的关键洞察:传统的事件研究回归

Yit=αi+λt+eβe𝟏(tgi=e)+εitY_{it} = \alpha_i + \lambda_t + \sum_e \beta_e \mathbf{1}(t - g_i = e) + \varepsilon_{it}

的系数 βe\beta_e 在异质处理效应下不是事件时间 ATT 的平均——它被“已处理组的污染”扭曲。SA 的修复:把事件时间虚拟变量与组群虚拟变量交互

Yit=αi+λt+ge0δg,eGig𝟏(tg+1=e)+εitY_{it} = \alpha_i + \lambda_t + \sum_g \sum_{e \neq 0} \delta_{g,e} G_{ig} \cdot \mathbf{1}(t - g + 1 = e) + \varepsilon_{it}

δ̂g,e\hat{\delta}_{g,e} 一致估计 ATT(g,g+e1)ATT(g, g+e-1)。报告的事件研究系数是按组群规模的加权平均:

θ̂(e)=gŵgδ̂g,e+1\hat{\theta}(e) = \sum_g \hat{w}_g \hat{\delta}_{g, e+1}

优势:仍在回归框架内,协变量易加入; 劣势:对“从未处理”或“最后处理”组群的假设更敏感。

6.3.1 Stata:eventstudyinteract

sum Ei
gen lastcohort = Ei == r(max)
forv l = 0/5 { gen L`l'event = (K == `l') }
forv l = 1/14 { gen F`l'event = (K == -`l') }
drop F1event    // 基准期 k = -1 设为 0

eventstudyinteract Y L*event F*event, vce(cluster i) ///
    absorb(i t) cohort(Ei) control_cohort(lastcohort)
matrix sa_b = e(b_iw)
matrix sa_v = e(V_iw)

6.4 Callaway & Sant’Anna (2021, JoE)

CS 放弃回归框架,直接在非参数层面定义 ATT(g,t)ATT(g, t)

ATT(g,t)=E[Yt(g)Yt()Gg=1]ATT(g, t) = E[Y_t(g) - Y_t(\infty) \mid G_g = 1]

两种平行趋势假设

  • 从未处理对照E[Yt0Yt10Gg=1]=E[Yt0Yt10C=1]E[Y_t^0 - Y_{t-1}^0 \mid G_g = 1] = E[Y_t^0 - Y_{t-1}^0 \mid C = 1]
  • 尚未处理对照E[Yt0Yt10Gg=1]=E[Yt0Yt10Ds=1]E[Y_t^0 - Y_{t-1}^0 \mid G_g = 1] = E[Y_t^0 - Y_{t-1}^0 \mid D_s = 1]s>ts > t

对应两种 ATT 估计量:

ATT̂never(g,t)=iGig(YitYi,g1)iGigiCi(YitYi,g1)iCi\widehat{ATT}^{never}(g, t) = \frac{\sum_i G_{ig}(Y_{it} - Y_{i,g-1})}{\sum_i G_{ig}} - \frac{\sum_i C_i (Y_{it} - Y_{i,g-1})}{\sum_i C_i}

ATT̂ny(g,t)=iGig(YitYi,g1)iGigiCi(1Gig)(YitYi,g1)iCi(1Gig)\widehat{ATT}^{ny}(g, t) = \frac{\sum_i G_{ig}(Y_{it} - Y_{i,g-1})}{\sum_i G_{ig}} - \frac{\sum_i C_i(1 - G_{ig})(Y_{it} - Y_{i,g-1})}{\sum_i C_i(1 - G_{ig})}

6.4.1 Stata:csdid

gen gvar = cond(Ei == ., 0, Ei)
csdid Y, ivar(i) time(t) gvar(gvar) notyet
estat event, estore(cs)             // 事件研究系数 + 95% CI
estat simple                        // 简单 ATT 聚合

6.5 de Chaisemartin & D’Haultfoeuille (2020, AER)

dCdH 关注即期处理效应

δ̂dCdH=g=2TP̂(Gg=1Treated for period1)ATT̂(g,g)\hat{\delta}^{dCdH} = \sum_{g=2}^T \hat{P}(G_g = 1 \mid \text{Treated for period} \geq 1) \cdot \widehat{ATT}(g, g)

其中

ATT̂ny(g,t)=iGig(YitYi,g1)iGiti(1Dit)(1Gig)(YitYi,g1)i(1Dit)(1Gig)\widehat{ATT}^{ny}(g, t) = \frac{\sum_i G_{ig}(Y_{it} - Y_{i,g-1})}{\sum_i G_{it}} - \frac{\sum_i (1 - D_{it})(1 - G_{ig})(Y_{it} - Y_{i,g-1})}{\sum_i (1 - D_{it})(1 - G_{ig})}

dCdH 提供了动态扩展(dynamic(F))与安慰剂检验(placebo(P)),推断基于 bootstrap。

6.5.1 Stata:did_multiplegt

did_multiplegt Y i t D, robust_dynamic dynamic(5) ///
    placebo(5) breps(100) cluster(i)
matrix dcdh_b = e(estimates)
matrix dcdh_v = e(variances)

6.6 Borusyak, Jaravel & Spiess (2024, ReStud)

BJS 的插补思想:

  1. 未处理观测 (Dit=0)(D_{it} = 0) 估计 TWFE 模型的 α̂i,λ̂t\hat{\alpha}_i, \hat{\lambda}_t
  2. 对处理观测插补反事实:Ŷit(0)=α̂i+λ̂t\hat{Y}_{it}(0) = \hat{\alpha}_i + \hat{\lambda}_t
  3. 单位-时期效应:τ̂it=YitŶit(0)\hat{\tau}_{it} = Y_{it} - \hat{Y}_{it}(0)
  4. 按需聚合。

BJS 的卖点

  • 在齐次方差下效率最优(BLUE);
  • 推断基于随机化——小样本可靠,不依赖渐近理论;
  • 自带对预趋势的正式检验。

6.6.1 Stata:did_imputation

did_imputation Y i t Ei, allhorizons pretrend(5)
estimates store bjs

6.7 四种方法对比

维度 CS SA dCdH BJS
框架 非参数 回归(IW) 匹配式 插补
关注对象 ATT(g,t)ATT(g, t) δg,e\delta_{g, e} 即期 ATT 所有 (i,t)(i, t)
对照组 从未 / 尚未 最后处理 从未 + 尚未 所有未处理观测
协变量 需显式加权 直接入回归 需显式加权 直接入回归
小样本 Bootstrap 渐近 渐近 正式随机化

实务建议

  1. 主力方法用 CS(以 csdid 出默认结果);
  2. 事件研究图用 SA(以 eventstudyinteract 出带 CI 的图);
  3. 关注即期用 dCdH(以 did_multiplegt 出 robust_dynamic);
  4. 效率导向用 BJS(以 did_imputation 作为稳健性)。

至少报告其中两种,并说明结果一致或不一致的原因。

6.8 五种估计量在同一 DGP 上的对比

图 5: Five-estimator event study

这张图来自配套实验室 L4-Diff-in-Diffs-More.ipynb 的最后一个单元格。500 单位 × 15 期,处理时点在 10-16 年间随机分配,真实动态效应 τit=t12.5\tau_{it} = t - 12.5tEit \geq E_i。OLS 事件研究在 post 期系统性偏低;四种现代估计量都与真值基本重合。

6.8.1 R 语言对照

library(did)         # Callaway-Sant'Anna
library(fixest)      # Sun-Abraham via sunab()
library(DIDmultiplegt)
library(didimputation)

# CS
atts <- att_gt(yname = "Y", tname = "t", idname = "i",
               gname = "Ei", data = df, control_group = "notyettreated")
aggte(atts, type = "dynamic")

# SA via fixest
es <- feols(Y ~ sunab(Ei, t) | i + t, data = df, cluster = ~i)
iplot(es)

# dCdH
did_multiplegt(df, "Y", "i", "t", "D",
               robust_dynamic = TRUE, dynamic = 5, placebo = 5)

# BJS
did_imputation(data = df, yname = "Y", gname = "Ei",
               tname = "t", idname = "i", horizon = TRUE)

7 第六部分:当历史重要——Imai-Kim-Wang

7.1 动态经济变量

许多经济变量天然具有自回归结构:当期值依赖过去值。典型例子:

Yit=ρYi,t1+Xitα+λt+μi+εitY_{it} = \rho Y_{i,t-1} + X_{it}^\prime \alpha + \lambda_t + \mu_i + \varepsilon_{it}

迭代展开:

Yit=ρtYi0+s=0tρs(Xi,tsα+λts+μi+εi,ts)Y_{it} = \rho^t Y_{i0} + \sum_{s=0}^{t} \rho^s (X_{i,t-s}^\prime \alpha + \lambda_{t-s} + \mu_i + \varepsilon_{i,t-s})

当处理 DitD_{it}tt 期启动并长期维持时,效应会通过 ρ\rho 传递到后续所有期。

Cobb-Douglas 生产函数 是一个经典例子。生产率冲击自相关 vit=ρvi,t1+eitv_{it} = \rho v_{i,t-1} + e_{it},产出方程就带上了滞后项:

yit=ρyi,t1+(βkkitρβkki,t1)+(βllitρβlli,t1)+(γtργt1)+(1ρ)ηi+ξity_{it} = \rho y_{i,t-1} + (\beta_k k_{it} - \rho \beta_k k_{i,t-1}) + (\beta_l l_{it} - \rho \beta_l l_{i,t-1}) + (\gamma_t - \rho \gamma_{t-1}) + (1 - \rho)\eta_i + \xi_{it}

7.2 动态效应的三种尺度

假设处理在 t=0t = 0 启动并持续,真实瞬时效应为 δ\delta

  • 即期效应δ\delta
  • 中期效应FF 期后):δ1ρF1ρ\delta \cdot \dfrac{1 - \rho^F}{1 - \rho}
  • 长期效应δ1ρ\dfrac{\delta}{1 - \rho}

一次性政策冲击在动态模型下会“回响”很久。报告哪种效应取决于研究问题:审稿人通常想看动态效应全图(event study);政策建议强调长期效应;成本效益分析对应中期效应(预算周期)。

7.3 Ashenfelter (1978) 的 Dip

Ashenfelter 发现:接受职业培训的人,在培训前收入就出现一个“坑”——通常是因为失业、家庭变故等冲击触发了培训决定。如果直接用“培训前后”比较,这个 dip 会夸大培训的正效应。关键问题是:过去的 Yi,t1Y_{i,t-1} 成为时变混杂因子,无法被固定效应吸收。

修正后的平行趋势假设:

E[Yit(0)Yi,t1(0)Dit,{Yi,t}=1L,Xit]=E[Yit(0)Yi,t1(0){Yi,t}=1L,Xit]E[Y_{it}(0) - Y_{i,t-1}(0) \mid D_{it}, \{Y_{i,t-\ell}\}_{\ell=1}^L, X_{it}] = E[Y_{it}(0) - Y_{i,t-1}(0) \mid \{Y_{i,t-\ell}\}_{\ell=1}^L, X_{it}]

在实务中这意味着控制滞后因变量,或使用 Imai, Kim & Wang (2021) 的面板匹配方法。

7.4 政策不稳定时的处理定义

t=1t=2t=3t=4类型i=10111稳定处理i=20101不稳定 Ii=30110不稳定 IIi=40010不稳定 IIIi=50000从未处理 \begin{array}{c|cccc|l} & t=1 & t=2 & t=3 & t=4 & \text{类型} \\ \hline i=1 & 0 & 1 & 1 & 1 & \text{稳定处理} \\ i=2 & 0 & 1 & 0 & 1 & \text{不稳定 I} \\ i=3 & 0 & 1 & 1 & 0 & \text{不稳定 II} \\ i=4 & 0 & 0 & 1 & 0 & \text{不稳定 III} \\ i=5 & 0 & 0 & 0 & 0 & \text{从未处理} \end{array}

“什么是处理?”这个问题在政策不稳定时变得非平凡。三种应对:

  1. 强制吸收态:把曾被处理的单位都当作持续处理;
  2. 进入 vs 退出分离:ATT(进入效应)vs. ART(退出效应);
  3. 按历史路径条件化:Imai-Kim-Wang 的核心思路。

7.5 ATT(F, L) 与 ART(F, L)

条件在相同的 LL 期历史上,Imai-Kim-Wang (2021, AJPS) 定义

ATT(F,L)=E[Yit+F01(L)Yit+F00(L)Dit=1,Di,t1=0]ATT(F, L) = E\left[Y^{01}_{it+F}(L) - Y^{00}_{it+F}(L) \mid D_{it} = 1, D_{i,t-1} = 0\right]

ART(F,L)=E[Yit+F10(L)Yit+F11(L)Dit=0,Di,t1=1]ART(F, L) = E\left[Y^{10}_{it+F}(L) - Y^{11}_{it+F}(L) \mid D_{it} = 0, D_{i,t-1} = 1\right]

其中 Yit+Fab(L)Y^{ab}_{it+F}(L) 表示当 (Dit,Di,t1)=(a,b)(D_{it}, D_{i,t-1}) = (a, b){Di,t}=2L\{D_{i,t-\ell}\}_{\ell=2}^L 为任意给定历史时的潜在结果。

FFLL 的选择权衡

参数 大值的好处 大值的代价
LL 更可信的历史条件 → carryover 效应被允许 匹配样本缩小 → 估计精度下降
FF 长期效应的信息 单位可能切换处理状态 → 解释困难

7.6 面板匹配估计量

匹配集合

itATT={(m,t)mi,Dmt=0,(Dm,t)=1L=(Di,t)=1L}\mathcal{M}_{it}^{ATT} = \{(m, t) \mid m \neq i, D_{mt} = 0, (D_{m, t-\ell})_{\ell=1}^L = (D_{i, t-\ell})_{\ell=1}^L\}

itART={(n,t)ni,Dnt=1,(Dn,t)=1L=(Di,t)=1L}\mathcal{M}_{it}^{ART} = \{(n, t) \mid n \neq i, D_{nt} = 1, (D_{n, t-\ell})_{\ell=1}^L = (D_{i, t-\ell})_{\ell=1}^L\}

只有完全相同的历史路径的单位才能进入匹配集合。

估计量

ATT(F,L)̂=1Giti,tGit[Yit+F01Yit10mitwitm(Ym,t+FYm,t1)]\widehat{ATT(F, L)} = \frac{1}{\sum G_{it}} \sum_{i, t} G_{it} \left[Y^{01}_{it+F} - Y^0_{it-1} - \sum_{m \in \mathcal{M}_{it}} w_{it}^m (Y_{m, t+F} - Y_{m, t-1})\right]

  • Git=(DitDi,t1)𝟙{|it|1}G_{it} = (D_{it} - D_{i,t-1}) \cdot \mathbb{1}\{|\mathcal{M}_{it}| \geq 1\}:只有“处理刚发生变化且有匹配”时才记录;
  • 权重 witmw_{it}^m 可用 Mahalanobis 距离 或 PSM。
图 6: 面板匹配的时间结构

R 实现:PanelMatch 包(Imai, Kim & Wang 自家维护)。

8 第七部分:实务指南

8.1 平行趋势不放心时怎么办

层层递进的应对

  • 加入丰富的协变量:条件平行趋势;
  • 强制重叠条件:每个处理单位存在 𝐗\boldsymbol{X} 接近的对照;
  • 检查无预期:处理前是否已有行为调整;
  • 更换识别框架:IV、RD、SCM、CiC(quantile DiD)。

不该做的事

  • 简单“加个时间趋势”——往往吸收真实效应;
  • 数据驱动地切样本——违反预注册;
  • 说“通过了平行趋势检验”——这是错误措辞,只能说“未拒绝事前平行的假设”。

8.2 DID 研究的标准清单

图 7: Roth et al. (2023) 的 DID 检查清单

Roth, Sant’Anna, Bilinski & Poe (JoE 2023) 的综述给出了一份写在论文审稿评论里的“必做清单”。审稿人读完正文先对着这份清单挑你没做的事——论文提前在附录里主动回答,是最稳妥的策略。

8.3 软件工具

图 8: DID 现代估计量的软件支持
  • Statacsdideventstudyinteractdid_multiplegtdid_imputationsdidbacondecomphonestdidabsdidteffects
  • Rdidfixestsunab()i())、synthdidDIDmultiplegtdidimputationHonestDiDPanelMatch

9 总结

9.1 本讲要点回顾

9.1.1 1. 匹配类 DiD 处理可观测混杂

PSM-DID(Heckman-Ichimura-Todd 1998)降维到倾向得分、做面板差分,允许选择依赖于潜在结果水平和时不变不可观测特征。半参数 DiD(Abadie 2005)用权重公式直接写出 ATT,不需要显式选择近邻。

9.1.2 2. 合成 DiD 融合 SCM 与 DiD

Arkhangelsky et al. (2021) 同时引入单位权重与时期权重,弱化平行趋势依赖,保留大面板推断。正在成为政策评估的默认方法。

9.1.3 3. TWFE 在交错处理下失灵

Goodman-Bacon (2021) 分解显示 TWFE 等于所有 2×2 DiD 的加权平均。“已处理组做对照”产生负权重,导致估计量符号错误。VWATT-VWCT-ΔATT 分解给出精确公式。

9.1.4 4. 四个现代估计量修复异质性问题

CS、SA、dCdH、BJS 都坚持“只用从未 / 尚未处理做对照”。至少报告两种,观察一致性。

9.1.5 5. Imai-Kim-Wang 处理动态与历史

LL 期历史路径条件化,分开估计 ATT(F, L)(进入)与 ART(F, L)(退出)。适用于不稳定政策、动态反事实。

9.2 关键公式汇总

概念 公式 说明
ATT 分解 观测差异 = ATT + 选择偏误 识别的核心挑战
PSM-DID E[ΔY𝐗,D=1]E[ΔY𝐗,D=0]E[\Delta Y \mid \boldsymbol{X}, D=1] - E[\Delta Y \mid \boldsymbol{X}, D=0] P(𝐙)P(\boldsymbol{Z}) 上匹配
Abadie 权重 ρ0=DP(X)P(X)[1P(X)]\rho_0 = \frac{D - P(X)}{P(X)[1-P(X)]} 半参数 DiD
SDiD min(YμαiβtδD)2ωiscλtsc\min \sum (Y - \mu - \alpha_i - \beta_t - \delta D)^2 \omega_i^{sc} \lambda_t^{sc} 单位 + 时期双权重
Bacon 分解 δTWFE=VWATTVWCT+ΔATT\delta^{TWFE} = VWATT - VWCT + \Delta ATT 交错 TWFE 的因果结构
CS ATT ATT(g,t)=E[Yt(g)Yt()Gg=1]ATT(g, t) = E[Y_t(g) - Y_t(\infty) \mid G_g = 1] 组群-时期 ATT
SA IW Yit=geδg,eGig𝟏(tg+1=e)+αi+λt+εitY_{it} = \sum_g \sum_e \delta_{g,e} G_{ig} \mathbf{1}(t-g+1=e) + \alpha_i + \lambda_t + \varepsilon_{it} 交互加权
BJS 插补 τ̂it=Yit(α̂i+λ̂t)\hat{\tau}_{it} = Y_{it} - (\hat{\alpha}_i + \hat{\lambda}_t) 用未处理观测估计 FE
Imai-Kim-Wang ATT(F,L)ATT(F, L), ART(F,L)ART(F, L) LL 期历史条件化

9.3 下一讲预告

第 5 周:因果机器学习

当控制变量的维度与样本量可比(甚至超过)时,传统线性回归会失效。机器学习提供了预测能力,但预测 ≠ 因果。下一讲将覆盖:

  1. 预测 vs. 因果:ML 能做什么、不能做什么;
  2. LASSO 与高维控制变量选择——Post-LASSO 的陷阱;
  3. Double / Debiased ML(DML)——Neyman 正交化 + 交叉拟合;
  4. 因果森林与异质处理效应(HTE)估计;
  5. 实战:doubleml / econml / grf

9.4 课后思考

  1. PSM-DID 与 CS-DID 的选择:如果你研究 2015 年某省自贸区试点对企业出口的影响,处理组只有一个省,对照池 30 个省,预处理期 5 年。你会优先用 PSM-DID、合成 DiD、还是 CS(每省作为一个组群)?三者在识别假设推断可靠性上有什么关键差异?
  2. Goodman-Bacon 分解的直觉:在你的研究领域中,选一个典型的“分批推进”的政策。用 Bacon 分解的视角分析:哪种 2×2 比较最可能产生偏误?是因为处理效应累积,还是因为处理组间的异质性?
  3. Imai-Kim-Wang 的应用场景:面板匹配相对于 CS/SA 的最大优势是什么?什么样的研究问题必须使用面板匹配才能合理回答?请举一个具体例子(政策领域 + 数据结构)。

联系方式

  • 邮箱:chenzhiyuan@rmbs.ruc.edu.cn
  • 办公室:919
  • Office Hours:邮件或微信预约

本讲义基于 Heckman-Ichimura-Todd (ReStud 1998)、Abadie (ReStud 2005)、Abadie-Diamond-Hainmueller (JASA 2010)、Arkhangelsky et al. (AER 2021)、Goodman-Bacon (JoE 2021)、Callaway-Sant’Anna (JoE 2021)、Sun-Abraham (JoE 2021)、de Chaisemartin-D’Haultfoeuille (AER 2020)、Borusyak-Jaravel-Spiess (ReStud 2024)、Imai-Kim-Wang (AJPS 2021)、Roth et al. (JoE 2023) 与 Wooldridge (2021) 等文献整理而成。