Como os modelos de aprendizado de máquina (GBM, NN etc.) podem ser usados ​​para análise de sobrevivência?

13

Eu sei que os modelos estatísticos tradicionais como Cox Riscos Proporcionais de regressão e alguns modelos de Kaplan-Meier podem ser usados para prever dias até a próxima ocorrência de uma falha digamos evento etc. ie análise de sobrevida

Questões

  1. Como a versão de regressão de modelos de aprendizado de máquina como GBM, redes neurais etc. pode ser usada para prever dias até a ocorrência de um evento?
  2. Acredito que apenas o uso de dias até a ocorrência como variável de destino e a simples execução de um modelo de regressão não funcionará? Por que não funciona e como pode ser corrigido?
  3. Podemos converter o problema da análise de sobrevivência em uma classificação e obter probabilidades de sobrevivência? Se então, como criar a variável de destino binário?
  4. Quais são os prós e os contras da abordagem de aprendizado de máquina versus regressão de riscos proporcionais de Cox e modelos de Kaplan-Meier etc?

Imagine que os dados de entrada de amostra estejam no formato abaixo

insira a descrição da imagem aqui

Nota:

  • O sensor faz o ping dos dados em intervalos de 10 minutos, mas às vezes os dados podem estar ausentes devido a um problema de rede, etc., conforme representado pela linha com NA.
  • var1, var2, var3 são os preditores, variáveis ​​explicativas.
  • fail_flag informa se a máquina falhou ou não.
  • Temos dados dos últimos 6 meses a cada 10 minutos para cada ID de máquina

EDITAR:

A previsão de saída esperada deve estar no formato abaixo insira a descrição da imagem aqui

Nota: quero prever a probabilidade de falha de cada uma das máquinas nos próximos 30 dias no nível diário.

GeorgeOfTheRF
fonte
1
Eu acho que ajudaria se você pudesse explicar por que esses são dados de tempo para evento; qual é exatamente a resposta que você deseja modelar?
Cliff AB
Eu editei e adicionei a tabela de previsão de saída esperada para esclarecer. Entre em contato se tiver mais alguma dúvida.
GeorgeOfTheRF
1
Existem maneiras de converter dados de sobrevivência em resultados binários em alguns casos, por exemplo, modelos discretos de risco de tempo: statisticshorizons.com/wp-content/uploads/Allison.SM82.pdf . Alguns métodos de aprendizado de máquina, como florestas aleatórias, podem modelar dados de tempo para eventos, por exemplo, usando a estatística de classificação de log como critério de divisão.
dsaxton
@dsaxton Obrigado. Você pode explicar como converter os dados de sobrevivência acima em resultados binários?
GeorgeOfTheRF
Depois de olhar mais de perto, parece que você já tem resultados binários com o failure_flag.
dsaxton

Respostas:

2

Veja estas referências:

https://www.stats.ox.ac.uk/pub/bdr/NNSM.pdf

http://pcwww.liv.ac.uk/~afgt/eleuteri_lyon07.pdf

Observe também que modelos tradicionais baseados em riscos, como Riscos Proporcionais de Cox (CPH), não são projetados para prever o tempo até o evento, mas para inferir o impacto das variáveis ​​(correlação) contra i) observações de eventos e, portanto, ii) uma curva de sobrevivência . Por quê? Veja o MLE do CPH.

Portanto, se você deseja prever mais diretamente algo como "dias até a ocorrência", o CPH pode não ser aconselhável; outros modelos podem servir melhor a sua tarefa, conforme observado nas duas referências acima.

Quetzalcoatl
fonte
1

Como o @dsaxton disse, você pode criar um modelo de tempo discreto. Você o configurou para prever p (falha no dia em que sobreviveu ao dia anterior). Suas entradas são o dia atual (em qualquer representação que você quiser), por exemplo, uma codificação quente, inteiro, .. Spline ... Assim como quaisquer outras variáveis ​​independentes que você deseja

Então você cria linhas de dados, para cada amostra que sobreviveu até o tempo t-1, morreu no tempo t (0/1).

Portanto, agora a probabilidade de sobreviver até o tempo T é o produto de p (não morra no momento t dado não morreu em t-1) para t = 1 a T. Ou seja, você faz previsões de T a partir do seu modelo e depois multiplicar juntos.

Eu diria que a razão pela qual não é uma idéia prever diretamente o tempo até o fracasso é por causa da estrutura oculta do problema. Por exemplo, o que você insere para máquinas que não falharam. A estrutura subjacente é efetivamente os eventos independentes: falha no momento t dado não falha até t-1. Por exemplo, se você assumir que é constante, sua curva de sobrevivência se tornará exponencial (consulte os modelos de risco)

Observe no seu caso que você pode modelar em um intervalo de 10 minutos ou agregar o problema de classificação até o nível do dia.

seanv507
fonte