从协变量平衡倾向得分输出中估计稳健的标准误差

Estimating Robust Standard Errors from Covariate Balanced Propensity Score Output

我正在使用 Covariate Balancing Propensity Score (CBPS) 包,我想为包含权重的 ATT 结果估计稳健的标准误差。 MatchIt and twang 教程都建议使用 survey 包将权重合并到稳健标准误差的估计中,并且 似乎 有效:

design.CBPS <- svydesign(ids=~1, weights=CBPS.object$weights, data=SUCCESS_All.01)
SE <- svyglm(dv ~ treatment, design = design.CBPS)

此外,survey SE 与 CBPS 包提供的默认 lm() 估计系数和 SE 的方法有很大不同。对于那些更熟悉 CPBSsurvey 包的人来说,这里有什么理由说明这不合适或违反了 CBPS 方法的某些假设吗?我在 CBPS 文档中没有看到任何关于如何最好地估计标准误差的信息,所以这就是我有点担心的原因。

三明治(稳健)标准误是倾向得分加权(包括CBPS)后最常用的标准误。对于 ATE,已知它们是保守的(太大),而对于 ATT,它们可能太大或太小。对于像 CBPS 这样的参数化方法,可以使用 M-estimation 来解释倾向得分的估计和结果模型,但这相当复杂,尤其是对于像 CBPS 这样的专用模型。

另一种方法是使用 bootstrap,您可以在其中 bootstrap 进行倾向得分估计和治疗效果估计。 WeightIt documentation 包含一个示例,说明如何执行 bootstrapping 来估计治疗效果估计值的置信区间。

使用 survey 包是获得可靠标准错误的一种方法,但您还可以使用其他包,例如 MatchIt 文档中推荐的 sandwich 包.在任何情况下,您都不应该使用甚至考虑通常的 lm() 标准错误;这些对于逆概率权重是完全不准确的。 CBPS 中的 AsyVar() 函数似乎应该提供有效的标准错误,但根据我的经验,这些也非常不准确(与 bootstrap 相比);函数连治疗效果都达不到。

我建议您使用 bootstrap。这可能需要一些时间(理想情况下您需要大约 1000 bootstrap 次重复),但这些标准误差将是最准确的。