Module 12 合成控制法(Synthetic Control Method)
当只有一个处理单位时的因果推断利器:Alberto Abadie的反事实构造艺术
本章目标
完成本章后,你将能够:
- 理解合成控制法的核心思想和适用场景
- 掌握权重优化算法和V-矩阵的作用
- 区分SCM与传统DID的异同
- 完整复现California Proposition 99经典案例
- 使用Python实现SCM(手动+SparseSC)
- 进行RMSPE比率推断和安慰剂检验
- 评估研究者自由度对结论的影响
为什么需要合成控制法?
从DID到SCM:一个自然的演进
在Module 10中,我们学习了双重差分法(DID)——社会科学中最常用的因果推断方法之一。DID的核心逻辑简洁优美:利用处理组和对照组的平行趋势来构造反事实。
但DID有一个重要的隐含要求:你需要多个处理单位和多个对照单位。
问题来了:如果你的研究对象只有一个处理单位呢?
N=1的挑战:真实世界的政策评估
许多重要的政策研究恰恰面对的就是"N=1"的场景:
场景1:德国统一(1990)
- 处理单位:西德(只有1个)
- 研究问题:统一对西德GDP的因果效应?
- 用谁做对照?法国?日本?没有任何单一国家能成为完美的"反事实西德"
场景2:加州烟草税 Proposition 99(1988)
- 处理单位:加州(只有1个)
- 研究问题:大幅加税对香烟消费量的因果效应?
- 对照组候选:其他49个州——但每个州都和加州有显著差异
场景3:Brexit(2016)
- 处理单位:英国(只有1个)
- 研究问题:脱欧对英国GDP增长的因果效应?
- 用德国做对照?经济结构完全不同。用法国?政治制度差异大
传统DID在这些场景中的困境:
- 选择单一对照单位——主观且可能不可比
- 简单平均多个对照——忽略了各对照单位之间的异质性
- 无法保证平行趋势假设成立
Alberto Abadie的天才洞察
2003年,时任哈佛大学(后转至MIT)的经济学家Alberto Abadie提出了一个优雅的解决方案:
"如果我们无法找到一个完美的对照单位,为什么不用数据驱动的方法来合成一个?"
核心思想:用多个未处理单位的加权组合(convex combination)来构造一个"合成对照",使其在政策前期间尽可能地模拟处理单位的特征和结果轨迹。
数学表达:
这就是合成控制法(Synthetic Control Method, SCM)。
SCM与DID的深层联系
SCM是"数据驱动的加权DID"
从方法论的角度看,SCM可以被理解为DID的一个精妙推广:
| 维度 | 传统DID | 合成控制法 |
|---|---|---|
| 对照组构造 | 等权平均,或主观选择 | 数据驱动的最优加权 |
| 处理单位数 | 多个 | 1个即可 |
| 平行趋势 | 假设全局成立 | 通过政策前拟合来验证 |
| 透明度 | 权重隐含在回归中 | 每个对照单位的权重一目了然 |
| 外推风险 | 可能存在(回归外推) | 凸组合约束排除外推 |
关键洞察:传统DID的等权平均()其实是SCM的一个特例。SCM让数据自己决定每个对照单位应该获得多少权重。
数学联系
2x2 DID 的权重:
SCM 的权重:
SCM的优势在于:权重由数据和优化算法共同决定,而非研究者武断设定。
Proposition 99的故事
经典案例预览
Abadie, Diamond & Hainmueller (2010) 将SCM应用于加州的Proposition 99——一项1988年通过的里程碑式烟草控制法案:
- 政策内容:香烟税从每包10美分提高至35美分(提高250%),当时为全美最高
- 研究问题:这项加税政策对加州人均香烟消费量的因果效应是多少?
- 方法:从38个未实施大规模烟草控制政策的州中,用SCM构建"合成加州"
- 结果:5个州获得了正权重,合成加州在政策前完美拟合真实加州
- 发现:Prop 99使加州香烟消费量下降约21.5%
- 推断:通过安慰剂检验,加州的RMSPE比率排名第1(p = 0.026),效应统计显著
这篇论文不仅提供了烟草政策的重要因果证据,更确立了SCM作为政策评估标准工具的地位。
本章结构
第 1 节:本章介绍(当前)
- SCM的动机和核心思想
- 与DID的联系和区别
- Proposition 99的故事
第 2 节:合成控制法原理
- 因子模型设定和符号体系
- 权重优化问题(内层W和外层V)
- 凸组合约束与无外推性质
- 政策前拟合作为识别验证
- 供体池选择与常见陷阱
第 3 节:统计推断与稳健性
- RMSPE比率推断
- 安慰剂检验/排列检验
- Fisher精确检验逻辑
- SCM vs DID的全面对比
- 研究者自由度问题(Ferman et al. 2020)
第 4 节:经典案例与Python实现
- California Proposition 99完整复现
- 手动实现SCM(从零开始)
- 使用SparseSC库
- 权重表和结果解读
- Gap plots可视化
第 5 节:本章小结
- 核心要点回顾
- SCM vs 其他方法对比表
- 扩展方法简介
- 练习与推荐阅读
️ Python工具包
核心库
| 库 | 主要功能 | 安装 |
|---|---|---|
| numpy | 矩阵计算 | pip install numpy |
| scipy | 优化算法 | pip install scipy |
| cvxopt | 二次规划(QP) | pip install cvxopt |
| SparseSC | SCM专用库 | pip install SparseSC |
| matplotlib | 可视化 | pip install matplotlib |
| pandas | 数据处理 | pip install pandas |
基础设置
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.optimize import minimize
from cvxopt import matrix, solvers
# 中文字体设置
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] # macOS
plt.rcParams['axes.unicode_minus'] = False
sns.set_style("whitegrid")必读文献
奠基性论文
Abadie, A., & Gardeazabal, J. (2003). "The Economic Costs of Conflict: A Case Study of the Basque Country." American Economic Review, 93(1), 113-132.
- SCM的首次提出
Abadie, A., Diamond, A., & Hainmueller, J. (2010). "Synthetic Control Methods for Comparative Case Studies: Estimating the Effect of California's Tobacco Control Program." JASA, 105(490), 493-505.
- SCM的标准参考论文(必读!)
Abadie, A., Diamond, A., & Hainmueller, J. (2015). "Comparative Politics and the Synthetic Control Method." AJPS, 59(2), 495-510.
- 德国统一的SCM分析
方法论进展
Ferman, B., Pinto, C., & Possebom, V. (2020). "Cherry Picking with Synthetic Controls." Journal of Policy Analysis and Management, 39(2), 510-532.
- 研究者自由度问题
Ben-Michael, E., Feller, A., & Rothstein, J. (2021). "The Augmented Synthetic Control Method." JASA, 116(536), 1789-1803.
- 增强型SCM
Arkhangelsky, D., et al. (2021). "Synthetic Difference-in-Differences." American Economic Review, 111(12), 4088-4118.
- 综合DID(SCM + DID)
推荐教材
- Cunningham, S. (2021). Causal Inference: The Mixtape, Chapter 10.
- Abadie, A. (2021). "Using Synthetic Controls: Feasibility, Data Requirements, and Methodological Aspects." JEL, 59(2), 391-425.
准备好了吗?
合成控制法代表了比较案例研究方法论的重要突破:
从"主观选择对照"到"数据驱动构造反事实"
"The great appeal of synthetic control methods is that they provide a systematic, transparent, and data-driven way to select comparison units in comparative case studies." — Alberto Abadie
当你面对"只有一个处理单位"的研究场景时,SCM将是你最有力的工具。
让我们开始学习 第2节:合成控制法原理!