【C0035】倾向得分匹配PSM

经济学 管理科学
计量经济学与因果推断
Python
时间图标 2026-03-09
高级

倾向得分匹配 (PSM) 项目简介

什么是倾向得分匹配?

倾向得分匹配(Propensity Score Matching, PSM)是一种统计学方法,主要用于观察性研究(非随机对照试验)中,以减少选择偏差(Selection Bias)和混杂因素(Confounders)的影响。其核心思想是为每一个“处理组”个体,在“对照组”中寻找一个或多个在背景特征(协变量)上非常相似的个体进行配对,从而模拟随机实验的环境。

本项目功能

本代码库提供了一个基于 Python (pandas, scikit-learn) 的轻量级 PSM 实现,主要包含以下功能:

  1. 倾向得分计算:使用逻辑回归(Logistic Regression)模型,根据输入的协变量(如年龄、收入、健康状况等)预测个体进入处理组的概率(即倾向得分)。
  2. 最近邻匹配:基于计算出的倾向得分,采用最近邻算法(Nearest Neighbors)为处理组样本寻找得分最接近的对照组样本。
  3. 卡钳限制 (Caliper):支持设置卡钳值(默认 0.05),若对照组与处理组的得分差异超过此阈值,则放弃匹配,以保证匹配质量。
  4. 平衡性检验输出:自动计算并打印匹配前后协变量的均值差异,用于评估匹配效果。

适用场景

  • 医疗效果评估(如:某种药物对康复率的影响)
  • 政策效应分析(如:参加培训项目对收入的影响)
  • 市场营销归因(如:看到广告对用户购买行为的影响)

依赖库

  • pandas
  • numpy
  • scikit-learn

使用方法

直接运行 python main.py 即可使用内置的模拟数据进行演示,或将代码集成到您的数据分析流程中,替换为真实数据集。

下载代码
兑换码获取图标 兑换码获取
文件名称: C0035.zip
文件大小: 0MB
更新时间: 2026-03-09