r-在精确匹配的同时,使用MatchIt对倾向得分的百分位数进行匹配

  • 本文关键字:百分 MatchIt 使用 r matching
  • 更新时间 :
  • 英文 :


我使用MatchIt来执行时变倾向得分匹配。我估计倾向得分,并对其进行最近邻匹配,以及对一些变量进行精确匹配(有些用于估计倾向得分中,有些不用于(,如下所示:

matches <- matchit(

## Estimate propensity scores and perform nearest neighbour matching on propensity scores
y ~ x1
+ x2
+ x3
+ x4
+ x5

, method = "nearest" # matching method: nearest neighbour matching (on propensity score) 
, distance = "glm" # method for estimating the propensity score: 'glm' = logit

# Also perform exact matching on additional variables
, exact = ~ x3 
+ x4 
+ x6

, data = df
, s.weights = ~ sampling_weights 
)

所有变量的平衡都很好,但在倾向得分方面就不那么好了。

我认为对倾向得分的百分位数进行匹配可以解决这个问题。我的理解是,这可以通过将"方法"参数更改为:来实现

method = "subclass", subclass = 100

然而,我认为在对其他变量进行精确匹配的同时使用method = subclass是不可能的。

有人能说是否有可能在倾向得分的百分位数上进行匹配,同时使用MatchIt在其他协变量上进行精确匹配吗?

为清晰起见进行了编辑

所有变量的平衡都很好,但在倾向得分。

倾向得分的平衡不需要很好。事实上,Stuart等人(2013(发现,倾向得分的平衡与偏见完全无关。匹配的目的是在协变量上实现平衡;倾向得分只是实现这一目标的一个工具。这就是Ho等人(2007(中描述的倾向得分重言式。听起来,如果实现了平衡,你的近邻匹配就足够了,尽管听起来你的结果可能会通过更复杂的匹配方法(如基因匹配(得到改善。请记住,许多匹配方法根本不涉及倾向得分。

您也可以尝试完全匹配,这与许多子类的子类化非常相似,并且确实允许精确匹配。

如果你能告诉我你认为具有精确匹配约束的子类化应该是什么样子,我可以告诉你如何实现它。但子类化与其他匹配方法不同,目前还不清楚如何将其与子类化相结合。


Ho,D.E.,Imai,K.,King,G.,&Stuart,E.A.(2007(。匹配作为减少参数因果推断中模型依赖性的非参数预处理。政治分析,15(3(,199–236。https://doi.org/10.1093/pan/mpl013

Stuart,E.A.,Lee,B.K.,&Leacy,F.P.(2013(。基于预后评分的平衡测量可以作为比较有效性研究中倾向评分方法的有用诊断。临床流行病学杂志,66(8(,S84。https://doi.org/10.1016/j.jclinepi.2013.01.013

最新更新