0

我想使用训练数据集估计的 beta 系数来估计验证数据集的生存函数。生存函数写成如下: \widehat{S}(t)=&space;\widehat{S_0}(t)^{e(X\widehat{\beta})}

因此,第一步是估计基线生存函数:

因此,我需要使用 Breslow 方法估计训练数据集上的基线累积风险函数:

survfit我的问题是:估计函数使用什么选项/公式

我试过Surv(time, status) ~ 1没有协变量。我也试过survfitwithSurv(...)和 with coxph(Surv(...))

data(cancer, package="survival")
cox.mel <- coxph(Surv(time, status) ~ 1, data = cancer)
fit1 <- survfit(cox.mel, type='breslow', centered=T)
fit2 <- survfit(cox.mel, type='breslow', centered=F)
fit3 <- survfit(Surv(time, status) ~ 1, data = cancer, stype = 2, se.fit = TRUE)
fit4 <- survfit(Surv(time, status) ~ 1, data = cancer, ctype =1, se.fit = TRUE)

我发现这个 R 函数glmnet_basesurv允许计算 Breslow 基线危险估计器。它给了我不同的结果,我很想知道什么是正确的计算公式。在估计 ? 时是否应考虑协变量

lp <- predict(coxph(Surv(time, status) ~ 1, data = cancer) ,type="lp", newdata = cancer) 
fit. <- glmnet_basesurv(cancer$time, cancer$status, lp=lp) 
 
tail(cbind(fit1$cumhaz,fit2$cumhaz,fit3$cumhaz,fit4$cumhaz,fit.$cumulative_base_hazard))
               [,1]     [,2]     [,3]     [,4]     [,5]
    [181,] 2.639267 2.639267 2.639267 2.639267 1.081732
    [182,] 2.639267 2.639267 2.639267 2.639267 1.281732
    [183,] 2.889267 2.889267 2.889267 2.889267 1.396399
    [184,] 2.889267 2.889267 2.889267 2.889267 1.615065
    [185,] 2.889267 2.889267 2.889267 2.889267 2.115065
    [186,] 2.889267 2.889267 2.889267 2.889267 3.115065

谢谢您的帮助!

4

0 回答 0