Visualize a análise de sobrevivência com covariáveis ​​dependentes do tempo

8

Como acompanhamento da sugestão de modelo para uma regressão de Cox com covariáveis ​​dependentes do tempo, aqui está o gráfico de Kaplan Meier, responsável pela natureza dependente do tempo das gestações. Em outras palavras, o conjunto de dados agora é dividido em um longo conjunto de dados com várias linhas de acordo com o número de gestações. O gráfico KM, e também o modelo cox estendido, parece sugerir um efeito benéfico da gravidez no resultado. No entanto, olhando para o gráfico KM, estou pensando: a linha do primeiro nascimento deve começar em 1,0? Não seria mais intuitivo iniciar essa linha no valor y para 0 nascimentos em x igual a quando o primeiro nascimento é dado?

EDIT: Depois de pesquisar mais de perto, vejo que o KM regular não é bom. Em vez que deve usar o método de Simon e Makuch que é usado no Stata (Simon R, Makuch RW. Representação gráfica Um não-paramétrico da relação entre a sobrevivência e a ocorrência de um evento: aplicação para respondedor contra polarização não-respondedor. Estatísticas in Medicine , 1984; 3: 35-44.)

Alguém viu isso implementado para o R?

insira a descrição da imagem aqui

Misha
fonte

Respostas:

6

Não consegui acessar o artigo de Simon e Makuch mencionado acima, mas depois de pesquisar o tópico, encontrei:

Steven M Snapinn, Qi Jiang e Boris Iglewicz (2005) ilustrando o impacto de uma covariável variável no tempo com um estimador estendido de Kaplan-Meier , The American Statistician , 59: 4, 301-307.

Esse artigo propõe um gráfico de Kaplan-Meier (KM) dependente do tempo, simplesmente atualizando as coortes em todos os momentos do evento. Também cita o artigo de Simon e Makuch por propor uma idéia semelhante. O KM regular não permite isso, apenas permite uma divisão fixa em grupos. O método proposto, na verdade, divide o tempo de sobrevivência de acordo com o status covariado - exatamente como se poderia fazer ao estimar um modelo de Cox com covariáveis ​​constantes por partes. Para o modelo de Cox, essa é uma ideia viável e padrão. No entanto, é mais complicado ao fazer um gráfico de KM. Deixe-me ilustrá-lo com um exemplo de simulação.

Vamos supor que não temos censura, mas algum evento (por exemplo, parto) que pode ou não ocorrer antes da hora da morte. Vamos também assumir riscos constantes por uma questão de simplicidade. Também assumiremos que o parto não altera o risco de morrer. Agora, seguiremos o procedimento prescrito no artigo acima. O artigo afirma claramente como isso é feito em R, simplesmente divida seus sujeitos no momento do parto, de modo que sejam constantes em sua variável de agrupamento. Em seguida, use a formulação do processo de contagem na Survfunção. Em código

library(survival)
library(ggplot2)
n          <- 10000
data       <- data.frame(id = seq(n), 
                         preg = rexp(n, 1), 
                         death = rexp(n, .5), 
                         enter = 0, 
                         per = NA, 
                         event = 1)
data$exit  <- data$death

data0      <- data
data0$exit <- with(data, pmin(preg, death))
data0$per  <- 0
data0$event[with(data0, preg < death)] <- 0

data1       <- subset(data, preg < death)
data1$enter <- data1$preg
data1$per   <- 1

data <- rbind(data0, data1)
data <- data[order(data$id), ]

Sfit <- survfit(Surv(time = enter, time2 = exit, event = event) ~ per, data = data)
autoplot(Sfit, censSize = 0)$plot

Estou mais ou menos dividindo "à mão". Nós poderíamos usar survSplittambém. O procedimento realmente me fornece uma estimativa muito boa.

Sem viés

Temos estimativas quase idênticas para os dois grupos como deveríamos. Mas, na verdade, minha simulação foi talvez um pouco irrealista. Digamos que uma mulher não possa dar à luz nas duas primeiras unidades de tempo por algum motivo. Isso é pelo menos razoável no seu exemplo: haverá algum tempo entre duas gestações correspondentes à mesma mulher. Fazendo uma pequena adição ao código

data <- data.frame(id = seq(n), 
                   preg = rexp(n, 1) + 2, 
                   death = rexp(n, .5), 
                   enter = 0, 
                   preg = NA, 
                   event = 1)

obtemos o seguinte gráfico:

Viés

O mesmo estaria acontecendo com seus dados. Você não verá nenhuma terceira gravidez por pelo menos um período inicial de tempo, o que significa que sua estimativa será de 1 para esse grupo e esse período de tempo. Na minha opinião, isso é uma deturpação de seus dados. Considere minha simulação. Os riscos são idênticos, mas para todo momento a per1estimativa é maior que a per0estimativa.

Você pode considerar soluções diferentes para esse problema. Você propõe colá-los juntos em algum momento (deixe a per1curva começar a partir de um certo ponto na per0curva). Eu gosto desta ideia. Se eu fizer isso nos dados da simulação, obtemos:

insira a descrição da imagem aqui

No nosso caso específico, acho que isso representa melhor os dados, mas não conheço nenhum resultado publicado que suporte essa abordagem. Heuristicamente, pode-se usar o argumento que apresentei em outra resposta:

Gráfico de KM com coeficiente variável no tempo

swmo
fonte
Editei um pouco a sua postagem para torná-la mais legível. Se você não gostar, reverta-o com minhas desculpas.
gung - Restabelece Monica
0

Há um post recente sobre esse assunto em geral no CV: Qual é o melhor gráfico para descrever uma análise de sobrevivência com uma covariável dependente do tempo?

Além disso, agora existe a possibilidade de calcular o teste Mantel-Byar e acompanhar a plotagem de Simon-Makuch em R, usando Rcmdros RcmdrPlugin.EZRpacotes e.

Consulte a postagem do SO relacionada que contém um código R detalhado: /programming/40431559/mantel-byar-test-and-simon-makuch-plot-for-survival-analysis-with-time-dependent

Joe_74
fonte