◈ 개념
• 종속변수 : 특정 이벤트가 발생할 때, 발생하기까지 걸린 시간
• non-parametric / semi-parametric 으로 구분됨 → 모수적 방법이 훨씬 좋으나, 현실적으로 한계가 있기 때문에 비모수적 방법 사용함
• Death의 경우 죽었는지를 확인할 수 있지만, Survival의 경우 언제 죽는지 알 수 없다 (분석 기간 후에 사망할 수도)
✅ 사용 분야
: 원래 의학 분야에서 개발됐지만, 경영학에서도 고객 이탈 분석에서 사용됨
① Acquisition Analytics : 사용자 획득 단계 분석
• 최소 비용으로 최대의 마케팅 효•율 내는 광고 채널 선택
② Experience Analytics : 인앱에서 행동 분석
• 앱 설치 직후 행태 분석 → 지속 사용 유저 파악
• 로그인 유저와 비 로그인 유저 행동패턴 파악 / 성별에 따른 차이 파악 / 언제 Exit ?
③ Conversion Analytics : 최종 목적 달성 여부 분석
• Purchase, Download, Ads conversion
✅ Censoring Issue
•Obs4는 관측 기간동안은 살아있다가 이후에 사망함 → Right Censoring 되었다고 표현
•마찬가지로 Obs5도 관측 기간을 훨씬 지나서 사망함. 하지만 이 분석 결과에서는 4,5 모두 생존했다고 분석하게 됨
•Obs6의 경우 화살표 시점까지는 생존했다는걸 알지만, 그 이후로는 어떤 이유에 의해서 관측하지 못한 경우
✅ Kaplan-Meier Model
•파라미터가 없는 non-parametric 모델.
•그룹간 비교에 사용(treatment vs control). 결과가 직관적임
•그룹 간 비교를 위해서 매칭을 실시하거나, 각 그룹에서 변수의 비율을 일정하게 유지해야함 → 그룹 간의 homogeneity 확보
• 설명 변수가 discrete 변수이어야함 (continuous 변수는 사용 불가)
• C, V의 경우 Censored Data 로, 관측 기간내에 생존하거나 정확하게 관측을 못 한 경우
• 두 개의 그룹이 있고, 해당 기간 내에서 몇 년째에 이벤트가 발생하면 1 로, 관측이 안 되면 0으로 나타냄. 이를 그림으로 나타내면 아래와 같음 : Kaplan-Meier Curve (y축 : 생존률, x축 : 시간)
<Kaplan-Meier Curve>
• 각 참여자들에 대해서 이벤트가 발생한 기간에 따라서 drop이 발생함 (serial time 열과 연결해서 살펴보면 됨)
• Censored Data(C, V)는 point로 표현 됨
• Group1 보다 Group 2 가 관측 기간 내에 생존률이 빠르게 줄어드는 것을 확인할 수 있음. KM 커브에서 보통 위쪽에 있으면 생존률이 높다고 볼 수 있다. 하지만 정확하게는 통계 검증을 해야하지만 비모수적 방식이어서 통계 검정이 어려움.
• 통계 검정이 어렵지만, 임시 방편으로 psedo confidence level등을 만들어서 검정 실시함 (이 방식이 인기가 많기 때문에, 조금 더 설명력 있는 모델을 만들기 위해서 추가했다고 보면 됨)
✅ Cox Proportional Hazard Model
• Semi-Parametric한 모델 (가정사항이 있음)
• KM 모델과는 다르게 continous 변수도 설명변수로 사용이 가능함
•람다0 : Baseline Hazard
•람다0일 때 대비, 위험률이 어떻게 되는지 파악하는 것
•가정 :
•람다 / 람다0의 값이 time constant 해야함
✅ Buy Till you Die (BTYD) 모델
• Fully Parametric 모델 (vs. Survival 모델)
• 고객들의 non-contractual 구매 행동을 파악하기 위해 사용. 고객들이 inactive 하기 전까지 얼마나 구매하는지 분석
• 어떤 관계를 묘사하는 parametric한 모델을 개발하면, 그 모델은 flexible 하게 표현할 수 있어야 함. 즉 파마리터 값에 따라서 다양한 분포를 설명할 수 있어야 한다 → 대표적인 예시가 Pareto NBC, 지수 분포 등
• flexible function 의 여러 종류 중에 하나가 BTYD 모델이다.
• CLV : Customer Lifetime Value
• DET : Recency와 Frequency 기반으로 계산. 향후에 얼마나 거래를 할 지를 최대한 flexible한 형태로 계산하는 것.
◈ 실습
✅ KM 모델
## Load lung cancer data
library(survival)
data(cancer)
## status == 2 이 죽은 경우를 나타냄
#생존 분석을 위해서 Survival Object 생성 : +라고 붙는 변수는 censor된 데이터임
cancer$SurvObj <- with(cancer, Surv(time, status == 2))
head(cancer)
attach(cancer)
#Kaplan-Meier estimator without grouping
## Kaplan-Meier estimator. The "log-log" confidence interval is preferred.
km.as.one <- survfit(SurvObj ~ 1, data = cancer, conf.type = "log-log")
km.as.one
• 생존 분석을 위해서는 survival object 를 생성해야 함
• events : 해당 이벤트가 발생한 횟수
• median : death한 사람들이 death 까지 걸린 시간
<성별에 따른 차이 확인>
#성별에 따른 차이 확인
km.by.sex <- survfit(SurvObj ~ sex, data = cancer, conf.type = "log-log")
km.by.sex
• male =1, female = 2 나타냄. 단순 비율로는 여성의 생존률이 더 높고, 살아남은 기간(median)도 높게 나타났지만, 통제 변수가 빠져있음. 남성vs여성의 차이만으로 이러한 결과가 나타나는지 확인할 수 없음.
✅ Kaplan-Meier Curve 그리기
plot(km.by.sex, conf.int = T, lty=c(1,3), main="Kaplan-Meier estimate", xlab="time", ylab="survival function")
legend(800, 1.0, c("Male", "Female") , lty=c(1,3) )
• Pseudo Confidence Level의 Overlap이 있는 경우 차이가 유의할 수도/아닐수도 있다. overlap 없는 경우 차이 유의하다고 볼 수 있음
• time = 500 근처에서는 CI의 overlap 이 있으므로 별도로 분석이 필요하다.
• 그래프로 봤을 때, 결과과 굉장히 직관적임을 알 수 있음. 즉, 두 그룹의 homogeneity만 유지되면 어느 그룹의 생존률이 더 나은지 확인할 수 있음
• KM 모델은 방법론적으로 나이, 혈압 등의 연속형 변수를 통제변수로 사용할 수 없음. 사전에 매칭을 이용해서 차이를 없애고 KM 모델을 적용해야 함.
✅ COX 모델
## Fit Cox regression: age, sex, Karnofsky performance score, wt loss
res.cox1 <- coxph(SurvObj ~ age + sex + ph.karno + wt.loss, data = cancer)
res.cox1
• ph.karno : 신체의 퍼포먼스를 나타내는 인덱스 중 하나
• regression 처럼 결과가 나타남
• age가 1살 많을수록 hazard가 1.0152 증가함, p값을 살펴본 결과 유의한 변수는 아님
• 남성=1 이기 때문에, 남성일 경우, hazard가 0.5981 증가함, p값을 살펴본 결과 유의한 변수
✅ COX 모델 가정사항 확인 : time constant
## Check for violation of proportional hazard (constant HR over time)
res.zph1 <- cox.zph(res.cox1)
res.zph1
## Displays a graph of the scaled Schoenfeld residuals, along with a smooth curve.
plot(res.zph1)
•아래의 p값을 통해서 확인 가능 : 너무 낮으면 가정사항 위반 가능성 높음 (0.05보다 크면 violation 없다고 해석)
•but, 데이터의 수가 많은 경우 그래프를 보고 time에 따라서 일정하게 parallel 하게 나타나면 그냥 넘어가도 됨
•ph.karno의 경우 판단이 애매함 --> stratify 방법 등을 사용할 수 있음
< 실제 사례 : 교수님 논문>
• p 값이 0.05보다 크더라도, 시각화 했을 때 아래와 같이 일정하게 나타났으므로 가정사항 만족했다고 봄
'데이터 분석 > 통계, 분석기법' 카테고리의 다른 글
다변량 확률 분포, Maximum Likelihood Estimator (0) | 2022.04.10 |
---|---|
확률 기본 개념 (0) | 2022.03.28 |
Association Rules - 장바구니 분석 (0) | 2021.11.24 |
VAR (Vector Auto Regressive) 모형 (0) | 2021.11.01 |
Markov Chain Monte Carlo 개념 (0) | 2021.10.10 |
댓글