Análise de Sobrevivência em Python
Shae Wang
Senior Data Scientist
Nome do DataFrame: mortgage_df
| id | property type | duration | paid_off |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Property type: tipo de imóvel financiado pela hipoteca (house ou apartment)
Geralmente queremos avaliar se há diferenças na sobrevivência (ou probabilidades de evento/sobrevivência) entre grupos de sujeitos.
Ajuste uma função de sobrevivência de Kaplan-Meier para cada grupo e visualize as curvas lado a lado.
Benefícios:
Nome do DataFrame: mortgage_df
| id | property type | duration | paid_off |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Crie uma máscara booleana para cada grupo.
house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")
Se houver apenas 2 grupos, só 1 máscara é necessária. O outro pode ser referenciado por negação.
Crie uma figura e instancie a classe KaplanMeierFitter.
ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()
Ajuste mortgage_kmf ao grupo de casas e plote na figura ax.
mortgage_kmf.fit(duration=mortgage_df[house]["duration"],
event_observed=mortgage_df[house]["paid_off"],
label="Houses")
mortgage_kmf.plot_survival_function(ax=ax)
Ajuste mortgage_kmf ao grupo de apartamentos e plote na figura ax.
mortgage_kmf.fit(duration=mortgage_df[apt]["duration"],
event_observed=mortgage_df[apt]["paid_off"],
label="Apartments")
mortgage_kmf.plot_survival_function(ax=ax)
plt.show()


Nota: se os intervalos de confiança se sobrepõem em alguns pontos, é menos provável que haja uma diferença real entre as curvas.
Análise de Sobrevivência em Python