[생존분석 깊이 이해해보기] - 생존분석을 그려보자 !

반응형

생존분석((Survival Analysis))은 뭘까요 ?

(생존분석 포스팅 v1)[https://minyoungxi.tistory.com/88]


생존분석((Survival Analysis))은 관심있는 어떤 사건이 발생할 때까지 경과된 시간 ((time to event)) 을 분석하는 기법입니다.
이름이 생존분석이라서 무조건 '죽음과 생존' 이런 느낌으로 받아들이실 수 있지만, 생존분석은 주로 '시간'과 관련된 데이터를 다루는 통계학의 한 분야로 생각하시면 됩니다. 생존분석의 '생존'은 의학 분야에서 유래했지만, 이 분석 방법은 다양한 분야에서 사용됩니다 !


생존분석의 핵심은 어떤 사건이 발생할 때까지 걸리는 시간을 분석하는 것이며, 이를 생존시간((Survival time)) 이라고 합니다. 예를 들어서 암 환자의 경우 생존 시간은 치료를 시작한 시점부터 사망에 이르기까지의 기간일 수 있습니다. 사건((Event)) 이란 분석의 대상이 되는 주요 사건입니다. 의학에서는 '사망'이 일반적인 사건이지만, 다른 분야에서는 고장 혹은 이직 등이 될 수 있죠. 사건을 정의하는 방식에 다라서 생존분석의 응용 분야는 매우 광범위합니다. 예를 들어서, 자동차 부품이 고장날 때까지 걸린 시간 혹은 장애 발생 후 복구할 때까지 걸린 시간 등이 있습니다.


생존분석은 시간의 흐름에 따라 달라지는 사건발생률의 분포를 분석하죠. 사건발생을 시간의 함수로 모델링하여 일정 시점에서의 생존확률을 추정하는 것입니다. 사건발생까지의 시간이 집단 간에 차이가 있는지 분석하고 어떤 변수들이 사건발생까지의 시간에 영향을 미치는지도 분석 대상이 됩니다.


중도절단((Censoring))

중도절단(Censoring)은 생존시간 데이터에 포함된 생존분석 특유의 결측값으로 정의합니다. 연구가 끝났을 때 일부 참가자에게 아직 사건이 발생하지 않았을 경우, 이 데이터는 절단되었다고 합니다. 아래의 예시는 중도절단에 해당하는 사례입니다.

  1. 환자의 추적이 어려운 상태 (loss to follow up)
  2. 환자가 더 이상 실험에 참여하지 않기로 결정 (drop out)
  3. 연구 종료로 더 이상의 추적조사가 불능한 경우 (termination of study)
  4. 연구와 관련 없는 이유로 사망(death from unrelated cause)

생존분석을 그려서 확인해보자 !

위의 그림은 5명의 환자를 가정하여 생존기간을 그래프로 그린 것입니다. 그리고 각 환자의 ID별로 생존자료를 설정했습니다.
표를 보시면 가장 왼쪽의 자료는 사망(death)하면 event가 1로 설정됩니다. RFS((relapse free survival))은 환자가 첫 치료를 받고나서 암의 재발이나 사망 없이 생존하는 기간 을 의미하며 그래프에서 중간에 R로 표시된 부분입니다. event가 1로 설정된 환자들에 해당하는 그래프를 보시면 1번 환자는 12개월까지 사망없이 생존했고,2번 환자는 3-15개월이 되는 지점에서 R이 발생했습니다. 또한 3번 환자도 마찬가지로 12~27개월의 기간((15개월))에 R이 발생했음을 확인할 수 있습니다.


마지막의 TTR((time to relapse))는 환자가 처음 치료를 받은 후 암이 재발하기까지 걸리는 시간) 을 의미합니다. 이런 방식으로 생존분석을 위한 그래프를 그리고 자료를 만들어 개별 환자의 생존분석을 실시할 수 있습니다.
다른 예시를 한 번 볼게요


