Skip to content

12.2 合成控制法原理

"The synthetic control method provides a systematic way to choose comparison units in comparative case studies.""合成控制法为比较案例研究中选择对照单位提供了系统化的方法。"— Alberto Abadie, MIT Economist (MIT经济学家)

难度方法


本节目标

  • 理解因子模型设定和SCM的符号体系
  • 掌握权重优化的嵌套算法(内层W和外层V)
  • 理解凸组合约束的无外推性质
  • 区分政策前拟合与因果识别的关系
  • 了解供体池选择的原则和常见陷阱

核心思想:合成一个反事实

Alberto Abadie的天才洞察

核心问题

如果我们无法找到一个完美的对照单位,为什么不合成一个?

合成控制(Synthetic Control):

多个对照单位的加权组合创造一个"人工对照":

直觉理解

类比:调鸡尾酒

  • 目标: 复制一杯特殊的鸡尾酒(处理前的加州)
  • 材料: 其他州(不同的"基酒")
  • 方法: 找到最佳配比(权重)

数学目标

让"合成加州"在政策前尽可能像真实加州:

其中是政策实施时点。

为什么有效?

关键假设: 如果两个单位在政策前的轨迹相同,那么在没有政策干预的情况下,它们在政策后也会相同。

数学表达:

因果效应:


数学原理

符号定义

单位:

  • : 处理单位(如加州)
  • : 对照单位(其他州)

时间:

  • : 政策前
  • : 政策后

结果变量:

  • : 单位在时间的观测结果
  • : 不接受处理的潜在结果
  • : 接受处理的潜在结果

特征变量:

  • : 处理单位的协变量
  • : 对照单位的协变量矩阵

因子模型设定

Abadie et al. (2010) 的关键假设:

解释:

  • : 时间固定效应(所有单位共同的时间趋势)
  • : 不随时间变化的协变量(如地理位置)
  • : 协变量的时变系数
  • : 不可观测的单位特征(如文化因素)
  • : 不可观测因子的时变影响
  • : 瞬时冲击

关键: 传统固定效应模型要求(不变),但SCM允许随时间变化!

这意味着SCM可以处理比传统面板固定效应更一般的异质性结构——只要因子载荷能通过凸组合来匹配。


权重优化:核心算法

权重向量

定义:

约束:

合成控制单位:

凸组合约束与无外推性质

凸组合约束(, )确保合成对照始终在供体单位的凸包(Convex Hull)内,不会产生回归中常见的极端外推。

检查条件

如果违反:需要外推,结论不可靠。回归模型可以隐式地将负权重赋予某些对照单位,等价于在样本范围之外构造反事实,而SCM从结构上排除了这一问题。

嵌套优化问题

目标: 最小化政策前的预测误差

外层优化——V矩阵:

对角矩阵,决定不同特征的相对重要性:

内层优化——W向量:

其中:

  • : 处理单位的特征向量(包括政策前结果)
  • : 对照单位的特征矩阵
  • : 对角权重矩阵,决定不同特征的重要性

V-矩阵的选择

如何选择V?

方法1: 交叉验证

方法2: 回归权重

方法3: 等权(基准)

算法流程

输入:

  • : 的结果矩阵
  • : 协变量
  • : 政策时点

步骤:

1. 构造特征向量

其中是单位在时间段的平均结果。

2. 优化V

嵌套优化:

python
def optimize_weights(X1, X0, V):
    """内层:给定V,求最优W"""
    # 二次规划
    # min (X1 - X0 @ W)' @ V @ (X1 - X0 @ W)
    # s.t. W >= 0, sum(W) = 1
    return W_star

def optimize_V(Y1, Y0, X1, X0, T0):
    """外层:优化V使政策前MSPE最小"""
    def mspe(V):
        W = optimize_weights(X1, X0, V)
        pred = Y0 @ W  # 预测
        actual = Y1[:T0]
        return np.mean((actual - pred[:T0])**2)

    # 优化V(通常用Nelder-Mead)
    result = minimize(mspe, V_init)
    return result.x

3. 计算处理效应


供体池选择

原则

供体池(Donor Pool)是构建合成对照的候选单位集合。选择不当会严重影响结论。

纳入原则:

  1. 未受同类政策影响(排除有类似烟草控制政策的州)
  2. 与处理单位有可比性(相似的经济结构)
  3. 不存在溢出效应(SUTVA成立)

排除原则:

  1. 受到同一政策直接或间接影响的单位
  2. 数据缺失严重的单位
  3. 极端异常值

供体池大小的影响

  • 供体池太小:可能无法构造好的合成对照
  • 供体池太大:引入噪声,增加过拟合风险
  • 经验法则:至少5个候选对照单位,通常10-50个

️ 常见陷阱

陷阱1:政策前拟合差

问题: 如果政策前合成对照和处理单位差异大,政策后的差异可能不是因果效应。

诊断: 检查政策前MSPE

阈值: Abadie et al.建议

解决:

  • 增加政策前特征
  • 排除异质性过大的对照单位
  • 承认SCM不适用

陷阱2:处理单位不在凸包内

SCM的假设: 处理单位在对照单位的凸包(Convex Hull)内

检查:

如果违反: 需要外推,结论不可靠

陷阱3:时变混淆

假设: 没有政策后的时变混淆影响处理单位

威胁: 如果政策后处理单位有其他冲击(如经济危机),SCM会高估/低估效应

缓解: 控制政策后协变量(但可能破坏识别)

陷阱4:溢出效应

SUTVA违反: 如果处理影响对照单位,合成对照本身被"污染"

例子: 加州烟草税可能导致邻州走私增加


实战建议

数据准备检查清单

  • [ ] 至少10期政策前观测
  • [ ] 至少5个候选对照单位
  • [ ] 关键协变量无缺失
  • [ ] 结果变量连续(非二值)
  • [ ] 无严重异常值

分析流程

步骤1: 探索性分析

  • 绘制所有单位趋势图
  • 识别明显不可比的对照

步骤2: 运行基准SCM

  • 优化V和W
  • 检查政策前拟合

步骤3: 可视化

  • 趋势对比图
  • 效应图(Gap Plot)

步骤4: 统计推断

  • 安慰剂检验
  • 计算p值

步骤5: 稳健性检验

  • Leave-one-out
  • 改变政策前窗口
  • 改变协变量

步骤6: 报告

  • 权重表
  • 协变量平衡表
  • 主图 + 安慰剂图
  • 敏感性分析结果

本节小结

核心要点

  1. 因子模型:SCM基于交互固定效应模型,允许不可观测因子的时变影响
  2. 嵌套优化:外层优化V矩阵(特征权重),内层优化W向量(单位权重)
  3. 凸组合约束, ,排除外推,保证透明度
  4. 政策前拟合:是SCM有效性的必要条件——拟合越好,因果推断越可信
  5. 供体池选择:需要理论驱动,排除受同一政策影响或有溢出效应的单位

关键公式

权重优化:

因果效应:


<< 上一节:12.1 本章介绍 | 下一节:12.3 统计推断与稳健性 >>

基于 MIT 许可证发布。内容版权归作者所有。