18강 / 20강

어느 병원에서 온 슬라이드인가 — 배치 효과

환자가 다른가, 슬라이드가 다른가

어느 병원에서 온 슬라이드인가 — 배치 효과
CNN 은 색의 진하기를 보고 배웁니다. 염색이 진한 병원의 슬라이드는 더 붉게 나올 수 있어요.

지금까지 우리는 침윤률을 환자의 성질로 다뤄 왔습니다. 그런데 이 값은 슬라이드에서 나왔고, 슬라이드는 병원에서 만들어졌습니다.

병원마다 고정 시간이 다르고, 염색액 농도가 다르고, 스캐너가 다릅니다. CNN 은 색의 진하기와 질감을 보고 배웠으니 이 차이에 반응할 수 있어요.

다행히 TCGA 바코드에 단서가 있습니다. TCGA-XX-YYYY 의 두 글자가 조직을 보낸 기관(TSS) 을 가리킵니다.

같은 암종인데 기관에 따라 중앙값이 0.47% 에서 3.25% 까지 — 일곱 배 차이입니다.
Python 브라우저에서 실행
이것이 배치 효과입니다. 우연이라고 보기 어려운 크기예요.
Python 브라우저에서 실행
암종을 바꿔 가며 기관별 중앙값을 보세요. 가로선이 그 암종 전체의 중앙값입니다.
불러오는 중…

여기서 조심해야 합니다. 기관 차이가 곧 기술적 잡음이라는 뜻은 아닙니다.

  • 기관마다 환자 구성이 다를 수 있습니다 — 인종, 연령, 병기, 아형.
  • 기관마다 수술 방식이 다를 수 있습니다 — 절제 범위, 조직 채취 부위.
  • 그리고 염색·스캔이 다릅니다.

이 셋을 가를 수가 없습니다. 기관과 환자 특성이 뒤엉켜 있으니까요. 그러니 우리가 말할 수 있는 것은 여기까지입니다 — "기관 사이에 큰 차이가 있고, 그 원인을 이 자료로는 특정할 수 없다."

기계 자체의 흔들림도 재 볼 수 있습니다. 3강에서 본 대로 이 자료에는 모델 v1 이 만든 지도와 모델 v2 가 만든 확률 지도가 같은 슬라이드에 대해 함께 있습니다. 두 모델이 얼마나 같은 칸을 붉게 칠했는지 보면, 모델 버전 사이의 일치도를 알 수 있어요.

같은 슬라이드, 같은 회사, 다음 버전의 모델. 그런데 어느 칸이 붉은지는 절반만 겹칩니다.
Python 브라우저에서 실행

침윤률이라는 숫자는 두 모델에서 비슷하게 나옵니다(12.1% 대 12.0%). 그러나 지도는 절반만 겹칩니다.

그러니 침윤률을 쓰는 연구는 모델 버전이 바뀌어도 대체로 견딜 것입니다. 하지만 "림프구가 어디에 있는가" 를 쓰는 연구 — 공간 분석, 종양-면역 경계, 이웃 관계 — 는 버전에 훨씬 민감합니다.

8·9강에서 만든 덩어리 수와 깊이가 바로 그런 값이에요. 그 값들을 쓰려면 모델 버전을 고정하고 명시해야 합니다.

🤔 확인 문제
기관(TSS)에 따라 침윤률 중앙값이 7배 차이 났습니다. 옳은 결론은?
🤔 확인 문제
모델 v1 과 v2 의 Dice 가 0.46 이라는 사실이 가장 크게 위협하는 분석은?