Como estimar a função de risco de linha de base no modelo Cox com R

13

Preciso estimar a função de risco de linha de base em um modelo Cox dependente do tempoλ0(t)

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

Enquanto eu fazia o curso de Sobrevivência, lembro que a derivada direta da função de risco cumulativo ( ) não seria um bom estimador, porque o estimador Breslow fornece uma função de etapa.λ0(t)dt=dΛ0(t)

Então, existe alguma função no R que eu possa usar diretamente? Ou alguma referência a esse tópico?

Não tenho certeza se vale a pena abrir outra pergunta, portanto, apenas adiciono alguns antecedentes sobre por que a função de risco de linha de base é importante para mim. A fórmula abaixo estima a probabilidade de que o tempo de sobrevivência para um sujeito seja maior que o outro. Sob uma configuração do modelo Cox, a função de risco de linha de base é necessária. λ0(t)

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

alongado
fonte
Sobre a estimativa de Breslow: stats.stackexchange.com/questions/20747/…
Stéphane Laurent
A fórmula (4) deste artigo fornece uma estimativa. jstor.org/stable/2530904
along

Respostas:

20

Um modelo de Cox foi explicitamente projetado para poder estimar as taxas de risco sem ter que estimar a função de risco da linha de base. Esta é uma força e uma fraqueza. O ponto forte é que você não pode cometer erros nas funções que não estima. Essa é uma força real e é a razão pela qual as pessoas se referem a ela como "semi-paramétrica" ​​e é em grande parte responsável por sua popularidade. No entanto, também é uma fraqueza real, pois, uma vez que você quer saber algo diferente da taxa de risco, muitas vezes precisará da função de risco de linha de base e isso derrota o próprio objetivo de um modelo de Cox.

Portanto, costumo usar os modelos Cox apenas quando estou interessado em taxas de risco e nada mais. Se eu quiser saber outras coisas, normalmente passo para outros modelos, como os discutidos aqui: http://www.stata.com/bookstore/flexible-parametric-survival-analysis-stata/

Maarten Buis
fonte
2
1 Esta é outra maneira de modelar parametricamente a linha de base perigo data.princeton.edu/wws509/notes/c7s4.html
Boscovich
3

A função de risco da linha de base pode ser estimada em R usando a função "basehaz". O arquivo "help" afirma que é a função "sobrevivência prevista" que claramente não é. Se alguém inspeciona o código, é claramente a função de risco cumulativo de um survfitobjeto. Para bobagens adicionais, a configuração padrão é centered=TRUEa) a) não é uma função de risco de linha de base (como o nome sugere) eb) emprega previsão nos meios que são amplamente desacreditados como válidos em qualquer sentido prático.

E ao seu ponto anterior: sim, esta função faz uso da função step. Você pode transformar essa saída em uma função de perigo usando suavização. A pior parte de tudo, qual é o intervalo de incerteza para essa previsão? Você pode receber uma medalha Fields se puder obtê-la. Acho que nem sabemos se o bootstrap funciona ou não.

Como um exemplo:

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')

insira a descrição da imagem aqui

AdamO
fonte