目录
一、引言
倾向匹配得分模型(Propensity Score Matching,PSM)是一种在观察性研究中用于减少选择偏差的常用方法。通过估计个体接受某种处理(例如参与某个项目、接受某种治疗等)的概率,即倾向得分,然后基于倾向得分对处理组和对照组进行匹配,以构建类似于随机实验的样本,从而使得处理组和对照组在可观测特征上具有可比性。
二、文献综述
在社会科学和医学研究等领域,PSM 方法得到了广泛的应用。Rosenbaum 和 Rubin(1983)首次提出了倾向得分匹配的概念和方法,为后续的研究奠定了基础。他们指出,通过倾向得分进行匹配,可以有效地控制观察性研究中的混杂因素,从而更准确地评估处理效应。
例如,Smith 和 Todd(2005)在研究教育政策对学生成绩的影响时,运用 PSM 方法来解决样本选择偏差问题,使得研究结果更具可靠性。Athey 和 Imbens(2006)则在处理经济数据时,采用 PSM 方法来评估政策干预的效果,为政策制定提供了有力的依据。
此外,Hirano 和 Imbens(2001)对 PSM 的理论和应用进行了深入的探讨,进一步完善了该方法的理论框架。在医学领域,Austin(2011)等人利用 PSM 方法评估了不同医疗治疗方案的效果,为临床决策提供了重要的参考。
这些研究都充分展示了 PSM 方法在解决观察性研究中选择偏差问题的有效性和实用性。
三、理论原理
倾向匹配得分模型(PSM)的理论基础建立在反事实框架和条件独立性假设之上。
在观察性研究中,我们通常将个体分为处理组(接受了某种处理或干预)和对照组(未接受处理或干预)。然而,由于个体并非随机分配到处理组和对照组的,可能存在一些混杂因素导致两组个体在特征上存在系统性差异,从而影响对处理效应的准确评估。
四、实证模型
- 估计倾向得分
- 通常采用 Logistic 回归或 Probit 回归来估计倾向得分。假设处理变量为
Treatment
,协变量为X1
、X2
、... 、Xn
,则 Logistic 回归模型可以表示为:
- 通常采用 Logistic 回归或 Probit 回归来估计倾向得分。假设处理变量为
logit Treatment X1 X2... Xn
或者 Probit 回归模型表示为:
probit Treatment X1 X2... Xn
回归模型会输出各个协变量的系数,这些系数反映了协变量对个体接受处理的概率的影响程度。
-
匹配方法
- 常见的匹配方法包括:
- 最近邻匹配:为处理组中的每个个体在对照组中寻找倾向得分最接近的一个或几个个体进行匹配。
- 半径匹配:设定一个半径范围,将处理组中个体的倾向得分与对照组中在该半径范围内的个体进行匹配。
- 核匹配:基于核函数为处理组中的每个个体在对照组中寻找匹配个体,匹配权重由核函数决定。
以最近邻匹配为例,可使用以下代码:
- 常见的匹配方法包括:
psmatch2 Treatment, outcome(var_name) neighbor(1) ate // var_name 为结果变量
这里的 neighbor(1)
表示 1:1 匹配,即每个处理组个体匹配一个对照组个体。
-
匹配后处理
- 匹配完成后,需要对匹配后的样本进行处理和分析。
- 可以计算平均处理效应(Average Treatment Effect,ATE)、处理组平均处理效应(Average Treatment Effect on the Treated,ATT)等。
例如,计算 ATT 可以使用以下代码:
attnd Treatment var_name, comp(group_variable) // group_variable 为分组变量
- 评估匹配质量
- 通过共同支撑假设检验和平衡性检验来评估匹配的质量。
- 共同支撑假设检验:检查处理组和对照组的倾向得分分布是否有足够的重叠部分。可以通过绘制倾向得分的分布直方图来直观判断。
- 平衡性检验:比较匹配前后处理组和对照组在协变量上的均值差异是否显著减少。使用以下代码进行平衡性检验:
psbalance Treatment X1 X2 X3 // 检验匹配前后协变量的平衡性
五、程序代码及解释
以下是一个更详细的示例代码,包括数据导入、倾向得分估计、不同匹配方法的实现、匹配结果查看以及平衡性检验:
// 导入数据
use "your_data.dta", clear
// 定义处理变量和结果变量
gen treatment = (condition == 1) // 假设 condition 为 1 表示处理组,0 表示对照组
gen outcome = outcome_variable // 定义结果变量
// 估计倾向得分(以 Logistic 回归为例)
logit treatment covariate1 covariate2 covariate3 // 假设 covariate1、covariate2、covariate3 为协变量
// 输出结果:会给出 Logistic 回归的系数估计值、标准误、z 值和 p 值。系数反映了协变量对个体进入处理组概率的影响方向和强度。显著的 p 值表示相应协变量对处理组归属有显著影响。
// 计算倾向得分
predict ps_score
// 最近邻匹配(1:1 匹配)
psmatch2 treatment, outcome(outcome) neighbor(1) ate
// 输出结果:
// 1. `summarize treatment _treated _weight`会给出处理组和对照组的数量、均值等基本统计信息,帮助了解匹配情况。
// 2. 可通过查看 `_treated` 变量的值来确定个体是否被匹配。
// 3. 共同支撑假设检验:绘制匹配前后倾向得分的核密度图。若处理组和对照组的核密度图有较大重叠部分,说明满足共同支撑假设。
// 半径匹配(半径为 0.05)
psmatch2 treatment, outcome(outcome) radius(0.05) ate
// 输出结果类似于最近邻匹配,包括匹配情况的统计信息和对共同支撑假设的初步判断。
// 核匹配
psmatch2 treatment, outcome(outcome) kernel ate
// 输出结果同样包括匹配情况的统计描述。
// 平衡性检验(以最近邻匹配为例)
psbalance treatment covariate1 covariate2 covariate3
// 输出结果:会给出每个协变量在匹配前后处理组和对照组之间均值差异的 t 检验统计量(t 值)、p 值和标准化差异。p 值较大且标准化差异较小说明匹配后协变量在两组间达到了较好的平衡。
六、代码运行结果
-
估计倾向得分的步骤:
- 回归结果中,显著的系数表示相应协变量对个体进入处理组的概率有显著影响。例如,如果协变量
covariate1
的系数为正且显著,说明该协变量的值越大,个体进入处理组的概率越高。 - 可以通过查看伪 R-squared 来评估模型对倾向得分的解释能力。较高的伪 R-squared 值表示模型能够较好地预测个体进入处理组的概率。
- 回归结果中,显著的系数表示相应协变量对个体进入处理组的概率有显著影响。例如,如果协变量
-
最近邻匹配:
summarize
命令的结果中,关注treatment
变量的均值和数量。处理组和对照组的数量应该相对平衡。如果处理组和对照组数量差异过大,可能需要重新考虑匹配方法或调整参数。- 核密度图中,如果处理组和对照组的倾向得分分布有较大重叠部分,表明共同支撑假设成立,匹配效果较好。如果重叠部分较小,可能意味着部分处理组个体难以找到合适的对照组匹配,需要进一步检查数据或调整匹配方法。
-
半径匹配:
- 类似于最近邻匹配,检查匹配后的处理组和对照组数量以及分布情况。同时,需要关注所设定的半径大小是否合适。如果半径过大,可能会引入过多不相似的匹配对;如果半径过小,可能导致匹配不足。
- 可以通过比较不同半径下的匹配结果,选择最合适的半径值。
-
核匹配:
- 同样关注匹配后的组间平衡和数量分布。不同的核函数和带宽选择可能会影响匹配结果,需要根据数据特点进行尝试和优化。
-
平衡性检验:
- 对于每个协变量,如果 t 检验的 p 值大于预设的显著性水平(通常为 0.05),说明匹配后该协变量在处理组和对照组之间的均值差异不显著,即达到了较好的平衡性。
- 标准化差异的绝对值较小(通常小于 10% 或 20%)也表明平衡性较好。如果某些协变量的平衡性未达到要求,可以考虑增加或调整协变量,或者尝试其他匹配方法。
需要注意的是,实际运行结果会因数据的特点和具体的分析需求而有所不同。在解读结果时,应结合研究问题和相关理论进行综合判断。同时,还可以进行敏感性分析,以评估结果的稳健性。
七、稳健性检验
-
共同支撑假设检验
- 除了通过直观观察倾向得分的核密度图来判断共同支撑假设是否成立外,还可以进行更严格的统计检验。例如,可以计算处理组和对照组倾向得分的均值和方差,并进行 t 检验或 F 检验,以确定两者是否存在显著差异。
- 另一种方法是检查在共同支撑范围内,处理组和对照组个体的分布情况。如果分布不均匀,可能会影响匹配的效果和结果的可靠性。
-
平衡性检验
- 除了比较匹配前后协变量的均值差异外,还可以比较中位数差异、方差差异等。
- 可以使用其他平衡性检验方法,如标准化均值差(Standardized Mean Difference,SMD)、方差比检验等。
- 进行多重平衡性检验,并综合考虑多个协变量的平衡情况,以更全面地评估匹配的质量。
-
不同匹配方法和参数的比较
- 尝试使用多种匹配方法(如最近邻匹配、半径匹配、核匹配等),并比较它们的结果。
- 对于每种匹配方法,调整不同的参数(如最近邻匹配中的匹配比例、半径匹配中的半径大小等),观察结果的变化。
- 选择最能满足研究需求和假设的匹配方法和参数组合。
-
样本量的影响
- 分析不同样本量对匹配结果和处理效应估计的影响。
- 可以通过随机抽样或子样本分析来考察样本量变化时结果的稳定性。
-
协变量的选择
- 研究不同协变量组合对匹配结果和处理效应估计的影响。
- 尝试添加或删除一些协变量,观察其对平衡性和处理效应的改变。
通过进行上述稳健性检验,可以更全面地评估 PSM 分析的可靠性和稳定性,提高研究结论的可信度。
八、结论
倾向匹配得分模型 PSM 为观察性研究提供了一种有效的手段来控制选择偏差,从而更准确地估计处理效应。然而,在实际应用中,需要谨慎选择协变量、匹配方法,并进行充分的稳健性检验,以确保分析结果的可靠性和有效性。Stata 提供的强大功能为实现 PSM 分析提供了便利,但正确和恰当的运用需要深入理解其理论基础和实际操作要点。
标签:得分,组和,对照组,匹配,变量,PSM,处理,Stata,操作步骤 From: https://blog.csdn.net/a519573917/article/details/141266125