在R中,幸存的“ldcase”和“ldresp”残差是什么?

时间:2018-03-18 13:33:24

标签: r survival-analysis survival

我试图了解在幸存模型上运行残差函数产生的“ld”残差是什么?

例如

library(survival)
mod <- survreg(Surv(time, status -1) ~  age , data = lung)
residuals( mod , "ldcase")
residuals( mod, "ldshape")
residuals( mod , "ldresp")

剩余功能的文档说明如下:

  

基于这些数量的诊断在一篇文章中讨论   Escobar和Meeker。主要是可能的位移   用于扰动案件重量(ldcase)的残差,即响应   value(ldresp)和形状。

     

参考

     

Escobar,L。A.和Meeker,W。Q.(1992)。评估影响力   使用删失数据进行回归分析。生物识别技术48,507-528。

特别是对于案例权重“ldcase”,我从参考文献中得出的理解是,这些残差表示通过将受试者的体重设置为2来拟合原始模型和相同模型之间的对数似然差异的两倍估计值。 / p>

然而,当我尝试自己手动编码时,我的派生值似乎与剩余函数产生的值完全没有关系(下面完全可重现的例子):

library(survival)
library(ggplot2)

mod <- survreg( Surv(time, status -1) ~  age ,    data = lung)

get_ld <- function(i, mod){
    weight <- rep(1 , nrow(lung))
    weight[i] <- 2
    modw <- survreg( 
        Surv(time, status -1) ~  age  , 
        data = lung , 
        weights = weight
    )
    2 * as.numeric(logLik(mod) - logLik(modw))
}

dat <- data.frame(
    ld =  sapply( 1:nrow(lung), get_ld , mod = mod),
    ld_est = residuals(mod , "ldcase")
)

ggplot( data = dat , aes( x = ld_est , y = ld)) + geom_point()

enter image description here

此外,从论文中,这些残差应该以2 * chisq(p + 2)分布分布,在这种情况下,p = 1给出单侧95%截止点15.62,这意味着我手动派生残差至少在正确的范围内,这让我对“ldcase”返回的残差究竟是什么感到困惑?

0 个答案:

没有答案