PSM倾向性匹配
方法概述
倾向性匹配(Propensity Score Matching, PSM)是观察性研究中用于减弱混杂偏倚的常用方法。在随机对照试验中,处理组与对照组由随机分配保证协变量均衡;而在观察性研究中,个体进入处理组往往受协变量影响,直接比较两组结局会混入选择偏倚。倾向性匹配通过为每个处理个体寻找协变量特征相近的对照个体,构造可比较的匹配样本,从而减弱可观测混杂的影响。本工具实现基于 Logistic 回归的倾向得分估计与最近邻匹配,并输出匹配前后的平衡性检验,帮助用户评估匹配效果。操作全程以图形化界面引导,参数调整与结果解读直观清晰。需要注意的是,倾向性匹配仅能减弱可观测混杂,不能完全消除混杂,不可观测因素导致的偏倚仍可能存在。
计算步骤
1. 数据加载与预处理
- 文件读取:支持 CSV 和 Excel 格式,文件大小不超过 5MB。
- 缺失值识别:自动识别常见缺失值占位符(如空字符串、
NA、null、nan等)并转换为NA。 - 列类型转换:字符型列可自动转换为数值列;删除完全为空的行和列。
- 处理组列:二值变量,取值约定 1=处理组,0=对照组。
2. 估计倾向得分
倾向得分为给定协变量条件下个体进入处理组的概率,用 Logistic 回归估计:
\[ e_i = P(T_i = 1 \mid X_i) = \frac{\exp(\beta_0 + \beta_1 X_{i1} + \cdots + \beta_p X_{ip})}{1 + \exp(\beta_0 + \beta_1 X_{i1} + \cdots + \beta_p X_{ip})} \]
其中 \(T_i\) 为个体 \(i\) 的处理指示(1 为处理组,0 为对照组),\(X_i\) 为所选协变量向量。平台提供两种匹配变量选项:
- 倾向得分 \(e_i\) 本身;
- 倾向得分的 Logit 变换 \(\ln\frac{e_i}{1-e_i}\)(默认),其尺度更接近正态,匹配时更敏感地反映得分差异。
3. 最近邻匹配
平台采用贪心最近邻匹配(无放回),支持匹配比例与卡钳限制:
- 匹配比例 1:N:每个处理个体可匹配最多 N 个对照个体,默认 1:1,范围 1-10。
- 卡钳宽度:卡钳值 \(c\)(默认 0.2,范围为 0-1),以匹配变量标准差的倍数计,实际允许的最大得分差为: \[ \delta = c \cdot \text{SD}(\text{match\_score}) \] 仅当个体间的得分差不超过 \(\delta\) 时才允许匹配,未在卡钳范围内找到合适对照的处理个体将被放弃。
匹配过程随机化处理个体的匹配顺序(受随机种子控制),逐一对处理个体,在其尚未匹配的对照库中按得分差从小到大挑选满足卡钳限制的对应用户,直至达到设定比例或对照库耗尽。匹配完成后,工具对匹配样本去重并按原始顺序组织,同时为每个匹配样本记录其倾向得分与匹配得分,便于后续核对。
4. 平衡性检验(标准化均值差)
匹配完成后,逐个协变量计算匹配前后的标准化均值差(SMD):
\[ d = \frac{\bar{X}_1 - \bar{X}_0}{\sqrt{(s_1^2 + s_0^2) / 2}} \]
其中 \(\bar{X}_1\)、\(\bar{X}_0\) 分别为处理组与对照组的协变量均值,\(s_1\)、\(s_0\) 为对应标准差。匹配前以全部样本计算,匹配后以匹配样本计算。经验上 \(|d|<0.1\) 视为平衡良好,\(<0.2\) 基本可接受。同时输出各协变量 SMD 的改善比例。
5. 可视化与结果导出
- Love Plot:绘制各协变量匹配前后 SMD 的点图,以 \(\pm 0.1\) 虚线作为参考线。
- 倾向得分分布图:匹配前处理组与对照组倾向得分的直方图,直观展示两组得分重叠情况。
- 匹配摘要:匹配方法、原始样本量、匹配后处理组/对照组样本量及最大 |SMD| 评价。
- 匹配后数据预览:可在前端逐条查看匹配后样本及其倾向得分、匹配得分,便于核对匹配质量。
- 匹配后数据:在原始数据基础上增加倾向得分
.ps与匹配得分.match_score两列。 - 数据与报告下载:匹配后数据(CSV/Excel)和 HTML 报告。
6. AI 智能分析
基于匹配方法、样本量变化与协变量 SMD(匹配前→匹配后),调用大语言模型解读平衡性结果并给出建议(每日限 3 次,需配置 API 密钥)。
案例分析
案例背景:某医学观察性研究(示例数据)考察某干预措施对患者的影响。因接受干预的患者与未接受干预的患者在年龄、既往住院次数、基础病程等方面存在差异,直接比较结果会受到混杂影响。现采用本工具进行倾向性匹配。
原始数据(部分,示例):
| 患者ID | 年龄 | 既往住院次数 | 基础病程(年) | 是否接受干预 |
|---|---|---|---|---|
| 01 | 58 | 3 | 6.0 | 1 |
| 02 | 37 | 0 | 1.5 | 0 |
| 03 | 63 | 4 | 5.0 | 1 |
| 04 | 45 | 1 | 2.0 | 0 |
| … | … | … | … | … |
参数设置:处理组列选择”是否接受干预”;协变量选择”年龄、既往住院次数、基础病程”;匹配比例 1:1;卡钳 0.2;匹配变量取 Logit 倾向得分;随机种子 123。
平衡性检验结果(示例):
| 变量 | SMD(匹配前) | SMD(匹配后) | 改善比例 |
|---|---|---|---|
| 年龄 | 0.42 | 0.07 | 83.3% |
| 既往住院次数 | 0.35 | 0.09 | 74.3% |
| 基础病程 | 0.28 | 0.05 | 82.1% |
处理过程:
- 上传数据并完成参数设置,点击”开始匹配”。
- 工具以 Logistic 回归估计各患者的倾向得分,按设定顺序执行最近邻匹配并应用卡钳限制。
- 输出匹配后数据与平衡性检验表:三个协变量的 SMD 均降至 0.1 以内,最大 |SMD| 为 0.09,处于”平衡良好”区间。
- Love Plot 显示匹配后各协变量点均落在 \(\pm 0.1\) 虚线之间;倾向得分分布图展示两组得分存在重叠区域。
结论:在本示例数据中,匹配后处理组与对照组在所选协变量上的分布已基本均衡,可在此匹配样本上进一步开展统计推断。该结论仅限于本示例数据范围,真实研究中还需评估得分重叠、样本损失及不可观测混杂的影响。
常见问题
Q1: 倾向性匹配能否完全消除混杂?
A: 不能。倾向性匹配仅能减弱所选协变量(可观测混杂)带来的偏倚;未观测或未纳入的混杂因素仍可能影响结果。
Q2: 卡钳宽度如何设置?
A: 卡钳过宽会引入得分差异过大的对照,卡钳过窄则可能匹配不到足够对照导致样本大量损失。常从默认 0.2 倍标准差开始,结合匹配样本量与平衡性结果折中调整。
Q3: 匹配比例 1:N 与 1:1 有何区别?
A: 1:1 匹配的样本较均衡、理解直观,但可能丢弃较多对照信息;1:N 能保留更多对照样本、增加有效样本量,但可能引入得分差异稍大的对照,需配合卡钳约束。
Q4: 匹配后样本量为什么会减少?
A: 因采用无放回匹配,且部分处理个体在卡钳范围内找不到符合条件的对照,这些个体不会被纳入匹配样本。
Q5: 什么时候不能使用 PSM?
A: 当处理组与对照组的倾向得分几乎没有重叠(两组协变量分布截然不同)、无法找到合适的匹配对象时,不应使用 PSM,可考虑加权重方法或其他设计。
Q6: 匹配后数据需要在分析时加权吗?
A: 通常不需要。1:1 匹配后每个处理个体对应一个对照个体,可直接基于匹配样本比较结局;若使用 1:N 匹配,可在后续分析中为对照赋予相应权重以体现匹配结构。
Q7: 标准化均值差(SMD)代表什么?
A: SMD 以两组均值差除以合并标准差度量协变量的组间差异,不受样本量影响,便于在不同协变量间比较。匹配后各协变量 |SMD| 越小,说明两组分布越接近、平衡性越好。
平台功能
- 数据输入:支持 CSV、Excel 格式,文件不超过 5MB;自动识别缺失值并智能转换列类型;提供数据模板与算法说明下载;处理组列取值 1=处理组、0=对照组。
- 参数设置:处理组列选择;协变量多选(建议数值型);匹配比例 1:N(1-10);卡钳宽度(0-1,倍标准差);匹配变量(Logit 倾向得分或倾向得分);随机种子。
- 结果展示:
- 原始数据与匹配后数据预览(缺失值灰色标记,匹配后含倾向得分列)。
- 平衡性 Love Plot(匹配前后 SMD,虚线参考线 \(\pm 0.1\))。
- 倾向得分分布直方图。
- 匹配前后平衡性检验表(各协变量 SMD 与改善比例)。
- 匹配摘要(样本量变化与最大 |SMD| 评价)。
- AI 智能分析:解读匹配后平衡性结果,评估是否达标并提出建议(每日限 3 次,需配置 API 密钥)。
- 结果下载:匹配后数据(CSV/Excel)和完整 HTML 报告。
使用建议
- 协变量选择:纳入与处理分配和结局均相关的变量,尽量覆盖已知的主要混杂因子,避免纳入由处理直接导致的后果变量。
- 先看重叠再匹配:匹配前查看倾向得分分布图,确认两组得分存在充分重叠;重叠过差时谨慎解释结果。
- 平衡性为主、样本量为辅:优先保证匹配后 |SMD| 均小于 0.1 或 0.2,同时兼顾匹配样本量,避免过度损失样本。
- 固定随机种子:匹配顺序受随机影响,固定随机种子以保证可复现性。
- 结果限缩解释:匹配后样本已非原始全样本,其结论只对匹配成功且处于重叠区间的个体成立。
- 敏感性检查思路:可尝试不同协变量组合、卡钳与匹配比例,观察结论是否稳定,并结合领域知识审慎解读。
- 记录并报告:在结果中报告倾向得分模型、卡钳、匹配比例与匹配后平衡性指标,便于评审与复现。
- 考虑替代方案:若匹配后样本量损失过大或平衡性难以达标,可对照加权重方法(如逆概率加权)的结果综合判断。
平台界面

平台界面包含:数据上传区、参数设置区(处理组列、协变量、匹配比例、卡钳、匹配变量)、Love Plot、倾向得分分布、平衡性检验表、匹配后数据预览及 AI 分析模块
参考文献
- Rosenbaum, P. R., & Rubin, D. B. (1983). The central role of the propensity score in observational studies for causal effects. Biometrika, 70(1), 41-55.
- Austin, P. C. (2011). An introduction to propensity score methods for reducing the effects of confounding in observational studies. Multivariate Behavioral Research, 46(3), 399-424.
- Rubin, D. B. (2007). The design versus the analysis of observational studies for causal effects. Annals of Internal Medicine, 147(5), 380-384.