첫 번째 생존 곡선!

Python에서의 Survival Analysis

Shae Wang

Senior Data Scientist

생존함수

  • $T$: 관심 사건이 발생하는 시점
  • $t$: 관측 중 임의의 시점

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

  • $S(t)$: 관심 사건이 $t$ 이후에 발생할 확률
  • $Pr(T>t)$: 생존확률
Python에서의 Survival Analysis

생존 곡선

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

생존 곡선 예시.

Python에서의 Survival Analysis

생존 곡선

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

생존 곡선 예시.

Python에서의 Survival Analysis

생존 곡선

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

생존 곡선 예시.

생존 곡선 범례.

Python에서의 Survival Analysis

생존 곡선 해석

  • 점$(a,b)$: 개체가 $a$보다 오래 생존할 확률이 $b$

생존 곡선 예시.

Python에서의 Survival Analysis

생존 곡선 해석

  • 점$(a,b)$: 개체가 $a$보다 오래 생존할 확률이 $b$
  • 완만한 곡선: 사건 발생률 낮음
  • 가파른 곡선: 사건 발생률 높음

표시된 점이 있는 생존 곡선 예시.

Python에서의 Survival Analysis

비모수 vs. 모수적 모형

비모수 모형
  • 데이터 형태에 대한 가정을 하지 않음
모수적 모형
  • 데이터 형태에 일부 가정을 둠
  • 소수의 매개변수로 설명됨
    • 예: 생존 곡선이 지수분포를 따른다고 가정
Python에서의 Survival Analysis

비모수 vs. 모수적 모형

비모수 모형
  • 생존 곡선은 보통 매끈하지 않음

비모수 생존 곡선 예시.

모수적 모형
  • 생존 곡선은 보통 매끈함

모수적 생존 곡선 예시.

  • 모형이 데이터를 잘 설명한다는 가정에 의존
Python에서의 Survival Analysis

생존 곡선 그리기

lifelines는 완전한 생존분석 라이브러리입니다.

  • 데이터에 생존함수 적합
  • 적합된 생존함수로 생존 곡선 시각화
import lifelines
import matplotlib.pyplot as plt

.fit(durations, event_observed)

.plot_survival_function()

Python에서의 Survival Analysis

생존 곡선 예시

DataFrame 이름: mortgage_df

id duration paid_off
1 25 0
2 17 1
3 5 0
... ... ...
100 30 1
  • id: 모기지 대출 ID
  • duration: 모기지가 미상환 상태인 연수
  • paid_off: 모기지 완납이면 1, 미완이면 0
Python에서의 Survival Analysis

생존 곡선 예시

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()

카플란-마이어 생존 곡선 예시

Python에서의 Survival Analysis

연습해 봅시다!

Python에서의 Survival Analysis

Preparing Video For Download...