倾向评分加权平均治疗效果的置信区间?

机器算法验证 r 民意调查 因果关系 倾向评分 观察研究
2022-03-28 15:00:28

我正在尝试使用倾向得分加权(特别是 IPTW)从观察数据中估计平均治疗效果。我认为我正确计算了 ATE,但我不知道如何在考虑逆倾向得分权重的同时计算 ATE 的置信区间。

这是我用来计算平均治疗效果的方程式(参考 Stat Med. Sep 10, 2010; 29(20): 2137–2148.): 其中受试者总数,治疗状态,结果状态,倾向得分。

ATE=1N1NZiYipi1N1N(1Zi)Yi1pi
N=Zi=Yi=pi=

有谁知道一个 R 包可以计算平均治疗效果的置信区间,同时考虑到权重?survey包裹可以在这里提供帮助吗我想知道这是否可行:

library(survey)
sampsvy=svydesign(id=~1,weights=~iptw,data=df)
svyby(~surgery=='lump',~treatment,design=sampsvy,svyciprop,vartype='ci',method='beta')

#which produces this result:
  treatment surgery == "lump"      ci_l      ci_u
   No         0.1644043 0.1480568 0.1817876
   Yes         0.2433215 0.2262039 0.2610724

我不知道从哪里可以找到比例差异的置信区间(即平均治疗效果)。

1个回答

您不需要survey包裹或任何复杂的东西。Wooldridge(2010 年,第 920 页起)“横截面和面板数据的计量经济学分析”有一个简单的程序,您可以从中获得标准误差以构建置信区间。

假设您已正确指定我们表示为的倾向得分,请从倾向得分估计中定义得分(即您的第一个 logit 或概率回归) 作为 正如你在上面的表达式中所拥有的那样。然后取这两个表达式的样本类似物并p(xi,γ)

di=γp(xi,γ)[Zip(xi,γ)]p(xi,γ)[1p(xi,γ)]
ATEi=[Zip(xi,γ)]Yip(xi,γ)[1p(xi,γ)]
ATE^id^i. 确保在此回归中包含截距。是该回归的残差,那么的渐近方差就是所以你的 ATE 的渐近标准误差是 eiN(ATE^ATE)Var(ei)
[1Ni=1Nei2]12N

然后,您可以以通常的方式计算置信区间(例如,请参见此处对答案的注释以获取代码示例)。您无需再次调整逆倾向得分权重的置信区间,因为此步骤已包含在标准误的计算中。

不幸的是,我不是 R 人,所以我无法为您提供具体的代码,但上面概述的过程应该可以直接遵循。作为旁注,这也是treatrewStata 中命令的工作方式。该命令由Cerulli (2014)在 Stata Journal 中编写和介绍。如果您无法访问该文章,您可以查看他的幻灯片,其中还概述了从逆倾向得分加权计算标准误差的过程。在那里,他还讨论了通过 logit 或 probit 估计倾向得分之间的一些细微概念差异,但为了这个答案,它并不太重要,所以我省略了这部分。