위의 그림은 5, 20, 30, 50, 60개월째에 사망한 5명의 환자 자료입니다.
오른쪽의 그래프에서 20개월째에 사망한 환자는 중도절단이 발생했으므로 초록색의 tickmark가 찍혀있네요.
관측을 한 기간뿐만 아니라 구간의 끝점에서 event 발생 여부가 영향을 미치기 때문에 단순히 관측기간의 평균은 우리가 필요한 정보를 제공하지 않습니다. 따라서 Kaplan-Meier Curve 를 그리고 난 뒤에 50% 환자가 생존하고 나머지 50% 환자가 사망한 시점, 즉 median survival time을 계산하는 것이 일반적입니다.


(카플란 마이어 분석)[https://minyoungxi.tistory.com/89]


위의 그림은 50%의 환자가 생존한 시점을 median survival time 표시를 해둔 그림입니다.


집단 간의 생존 경험에서 차이가 있는 경우 ?

그렇다면 집단간 생존경험에서 차이가 있는지를 검정하기 위해서는 어떻게 해야할까요?
위의 그림은 성별에 따른 생존곡선을 가정하고 그린 것입니다.


만약 전체 구간이 아니라 1년 째의 생존 경험을 분석하고 싶다면, 1년 째의 여자의 생존율과 남자의 생존율이 같은지 다른지를 귀무가설을 세워서 검정을 합니다. 위의 예시에서는 70%와 90%, 90%와 70%의 비율차이가 유의한가 하는거예요. 이렇게 되면 우리는 카이제곱 검정을 실시할 수 있겠죠?


카이제곱 검정((chi square test)) 는 범주형 데이터를 분석할 때 주로 사용됩니다. 여기서는 '성별'과 '생존 여부'가 되겠습니다.
카이제곱 검정은 두 변수간의 독립성을 검정할 때 사용되며, 한 범주형 변수의 분포가 특정 이론적 또는 예상 분포와 일치하는지에 대한 여부를 파악하기 위한 적합도 검정에 사용됩니다. 또한 다른 집단 또는 표본에서 나온 범주형 데이터가 동일한 분포를 갖는지 검정하는 동질성 검정을 할 때도 사용합니다.


그런데 만약 전체 구간을 아우르는, 즉 그냥 단순히 어떤 시점에서의 비율이 아니라 전체 생존경험을 비교하고 싶다면 어떻게 할까요?

이럴 때 사용하는 것은 로그 순위 검정((Logrank Test)) 입니다.
검정통계량인 카이제곱 분포를 따르는 카이제곱 검정통계량을 가지고 우리가 로그순위 검정을 실시합니다. 이것이 로그 순위 검정이고요.

검정통계량 : $( T = \frac{(O - E)^2}{V} )$
분산 : $ ( V = \sum_{i=1}^{n} \frac{d_i \cdot (n_i - d_i) \cdot (n_i - n_{i1})}{(n_i - 1)} ) $


여기서 $n_i$는 $i$번째 시간에서의 전체 위험 집단의 크기
$d_i$는 $i$번째 시간에서의 전체 사망자 수
$n_i$는 $i$번째 시간에서의 첫 번째 그룹의 위험 집단의 크기입니다.

이 수식들은 로그 순위 검정의 핵심 요소로, 두 개 이상의 그룹 간 생존 시간의 차이가 통계적으로 유의한지를 평가하는 데 사용됩니다.


그런데 간혹 비례위험 가정이 깨지는 경우에 로그순위 검정을 적용하는데 무리가 있는 경우가 있습니다.
어떤 경우가 있냐면... 예를 들어서 케모테라피만 한 경우와 케모와 방사선 치료를 모두 한 경우를 볼게요.
방사선 치료를 동시에 한 경우에는 초반에는 떨어지지만 나중에는 예후가 더 좋을 수 있다는 것입니다.
교차하는 시점을 기준으로 왼쪽은 케모만 한 경우가 유리하고 오른쪽은 방사선 치료가 더 유리하죠 ?


이렇게 두 생존의 커브가 교차를 이루어서 서로의 효과가 차이가 있긴 있는데 효과가 상쇄되는 경우가 있습니다.
이런 경우는 로그순위 검정을 하면 효과가 상쇄되어 유의하지 않게 나올 가능성이 있습니다.

이 부분에 대한 자세한 설명은 다음 포스팅에서 이어서 하도록 하겠습니다 ! :)

반응형