Aplikace analýzy přežití na skupiny

Survival Analysis in Python

Shae Wang

Senior Data Scientist

Problém s hypotékami

Název 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

Typ nemovitosti: druh nemovitosti financované hypotékou (dům nebo byt)

Liší se doba splacení u hypoték na domy a na byty?
Survival Analysis in Python

Porovnání rozdělení přežití skupin

Často nás zajímá, zda existují rozdíly v přežití (nebo pravděpodobnostech události/přežití) mezi různými skupinami subjektů.

  • Dimenzionální atributy subjektů
    • např. různé typy hypoték, různé značky pneumatik
  • Různé experimentální skupiny
    • např. léčebná skupina vs. kontrolní skupina
  • Různé hodnoty stejného dimenzionálního atributu
    • např. domácnosti s vysokými vs. nízkými příjmy
Survival Analysis in Python

Typy skupinových srovnání přežití

1. Liší se bodové odhady nebo statistiky přežití?
  • Porovnání pravděpodobností přežití dvou skupin v konkrétním čase
  • Porovnání celkového podílu přeživších subjektů mezi dvěma skupinami
Survival Analysis in Python

Typy skupinových srovnání přežití

2. Liší se základní rozdělení?
  • Vyžaduje formální testování hypotéz
Survival Analysis in Python

Typy skupinových srovnání přežití

3. Jak moc atribut ovlivňuje přežití?
  • Vyžaduje regresní modelovací rámce
Survival Analysis in Python

Vizualizace rozdílů mezi skupinami

Přizpůsobení Kaplan-Meierovy funkce přežití každé skupině a vizualizace křivek vedle sebe.

Výhody:

  • Jednoduché použití i interpretace.
  • Neparametrický přístup – flexibilní pro různá rozdělení přežití.
  • Užitečný nástroj pro demonstraci rozdílů mezi funkcemi přežití.
Survival Analysis in Python

Identifikace skupin

Název 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

Vytvořte booleovskou masku pro každou skupinu.

house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")

Pokud existují pouze 2 skupiny, stačí 1 maska. Na druhou skupinu lze odkazovat pomocí negace.

Survival Analysis in Python

Přizpůsobení a vykreslení křivek přežití

Vytvořte jeden graf a inicializujte třídu KaplanMeierFitter.

ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()

Přizpůsobte mortgage_kmf skupině domů a vykreslete do grafu 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)
Survival Analysis in Python

Přizpůsobení a vykreslení křivek přežití

Přizpůsobte mortgage_kmf skupině bytů a vykreslete do grafu 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)
Survival Analysis in Python

Vizualizace vedle sebe

plt.show()

Kaplan-Meierovy křivky přežití: byty vs. domy.

Survival Analysis in Python

Interpretace křivek přežití skupin

Kaplan-Meierovy křivky přežití: byty vs. domy

  • Hypotéky na byty jsou v průměru spláceny rychleji než hypotéky na domy.
  • V jakémkoli okamžiku je vyšší podíl uživatelů, kteří splatili hypotéku na byt než na dům.

Poznámka: pokud se intervaly spolehlivosti v některých bodech překrývají, je méně pravděpodobné, že mezi křivkami existuje skutečný rozdíl.

Survival Analysis in Python

Lass uns üben!

Survival Analysis in Python

Preparing Video For Download...