피셔의 정확 검정 계산기 (2×2 분할표)

2×2 분할표의 네 빈도를 입력하면 정확한 양측·단측 p값, 오즈비와 95% 신뢰구간, 바로 복사할 수 있는 APA 7 결과 문장을 보여 줍니다. 카이제곱 검정을 믿기 어려운 작은 표본을 위한 도구이며, 모든 계산은 브라우저 안에서 이루어집니다.

결과
통계량값
P값0.054
Left tail0.995
Right tail0.027
OR4.50
95% CI OR[1.17, 17.37]

APA 보고

Fisher's exact test, p = p = .054, OR = 4.50

전체 연구 데이터가 있나요?

데이터를 업로드하고 통계·그림·참고문헌이 포함된 논문 초안 생성—무료 미리보기.

논문 생성

사용 방법

1. **2×2 분할표 입력**: 네 칸의 빈도(a, b, c, d)를 입력하거나, 두 이분형 변수가 담긴 원자료나 CSV를 불러와 교차표를 자동으로 만듭니다. 2. **행과 열 이름 지정**(예: 처치군 / 대조군, 호전 / 호전 안 됨)을 하면 출력과 APA 문장이 자연스러워집니다. 3. **p값 확인**: 정확한 양측 p값과 두 방향의 단측 p값이 나옵니다. 단측 p값은 데이터를 보기 전에 방향을 정했을 때만 사용하세요. 4. **오즈비**와 95% 신뢰구간을 확인합니다. 5. **APA 7 결과 문장 복사**.

계산은 기기 안에서 실행되며 입력한 빈도는 어디로도 전송되지 않습니다.

피셔의 정확 검정이란, 언제 쓰나

