Proč používat analýzu přežití?

Survival Analysis in Python

Shae Wang

Senior Data Scientist

Příklad: průměrná životnost baterie

Název DataFrame: battery_df

ID baterie Trvání Mrtvá Značka Kamion
1 2,5 r Ne Brand A Dlouhý
2 6 r Ano Brand B Krátký
3 5 r Ne Brand B Dlouhý
... ... ... ... ...
1000 4,5 r Ano Brand A Krátký

Jaká je průměrná životnost baterie?

np.average(battery_df["Duration"])
Survival Analysis in Python

Příklad: průměrná životnost baterie

Cartoon znázorňující cenzorování životnosti baterie.

Survival Analysis in Python

Cenzorování v životnosti baterií

Cartoon znázorňující cenzorování životnosti baterie.

  • $T_{duration} \neq T_{lifetime}$ pro baterie, které ještě nevybyly.
  • Baterie 1, 3, 4 a další, jejichž selhání nebylo pozorováno, jsou při průměrování nesprávně zohledněny.
Survival Analysis in Python

Problém cenzorování

Když je doba přežití známa pouze částečně.

Jak ke cenzorování dochází?

  • Událost dosud nenastala na konci pozorování.
    • Např. uživatel zkušební verze se do konce experimentu nepřevedl na placený účet.
  • Data jedince chybí kvůli odstoupení nebo ztrátě kontaktu.
    • Např. uživatel zkušební verze odmítl sdílet data pro experiment.
Survival Analysis in Python

Typy cenzorování

Cartoon znázorňující typy cenzorování.

  • Necenzorováno: událost nastala a doba přežití je známa.
  • Pravostranné cenzorování: skutečná doba přežití je delší než pozorovaná.
  • Levostranné cenzorování: skutečná doba přežití je kratší než pozorovaná.
  • Intervalové cenzorování: doba přežití leží v určitém rozsahu, ale není přesně známa.
Survival Analysis in Python

Proč je cenzorování problematické?

Souhrnné statistiky

  • Druh chybějících dat.
  • Zkreslují statistiky, tj. np.average(), max(), min().

Regrese

  • Lineární regrese minimalizuje součet čtverců chyb.
  • U cenzorovaných dat chybové členy neznáme.
Survival Analysis in Python

Funkce přežití

  • Cenzorovaná data neimputuje.
  • Modeluje pravděpodobnost, že doba přežití překročí danou hodnotu.

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

Survival Analysis in Python

Analýza přežití vs. cenzorování

Cartoon s necenzorovanými daty.

Cartoon s cenzorovanými daty.

Survival Analysis in Python

Kontrola dat na cenzorování

Lze identifikovat cenzorovaná data?

Krok 1) Zkontrolujte sloupce pro cenzorování (obvykle předpřipravené).

Je cenzorováno příliš mnoho dat?

Krok 2) Zkontrolujte podíl cenzorovaných datových bodů (orientační hranice je 50 %).

Je cenzorování neinformativní a náhodné?

Krok 3) Prozkoumejte příčiny cenzorování a ověřte, že skutečnost cenzorování neovlivňuje přežití.

Survival Analysis in Python

Pojďme cvičit!

Survival Analysis in Python

Preparing Video For Download...