Regressão de Cox com uma covariável dependente do tempo (uma característica muda ao longo do tempo)
Em resumo
Algumas características mudam durante a observação: começa uma terapia, faz-se um transplante, volta a medir-se um valor laboratorial. Tratar uma característica destas como um grupo fixo «alguma vez mudou» cria o enviesamento do tempo imortal (immortal time bias). A regressão de Cox com uma covariável dependente do tempo evita-o: cada pessoa tem o valor 0 até à mudança e o valor 1 a partir da mudança. Escolhe-se na pergunta «Quanto tempo demora até acontecer um evento?», em «Mais opções» → «Uma característica muda ao longo do tempo».
O enviesamento do tempo imortal
Quem muda mais tarde teve de sobreviver até lá. Se se contar essa pessoa no grupo dos que mudaram desde o início, esse grupo parece viver mais tempo apenas por causa deste erro. Medido numa simulação com uma razão de riscos (hazard ratio) verdadeira de 1: o grupo fixo «alguma vez mudou» dá em média um HR de 0,49 e é significativo em todas as execuções; a covariável dependente do tempo dá 0,99 e um resultado significativo em 4% das execuções. Nos dados do coração de Stanford (transplante), o grupo fixo desce para um HR de 0,27 e a covariável dependente do tempo para 1,04. Por isso a covariável só pode ter em cada momento valores que já eram conhecidos nesse momento.
Os dados: forma de intervalos
O Statable precisa da tabela em forma de intervalos (processo de contagem): uma linha por pessoa e intervalo com o identificador, o início, o fim, o evento e o valor que vigorava nesse intervalo. Os intervalos são abertos à esquerda e fechados à direita: (início, fim]. O valor vigora desde o início, o evento acontece no fim. O evento (1) está só na última linha da pessoa. No cartão escolhem-se o identificador, o início e a covariável dependente do tempo; o tempo acima é o fim. Antes de calcular, o Statable verifica: início menor do que o fim, sem sobreposição, sem lacuna, no máximo um evento por pessoa e só na última linha.
O assistente «Pontos no tempo por pessoa → intervalos»
Se a tabela tiver só uma linha por pessoa com o fim, o evento e o momento de uma mudança (vazio = nunca), o assistente em Dados > Reestruturar constrói a tabela em forma de intervalos: valor 0 antes da mudança, 1 a partir da mudança, e as colunas escolhidas da pessoa passam para todas as linhas. Diz quantas pessoas mudaram, a quantas a mudança calha no início ou depois do fim da observação (erro de introdução? ou já o enviesamento do tempo imortal nos dados brutos) e a quantas no dia do evento. A nova tabela não leva consigo o peso do caso.
Mudança no dia do evento
Se a mudança cair no dia do evento, a regra decide o resultado. Estrito (predefinido): a mudança só vigora a partir daí, o evento ainda pertence ao valor antigo. «Já conta»: a mudança é antecipada em metade do menor intervalo de tempo nos dados (0,5 para dias, uma fração para anos), que é também como o survival fixa a ordem; o Statable nomeia o valor. Nos dados do coração de Stanford isto afeta um único doente e desloca a razão de riscos (hazard ratio) do transplante de 0,90 (estrito) para 0,99 (já conta). O Statable nomeia sempre a regra e o número de pessoas afetadas.
Ler o resultado
- A razão de riscos (hazard ratio) da covariável dependente do tempo compara o risco instantâneo depois da mudança com o de antes, sendo iguais as restantes características. HR = 1 significa: nenhuma diferença. Não é um risco relativo.
- O resultado descreve uma relação com o risco depois da mudança, não a prova de um efeito. Se a covariável for ela própria uma consequência da doença (por exemplo, um valor laboratorial), já diz algo sobre o evento (covariável interna).
- O Statable trata os tempos de evento empatados segundo Efron. O Statable verifica o pressuposto de riscos proporcionais com cox.zph; com covariáveis dependentes do tempo, o teste é apenas uma orientação. Nesta forma não existe concordância.
- Regra prática: pelo menos 10 eventos por coeficiente, eventos nos dois estados (antes e depois da mudança) e pelo menos 5 pessoas com uma mudança; caso contrário, o Statable avisa.
Outra coisa: o efeito dependente do tempo
Uma covariável dependente do tempo não é o mesmo que um efeito dependente do tempo (tt() em R): neste último, a característica permanece fixa (por exemplo, a idade) e o seu efeito muda com o tempo, pelo que viola a proporcionalidade. O Statable não oferece isto.
Comunicar o resultado
Regressão de Cox com uma covariável dependente do tempo: teste LR χ²(4) = 15,11, p = ,004; HR = 0,99, IC a 95% [0,53; 1,82], p = ,967 (transplante); 103 pessoas em 170 linhas, 75 eventos
Para especialistas
survival::coxph com Surv(start, stop, event), ties = «efron», teste de Wald e intervalo de Wald com qnorm(.975); várias linhas por pessoa não são problema para uma covariável dependente do tempo sem variância robusta (os intervalos não se sobrepõem). A reestruturação corre em JavaScript e coincide linha a linha com survival::tmerge; o modelo da vinheta do survival (Kalbfleisch e Prentice 1980, tabela 6.1, modelo 6) é reproduzido até ao último dígito impresso.
library(survival)
m <- coxph(Surv(start, stop, event) ~ transplant + age + surgery + year, data = heart_long, ties = "efron")
summary(m)
Fontes
Therneau, T. M. & Grambsch, P. M. (2000). Modeling survival data: extending the Cox model. Springer. Kalbfleisch, J. D. & Prentice, R. L. (1980). The statistical analysis of failure time data. Wiley. Crowley, J. & Hu, M. (1977). Covariance analysis of heart transplant survival data. Journal of the American Statistical Association, 72, 27-36. Vinheta do survival «Using time dependent covariates and time dependent coefficients in the Cox model».