Data science/통계

McNemar test (맥니마 검정)

yunnaa 2023. 4. 6. 11:32

 

McNemar test (맥니마 검정)

- 짝을 이룬 범주형 데이터 (paired norminal data)에 사용하는 검정 

- 또는 각 관측치 간에 독립성이 만족하지 않을 때 사용 (출처)

- 피험자 내 카이제곱 검정이라고도 함 

- 카이제곱 검정 : 링크 참고 

 

Example.

참고자료 Table 2는 augmentation 하기 전후를 비교하기 위해 McNemar test를 사용하여 P-value룰 구함.

이와 같이 각 metric 별로 구할 수 있음.

 

예를 들어 위 Top-1의 경우를 보면 

    before after
Sensitivity  TP / TP+FN 25/39 = 64.1% 25/39 = 64.1%
Specificity  TN / FP+TN 220/256 = 85.9% 232/256 = 90.6%

즉, sensitivity는 TP+FN=39개 데이터에 대해서만, specificity는 FP+TN=256개 데이터에 대해서만 McNemar test를 진행

<TP=25, TN=220인데 accuracy의 분자는 왜 121인지 모르겠음>

 

1. R 사용법

 

전후 비율 비교 / 반복측정 - 맥네마 검정 (McNeamar's test) R: mcnemar.test()

1. 맥네마 검정 (McNemar's test) 같은 대상자로부터 두 번 측정한 자료를 짝지어진 자료, paired data,라고 한다. 인슐린 치료를 받기 전과 받은 후의 당뇨병성 케톤산혈증 발생 여부를 조사한 자료나,

mansoostat.tistory.com

 

2. Python 사용법

 

mcnemar: McNemar's test for classifier comparisons - mlxtend

From here you can search these documents. Enter your search terms below.

rasbt.github.io

 

 

* 만약 multi class 문제라면?

1. 아래 python 사용법 링크에 나오듯이 true 값에 대한 pred 값을 wrong/correct의 binary class로 변경하여 해결.

stage1 / stage 2 / paired data

2. Stuart-Maxwell 검정, McNemar-Bhapkar 검정 사용 (출처)

-  McNemar-Bhapkar test : R 사용법

 

 

'Data science > 통계' 카테고리의 다른 글

t검정, F검정, 카이제곱검정  (0) 2023.04.06