생존분석의 이해
사건이 일어나기까지의 시간과, 끝까지 보지 못한 관측을 함께 다루는 방법
사건이 일어났는지만큼, 언제 일어났는지가 중요할 때가 있습니다. 생존분석(Survival Analysis)은 관찰을 시작한 시점부터 특정 사건이 발생할 때까지 걸리는 시간을 분석하는 방법입니다. 일반적인 분석과 다른 중요한 점은, 연구가 끝날 때까지 사건이 발생하지 않은 대상도 분석에 포함할 수 있다는 것입니다. 이 장에서는 생존분석의 기본 개념인 사건시간과 중도절단, 그리고 생존 데이터를 구성하는 방법을 알아봅니다.
생존분석은 무엇을 분석할까?
의학 연구에서는 환자의 사망이나 질병 재발까지 걸리는 시간을, 기업에서는 고객이 이탈하기까지 걸리는 시간이나 제품이 고장 나기까지 걸리는 시간을 분석할 수 있습니다.
그림 1처럼 의학 연구에서는 치료를 시작한 환자가 질병이 재발하거나 사망하기까지, 고객 이탈 분석에서는 고객이 서비스에 가입한 뒤 이용을 중단하기까지, 제품 수명 분석에서는 제품을 사용하기 시작한 뒤 고장이 발생하기까지 걸리는 시간을 분석합니다. 사건의 종류는 다르지만, 사건이 발생했는지뿐 아니라 언제 발생했는지가 중요하다는 공통점이 있습니다.
사건시간이란 무엇일까?
사건시간(Event Time)은 관찰 시작 시점부터 관심 있는 사건이 발생할 때까지 걸린 시간입니다. 신약 치료를 시작한 환자들을 12개월 동안 추적한다고 가정해 보겠습니다.
| 환자 | 관찰 기간 | 사건 발생 여부 |
|---|---|---|
| A | 3개월 | 재발 |
| B | 8개월 | 재발 |
| C | 12개월 | 재발 없음 |
| D | 5개월 | 추적 중단 |
그림 2처럼 A와 B는 각각 3개월, 8개월에 사건이 발생했습니다. C는 12개월이 지날 때까지 재발하지 않았고, D는 5개월 이후의 상태를 확인할 수 없었습니다. 생존분석에서는 이처럼 사건이 실제로 발생한 시점과, 사건을 확인하지 못한 채 관찰이 끝난 시점을 구분해야 합니다.
다만 사건이 관찰되지 않은 대상은 실제 사건시간을 알 수 없습니다. 이때 중요한 개념이 중도절단입니다.
중도절단이란 무엇일까?
중도절단(Censoring)은 사건이 발생한 정확한 시점을 확인하지 못한 상태를 말합니다. 생존분석에서는 특히 연구 종료나 추적 중단 때문에 사건 발생 여부 또는 발생 시점을 끝까지 확인하지 못하는 경우가 중요합니다.
예: 치료 시작 후 3개월째 재발. 3개월 시점에 사건 발생을 확인합니다.
예: 연구가 끝난 12개월째까지 재발하지 않음. 12개월까지 사건이 관찰되지 않았지만, 이후 발생 여부는 알 수 없습니다.
우측 중도절단은 생존분석에서 자주 다루는 유형입니다. 그 밖에도 그림 3처럼 사건 발생 시점이 두 관찰 시점 사이에 있다는 것만 아는 구간 중도절단, 첫 관찰 때 이미 사건이 일어나 있어 그 전 언제였는지 모르는 좌측 중도절단 등이 있습니다.
중도절단된 대상을 사건이 발생하지 않은 대상으로 확정해서는 안 됩니다. 연구 종료 시점까지 사건이 없었다는 사실과 앞으로도 사건이 발생하지 않는다는 사실은 서로 다릅니다.
또한 일반적인 생존분석 방법은 중도절단이 관찰된 정보와 적절한 조건 아래에서 독립적이라는 가정 등에 의존합니다. 사건이 발생할 가능성이 높은 대상일수록 추적에서 빠지는 상황이라면 분석 결과가 편향될 수 있습니다. 그림 4의 모의 자료에서 중도절단이 위험과 무관하면 12개월 생존확률이 40%로 실제(41%)와 거의 같지만, 위험이 높은 사람이 먼저 빠지면 56%로 실제보다 높게 추정됩니다.
왜 일반적인 평균 비교만으로는 부족할까?
사건 발생 여부만 비교하면 사건이 발생하기까지 걸린 시간과 관찰 종료 시점의 차이를 놓칠 수 있습니다.
그림 5처럼 두 치료 집단에서 연구 기간 중 재발한 환자 비율이 40%로 같더라도, 한 집단은 재발이 초기에 집중되고 다른 집단은 후기에 집중될 수 있습니다. 사건이 발생하지 않은 환자의 관찰 기간도 서로 다를 수 있습니다. 생존분석은 이러한 차이를 반영해 시간에 따른 생존 가능성을 추정하며, 중도절단된 관측치도 적절한 방법으로 분석에 활용합니다.
생존분석 데이터는 어떻게 구성할까?
일반적인 생존분석 데이터는 대상별로 관찰시간과 사건 발생 여부를 기록합니다.
| 대상 | 시간 | 사건 |
|---|---|---|
| A | 3 | 1 |
| B | 8 | 1 |
| C | 12 | 0 |
| D | 5 | 0 |
그림 6처럼 시간은 사건이 발생했거나 관찰이 끝날 때까지의 시간이고, 사건은 사건이 관찰되면 1, 중도절단되면 0으로 코딩하는 방식이 흔합니다. 여기에 치료군, 연령, 성별 등 사건 발생 시간과 관련이 있는 설명변수를 함께 기록합니다. 이 예시에서 C와 D의 0은 사건이 영원히 발생하지 않는다는 뜻이 아니라, 각각 12개월과 5개월까지 사건을 확인하지 못했다는 의미입니다. 실제 분석에서는 시간의 단위, 관찰 시작점, 사건의 정의, 중도절단 사유를 명확하게 정해야 합니다.
생존분석은 어떤 질문에 답할까?
| 연구 질문 | 다음에 배울 분석 |
|---|---|
| 특정 시점까지 사건 없이 남아 있을 확률은? | 생존함수 |
| 시간에 따라 순간적인 사건 발생 위험은 어떻게 달라질까? | 위험함수 |
| 두 집단의 생존 양상은 다른가? | Kaplan–Meier 추정, Log-rank 검정 |
| 차이가 시간으로 얼마나 될까? | 제한평균생존시간(RMST) |
| 여러 설명변수를 고려하면 어떤 요인이 사건 발생과 관련될까? | Cox 비례위험모형, AFT 모형 |
| 사건의 원인이 여러 개라면 어떻게 분석할까? | 경쟁위험 분석 |
어떤 방법이 적절한지는 사건의 종류뿐 아니라 연구 목적, 중도절단의 형태, 설명변수의 구조에 따라 달라집니다.
치료를 시작한 환자 120명을 최대 12개월 동안 추적하였다. 사건은 질병 재발로 정의하였으며, 연구 종료 시점까지 재발하지 않았거나 추적이 중단된 환자는 마지막 관찰 시점에서 중도절단으로 처리하였다. 추적 중단 사유는 재발 위험과 관련이 없는 것으로 확인되었다.
사건이 일어났는지뿐 아니라, 언제 일어났는지와 끝까지 보지 못한 관측까지 함께 분석합니다.
- 생존분석은 사건 발생 여부와 함께 사건이 발생하기까지 걸린 시간을 분석합니다.
- 중도절단은 사건의 정확한 발생 시점을 확인하지 못한 관측을 의미합니다.
- 연구 종료 시점까지 사건이 없었던 대상도 분석에서 무조건 제외할 필요가 없습니다.
- 올바른 분석을 위해서는 사건의 정의, 관찰 시작점, 시간 단위와 중도절단 조건을 명확하게 설정해야 합니다.
다음은 02 생존함수와 위험함수입니다. 생존확률과 위험률이 서로 어떻게 다른지 이해하면 이후 Kaplan–Meier 추정과 Cox 모형을 훨씬 쉽게 이해할 수 있습니다.
생존분석은 사건까지 걸린 시간을 분석하며, 끝까지 사건을 확인하지 못한 중도절단 관측도 "그때까지 사건이 없었다"는 정보로 활용합니다. 중도절단을 사건 없음으로 확정하거나 제외하면 결과가 치우칠 수 있습니다.