问题描述
我正在尝试对调查数据进行倾向得分匹配。我知道可以进行匹配过程的MatchIt软件包,但是我可以在某些方面包括单个权重吗?因为如果我不考虑它们,那么相关性较低的观察结果可能与相关性较高的观察结果相匹配。谢谢!
解决方法
在此答案下方更新2020-11-25。
调查权重不能以这种方式与匹配一起使用。您可以考虑使用权重,它可以容纳调查权重。通过加权,您可以使用考虑调查权重的模型来估计倾向得分的权重,然后将估计的权重乘以调查权重以得出最终的权重集。
可以使用MatchIt
软件包WeightIt
(我是作者)的加权伴侣来完成的。经过您的治疗A
,结果Y
(对于本次演示,我假设是连续的),协变量X1
和X2
以及抽样权重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,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
支持许多方法,几乎所有方法都支持采样权重。每种方法的文档都说明了是否支持采样权重。
MatchIt
4.0.0现在通过s.weights
支持调查权重,就像WeightIt
一样。这为用于估计倾向得分的模型提供了调查权重,但不影响匹配。如果您希望将单位与具有类似调查权重的其他单位配对,则应输入调查权重作为变量来匹配或放置卡尺。