应用科学中的一个常见问题是审查数据,特别是由于检测或检测下限 (LOD) 的设备而产生的左审查数据。
假设两者之间存在线性关系和我们可以拟合 Tobit 回归,比如通过survreg()
R 中的方法,其中删失数据的“事件时间”设置为 LOD,并且我们指定删失后的观测值是左删失的。这里可能是水样中化合物的测量值,该化合物的检出限较低。
我知道 Cox PH 模型经常用于审查数据,但我看到的大多数(如果不是全部)使用它的例子都是在生存或事件发生时间设置中。
Cox PH 是否适合模拟有条件的在存在由我上面描述的检测限引起的左删失数据的情况下?
我提出问题的动机是,我感兴趣的几个 R 包包括在family
Rglm()
函数的参数意义上的 Cox PH 系列,目的是允许 Cox PH 模型适合弹性网络模型(通过glmnet ) 或通过在mgcv中实现的 Wood 等人 (2016) 的一般平滑方法在 GAM 中。
作为一个具体的例子,考虑以下
在哪里和,. 因此真正的关系是和. 假设检测水平低于此值的值将被删除。
survreg()
使用R拟合 Tobit 模型(下面的代码)会产生
> summary(sfit)
Call:
survreg(formula = Surv(ycensored, cens == 1, type = "left") ~
x, data = dat, dist = "loggaussian")
Value Std. Error z p
(Intercept) -0.0176 0.0207 -0.849 3.96e-01
x 0.5076 0.0112 45.193 0.00e+00
Log(scale) -0.6770 0.0239 -28.355 7.20e-177
Scale= 0.508
Log Normal distribution
Loglik(model)= -1361.8 Loglik(intercept only)= -1951.2
Chisq= 1178.79 on 1 degrees of freedom, p= 0
Number of Newton-Raphson Iterations: 5
n= 1000
这很好地恢复了参数的真实值。
尝试使用左删失Surv()
对象拟合 Cox PH 模型会导致错误,cox.ph()
表明 Cox 模型不支持左删失数据,这让我怀疑主要问题的答案是否定的。
如果答案是否定的,有没有办法重新排列或转换
数据问题以允许拟合 Cox PH 模型?- 如果这是可能的,需要进行哪些重新排列或转换?在解释模型拟合的输出时是否需要采取任何特殊步骤?
如果 Cox PH 模型完全不合适,是否还有其他方法可以对一般左删失数据进行建模,例如所描述的?
R代码
set.seed (237)
nsim <- 1000
x <- rnorm (nsim, 1, 1.5)
y <- exp (x /2 + rnorm (nsim, 0, 0.5))
c <- 0.5
dat <- data.frame(y = y, ycensored = y, x = x, cens = rep(0, nsim))
ind <- y > c
dat$cens[ind] <- 1
dat$ycensored[!ind] <- c
## Fit the Tobit model
library("survival")
sfit <- survreg(Surv(ycensored, cens == 1, type = "left") ~ x,
dist = "loggaussian", data = dat)
summary(sfit)
Wood, SN, N. Pya 和 B. Saefken (2015),一般平滑模型的平滑参数和模型选择。http://arxiv.org/abs/1511.03864