본문 바로가기
Study

Multi Class 상황에서 McNemar Test의 한계

by 감홍 2025. 9. 2.
728x90

0. McNemar test와 Contingency table 개요

McNemar test는 두 모델 A, 모델 B를 동일한 환자 집단에 적용했을 때 정답률(accuracy)의 차이가 통계적으로 유의한지 평가하는 방법입니다.

  • 전제 조건: binary outcome (예: 질환 있음 vs 없음)
  • 데이터 구조: 각 환자 샘플에 대해 모델 A와 B가 각각 정답을 맞췄는지/틀렸는지 기록
  • 2×2 불일치표 (contingency table):
모델 B 정답모델 B 오답
모델 A 정답 n11 n12
모델 A 오답 n21 n22
  • 검정 통계량:

  • 해석: 두 모델이 “같은 샘플에서 달리 맞춘 경우”가 대칭적인지 확인함으로써, 전체 accuracy의 차이를 검정.

1. Sensitivity, Specificity의 p-value를 구할 수 있는가?

결론: 아니다.

  • 구할 수 있는 것: 각 모델의 sensitivity와 specificity 값 (confusion matrix에서 계산 가능).
  • 구할 수 없는 것: multiclass 환경에서 global sensitivity/global specificity의 차이에 대한 p-value.

예시: Confusion matrix에서 지표 산출

모델 A (이진 분류) 혼동 행렬:

실제/예측+–
실제 + 80 20
실제 – 10 90
  • Sensitivity(A) = 80 / (80+20) = 0.80
  • Specificity(A) = 90 / (90+10) = 0.90

모델 B도 동일하게 계산 가능.
각 모델의 confusion matrix로부터 지표 값 자체는 계산 가능.

하지만 p-value는?

  • McNemar는 “같은 환자에서 A는 맞고 B는 틀린 경우 vs 그 반대”의 빈도로 검정.
  • Multiclass에서는 sensitivity/specificity가 클래스별로 다 정의되며, 전역(global) 평균은 단순 산술평균(또는 가중평균).
  • 즉, global sensitivity는 환자 단위의 2×2 대응표로 표현되지 않음 → McNemar test 불가.

2. Accuracy에 대한 p-value는 가능한가?

Global accuracy (전체 정확도)

  • 모든 환자에 대해 “모델 A가 맞음/틀림, 모델 B가 맞음/틀림”을 비교 → McNemar test 적용.
  • global accuracy 차이에 대한 p-value 산출 가능.

Local accuracy (클래스별 one-vs-rest)

  • 각 클래스에 대해 “해당 클래스 vs 나머지”로 이진화 → McNemar test 적용 가능.
  • → 각 클래스별 accuracy 차이에 대한 p-value 산출 가능 (다중검정 보정 필요).

Global sensitivity/specificity가 불가능한 이유

  • Sensitivity는 양성 집단에만, Specificity는 음성 집단에만 정의.
  • Multiclass에서는 클래스별로 서로 다른 집단에서 정의됨 → 평균을 취하면 환자 단위 불일치표를 만들 수 없음.
  • 따라서 global sensitivity/specificity의 차이를 McNemar로 검정할 수 없음.

3. 대안: Permutation test

Permutation test는 McNemar의 제한을 벗어나, 任의 지표(accuracy, macro-sensitivity, macro-specificity, F1-score 등)에 대해 p-value를 구할 수 있는 일반적 방법입니다.

절차 (예: macro-sensitivity 비교)

  1. 관찰 데이터에서

계산.

  1. 각 환자에서 모델 A와 B의 예측 결과를 50% 확률로 교환.
  2. 새로 구성된 예측쌍으로 Δ* 계산.
  3. 이 과정을 1000회 이상 반복 → 귀무분포(“두 모델 동일” 가정 하)를 추정.
  4. p-value = Δ* 분포 중 |Δ*| ≥ |Δ_obs| 인 비율.

장점

  • 어떤 지표든 적용 가능 → global sensitivity, specificity 포함.
  • Multiclass에도 자연스럽게 확장 가능.
  • 데이터 구조(클러스터 환자, 다기관 등)에 맞게 변형 가능 (예: 클러스터 단위 permute).

최종 정리

  • McNemar test
    • Binary outcome에서만 적용 가능.
    • Global accuracy 차이 → 가능.
    • Local (클래스별) accuracy 차이 → 가능.
    • Global sensitivity/specificity 차이 → 불가능.
  • Permutation test
    • Global sensitivity/specificity, PPV/NPV 등 일반 지표 비교 가능.
    • Multiclass 환경에서 McNemar의 대안으로 활용 가능.
반응형