본문으로 건너뛰기

피셔의 정확 검정 계산기

2 × 2 표의 네 빈도를 입력하면 피셔의 정확 검정 p-값을 얻습니다. 양측과 두 단측 p-값, 표본 오즈비, R의 조건부 최대우도 오즈비와 그 정확한 신뢰구간, 그리고 같은 주변합을 가진 모든 표의 확률을 함께 제공합니다. 기대 빈도가 너무 작아서 카이제곱 검정을 쓰기 어려울 때 쓰는 검정입니다. 무료이며 회원가입이 필요 없습니다.

네 개의 빈도를 입력하세요. 행(집단)과 열(결과)의 이름을 바꾸면 결과에 라벨이 붙습니다.

합계
—
—
합계———

오즈비는 1행의 열 1 결과 오즈와 2행의 열 1 결과 오즈를 비교합니다.

네 칸을 모두 정수 빈도로 채우세요. 0도 허용됩니다.

피셔의 정확 검정 계산기 사용 방법

  1. 1. 표를 입력하세요. 집단은 행에, 결과는 열에 두고 네 빈도를 입력하세요. 결과가 자연스럽게 읽히도록 행과 열의 이름을 바꾸세요.
  2. 2. 대립가설을 고르세요. 양측은 오즈비가 1과 다른지를 묻습니다. 단측 옵션은 1행이 열 1 결과에 대해 2행보다 낮은 오즈(< 1)를 갖는지, 아니면 높은 오즈(> 1)를 갖는지를 묻습니다.
  3. 3. α와 신뢰수준을 고르세요. 결정과 오즈비 구간에 쓰입니다.
  4. 4. 결과를 읽고 보고하세요. 결과에는 세 p-값, 두 오즈비, 정확한 구간, 주변합이 같은 모든 표의 목록, 계산 과정, APA 형식 문장이 있습니다.

정확한 p-값을 구하는 방법

1행의 칸을 a와 b, 2행의 칸을 c와 d라고 부르겠습니다. 피셔의 검정은 모든 행과 열의 합을 고정된 것으로 봅니다. 그러면 좌상단 빈도 a가 표 전체를 결정하고, 연관이 없다는 귀무가설 아래에서 a는 초기하분포를 따릅니다: P(a) = C(a + c, a) × C(b + d, b) / C(N, a + b). 여기서 C(n, k)는 조합의 수입니다. 계산기는 a가 가질 수 있는 모든 값과 그 확률을 나열합니다.

  • 단측 p-값은 한쪽 꼬리를 더합니다. 오즈비가 1보다 작을 때는 P(X ≤ a), 1보다 클 때는 P(X ≥ a)입니다.
  • 양측 p-값은 관측한 표보다 가능성이 높지 않은 모든 표의 확률을 더합니다. R과 SciPy가 쓰는 방식이며, 계산기도 R처럼 10⁻⁷의 상대 허용오차를 허용하여, 반올림 때문에 정확한 산술에서 똑같이 가능한 표들이 갈라지지 않게 합니다.
  • 작은 쪽 단측 p-값을 두 배 하는 방식은 오래된 지름길인데, 분포가 치우쳐 있을 때 다른 답을 줄 수 있습니다. 중요하다면 어떤 양측 방식을 썼는지 밝히세요.

실제 예시: 과외와 합격률

예시 불러오기를 눌러 작은 연구를 불러오세요. 과외를 받은 학생 10명 중 8명이 합격하고 2명이 불합격했습니다. 과외를 받지 않은 6명 중에서는 1명이 합격하고 5명이 불합격했습니다. 학생은 16명이고 기대 빈도 네 개 중 세 개가 5보다 작으므로, 카이제곱 근사는 믿기 어렵습니다. 주변합 a + b = 10, a + c = 9, N = 16이 정해지므로 a는 3에서 9까지만 가능합니다.

피셔의 정확 검정, 단계별로

P(a = 8) = C(9, 8) × C(7, 2) / C(16, 10) = 9 × 21 / 8008 = .0236

a = 8보다 가능성이 높지 않은 표: a = 3 (.0105), a = 8 (.0236), a = 9 (.0009)

양측 p = .0105 + .0236 + .0009 = .0350

표본 OR = (8 × 5) / (2 × 1) = 20; 조건부 MLE = 15.47, 95% CI [1.01, 1059.64]

