Como calcular a mortalidade em 28 dias?
Tenho um banco de dados EHR retrospectivo de um hospital e gostaria de construir um modelo de ML para prever se um paciente morrerá dentro de 28 dias ou não (a partir da alta / algum momento T)
Posso verificar com você as etapas abaixo?
a) Digamos que eu tenha uma amostra de 5.000 pacientes
b) Eu escolho dados de treinamento como 3500 pacientes
c) Para esses 3500 pacientes, extraio as variáveis necessárias e seus valores até o momento "T"
d) E agora, para os dados de treinamento, precisamos de rótulos, então eu calculo usando um script Python se essa pessoa morreu dentro de 28 dias a partir do tempo "t" (porque eu tenho todos os seus dados. Posso encontrar a diferença entre sua data de alta e data de óbito)
e) Se sim, vou rotulá-lo como "1", senão "0"
f) Eu construo um modelo de aprendizagem supervisionada usando regressão logística
Agora vem a parte desafiadora (para mim, pelo menos)
g) Eu gostaria de aplicar este modelo no conjunto invisível de 1.500 pacientes
h) Extraio as mesmas variáveis que os dados de treinamento
i) Agora eu aplico o modelo a esses dados invisíveis de 1.500 pacientes
k) Mas o problema é que isso só vai dar se o paciente vai morrer ou não. Como posso saber se ele vai morrer ou não nos 28 dias?
Como posso incorporar esse componente de tempo aqui.
Alguém pode me ajudar fornecendo etapas fáceis de entender e qual algoritmo usar, por favor?
Respostas
Como @DWin disse em um comentário, esta é uma aplicação padrão de análise de sobrevivência. Isso tem a vantagem de avaliar não apenas a ocorrência do evento, mas também os tempos para os eventos.
Se você prosseguir com sua divisão de treinamento / teste (mesmo 5.000 pacientes podem não ser suficientes para que isso seja confiável; a avaliação do modelo por reamostragem pode ser melhor), você diz que tem dados de tempo até o evento. Nesse caso, mesmo com um modelo de regressão logística tudo ou nada, você pode avaliar a mortalidade em 28 dias, ignorando as mortes que ocorrem após 28 dias de sua hora de início.
O rmspacote em R, também observado por @DWin, fornece uma infraestrutura bem desenvolvida para combinar análise de sobrevivência com validação e calibração de modelo baseado em reamostragem e fornecer previsões para combinações especificadas de valores de covariável. Não há razão para que as abordagens usadas não possam ser estendidas para análises com um sabor mais de "aprendizado de máquina" ou "ciência de dados". Esteja ciente de que os modelos fornecidos por essas últimas abordagens podem ser mais difíceis para meros seres humanos interpretarem.