
1. 倾向得分匹配的核心原理倾向得分匹配Propensity Score MatchingPSM本质上是一种反事实推断技术。举个生活中的例子你想知道参加健身课程对减肥的效果但直接对比健身人群和非健身人群的体重变化会有偏差——因为主动健身的人可能本身饮食更健康、作息更规律。PSM就是帮健身组找到另一个自己那些没健身但其他特征饮食、作息等高度相似的人这样两组间的体重差异才能真实反映健身效果。核心数学原理其实很直观用逻辑回归模型计算每个样本的倾向得分Pscore这个0-1之间的数值代表个体进入处理组的概率根据Pscore值进行样本匹配常见方法有最近邻匹配为每个处理组样本找Pscore最接近的对照组样本半径匹配设定一个阈值如0.05在阈值范围内随机匹配匹配后通过t检验等方法比较两组结果变量的差异关键提示Pscore不是简单的概率值而是对多维协变量信息的压缩表达。就像用学生综合成绩代替语数外单科成绩来比较学习能力。2. SPSSAU操作全流程解析2.1 数据准备阶段假设我们要研究员工培训对工资的影响数据需要包含研究变量是否参加培训二分类1是/0否结果变量当前工资数值型协变量初始工资、工作经验、岗位类型等可能影响工资的特征常见踩坑点协变量选择不当会导致匹配失败。比如漏选学历这个关键变量分类变量需要先做哑变量处理。例如岗位类型如果是管理/技术/销售需要拆分为3个0-1变量样本量建议处理组:对照组≥1:3否则可能匹配失败2.2 模型构建实操在SPSSAU中的具体操作步骤将是否培训拖入【研究变量】框将协变量拖入【特征项】框将当前工资拖入【结果变量】框关键参数设置匹配方法新手建议选半径匹配容差设0.02-0.05抽样方式小样本选不放回大样本选放回勾选保存匹配信息获取匹配明细# 伪代码展示Pscore计算过程 from sklearn.linear_model import LogisticRegression # X是协变量矩阵y是处理组标识 model LogisticRegression().fit(X, y) pscore model.predict_proba(X)[:, 1] # 获取处理组概率2.3 匹配效果验证SPSSAU会输出四类关键诊断报告匹配基本信息表重点关注匹配成功率建议80%标准化偏差对比匹配后各变量偏差应20%平行假设检验匹配后p值应0.05无显著差异共同支撑检验核密度图显示两组Pscore分布应重叠我曾经处理过一个案例匹配前处理组的平均工作经验比对照组长3年匹配后这个差异缩小到0.2年标准化偏差从35%降到5%说明匹配效果很好。3. 结果解读与问题排查3.1 ATT效应分析SPSSAU输出的ATTAverage Treatment Effect on the Treated表格包含关键信息匹配前差异通常有显著性说明需要匹配匹配后ATT我们关注的真实效应效应值与95%置信区间示例解读ATT效应值17554.412p0.023 → 培训使员工工资平均增加17554元且统计显著3.2 常见问题解决方案匹配失败的可能原因样本量不足对照组样本数至少是处理组的3倍半径阈值过小尝试调大到0.1协变量缺失检查是否漏选重要变量结果不显著怎么办检查共同支撑域核密度图是否有足够重叠区域尝试不同匹配方法最近邻匹配 vs 半径匹配考虑加入高阶项比如工作经验的平方项4. 进阶技巧与注意事项4.1 匹配方法选择指南方法类型适用场景优点缺点最近邻匹配对照组样本充足保留所有处理组样本可能匹配到不相似样本半径匹配样本差异较大匹配质量更稳定可能部分样本无法匹配核匹配大样本研究利用率高计算复杂度高4.2 敏感性分析好的PSM分析需要验证结果的稳健性不同半径阈值0.01/0.05/0.1的结果对比逐步增减协变量观察效应值变化用bootstrap法计算标准误我在一次政策评估项目中发现当半径从0.02调整到0.05时ATT值变化不超过10%说明结果比较稳定。4.3 与其他方法的结合PSM经常与这些方法联用双重差分法DID先匹配再差分控制时间趋势回归调整匹配后对残余差异进行回归校正分位数匹配研究处理效应的分布差异最后提醒PSM只能解决可观测变量的偏差对于隐藏变量比如员工积极性仍需借助工具变量等方法。实际分析中建议用多种方法交叉验证结论。