Page QiView

计量经济学:合成控制法原理、估计与安慰剂检验

计量经济学:合成控制法原理、估计与安慰剂检验

1. 何时用合成控制

当只有一个或少数处理对象,且传统 DID 的平行趋势较难成立时,SCM 常更有解释力。
核心思想是:用对照组加权组合出一个“最像处理组处理前路径”的合成对象。

2. 基本形式

设处理组处理前结果向量为 $X_1$,对照组矩阵为 $X_0$,权重向量为 $W$:

$$ W^*=\arg\min_W (X_1-X_0W)‘V(X_1-X_0W) $$

约束:$w_j\ge 0$ 且 $\sum_j w_j=1$。
处理后效应估计为:

$$ \hat\tau_t = Y_{1t} - \sum_j w_j^* Y_{jt} $$

3. Python 最小实现思路

import numpy as np
import cvxpy as cp

# X1: (k, 1), X0: (k, J)
w = cp.Variable(X0.shape[1])
objective = cp.Minimize(cp.sum_squares(X1.flatten() - X0 @ w))
constraints = [w >= 0, cp.sum(w) == 1]
prob = cp.Problem(objective, constraints)
prob.solve()

w_star = w.value
synthetic_y = Y0 @ w_star  # Y0: (T, J)
effect = Y1 - synthetic_y   # Y1: (T,)

4. 推断与稳健性

SCM 常用安慰剂(placebo)推断:

  1. 把每个对照组依次当作“伪处理组”。
  2. 重复构造其合成对照。
  3. 比较真实处理效应与伪效应分布位置。

此外建议报告:

  1. 处理前拟合误差(RMSPE)。
  2. 剔除关键供体后的 leave-one-out 稳健性。
  3. 不同预测变量集合下的结果稳定性。

5. 常见误区

  1. 处理前拟合很差却直接解释处理后差异。
  2. 忽略供体池选择对结果的结构性影响。
  3. 把 SCM 当作“自动因果工具”,不讨论制度背景。

合成控制法的说服力,来自“处理前拟合质量 + 安慰剂对比 + 制度叙事一致性”。