Sua primeira curva de sobrevivência!

Análise de Sobrevivência em Python

Shae Wang

Senior Data Scientist

A função de sobrevivência

  • $T$: quando o evento de interesse ocorre
  • $t$: qualquer ponto no tempo durante a observação

$$\Large{S(t) = Pr(T>t)}$$

  • $S(t)$: modela a probabilidade de o evento ocorrer após $t$
  • $Pr(T>t)$: a probabilidade de sobrevivência
Análise de Sobrevivência em Python

A curva de sobrevivência

$$\Large{S(t) = Pr(T>t)}$$

Exemplo de curva de sobrevivência.

Análise de Sobrevivência em Python

A curva de sobrevivência

$$\Large{S(t) = Pr(T>t)}$$

Exemplo de curva de sobrevivência.

Análise de Sobrevivência em Python

A curva de sobrevivência

$$\Large{S(t) = Pr(T>t)}$$

Exemplo de curva de sobrevivência.

Legenda da curva de sobrevivência.

Análise de Sobrevivência em Python

Interpretando uma curva de sobrevivência

  • Ponto$(a,b)$: a probabilidade de um indivíduo sobreviver além de $a$ é $b$

Exemplo de curva de sobrevivência.

Análise de Sobrevivência em Python

Interpretando uma curva de sobrevivência

  • Ponto$(a,b)$: a probabilidade de um indivíduo sobreviver além de $a$ é $b$
  • Curva mais plana: menor taxa de ocorrência do evento
  • Curva mais íngreme: maior taxa de ocorrência do evento

Exemplo de curva de sobrevivência com ponto marcado.

Análise de Sobrevivência em Python

Modelos não paramétricos versus paramétricos

Modelagem não paramétrica
  • Não faz suposições sobre o formato dos dados
Modelagem paramétrica
  • Faz algumas suposições sobre o formato dos dados
  • Descrita por um conjunto limitado de parâmetros
    • ex.: pode-se supor que a curva siga uma distribuição exponencial
Análise de Sobrevivência em Python

Modelos não paramétricos versus paramétricos

Modelagem não paramétrica
  • A curva de sobrevivência geralmente NÃO é suave

Exemplo de curva de sobrevivência não paramétrica.

Modelagem paramétrica
  • A curva de sobrevivência geralmente é suave

Exemplo de curva de sobrevivência paramétrica.

  • Depende de o modelo paramétrico descrever bem os dados
Análise de Sobrevivência em Python

Desenhando uma curva de sobrevivência

O pacote lifelines é uma biblioteca completa de análise de sobrevivência.

  • Ajusta funções de sobrevivência aos dados
  • Plota curvas de sobrevivência com base nas funções ajustadas
import lifelines
import matplotlib.pyplot as plt

.fit(durations, event_observed)

.plot_survival_function()

Análise de Sobrevivência em Python

Exemplo de curva de sobrevivência

Nome do DataFrame: mortgage_df

id duration paid_off
1 25 0
2 17 1
3 5 0
... ... ...
100 30 1
  • id: o id de um financiamento imobiliário
  • duration: número de anos sem quitar o financiamento
  • paid_off: 1 se o financiamento foi totalmente quitado; 0 caso contrário
Análise de Sobrevivência em Python

Exemplo de curva de sobrevivência

import lifelines
from matplotlib import pyplot as plt
kmf = lifelines.KaplanMeierFitter()
kmf.fit(duration=mortgage_df["duration"], 
        event_observed=mortgage_df["paid_off"])
kmf.plot_survival_function()
plt.show()

exemplo de curva de sobrevivência de Kaplan-Meier

Análise de Sobrevivência em Python

Vamos praticar!

Análise de Sobrevivência em Python

Preparing Video For Download...