正常的Cox回归如下:
coxph(formula = Surv(time, status) ~ v1 + v2 + v3, data = x)
我已经计算了反向倾向治疗加权(IPTW)评分和随后的倾向评分。
倾向得分可按如下方式计算:
ps<-glm(treat~v1+v2+v3, family="binomial", data=x)
用于IPTW的权重计算如下:
weight <- ifelse (treat==1, 1/(ps), 1/(1-ps))
数据集中的每个主题都可以使用上述方法进行加权(每个主题确实得到一个特定的权重,如上所述计算),但我认为没有地方可以将权重放在“正常”Cox回归公式中。
是否有Cox回归公式,其中我们可以评估每个受试者的计算权重以及用于这些计算的R包或代码是什么?
您可以使用iptwsurvival包中的DIVAT数据集执行此操作:
##Generate ID
DIVAT$ID<- 1:nrow(DIVAT)
我们可以将IPTW计算为平均治疗效果,而不是治疗中的平均治疗效果
DIVAT$p.score <- glm(retransplant ~ age + hla, data = DIVAT,
family = "binomial")$fitted.values
DIVAT$ate.weights <- with(DIVAT, retransplant * 1/p.score + (1-retransplant)* 1/(1-p.score))
比我们可以执行cox回归
####COX without weight
coxph(Surv(times, failures)~ retransplant, data=DIVAT)->fit
summary(fit)
增加重量非常容易
###COX with weight naive model
coxph(Surv(times, failures)~ retransplant, data=DIVAT, weights = ate.weights)->fit
summary(fit)
###COX with weight and robust estimation
coxph(Surv(times, failures)~ retransplant + cluster(ID), data=DIVAT, weights = ate.weights)->fit
summary(fit)
然而,通过这种方式,标准误差的估计是有偏差的(请参见Austin,Peter C.“当使用反向治疗加权概率(IPTW)与生存分析时的方差估计。”医学统计35.30(2016):5642-5655。 )。奥斯汀建议依靠bootstrap估算器。但是我也堆积了,因为我无法找到执行这种分析的方法。如果您找到任何答案,请告诉我。