본문 바로가기
Growth/통계

의료인을 위한 R생존분석

by Diligejy 2023. 8. 10.

p.32
생존분석이란 어떤 사건이 일어날 때까지의 시간을 관심있는 반응변수로 하는 통계적인 방법이다. 여기서 '시간'이란 한 개인을 추적하기 시작하면서부터 어떤 사건이 일어날 때까지의 며칠, 몇 개월, 몇 년에 걸친 기간을 의미하고, 때로는 연령이 시간이 되기도 한다. 사건이란 사망, 질병의 발생, 재발, 회복 또는 어떤 사람에게 일어날 수 있는 관심 있는 경험 등이 될 수 있다. 하나의 연구에서 여러 개의 사건이 발생할 수도 있지만 보통 하나의 사건만이 일어나는 것으로 가정하고 분석을 진행한다. 하나 이상의 경쟁적인 사건이나 재발하는 사건 등은 11장과 10장에서 다룰 경쟁위험모형과 재발사건 분석에서 다룰 것이다. 생존분석에서는 보통 시간변수를 '생존시간'이라고 표현하는 경우가 많고 사건의 발생을 '실패'로 표현하기도 한다. 이는 보통 관심이 있는 사건이 사망이나 질병의 발생, 재발 또는 좋지 않은 경험인 경우가 많기 때문이다. 하지만 경우에 따라 생존시간이 '정규 수술 후 직장으로 복귀하기까지의 시간'처럼 긍정적인 사건인 경우도 있다.

 

p.32~33

대부분의 생존분석에서 중요한 문제는 자료의 중도절단(censoring)이다. 중도절단 자료는 생존 시간에 대한 어느 정도의 정보는 가지고 있지만 정확한 생존시간은 모를 때 발생한다. 예를 들어, 백혈병 환자를 대상으로 관해상태에 들어간 후 재발할 때까지 관찰하는 연구에서 연구 종료 시점까지 환자가 관해상태를 유지한다면 환자의 생존시간은 중도절단된 것이다. 이 환자에 있어 우리가 관찰한 것보다 생존시간이 긷라는 것은 알지만, 완전한 생존시간은 알 수 없다. 일반적으로 중도절단이 일어나는 경우는 다음과 같이 3가지가 있다.

 

- 연구 종료 시까지 사건이 일어나지 않은 경우 

- 연구 기간 동안 추적관찰에 실패한 경우

- 환자가 사망(사망이 관찰하고자 사건이 아닌 경우)이나 다른 이유로(약물 부작용이나 다른 경쟁위험 때문에) 탈락한 경우

 

p.34

대부분의 생존자료는 우중도절단 자료이다. 반면 관찰된 생존시간보다 실제 생존기간이 짧은 경우 좌중도절단(left-censored) 자료라고 할 수 있다. 예를 들어 HIV에 노출된 후 처음으로 HIV 검사에서 양성으로 나오는 것을 이벤트로 하는 생존분석의 경우 바이러스에 노출된 시간을 정확히 알지 못할 때가 있는데 이런 경우를 좌중도절단 자료라고 할 수 있다.

 

p.35

