Skip to content

Survival analysis #
Find similar titles

Structured data

Category
Statistics

Survival anaysis #

개요 #

생존 기간을 분석하여 생존함수(survival function)를 추정하는 통계기법으로 치료방법이나 예후 인자 등을 추정하는 데 이용된다. 실험 기간 동안 약물처리, 유전염기서열 변이 와 같이 특정 조건을 만족하는 집단 내 개체가 각 측정 시간에서 살아남아 있는 빈도로 나타낸다.
의약 분야에서 환자의 예후를 확인하여 치료의 효용성을 판단하는데 주로 이루어진다. 대용량 염기서열판독이 가능해지면서 특정 유전변이가 환자의 생존율에 미치는 영향을 판단하는 데도 사용되고 있다.

생존함수의 추정 #

관찰이 완료되지 않은 경우(censored case)까지 포함하여 생존 기간 분포를 표현한다.

  1. Life table method: fixed interval
    • Cohort life table method: 한 집단 또는 코호트의 실제 생존경험을 바탕으로 한다.
    • Current life table method: 특정 시점, 지역의 사망률 근거로 생명표 작성 - 기대여명 추정, 보험 목적으로 주로 이용된다.
  2. Kaplan-Meier estimator (product-line method): 시간 간격에 구애받지 않고 생존 곡선을 추정하고, 소규모에 적합하다.

생존 곡선의 비교 - 집단 간 통계적 유의한 차이 평가

  1. Log rank (generalized Savage, Mantel-Cox) test: 모든 관찰치에 균등한 가중치 부여한다.
  2. Breslow's version of generalized Wilcoxon test: 초기 관찰치에 더 큰 비중을 차지한다.
  3. Peto-Prentice version of Wilcoxon test
  4. Taron-Ware test

공변인(Covariate) 포함 생존분석 #

생존 기간 또는 사건의 발생까지 소요시간이 다른 변인들에 의해 영향을 받을 때 공변인들의 영향을 배제하면서 생존분석을 수행한다.

  1. 비모수적 Cox 모델 (Cox proportional hazard model) - 위험함수에 대한 많은 가정이 필요하지 않으므로 널리 사용된다.
    • hazard function h(t)
    • instantaneous relative risk (RR)
  2. 모수적 Weibull 모델

생존 곡선 해석 #

생존 곡선은 단위 시간(X축)이 후 생존확률(survival probability)을 나타낸다. 다른 말로 각 조건에 처한 집단 중 단위 시간이 흘렀을 때 생존한 개체의 빈도라고도 볼 수 있다. 그림 1은 survival plot의 예시이다.

Image
<그림 1. 생존분석 결과 예시 (출처 : http://www.sthda.com/english/wiki/survival-analysis-basics)>

그림 1에는 남(주황색선), 여(파란색선) 집단의 단위 시간(일) 이후 생존확률 곡선으로 50%의 생존율 혹은 생존한 개체 빈도에 이르기까지 걸린 시간(점선)이다. 동일한 생존율에 이르기까지 걸린 시간이 남성은 약 240일, 여성은 420일 걸리며 이 두 집단의 생존 곡선은 유의확률(p value) 0.0013으로 < 0.05에 해당하므로 유의미하다고 볼 수 있다.
따라서 남성과 여성은 생존율에 차이가 있으며 여성의 생존확률이 높다고 해석할 수 있다.

생존분석을 위한 데이터 조건 #

생존분석은 통계분석법이기 때문에 생존과 연관성이 있을 것으로 생각되는 관심 요인(약물, 치료법 등) 이외의 변수를 최소화하는 것이 필요하다. 따라서 기본적으로 아래와 같은 조건을 충족하는 데이터를 사용하여야 한다.

* 환자는 실험 기간 이전에 관심 요인을 경험 하여서는 안 된다.
* 환자는 실험이 끝날 때까지 관찰 범위에서 벗어나서는 안 된다.
* 환자는 생존율에 직접적 혹은 간접적으로 영향을 미칠 외부 요인에 노출되어서는 안 된다.

R을 이용한 생존분석 예제 #

OIsurv 패키지를 이용하여 생존 분석 할 수 있다. (Survival analysis in R 참고)

다음 명령으로 패키지를 설치하고 로드한다.

> install.packages("OIsurv") ## it needs survival, splines, KMsurv
> library(OIsurv)

btrial 라는 예제데이터가 있다. 다음처럼 사용할 수 있다.

> data(btrial); attach(btrial)
> head(btrial)
  time death im
1   19     1  1
2   25     1  1
3   30     1  1
4   34     1  1
5   37     1  1
6   46     1  1

im 1이 있고, 2가 있으며, 환자의 그룹을 의미한다. 특정 시간(month) 후 이벤트(death) 여부를 death 컬럼에 표기했다. 생존데이터는 이처럼 특정 시점 후 이벤트가 있었는지, 아니면 없었는지(censored)를 표시하게 되는데, 이를 Surv 객체로 저장할 수 있다.

> my.surv <- Surv(time, death)
> my.fit <- survfit(my.surv ~ time)
> lot(my.fit, lty=c(1,2), col=c('red', 'blue'))

survfit 명령을 통해서 생존데이터(my.surv)를 모델에 피팅하고, 피팅한 내용을 plot 명령으로 차트로 볼 수 있다.

두 그룹의 통계적 유의성은 Log rank test를 통해 알 수 있다.

> my.diff = survdiff(my.surv ~ im)
> my.diff
Call:
survdiff(formula = my.surv ~ im)

      N Observed Expected (O-E)^2/E (O-E)^2/V
im=1 36       16    20.19     0.869      5.49
im=2  9        8     3.81     4.599      5.49

 Chisq= 5.5  on 1 degrees of freedom, p= 0.0191

P-value가 0.05보다 작으므로 95% 유의수준에서 통계적으로 유의하다고 말할 수 있다.

참고문헌 #

Clark TG, Bradburn MJ, Love SB and Altman DG. Survival Analysis Part I: Basic concepts and first analyses. British Journal of Cancer (2003) 89, 232 – 238
Kaplan EL, Meier P (1958) Nonparametric estimation from incomplete observations. J Am Stat Assoc 53: 457–481.
Pocock S, Clayton TC, Altman DG (2002) Survival plots of time-to-event outcomes in clinical trials: good practice and pitfalls. Lancet 359: 1686– 1689.
Survival Analysis Basic (https://www.openintro.org/download.php?file=survival_analysis_in_R&referrer=/stat/surv.php)

Suggested Pages #

0.0.1_20140628_0