생존분석

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


수강중

13. 나이에 따른 첫 구매일 패턴 변화 (COX 회귀분석 / AFT 모형)

데이터불러오기

sales <- read.csv('sales.csv', 
                  stringsAsFactors = F, 
                  fileEncoding = "UTF-8")
head(sales)

카플랜마이어 방법

library(survival)

res <- survfit(Surv(사용일, 구매여부) ~ 성별, data = sales, type = 'kaplan-meier')
plot(res)

카플랜마이어 방법은 나이와 같은 연속변수를 처리하기 힘듦

res <- survfit(Surv(사용일, 구매여부) ~ 나이, data = sales, type = 'kaplan-meier')
plot(res)
res

res <- survfit(Surv(사용일, 구매여부) ~ 성별 + 나이, data = sales, type = 'kaplan-meier')
plot(res)
res

COX 모형

res <- coxph(Surv(사용일, 구매여부) ~ 성별 + 나이, data = sales)
res
exp(coef(res))
summary(res)

COX모형의 가정(시간에 상관없이 위험도가 일정) 검증 p > .05 일 경우 시간에 상관없이 위험도가 일정함

cox.zph(res)

AFT 에서 weibull 분포 가정 하에 분석

res <- survreg(Surv(사용일, 구매여부) ~ 성별 + 나이, data = sales, dist = 'weibull')
res
exp(coef(res))
summary(res)

AFT 에서 lognormal 분포 가정 하에 분석

res <- survreg(Surv(사용일, 구매여부) ~ 성별 + 나이, data = sales, dist = 'lognormal')
exp(coef(res))

개인별 첫 구매까지 걸리는 사용일 예측

predict(res, newdata = sales)