도구스학업·수학

맥니마 검정 계산기

같은 대상을 두 번 잰 2×2 표에서 한쪽으로 치우쳤는지 검정합니다. 불일치 칸만 쓰는 이유를 보여 주고, 이항 정확검정과 연속성 보정 카이제곱 중 어느 것을 써야 하는지 판정합니다.

치료 후치료 후 아니오
치료 전
치료 전 아니오

양측 p 값 (이항 정확검정)

0.05248

불일치 22명 · 유의수준 5%에서는 치우쳤다고 보기 어렵습니다

b — 치료 전 예 → 치료 후 아니오6
c — 치료 전 아니오 → 치료 후 예16
불일치 b + c (검정에 쓰는 수)22
일치 a + d (버리는 수)139
이항 정확검정 p0.05248 ← 권장
카이제곱 (연속성 보정)χ² = 3.6818, p = 0.05501
카이제곱 (보정 없음)χ² = 4.5455, p = 0.03301
변화 비율 차이 (b − c)/n-6.21 %p
오즈비 b/c0.375
전체 일치율 (a + d)/n86.3 %
a와 d는 계산에서 통째로 뺍니다. 두 번 다 같은 답을 한 139명은 변화에 대해 아무것도 말해 주지 않기 때문입니다. 검정이 묻는 것은 딱 하나입니다 — «치료 전 예 → 치료 후 아니오»로 바뀐 6명과 그 반대로 바뀐 16명이 같은 수만큼 있는가? 귀무가설이 «둘이 반반»이므로, 이는 동전을 22번 던져 앞면이 6번 나온 것이 이상한지를 보는 문제와 같아집니다.여기에 카이제곱 독립성 검정을 쓰면 안 됩니다. 그쪽은 두 표본이 서로 독립이라고 보고 네 칸을 모두 쓰는데, 같은 사람을 두 번 잰 자료에서는 그 가정이 깨집니다. 짝지어진 자료에 독립성 검정을 쓰면 검정력을 버리게 됩니다.
계산 근거χ² = (|b−c| − 1)² / (b+c) = (|616| − 1)² / 22 = 3.68182 · 자유도 1 → p = 0.05501정확검정: b ~ B(22, 0.5) 의 양측 확률 = 0.05248−1은 에드워즈(1948)의 연속성 보정입니다. 이산인 도수를 연속인 카이제곱에 맞추느라 넣는 것으로, 빼면 p값이 작게 나옵니다. 지금 자료에서는 보정하면 0.05501, 보정하지 않으면 0.03301입니다.
불일치가 25명보다 적으면 정확검정을 씁니다. 카이제곱은 근사이고, 도수가 적으면 그 근사를 믿기 어렵기 때문입니다. 지금은 불일치가 22명이라 이항 정확검정을 권합니다. 위 표에 세 값을 모두 적어 둔 것은, 자료마다 다른 방법을 쓰는 바람에 같은 표에서 결론이 갈리는 일이 잦아서입니다. 논문이나 보고서에 적을 때는 어느 것을 썼는지 밝혀 주세요.
치우침과 일치도는 다른 문제입니다. 맥니마 검정은 «한쪽 방향으로 더 많이 바뀌었는가»만 봅니다. b와 c가 각각 100명이면 200명의 답이 바뀌었는데도 검정은 «치우침 없음»이라고 말합니다. 두 측정이 얼마나 일치하는지는 코헨의 카파로 따로 봐야 하며, 둘을 함께 보아야 그림이 완성됩니다.답이 세 가지 이상인 표(3×3 이상)에는 맥니마-보커 검정을 써야 합니다. 이 계산기의 범위 밖입니다.

계산 방법

  1. 1두 측정의 이름을 적습니다. 치료 전과 후, 진단법 A와 B처럼 같은 대상을 두 번 잰 것이어야 합니다.
  2. 2네 칸에 사람 수를 넣습니다. b는 «첫 번째 예 → 두 번째 아니오», c는 그 반대입니다.
  3. 3불일치 수(b + c)에 따라 정확검정과 카이제곱 중 권장 방법이 자동으로 표시됩니다.
  4. 4세 가지 p값을 모두 보여 주므로, 다른 계산기와 값이 다를 때 어느 방법 차이인지 확인할 수 있습니다.