피셔의 정확 검정(Fisher's exact test)은 두 이분형 변수 사이에 연관이 있는지를 검정합니다. 예를 들어 처치군과 대조군에서 호전된 환자의 비율이 다른지를 봅니다.

카이제곱 검정과 달리 대표본 근사에 의존하지 않습니다. 행 합계와 열 합계를 고정한 상태에서 초기하분포로 가능한 모든 표의 확률을 정확히 계산하고, 관측된 표만큼 또는 그보다 더 극단적인 표들의 확률 합을 p값으로 삼습니다.

다음과 같을 때 사용합니다.

  • **2×2 분할표**의 빈도 자료
  • 표본이 **작거나**, **기대빈도**가 5 미만인 칸이 있을 때([카이제곱 검정](/ko/tools/chi-square-calculator)을 신뢰하기 어려워지는 흔한 기준)
  • 소규모 시험의 이상반응처럼 드문 사건

표본이 크면 카이제곱 검정과 결과가 비슷하며, 피셔 검정도 여전히 타당합니다(계산량이 많아질 뿐입니다).

가정

  • **관측의 독립성**: 각 대상은 정확히 한 칸에만 포함됩니다. 같은 사람의 사전·사후처럼 대응 자료라면 McNemar 검정을 써야 합니다.
  • **두 이분형 변수**로 만든 2×2 빈도표여야 합니다. 백분율, 평균, 비율이 아닌 빈도를 씁니다.
  • **주변합 고정**: 검정은 행·열 합계를 조건으로 합니다. 실제로는 한쪽 주변합만 설계상 고정된 경우에도 널리 쓰이며, 그만큼 다소 보수적입니다.

최소 표본 크기 조건은 없습니다. 그것이 ‘정확’ 검정의 의미입니다.

공식

분할표를 다음과 같이 표시합니다.

| | 결과 있음 | 결과 없음 | 합계 | |---|---|---|---| | 집단 1 | a | b | a + b | | 집단 2 | c | d | c + d | | 합계 | a + c | b + d | n |

주변합이 고정되었을 때 특정 표가 나올 확률은 초기하분포를 따릅니다.

`P = [ (a+b)! (c+d)! (a+c)! (b+d)! ] / [ a! b! c! d! n! ]`

**단측 p값**: 관측된 표와 가설 방향으로 더 극단적인 모든 표의 P 합.

**양측 p값**: 관측된 표의 확률 이하인 모든 표의 P 합(R과 SciPy가 쓰는 표준 방법).

**표본 오즈비**: `OR = (a · d) / (b · c)`

**95% 신뢰구간(Woolf 로그 방법)**: `exp[ ln(OR) ± 1.96 · √(1/a + 1/b + 1/c + 1/d) ]`

어느 칸이 0이면 표본 오즈비가 0 또는 무한대가 되어 로그 구간에 보정(흔히 모든 칸에 0.5를 더함)이 필요합니다.

계산 예시

소규모 예비연구에서 환자 10명은 새 치료를, 10명은 표준 치료를 받았습니다.

| | 호전 | 호전 안 됨 | 합계 | |---|---|---|---| | 새 치료 | 9 | 1 | 10 | | 표준 치료 | 3 | 7 | 10 | | 합계 | 12 | 8 | 20 |

‘호전 안 됨’ 칸의 기대빈도가 4로 5보다 작으므로 피셔의 정확 검정이 적절합니다.

결과(Python과 SciPy로 검증):

  • **양측 p = .020**(0.0198)
  • 단측 p(새 치료가 더 나음) = .0099
  • **오즈비 = 21.0**, 95% CI(Woolf) **[1.78, 248.11]**

새 치료에서 호전될 오즈가 표준 치료의 21배였습니다(9:1 대 3:7). 환자가 20명뿐이고 한 칸이 1명이라 신뢰구간이 매우 넓습니다. 데이터는 중간 정도의 효과부터 매우 큰 효과까지 모두와 양립합니다.

비교로, 연속성 보정 없는 피어슨 카이제곱 검정은 χ²(1) = 7.50, p = .006으로 정확 p값보다 눈에 띄게 작습니다. 이 정도 표본 크기에서는 근사가 믿을 만하지 않다는 것을 보여 줍니다.

참고로 R의 `fisher.test()`는 다른 오즈비, 즉 조건부 최대우도추정값(이 예에서 17.27, 정확 95% CI [1.39, 1047.84])을 보고합니다. 둘 다 타당하므로 어느 것을 보고했는지 밝히면 됩니다.

결과 해석

  • **p값**: 연관이 없다는 귀무가설 아래, 주변합이 고정되었을 때 관측된 표만큼 또는 더 극단적인 표가 나올 확률입니다. 이 예에서 p = .020이므로 α = .05에서 호전율에 차이가 있다는 근거가 있습니다.
  • **양측과 단측**: 기본은 양측 p값입니다. 단측 검정은 방향을 미리 정했을 때만 정당하며, 유의하지 않은 양측 결과를 살리는 데 쓰면 안 됩니다.
  • **오즈비**: OR > 1이면 첫 번째 행에서 결과의 오즈가 높고, OR < 1이면 낮으며, OR = 1이면 연관이 없습니다. 신뢰구간이 1을 포함하지 않으면 유의한 결과와 일치합니다.
  • **신뢰구간의 폭**: 작은 표본에서는 매우 넓은 경우가 많습니다. 추정의 정밀도를 알 수 있도록 꼭 보고하세요.
  • **보수적인 검정**: p값이 이산적으로 변하기 때문에 실제 1종 오류율은 보통 명목 α보다 낮습니다.

상대위험도나 위험차도 필요하다면 [오즈비 계산기](/ko/tools/odds-ratio-calculator)를 이용하세요.

APA 7 양식으로 보고하기

검정 이름, 집단별 빈도 또는 비율, 정확한 p값, 오즈비와 신뢰구간을 씁니다.

> 호전은 표준 치료(10명 중 3명, 30%)보다 새 치료(10명 중 9명, 90%)에서 더 많았다. 피셔의 정확 검정 결과 유의한 연관이 있었다, *p* = .020(양측), *OR* = 21.0, 95% CI [1.78, 248.11].

보고할 검정통계량이나 자유도는 없습니다. p값이 양측인지 단측인지 밝혀 주세요.

이 분할표가 더 큰 데이터셋의 일부라면, Data2Paper의 [논문 생성](/ko/generate-paper)이 CSV나 엑셀 파일로 모든 분석을 수행하고 논문 초안까지 작성하며 앞부분은 무료로 미리 볼 수 있습니다.

자주 하는 실수

  • **‘기대빈도 5 미만’ 기준을 관측빈도에 적용**: 이 기준은 주변합으로 계산한 기대빈도에 관한 것입니다.
  • **빈도 대신 백분율 입력**: 검정에는 원래의 빈도가 필요합니다.
  • **대응 자료에 피셔 검정 사용**: 같은 대상의 사전·사후 비교는 McNemar 검정을 쓰세요.
  • **데이터를 본 뒤 단측 p값으로 바꿔** .05 아래로 만들기.
  • **p값만 보고**: 오즈비, 집단별 비율, 신뢰구간도 함께 보고하세요.
  • **오즈비를 위험비라고 부름**: 결과가 흔하면 OR이 상대위험도보다 훨씬 클 수 있습니다(이 예에서 RR = 0.9 / 0.3 = 3.0인 반면 OR = 21.0).
  • **작은 표본에서 유의하지 않은 결과를 ‘효과 없음’으로 해석**: 신뢰구간을 확인하세요.

FAQ

관련 계산기