Przewidywanie z modelem Cox PH

Analiza przeżycia w Pythonie

Shae Wang

Senior Data Scientist

Przewidywanie mediany czasu przeżycia

Po wywołaniu .fit() w celu dopasowania modelu do danych:

  • .predict_median(): przewiduje medianę czasu przeżycia podmiotów
    • Jeśli krzywa przeżycia nie przecina 0,5, mediana czasu przeżycia wynosi $\inf$.
  • Parametry:
    • X: ramka danych do przewidywania.
    • conditional_after: tablica lub lista wartości określających, jak długo podmioty już żyły.
Analiza przeżycia w Pythonie

Przewidywanie mediany czasu przeżycia

model.predict_median(X, conditional_after)
0       inf
1      44.0
2      46.0
3       inf
4      48.0
       ... 
500     inf
Analiza przeżycia w Pythonie

Przewidywanie funkcji przeżycia

  • .predict_survival_function(): przewiduje funkcję przeżycia podmiotów na podstawie ich kowariantów.
  • Parametry:
    • X: ramka danych do przewidywania.
    • conditional_after: tablica lub lista wartości określających, jak długo podmioty już żyły.
Analiza przeżycia w Pythonie

Przewidywanie funkcji przeżycia

model.predict_survival_function(X, conditional_after)
              0           1           2           3           4         ...         500
1.0    0.997616    0.993695    0.994083    0.999045    0.997626         ...    0.998865    0.997827    0.995453    0.997462    ...    0.997826    0.996005    0.996031    0.997774    0.998892    0.999184    0.997033    0.998866    0.998170    0.998610
2.0    0.995230    0.987411    0.988183    0.998089    0.995250         ...    0.997728    0.995653    0.990914    0.994922    ...    0.995649    0.992014    0.992067    0.995547    0.997782    0.998366    0.994065    0.997730    0.996337    0.997217
3.0    0.992848    0.981162    0.982314    0.997133    0.992878         ...    0.996592    0.993482    0.986392    0.992388    ...    0.993476    0.988037    0.988115    0.993324    0.996673    0.997548    0.991105    0.996595    0.994507    0.995826
4.0    0.990468    0.974941    0.976468    0.996176    0.990507         ...    0.995455    0.991311    0.981882    0.989855    ...    0.991304    0.984067    0.984171    0.991100    0.995563    0.996729    0.988147    0.995458    0.992676    0.994433
5.0    0.988085    0.968739    0.970639    0.995216    0.986392         ...    0.993476

Dlaczego przewidywania przeżycia są przydatne?

  • Proaktywne zapobieganie awariom, modele prognozowania itp.
Analiza przeżycia w Pythonie

Kluczowe kroki

  1. Wstępne przetworzenie danych i one-hot encoding zmiennych kategorycznych.
  2. Podział danych na zbiór treningowy i testowy (typowy podział: 80% / 20%).
    • Proporcje danych ocenzurowanych powinny być podobne w obu zbiorach.
  3. Dopasowanie modelu Cox PH do danych treningowych.
Analiza przeżycia w Pythonie

Czas na ćwiczenia!

Analiza przeżycia w Pythonie

Preparing Video For Download...