자주 묻는 질문

같은 대상을 두 번 잰 2×2 표에 씁니다. 치료 전후의 증상 유무, 같은 환자에게 적용한 두 진단법의 결과, 광고를 보기 전과 본 뒤의 선호처럼 두 측정이 짝지어져 있을 때입니다. 서로 다른 두 집단을 비교하는 것이라면 카이제곱 독립성 검정이나 피셔 정확검정을 써야 합니다.

두 번 다 같은 답을 한 사람들은 변화에 대해 아무것도 말해 주지 않기 때문입니다. 검정이 묻는 것은 «예 → 아니오»로 바뀐 사람과 «아니오 → 예»로 바뀐 사람이 같은 수만큼 있는가 하나뿐이라, 답이 바뀐 b와 c만 씁니다. 이것이 카이제곱 독립성 검정과 갈리는 지점입니다.

안 됩니다. 독립성 검정은 두 표본이 서로 독립이라고 보고 네 칸을 모두 쓰는데, 같은 사람을 두 번 잰 자료에서는 그 가정이 깨집니다. 짝지어진 자료에 독립성 검정을 쓰면 짝지음에서 오는 정보를 버리게 되어 검정력이 떨어집니다.

이산인 도수를 연속인 카이제곱분포에 맞추기 위한 에드워즈(1948)의 보정입니다. χ² = (|b−c| − 1)²/(b+c)로 계산하며, 빼면 p값이 실제보다 작게 나옵니다. b=6, c=16인 자료를 예로 들면 보정하면 p = 0.055로 유의하지 않은데 보정하지 않으면 p = 0.033이 되어 결론이 뒤집힙니다.

불일치 수 b + c가 25보다 작으면 이항 정확검정을 씁니다. 카이제곱은 근사이고 도수가 적으면 믿기 어렵기 때문입니다. 정확검정은 b가 이항분포 B(b+c, 0.5)를 따르는지 그대로 계산하므로 표본 크기에 상관없이 맞습니다. 이 계산기는 세 값을 모두 보여 주고 어느 것을 권하는지 표시합니다.

한쪽 방향으로 더 많이 바뀌었다고 볼 수 있습니다. 두 측정이 얼마나 일치하는지에 대해서는 아무것도 말해 주지 않습니다. b와 c가 각각 100명이면 200명의 답이 바뀌었는데도 검정은 «치우침 없음»이라고 하기 때문입니다. 일치도는 코헨의 카파로 따로 봐야 합니다.

맥니마-보커 검정(McNemar-Bowker test)으로 넓혀야 합니다. 3×3 이상의 대칭성 검정이며 이 계산기의 범위 밖입니다. 답이 순서가 있는 등급이라면 대응표본 부호검정이나 윌콕슨 부호순위검정을 쓰는 방법도 있습니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이루어지며 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 카이제곱 p값은 scipy.stats.chi2.sf, 정확검정 p값은 scipy.stats.binomtest와 소수 열 자리까지 대조해 검증했습니다.
  • b와 c가 같을 때 보정 카이제곱은 0이 아니라 1/(b+c)가 됩니다. 보정을 조건 없이 적용한 결과이며 R의 mcnemar.test도 같은 값을 냅니다. 그 자리에서는 정확검정 쪽이 더 자연스러운 p = 1을 줍니다.
  • 불일치 25명을 경계로 방법을 권하지만 절대적인 기준은 아닙니다. 표본이 넉넉해도 정확검정을 쓰는 것은 언제나 안전합니다.
  • 이 검정은 치우침만 봅니다. 일치도는 코헨의 카파로, 3×3 이상은 맥니마-보커 검정으로 따로 봐야 합니다.
  • 입력한 값은 브라우저 안에서만 계산되며 서버로 전송되지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 8월 31일 · 결과는 참고용 추정치입니다.