【问题标题】:Creating a full vs. reduced model with one explanatory variable使用一个解释变量创建完整与简化模型
【发布时间】:2022-01-11 21:07:21
【问题描述】:

我正在尝试创建一个只有一个解释变量的 Cox 比例风险模型。要执行似然比检验,我知道我需要一个完整的简化模型。我也知道完整模型将是每个组的单独平均值,而简化模型将使用整个数据集的整体平均值。如何确保在 R 中正确设置?在该模型中,如果患者进行了心脏手术,z 为 1,否则 z 为 0

我有:

model<-coxph(Surv(time,delta)~z,method='breslow',data=heartdata)

X.lr <- 2*(model$loglik[2]-model$loglik[1])

这能实现吗?我得到了一个答案,我只是想知道这是否是一个完整的模型和简化的模型,因为我没有其他变量可以使用?

【问题讨论】:

    标签: r survival-analysis cox


    【解决方案1】:

    在这种情况下,这确实有效,但我认为使用update()anova() 有更好/更透明的解决方案(我什至不知道coxph 模型的对数似然组件包括完整和零偏差)。

    使用来自survival 包的内置数据集:

    ## drop NAs so we are using the same data set for full & reduced models
    lungna <- na.omit(lung)
    ## fit full model
    m1 <- coxph(Surv(time, status) ~ ph.ecog, data=lungna)
    ## update model to fit intercept only (` ~ 1 ` replaces the RHS of the formula):
    ## ~ 1 means "intercept only" in R formula notation
    m0 <- update(m1, . ~ 1)
    ## anova() runs a likelihood-ratio test
    anova(m0,m1)
    

    结果:

    Analysis of Deviance Table
     Cox model: response is  Surv(time, status)
     Model 1: ~ 1
     Model 2: ~ ph.ecog
       loglik  Chisq Df P(>|Chi|)    
    1 -508.12                        
    2 -501.91 12.409  1 0.0004273 ***
    

    您可以确认 2*diff(m1$loglik) 给出 12.409,与 anova() 报告的偏差(“Chisq”)差异值相同,并且 pchisq(chisq_val, df = 1, lower.tail = FALSE) 给出报告的 p 值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 2022-12-19
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多