R语言使用倾向评分提高RCT(随机对照试验)的效率

倾向评分已成为观察性研究中混杂因素调整的常用方法。

基本思想是模拟接受治疗或暴露的概率如何取决于混杂因素,即要治疗的“倾向”。 

首先要注意的是,人们不会认为倾向评分在RCT中起作用。如上所述,倾向评分用于调整观察性研究中的混淆。在RCT中,随机化确保治疗和其他基线变量在统计学上是独立的,即没有混淆。那么倾向得分有什么用呢?

治疗加权方法的逆概率


在论文中,Williamson,Forbes和White描述了如何使用倾向得分来获得效率提高的治疗效果评估(较小的标准误差)。该方法与标准方法相同,其中人们估计倾向评分模型,然后拟合通过倾向评分的倒数加权的结果模型。因此,在第一步中,我们拟合二元治疗指标的模型,基线变量作为协变量。通常我们会使用逻辑回归模型进行建模。

从拟合的倾向评分模型中,我们获得试验中每个受试者的估计接受治疗的概率(而不是对照)。对于二元结果,我们可以拟合逻辑或对数链接回归来估计比值比或风险比。

模拟研究


对于实际的方法,我们可以使用二元结果和正态分布的基线变量进行小型模拟研究。我们使用逻辑回归模型生成。然后,我们使用基线变量(未调整的分析)估算优势比,然后实施IPTW估算器:

###模拟研究
nSim < -  1000
n < -  1000

unadjustedEst < -  array(0,dim = nSim)
IPTW_Est < -  array(0,dim = nSim)

for(i in 1:nSim){

z < -  1 *(runif(n)<0.5)
x < -  rnorm(n)
xb < -  x + z
prob < -  exp(xb)/(1 + exp(xb))
y < -  1 *(runif(n)<prob)


#IPTW估算
#first我们适合倾向评分模型
propModel < -  glm(z~x,family = binomial)

#calculate权重
wgt < -  1 / fitted_p
wgt [z == 0] < -  1 /(1-fitted_p [z == 0])

iptwMod < -  glm(y~z,family = binomial,weight = wgt)
IPTW_Est [i] < -  iptwMod $ coef [2]

}
 

然后,我们通过观察1000个模拟中的平均值和经验值SD来查看两个估算器的性能:
> mean(unadjustedEst)
[1] 0.8392246
> sd(unadjustedEst)
[1] 0.1353718
> 
> mean(IPTW_Est)
[1] 0.8364911
> sd(IPTW_Est)
[1] 0.1220977

我们首先注意到平均对数比值比处理效果估计值约为0.84,而不是数据生成机制中使用的值1。这是因为0.84是边际优势比,而1是条件优势比。

接下来,我们看到IPTW估计器在重复样本中的变量小于标准的未调整估计器。因此,我们通过使用基线变量获得了效率。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds