13강 / 20강

생존곡선 — 계단을 손으로 그린다

중도절단을 다루는 법

생존곡선 — 계단을 손으로 그린다
생존분석의 어려움은 죽음을 세는 데 있지 않습니다. 아직 살아 있는 사람을 어떻게 세느냐에 있습니다.

이제 가장 궁금한 것을 물을 차례입니다. 침윤이 많은 환자가 더 오래 사는가?

먼저 생존 자료의 특이한 점을 알아야 합니다. 임상 자료의 각 환자에게는 두 값이 있어요 —

  • OS_time — 관찰한 기간 (일)
  • OS — 그 끝에 무슨 일이 있었나. 1이면 사망, 0이면 아직 살아 있음

OS = 0 인 환자를 중도절단(censored) 이라고 합니다. "1,200일까지는 살아 있었고 그 뒤는 모른다" 는 뜻이에요. 이 사람들을 어떻게 세느냐가 생존분석의 전부라고 해도 지나치지 않습니다.

계산은 놀랄 만큼 단순합니다. 죽음이 일어난 시각 t 마다 —

S(t) = S(이전) × (1 − 그 시각의 사망자 ÷ 그때 남아 있던 사람)

중도절단된 사람은 곡선을 내리지 않고, 그 시각 이후로는 분모에서 조용히 빠집니다.

죽음이 난 시각마다 계단 하나. 이 함수가 til.km_curve() 와 같은 것입니다.
Python 브라우저에서 실행
흑색종에서 두 곡선이 눈에 띄게 갈립니다 — 3,564일 대 1,618일.
Python 브라우저에서 실행
암종을 바꿔 보세요. 곡선이 갈리는 암종도, 겹치는 암종도 있습니다.
불러오는 중…

흑색종의 결과는 인상적입니다. 침윤이 많은 쪽의 생존 중앙값이 3,564일(9.8년), 적은 쪽이 1,618일(4.4년) — 두 배가 넘습니다.

하지만 잠깐. 그림이 갈려 보인다고 해서 정말 갈린 걸까요? 사람 눈은 없는 패턴도 잘 만들어 냅니다. 이 차이가 우연일 확률을 숫자로 만들어야 합니다. 그것이 14강입니다.

🤔 확인 문제
중도절단(OS = 0)된 환자를 분석에서 빼면 안 되는 까닭은?
🤔 확인 문제
카플란-마이어 곡선이 내려가는 순간은?