생존분석

데이터를 이용해 사건이 언제(when) 일어나는지 예측하는 방법을 알아봅니다


수강중

14. 사례 연구 : 노트북 별 배터리 수명 예측

데이터 불러오기

repairs <- read.csv('notebook.csv',
                    stringsAsFactors = F,
                    fileEncoding = 'UTF-8')

데이터 탐색하기

library(dplyr)
repairs %>% head
repairs %>% group_by(연도) %>% summarise(n())

카플랜마이어로 노트북 상관없이 사용일에 따른 배터리 고장 비율 확인하기

## 노트북 A, B, C, D 배터리 고장난 것은 '고장' -> 1, 
## 정상(관찰중단)인 것은 -> 0
library(survival)
res <- survfit(Surv(사용일, 고장) ~ 1, data = repairs, type = 'kaplan-meier')
plot(res)
res
summary(res)

카플랜마이어로 노트북과 사용일에 따른 배터리 고장 비율 확인하기

res <- survfit(Surv(사용일, 고장) ~ 노트북, data = repairs, type = 'kaplan-meier')
plot(res)
summary(res)
plot(res, ylab = '정상비율', col = 1:4)
legend('bottomleft', legend = c('A', 'B', 'C', 'D'),
       pch = 20, col = 1:4)

로그-랭크(log-rank) 법을 이용한 노트북별 배터리 수명 차이 검증

repairsBC <- repairs %>% filter(노트북 %in% c('B', 'C'))
survdiff(Surv(사용일, 고장) ~ 노트북, data = repairsBC)

repairsBD <- repairs %>% filter(노트북 %in% c('B', 'D'))
survdiff(Surv(사용일, 고장) ~ 노트북, data = repairsBD)