APA 형식으로 쓰면 다음과 같습니다: 과외를 받은 학생(10명 중 8명)은 과외를 받지 않은 학생(6명 중 1명)보다 합격할 가능성이 높았다, 피셔의 정확 검정, p = .035, OR = 15.47, 95% CI [1.01, 1059.64]. 이 넓은 구간이 결과의 솔직한 부분입니다. 학생이 16명뿐이므로, 데이터는 거의 없는 효과부터 매우 큰 효과까지 모두와 양립합니다.

두 가지 오즈비와 그 차이

표본 오즈비 ad / bc는 대부분의 교재와 SciPy의 fisher_exact가 보고하는 값입니다. R의 fisher.test는 대신 조건부 최대우도 추정값을 보고합니다. 이는 관측된 a가 비중심 초기하분포 아래에서 기댓값이 되도록 하는 오즈비이며, 같은 분포에서 만든 정확한 구간과 함께 나옵니다. 두 추정값은 큰 표에서는 거의 일치하고, 작은 표에서는 벌어집니다(예시에서는 20 대 15.47). 정확한 구간을 보고할 때는 조건부 추정값을 보고하세요. 그래야 추정값과 구간이 같은 모델에서 나옵니다. 한 칸이 0이면 표본 오즈비는 0 또는 무한대가 되지만, 구간은 여전히 한쪽 끝이 유한합니다.

자주 묻는 질문

카이제곱 검정 대신 피셔의 정확 검정을 언제 써야 하나요?
2 × 2 표의 기대 빈도가 작을 때입니다. 흔한 기준은 기대 빈도가 5 미만인 경우입니다. 카이제곱 검정은 그런 상황에서 깨지는 대표본 근사에 의존하는 반면, 피셔의 검정은 확률을 정확히 계산합니다. 빈도가 큰 경우에는 두 검정의 p-값이 비슷하며, 둘 다 허용됩니다.
피셔의 정확 검정은 2 × 2보다 큰 표에도 쓸 수 있나요?
이 개념은 r × c 표로 확장됩니다(프리먼–홀턴 확장). 하지만 이 계산기는 2 × 2 표만 다룹니다. 빈도가 작은 더 큰 표에는 정확 검정이나 몬테카를로 검정을 제공하는 통계 소프트웨어를 쓰거나, 드문 범주를 합친 뒤 카이제곱 검정을 쓰세요.
피셔의 정확 검정은 왜 보수적이라고 하나요?
두 주변합을 모두 고정된 것으로 보기 때문에 검정 통계량이 몇 가지 값만 가질 수 있고, 그래서 실제 위양성률은 보통 명목상 α와 같지 않고 그보다 낮습니다. 이 때문에 일부 통계학자는 중간 p-값이나 Barnard의 검정 같은 무조건부 검정을 선호하지만, 피셔의 검정은 여전히 표준적이고 널리 받아들여지는 선택입니다.
APA 형식으로 피셔의 정확 검정을 어떻게 보고하나요?
집단별 빈도 또는 백분율을 제시하고, 검정의 이름을 쓰고, p-값과 구간이 있는 효과 크기를 보고하세요: 피셔의 정확 검정, p = .035, OR = 15.47, 95% CI [1.01, 1059.64]. p와 OR은 기울임꼴로 쓰세요. 보고할 검정 통계량이나 자유도는 없습니다.
내 소프트웨어는 왜 다른 양측 p-값을 주나요?
일부 프로그램과 교재는 관측한 표보다 가능성이 높지 않은 모든 표의 확률을 더하는 대신, 작은 쪽 단측 p-값을 두 배 합니다. R과 SciPy는 이 계산기처럼 더하므로 결과가 일치해야 합니다. 소프트웨어가 두 배 하는 방식이라면, 그 결과를 여기 표시된 작은 쪽 단측 p-값의 두 배와 비교하세요. 확률이 거의 같은 경우를 처리하는 방식 때문에 아주 작은 차이가 날 수도 있습니다.
피셔 검정의 오즈비는 무엇을 뜻하나요?
1행의 열 1 결과 오즈를 2행의 같은 오즈와 비교합니다. 오즈비가 1이면 연관이 없다는 뜻이고, 1보다 크면 1행의 오즈가 더 높으며, 1보다 작으면 더 낮습니다. 표가 작으므로 항상 신뢰구간도 함께 읽으세요. 오즈비가 얼마나 정확하게 알려졌는지를 보여 줍니다.

관련 도구

통계 계산기의 다른 도구