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
嵌套优化:
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.x3. 计算处理效应
供体池选择
原则
供体池(Donor Pool)是构建合成对照的候选单位集合。选择不当会严重影响结论。
纳入原则:
- 未受同类政策影响(排除有类似烟草控制政策的州)
- 与处理单位有可比性(相似的经济结构)
- 不存在溢出效应(SUTVA成立)
排除原则:
- 受到同一政策直接或间接影响的单位
- 数据缺失严重的单位
- 极端异常值
供体池大小的影响
- 供体池太小:可能无法构造好的合成对照
- 供体池太大:引入噪声,增加过拟合风险
- 经验法则:至少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: 报告
- 权重表
- 协变量平衡表
- 主图 + 安慰剂图
- 敏感性分析结果
本节小结
核心要点
- 因子模型:SCM基于交互固定效应模型,允许不可观测因子的时变影响
- 嵌套优化:外层优化V矩阵(特征权重),内层优化W向量(单位权重)
- 凸组合约束:, ,排除外推,保证透明度
- 政策前拟合:是SCM有效性的必要条件——拟合越好,因果推断越可信
- 供体池选择:需要理论驱动,排除受同一政策影响或有溢出效应的单位
关键公式
权重优化:
因果效应: