Kaplan-Meier 생존 곡선 분석

R로 배우는 Machine Learning 기반 마케팅 분석

Verena Pflieger

Data Scientist at INWT Statistics

생존 객체 I

cbind(dataSurv %>% select(tenure, churn),
      surv = Surv(dataSurv$tenure, dataSurv$churn)) %>% head(10)
   tenure churn surv
1       1     0   1+
2      34     0  34+
3       2     1   2 
4      45     0  45+
5       2     1   2 
6       8     1   8 
7      22     0  22+
8      10     0  10+
9      28     1  28 
10     16     0  16+
R로 배우는 Machine Learning 기반 마케팅 분석

R로 배우는 Machine Learning 기반 마케팅 분석

R로 배우는 Machine Learning 기반 마케팅 분석

R로 배우는 Machine Learning 기반 마케팅 분석

R로 배우는 Machine Learning 기반 마케팅 분석

Kaplan-Meier 분석

fitKM <- survfit(Surv(dataSurv$tenure, dataSurv$churn) ~ 1, 
                 type = "kaplan-meier")
fitKM$surv
 [1] 0.9284504 0.9045343 0.8859371 0.8692175 0.8561374
 [6] 0.8478775 0.8372294 0.8283385 0.8184671 0.8086794
[11] 0.8018542 0.7933760 0.7847721 0.7792746 0.7707060
[16] 0.7641548 0.7580075 0.7522632 0.7476436 0.7432153
[21] 0.7389925 0.7321989 0.7288777 0.7228883 0.7168003
[26] 0.7127809 0.7092320 0.7059049 0.7016930 ...
R로 배우는 Machine Learning 기반 마케팅 분석

survfit 객체 출력

print(fitKM)
Call: survfit(formula = Surv(dataSurv$tenure, dataSurv$churn) ~ 1, 
    type = "kaplan-meier")

      n  events  median 0.95LCL 0.95UCL 
   5311    1869      70      68      72 
R로 배우는 Machine Learning 기반 마케팅 분석
plot(fitKM)

R로 배우는 Machine Learning 기반 마케팅 분석

범주형 공변량을 포함한 Kaplan-Meier

fitKMstr <- survfit(Surv(tenure, churn) ~ Partner, 
                    data = dataSurv)

print(fitKMstr)
Call: survfit(formula = Surv(tenure, churn) ~ Partner,
              data = dataSurv)

               n events median 0.95LCL 0.95UCL
Partner=No  2828   1200     45      41      50
Partner=Yes 2483    669     NA      NA      NA
R로 배우는 Machine Learning 기반 마케팅 분석
plot(fitKMstr, lty = 2:3)
legend(10, .5, c("No", "Yes"), lty = 2:3) 

R로 배우는 Machine Learning 기반 마케팅 분석

연습해 봅시다!

R로 배우는 Machine Learning 기반 마케팅 분석

Preparing Video For Download...