Por que usar análise de sobrevivência?

Análise de Sobrevivência em Python

Shae Wang

Senior Data Scientist

Exemplo de vida média da bateria

Nome do DataFrame: battery_df

Battery ID Duration Dead Brand Truck
1 2.5 yrs No Brand A Long
2 6 yrs Yes Brand B Short
3 5 yrs No Brand B Long
... ... ... ... ...
1000 4.5 yrs Yes Brand A Short

Qual é a vida média da bateria?

np.average(battery_df["Duration"])
Análise de Sobrevivência em Python

Exemplo de vida média da bateria

Charge da censura na vida útil da bateria.

Análise de Sobrevivência em Python

Censura na vida útil da bateria

Charge da censura na vida útil da bateria.

  • $T_{duration} \neq T_{lifetime}$ para baterias que não morreram.
  • As baterias 1, 3, 4 e outras cujas falhas não foram observadas são contabilizadas de forma inadequada na média.
Análise de Sobrevivência em Python

O problema da censura

Quando o tempo de sobrevivência é apenas parcialmente conhecido.

Como ocorre a censura?

  • O evento ainda não ocorreu ao final da observação.
    • ex.: um usuário do teste grátis não virou pago até o fim do experimento.
  • Os dados da pessoa faltam por abandono ou perda de contato.
    • ex.: um usuário do teste grátis recusa compartilhar dados no experimento.
Análise de Sobrevivência em Python

Tipos de censura

Charge sobre tipos de censura.

  • Sem censura: o evento ocorreu e a duração de sobrevivência é conhecida.
  • Censura à direita: a duração de sobrevivência é maior que a duração observada.
  • Censura à esquerda: a duração de sobrevivência é menor que a observada.
  • Censura por intervalo: a duração fica dentro de um intervalo, mas não é exata.
Análise de Sobrevivência em Python

Por que a censura é ruim?

Estatísticas agregadas

  • Um tipo de dado ausente.
  • Distorcem estatísticas, p.ex., np.average(), max(), min().

Regressão

  • A regressão linear minimiza a soma dos erros quadráticos.
  • Com dados censurados, não sabemos os termos de erro.
Análise de Sobrevivência em Python

A função de sobrevivência

  • Não imputa dados censurados.
  • Modela a probabilidade de a duração de sobrevivência ser maior que um valor.

  $$S(t)=Pr(T>t)$$

Análise de Sobrevivência em Python

Análise de sobrevivência vs. censura

Charge de dados sem censura.

Charge de dados censurados.

Análise de Sobrevivência em Python

Verificando censura nos dados

Existe uma forma de identificar quais pontos estão censurados?

Passo 1) Verifique colunas de censura (muitas vezes já preprocessadas).

Há dados demais censurados?

Passo 2) Confira a proporção de pontos censurados (regra prática: 50%).

A censura é não-informativa e aleatória?

Passo 3) Investigue as causas da censura para garantir que estar censurado não afete a sobrevivência.

Análise de Sobrevivência em Python

Vamos praticar!

Análise de Sobrevivência em Python

Preparing Video For Download...