合成控制法评估政策冲击:当找不到对照组,就「造」一个出来
DID 的灵魂是「控制组」,但现实里常有「只有一个受冲击单元、又找不到可比对照组」的尴尬——比如某国突然资本管制、某只指数被纳入 MSCI、某城试点房产税。合成控制法 SCM 给出一条出路:用一大篮未受冲击单元的「加权组合」为你合成一个专属对照组,权重由事件前的拟合优度决定。本文用纯 numpy + scipy 从零实现凸权重 SCM(非负、和为 1),在自洽合成面板(1 个受冲击单元 + 39 个 donor,事件后真实水平偏移=1.08%/期)上把事件前贴合 RMSE 压到 0.040、事件后 gap 估到 1.08,且权重极度稀疏(仅 6/39 个 donor 非零);留一安慰剂检验中受冲击单元的 gap 是 40 个单元里的极端离群点(p≈0.025),并诚实拆穿外推/负权重、donor 池太窄、前拟合好后崩、唯一解不唯一、小样本过拟合五类真实陷阱(中阶)。