别再乱用PSM了!深入聊聊倾向得分匹配的3个常见误区和它的真实能力边界
倾向得分匹配的认知升级:从工具依赖到方法论的批判性思考
在数据分析领域,倾向得分匹配(PSM)已经成为观察性研究中控制混杂因素的标配工具。但当我们打开Stata运行psmatch2命令时,是否真正理解了这个黑箱操作背后的统计哲学?本文将从三个关键误区切入,结合前沿研究与实践案例,重新审视PSM的方法论边界。
1. PSM与内生性:被误解的"解决方案"
PSM常被宣传为解决内生性问题的银弹,这种认知存在根本性偏差。理解PSM的真实能力需要先明确两个关键概念:
- 选择偏差:处理组与对照组在观测特征上的系统性差异
- 内生性:处理变量与误差项的相关性,可能源于遗漏变量、测量误差或反向因果
PSM通过平衡可观测变量仅能解决由可观测变量导致的选择偏差。2015年《Journal of Econometrics》的研究表明,当存在未观测混杂因素时,PSM估计量仍会产生高达30%的偏误。这与工具变量法(IV)形成鲜明对比:
| 方法 | 解决的选择偏差类型 | 是否需要排除限制 | 处理效应识别假设 |
|---|---|---|---|
| PSM | 可观测变量 | 不需要 | 条件独立假设(CIA) |
| 工具变量法 | 不可观测变量 | 需要 | 排他性约束与相关性约束 |
实践提示:当怀疑存在强不可观测混杂时,应优先考虑IV或双重差分法(DID),PSM更适合作为补充分析
Stata实操中常见的检验疏漏是忽略匹配后的平衡性检验。完整的检验流程应包括:
- 标准化偏差计算:
pstest varlist, both - 方差比检验:
psgraph生成的QQ图 - 核密度对比:
twoway (kdensity _ps if _treated==1) (kdensity...)
2. 共同支撑假设的实践困境
共同支撑域(common support)是PSM有效性的生命线,但现实数据常面临两大挑战:
2.1 支撑域不足的识别与处理
通过psmatch2的common选项可以自动识别非重叠样本,但更直观的方法是:
psgraph, title("Common Support") xtitle("Propensity Score") graph export "support.png", replace当图形显示重叠区域不足时,可考虑:
- 放宽匹配卡钳值:
caliper(0.05) - 改用核匹配:
kernel - 样本筛选:
keep if _support==1
2.2 外部有效性的量化评估
匹配后样本的代表性损失可通过以下指标量化:
// 计算原始样本与匹配样本的特征差异 estpost tabstat age educ income, by(treat) statistics(mean sd) columns(statistics) esttab using "compare.rtf", replace典型案例:在某政策评估中,原始样本的失业率均值为12%,匹配后降至8%,这种结构性变化意味着结论可能无法推广到整体人群。
3. 匹配后的统计推断陷阱
即使通过所有检验,匹配样本的分析仍需特别注意:
3.1 方差低估问题
传统的标准误计算会低估真实不确定性,应采用:
bootstrap, reps(500): reg outcome treat [iweight=_weight], vce(cluster id)3.2 模型依赖性的敏感性分析
通过不同匹配方法对比结果稳健性:
- 最近邻匹配:
neighbor(3) - 半径匹配:
radius caliper(0.02) - 马氏距离匹配:
mahalanobis(age educ income)
建议在论文中报告如下格式的敏感性分析表:
| 匹配方法 | ATT估计值 | 标准误 | t值 | 样本量 |
|---|---|---|---|---|
| 最近邻1:1 | 0.15** | 0.07 | 2.14 | 1,200 |
| 半径匹配 | 0.13* | 0.08 | 1.63 | 1,050 |
| 核匹配 | 0.14** | 0.06 | 2.33 | 1,180 |
4. PSM的进阶应用框架
对于追求严谨的研究者,建议采用以下分析流程:
预分析阶段
- 绘制协变量平衡表
- 评估共同支撑域
- 选择匹配算法
核心分析阶段
- 执行匹配并检验平衡性
- 估计处理效应
- 进行敏感性分析
报告规范
- 明确说明丢弃样本比例
- 报告所有平衡性检验结果
- 讨论外部有效性的限制
在最近一个电商促销效果评估项目中,采用上述框架后发现:虽然PSM显示促销能提升15%的销售额,但当加入用户行为序列数据作为新协变量后,处理效应降至9%,这揭示了初始模型遗漏重要混杂因素的风险。
