Cox 回归,一个治疗组没有发生任何事件

问题描述 投票:0回答:1

我正在尝试使用 IPTW 计算药物效果的 HR,但在一个治疗组中没有发生任何事件。 这是一个表示(唯一的区别是为了简单起见,这里没有包含权重)

set.seed(1)
summary(time <- runif(100, 0, 100))
table(drug <- c(rep(0, 50), rep(1, 50)))
table(event <- c(sample(0:1, 50, replace = TRUE, prob = c(.75, .25)), rep(0, 50)), useNA = "ifany")
data <- data.frame(time, event, drug)
summary(coxph(Surv(time, event)~drug, data=data)) 

这是输出:

Call:
coxph(formula = Surv(time, event) ~ drug, data = data)

  n= 100, number of events= 8 

           coef  exp(coef)   se(coef)      z Pr(>|z|)
drug -2.107e+01  7.064e-10  1.453e+04 -0.001    0.999

     exp(coef) exp(-coef) lower .95 upper .95
drug 7.064e-10  1.416e+09         0       Inf

Concordance= 0.75  (se = 0.032 )
Likelihood ratio test= 9.56  on 1 df,   p=0.002
Wald test            = 0  on 1 df,   p=1
Score (logrank) test = 6.58  on 1 df,   p=0.01

Warning message:
In coxph.fit(X, Y, istrat, offset, init, control, weights = weights,  :
  Loglik converged before variable  1 ; coefficient may be infinite.

我知道这个问题已经在其他线程中得到了解释(例如herehere)。然而,目前还不清楚我如何处理这个问题以获得有意义的系数(和HR)。 Therneau 和 Grambsch 在生存数据建模——扩展 Cox 模型的第 3.5 节“无限系数”中也讨论了这个问题,但我没有这本书(不幸的是)。

有人可以帮忙吗?谢谢

r survival-analysis survival
1个回答
0
投票

这种情况下的要点是系数的最大似然估计是无限的,并且实现之间的唯一区别在于它们停止迭代的位置。进一步总结您引用的参考文献:

Wald 检验在这种情况下毫无价值。 [..] 然而,分数和似然比测试仍然有效。

除了令人烦恼之外,我们根本不认为这是一个严重的问题 Wald 近似的数值分解。一个人只是被迫的 进行似然比或分数检验所需的多重拟合。

最后,如果您不需要调整协变量,如您的示例所示和链接中的说明,您可以随时使用对数秩检验 (
survival::survdiff

),这只是 Cox 模型的一个特例:


有趣的是,在一个子集没有事件的情况下,很少有人对使用对数秩统计量提出类似的担忧。

© www.soinside.com 2019 - 2024. All rights reserved.