생존분석에 사용되는 기본적인 수학 용어 및 표기에 대해 소개하고자 한다. 먼저 대문자 T는 어떤 개인의 생존시간을 의미하는 확률변수(random variable로 시간을 나타내므로 음수가 아닌 모든 숫자가 가능하다. 소문자 t는 생존시간 T 중 관심 있는 특정한 값을 나타낸다. 예를 들어 암 수술 후 5년 이상 생존하였는지(Survival > 5years?) 평가하고자 한다면 t = 5이며 T > t = 5 인지 평가하는 것이다. 또한 소문자 d는 중도절단 또는 실패를 의미하는 무작위변수로 0은 중도절단을 나타내고 1은 사건발생(실패)을 나타낸다. 연구대상자에게 이벤트가 발생하지 않은 경우 항상 중도절단이 된다. d = 0인 경우는 연구 종료시까지 환자가 생존하거나 추적에 실패한 경우, 또는 중도탈락한 경우를 의미한다.

 

p.35

생존함수(survivor function)는 S(t)로 표기하고 위험함수(hazard function)는 h(t)로 표기한다. 생존함수 S(t)는 특정 시간 t보다 오래 생존할 확률을 말해준다. 즉 S(t)는 생존시간 T가 특정한 시간 t보다 클 확률을 말한다. 또한 이는 전체에서 생존시간 T가 특정한 시간 t보다 작거나 같은 확률을 뺀 것과 같다.

 

S(t) = P(T > t) = 1 - P(T <= t), 0 < t < 무한대

 

생존함수는 생존분석에서 필수적인데 생존데이터로부터 각 시간별로 생존확률을 계산하는 것이 결정적이기 때문이다.

 

p.36

생존함수는 다음과 같은 이론적인 특징을 갖는다.

 

- 생존함수는 증가하지 않는다. 즉 t가 증가함에 따라 감소한다.

- t = 0일때, S(t) = S(0) = 1이다. 즉 연구가 시작되었을 때 아직 이벤트가 일어나지 않았으므로 생존함수는 1이다.

- t = 무한대일 때, S(t) = S(무한대) = 0이다. 즉 이론적으로는 연구 기간의 제한이 없다면 결국 모든 대상자가 사망하므로 생존함수는 0이다.

 

하지만 실제 연구에 있어서는 매끈한 곡선이 아닌 계단 형태의 생존함수를 보여준다. 또한 연구 기간이 제한되어 있고 경쟁위험도 생길 수 있다. 모든 연구 대상자에게 이벤트가 생기지는 않을 수도 있기 때문에 연구 종료 시 추정생존함수 S_hat(t)가 반드시 0이 되지는 않는다.

 

p.36~37

위험함수 h(t)는 다음 식으로 나타낼 수 있다. 위험함수는 순간적인 실패율을 말하는 것으로, 어떤 대상이 특정한 시간 t이상 생존하였다고 가정할 때 t로부터 아주 짧은 시간 간격 안에 실패할 확률을 그 짧은 시간 간격으로 나눈 것이다. 이 식은 얼핏 보기에 매우 이해하기 어렵지만, 그렇다고 책을 덮어버리지 말고 천천히 다음 설명을 읽어보기 바란다.

 

먼저 P(A|B)는 조건부확률을 뜻하는 것으로 주어진 사건 B가 일어났다는 가정하에 A가 일어날 확률을 말한다. P(t < T < t + delta t | T > t)는 어떤 대상이 특정한 시간 t보다 더 생존하였다고 가정할 때 그 대상이 특정한 시간으로부터 아주 짧은 시간 간격 안에 실패할 확률을 의미한다. 생존함수는 조건부확률을 단위시간으로 나눈 것으로 확률이 아니라 비율이 된다. 조건부확률은 0과 1 사이의 값을 가지지만 위험함수는 0부터 무한대의 값을 가진다.

 

예를 들어 확률 P가 1/3일 때 시간 간격이 1/2day라면 확률을 시간 간격으로 나눈 값은 0.67day가 되지만 시간 간격이 달라져 1/14 week라면 확률을 시간 간격으로 나눈 값은 4.67/week가 된다.

 

p.38

생존함수가 1에서 시작하여 감소하는 것과 달리 위험함수는 아무 곳에서나 시작하고 시간이 흐름에 따라 증가할 수도 있고 감소할 수도 있다. 특히 특정한 시간 t에 대하여 위험함수 h(t)는 다음과 같은 특징을 갖는다.

 

- 항상 음수가 아닌 값을 갖는다.

- 0부터 무한대의 값을 가질 수 있다.

 

생존함수를 할 때 위험함수에 관심을 갖는 이유는 다음과 같다.

 

- 생존함수는 그 시간까지의 누적생존을 나타내지만 위험함수는 순간적인 실패가능성을 이야기한다.

- 생존데이터에 맞는 특정 모형을 찾는 데 사용될 수 있다. 지수분포, 와이블분포, 로그정규분포 등의 모형이 사용된다.

- 생존데이터를 수학적으로 분석할 때 매개가 된다.

p.38~39

 

누적분포함수(cumulative distribution function, CDF)는 F(t)로 표현하며 다음과 같이 정의된다.

 

F(t) = P(T <= t) = 1 - S(t), 0 < t < 무한대

 

확률밀도함수(probability density function, PDF) f(t)는 CDF의 변화율이다.

 

f(t) = d/dt F(t) = - d/dt S(t)

 

위험함수는 PDF 및 생존함수와 관계가 있으며 다음과 같이 쓸 수 있다.

 

h(t) = f(t) / S(t)

 

누적위험함수(cumulative hazard function)는 위험함수 아래의 면적을 특정 시간 t까지 적분한 것이다.

 

H(t) = sum 0 -> t h(u)du

 

p.39

일반적으로 생존함수와 누적함수는 다음과 같은 관계를 갖는다.

 

S(t) = exp[- sum 0> t h(u)du] = exp(-H(t))

 

h(t) = -dS(t)/ dt / S(t) = - S'(t) / S(t) = - d/dt log S(t))

 

따라서 S(t)를 알면 h(t)를 구할 수 있고 h(t)에서 S(t)를 구할 수 있다. 실제 데이터 분석에서는 컴퓨터 프로그램이 S(t)에서 h(t)로 수학적인 변환을 해주므로 분석을 하는 사람이 이 공식을 사용해 계산할 일은 없다. 여기서 기억할 것은 S(t)나 h(t) 둘 중 하나를 알면 다른 하나도 계산할 수 있다는 점이다.

 

p.41

생존분석에서는 여러 설명변수들을 모형에 포함시켜 설명변수들과 생존시간의 관계를 평가한다. 여러 설명변수들을 포함시킨다는 점은 선형회귀모형이나 로지스틱회귀모형과 같지만 생존분석에서는 '이벤트 발생까지의 시간'이 반응변수인 반면, 회귀분석에서는 연속형변수가, 로지스틱회귀분석에서는 이분형변수가 반응변수이다. 또한 선형회귀모형에서 효과의 추정은 회귀계수 beta로 추정하는 반면, 로지스틱회귀모형에서는 오즈비(odds ratio) e^beta로 추정하고, 생존분석에서는 위험비(hazard ratio) e^beta로 추정한다. 

 

p.44

회귀분석에서는 대조군을 0, 치료군을 1로 입력하는 것이 보통이지만, 콕스모형에서는 대조군을 1, 치료군을 0으로 입력하는 것이 편하다. 위험비가 1보다 큰 것을 해석하는 것이 보다 직관적이기 때문이다.

'Growth > 통계' 카테고리의 다른 글

사회과학자를 위한 데이터과학  (0) 2023.09.25
불멸의 이론  (2) 2023.08.19
행동 데이터 분석  (0) 2023.06.20
말로만 말고 숫자로 대봐  (0) 2023.05.28
데이터 분석의 힘  (1) 2023.05.13

댓글