首页 > 解决方案 > 倾向得分与个人权重匹配

问题描述

我正在尝试对调查数据进行倾向得分匹配。我知道包 MatchIt 可以进行匹配程序,但我可以在某些方面包含各个权重吗?因为如果我不考虑它们,一个不太相关的观察可以与一个更相关的观察相匹配。谢谢!

标签: rmatchingpropensity-score-matching

解决方案


在此答案下方更新 2020-11-25。

调查权重不能以这种方式与匹配一起使用。您可以考虑使用加权,它可以容纳调查权重。通过加权,您可以使用考虑调查权重的模型来估计倾向得分权重,然后将估计的权重乘以调查权重以得出最终的权重集。

这可以使用MatchIt包装的加权伴侣来完成,WeightIt(我是作者)。使用您的处理A、​​结果Y(我假设此演示是连续的)、协变量X1X2和采样权重S,您可以运行以下命令:

#Estimate the propensity score weights
w.out <- weightit(A ~ X1 + X2, data = data, s.weights = "S", 
                  method = "ps", estimand = "ATT")

#Combine the estimated weights with the survey weights
att.weights <- w.out$weights * data$S

#Fit the outcome model with the weights
fit <- lm(Y ~ A, data = data, weights = att.weights)

#Estimate the effect of treatment and its robust standard error
lmtest::coeftest(fit, vcov. = sandwich::vcovHC)

在估计权重后评估平衡至关重要;您可以使用该cobalt包来做到这一点,该包适用于WeightIt对象并自动将采样权重合并到余额统计中。在估计效果之前,您将运行以下命令:

cobalt::bal.tab(w.out, un = TRUE)

只有达到平衡,您才能继续估计治疗效果。

除了使用逻辑回归倾向得分外,还有其他方法可以估计权重。WeightIt提供对许多方法的支持,几乎所有方法都支持采样权重。每种方法的文档解释了是否支持抽样权重。


MatchIt4.0.0 现在支持通过调查权重s.weights,就像WeightIt. 这为用于估计倾向得分的模型提供调查权重,但不影响匹配。如果您希望单位与具有相似调查权重的其他单位配对,则应输入调查权重作为变量以匹配或放置卡尺。


推荐阅读