Cómo estimar la función de riesgo de referencia en el modelo de Cox con R


13

Necesito estimar la función de riesgo basal en un modelo de Cox dependiente del tiempoλ0(t)

λ(t)=λ0(t)exp(Z(t)β)

Mientras tomé el curso de supervivencia, recuerdo que la derivada directa de la función de riesgo acumulativo ( ) no sería un buen estimador porque el estimador de Breslow proporciona una función escalonada.λ0(t)dt=dΛ0(t)

Entonces, ¿hay alguna función en R que pueda usar directamente? ¿O alguna referencia sobre este tema?

No estoy seguro de si vale la pena abrir otra pregunta, así que solo agrego algunos antecedentes por qué la función de riesgo de referencia es importante para mí. La siguiente fórmula estima la probabilidad de que el tiempo de supervivencia de un sujeto sea mayor que otro. Bajo una configuración de modelo de Cox, se requiere la función de riesgo de línea base . λ0(t)

P(T1>T2)=0S1(t)dS2(t)=0S1(t)S2(t)λ2(t)dt



Acerca de la estimación de Breslow: stats.stackexchange.com/questions/20747/…
Stéphane Laurent

La fórmula (4) de este artículo da una estimación. jstor.org/stable/2530904
ELONG

Respuestas:


20

Un modelo de Cox fue diseñado explícitamente para poder estimar las razones de riesgo sin tener que estimar la función de riesgo de referencia. Esta es una fortaleza y una debilidad. La fortaleza es que no puede cometer errores en funciones que no estima. Esta es una verdadera fortaleza y es la razón por la cual las personas se refieren a ella como "semi-paramétrica" ​​y es en gran medida responsable de su popularidad. Sin embargo, también es una debilidad real, ya que una vez que desee saber algo más que la relación de riesgo, a menudo requerirá la función de riesgo de referencia y eso frustra el propósito mismo de un modelo de Cox.

Por lo tanto, tiendo a usar los modelos de Cox solo cuando estoy interesado en las razones de riesgo y nada más. Si quiero saber otras cosas, normalmente paso a otros modelos como los discutidos aquí: http://www.stata.com/bookstore/flexible-parametric-survival-analysis-stata/


2
+1 Esta es otra forma de modelar paramétricamente los datos de riesgo de línea de base.princeton.edu/wws509/notes/c7s4.html
boscovich

3

La función de riesgo de referencia puede estimarse en R utilizando la función "basehaz". El archivo de "ayuda" indica que es la función de "supervivencia prevista", que claramente no lo es. Si uno inspecciona el código, es claramente la función de riesgo acumulativo de un survfitobjeto. Para más tonterías, la configuración predeterminada es centered=TRUEque a) no es una función de riesgo de referencia (como su nombre lo sugiere), yb) emplea predicción en el medio que está desacreditada como válida en cualquier sentido práctico.

Y para su punto anterior: sí, esta función hace uso de la función de paso. Puede transformar esa salida en una función de peligro mediante suavizado. La peor parte de todo, ¿cuál es el intervalo de incertidumbre para esa predicción? Puede obtener una medalla Fields si puede obtenerla. No creo que sepamos si el bootstrapping funciona o no.

Como ejemplo:

set.seed(1234)
x <- rweibull(1000, 2, 3)
coxfit <- coxph(Surv(x) ~ 1)
bhest <- basehaz(coxfit)
haz <- exp(diff(bhest[, 1])*diff(bhest[, 2]))
time <- (bhest[-1,2] + bhest[-1000, 2])/2
b <- 2^-3

curve(3*b*x, from=0, to=max(x), xlab='Survival time', ylab='Weibull hazard')
points(t <- bhest[-1,2], h <- diff(bhest[, 1])/diff(bhest[, 2]), col='grey')
smooth <- loess.smooth(t, h)
lines(smooth$x, smooth$y, col='red')
legend('topright', lty=c(1,1,0), col=c('black', 'red', 'grey'), pch=c(NA,NA,1), c('Actual hazard fun', 'Smoothed hazard fun', 'Stepped discrete-time hazards'), bg='white')

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.