Python에서의 Survival Analysis
Shae Wang
Senior Data Scientist
DataFrame 이름: battery_df
| Battery ID | Duration | Dead | Brand | Truck |
|---|---|---|---|---|
| 1 | 2.5 yrs | No | Brand A | Long |
| 2 | 6 yrs | Yes | Brand B | Short |
| 3 | 5 yrs | No | Brand B | Long |
| ... | ... | ... | ... | ... |
| 1000 | 4.5 yrs | Yes | Brand A | Short |
배터리 평균 수명은 얼마일까요?
np.average(battery_df["Duration"])


생존 시간이 부분적으로만 알려진 경우입니다.
검열은 어떻게 발생하나요?

집계 통계
np.average(), max(), min() 등의 통계를 왜곡합니다.회귀
$$S(t)=Pr(T>t)$$


어떤 데이터가 검열되었는지 식별할 수 있나요?
1단계) 검열 여부 컬럼이 있는지 확인합니다(종종 전처리됨).
검열된 데이터가 너무 많나요?
2단계) 검열 데이터 비율을 확인합니다(경험칙: 50%).
검열이 비정보성이고 무작위인가요?
3단계) 검열 원인을 조사해, 검열 여부가 생존에 영향이 없음을 확인합니다.
Python에서의 Survival Analysis