← 범주형자료분석
PART 2 · 06 범주형자료분석 · 04

정확검정

작은 표본에서 가능한 표의 확률로 직접 계산하는 검정

Fisher 정확검정주변합계초기하분포이항검정검정력

치료군8/10대조군4/10초록 = 호전됨20명뿐일 때, 이 차이는 우연일까?

정확검정(Exact Test)은 표본이 작거나 관측빈도가 낮아 일반적인 근사 검정의 신뢰성이 떨어질 수 있을 때 사용하는 통계적 검정 방법입니다. 앞서 배운 카이제곱 검정(03장)은 관찰빈도와 기대빈도의 차이로 검정통계량을 계산하고, 카이제곱 분포를 통해 p값을 근사합니다. 하지만 표본이 작거나 일부 셀의 기대빈도가 매우 낮으면 이러한 근사가 부정확해질 수 있습니다. 이럴 때 대표적으로 사용하는 방법이 Fisher의 정확검정(Fisher's Exact Test)이며, 특히 두 범주형 변수로 구성된 2 × 2 분할표에서 널리 활용됩니다.

SECTION 01

정확검정은 왜 필요할까?

신약의 효과를 확인하기 위해 환자 20명을 두 집단으로 나누어 치료 결과를 조사했다고 가정하겠습니다.

집단호전됨호전되지 않음합계
치료군8210
대조군4610
합계12820
관찰빈도 (20명)호전됨호전 안 됨치료군82대조군46기대빈도 (독립일 때)호전됨호전 안 됨치료군64대조군64기대빈도가 4인 칸이 2개 (5 미만)
그림 1. 환자 20명의 관찰빈도와 기대빈도

그림 1처럼 이 표의 기대빈도는 호전됨 6명, 호전되지 않음 4명입니다. 호전되지 않은 두 칸의 기대빈도가 4로 5보다 작아, 카이제곱 근사를 그대로 쓰기에는 조심스러운 상황입니다.

치료군 (10명)호전 80%대조군 (10명)호전 40%차이 40%p · 하지만 각 집단 10명
그림 2. 두 집단의 호전 비율

그림 2처럼 치료군에서 호전된 비율은 80%, 대조군에서는 40%입니다. 두 집단의 차이가 눈에 띄지만 각 집단이 10명뿐이므로, 일반적인 근사 검정 대신 정확검정을 고려할 만합니다. 다만 표본 수가 작다는 이유만으로 항상 정확검정을 해야 하는 것은 아닙니다. 기대빈도, 자료의 구조, 연구 설계를 함께 고려해야 합니다.

SECTION 02

Fisher의 정확검정이란?

Fisher의 정확검정은 2 × 2 분할표에서 행과 열의 합계가 주어졌다고 할 때, 귀무가설 아래에서 관찰된 표와 그보다 극단적인 표가 나타날 확률을 계산하는 방법입니다. 일반적인 카이제곱 검정처럼 큰 표본에서의 분포를 근사하는 대신, 조건에 맞는 표의 확률을 이용해 p값을 계산합니다. 치료군과 대조군의 결과가 실제로 다르지 않다고 가정했을 때, 현재처럼 결과가 한쪽 집단에 치우친 표가 우연히 관찰될 가능성은 얼마나 되는지를 묻는 것입니다.

행 합계 10 · 10, 열 합계 12 · 8을 고정하면 a(치료군 호전 수)만 정하면 표가 정해짐28100a = 23791a = 34682a = 45573a = 56464a = 67355a = 78246a = 89137a = 910028a = 10관찰한 표
그림 3. 주변합계를 고정했을 때 가능한 표 9가지

그림 3처럼 행 합계(10 · 10)와 열 합계(12 · 8)를 고정하면, 치료군의 호전 수 a만 정하면 나머지 세 칸이 자동으로 정해집니다. a는 2부터 10까지 가능하므로 가능한 표는 9가지이고, 관찰한 표는 a = 8입니다. 일반적인 Fisher 검정은 이처럼 행과 열의 주변합계를 고정한 조건부 검정입니다. 따라서 모든 상황에서 유일하게 정답인 검정이라는 뜻은 아닙니다.

SECTION 03

Fisher의 정확검정 결과 해석하기

치료군의 호전 비율은 8/10 = 80%, 대조군은 4/10 = 40%로 관찰된 비율 차이는 40%p입니다. 이 표에 양측 Fisher의 정확검정을 적용하면, 귀무가설 아래에서 관찰한 표(a = 8, 확률 0.075)만큼 또는 그보다 드문 표들의 확률을 모두 더해 p = 0.0004 + 0.0095 + 0.075 + 0.075 + 0.0095 + 0.0004 ≈ 0.170을 얻습니다. 따라서 유의수준 0.05에서는 두 집단의 결과가 다르다고 판단할 충분한 통계적 근거가 없습니다.

이는 두 집단의 차이가 없다는 사실이 입증되었다는 의미가 아닙니다. 표본이 작아 실제 차이를 확인할 검정력이 충분하지 않았을 가능성도 있습니다. 또한 p값만으로 효과의 크기를 판단해서는 안 됩니다. 치료 효과를 평가하려면 위험비나 오즈비, 신뢰구간 등을 함께 확인하는 것이 좋습니다(05장).

0.10.51251050OR = 60.8144.495% 신뢰구간이 1을 포함하고 매우 넓음 → 효과가 없다는 뜻이 아니라, 20명으로는 판단 정보가 부족
그림 4. 오즈비와 95% 신뢰구간 (로그 눈금)

그림 4처럼 이 표의 오즈비는 (8 × 6) ÷ (2 × 4) = 6이지만, 95% 신뢰구간이 0.81 ~ 44.4로 1을 포함하고 매우 넓습니다. 효과가 없다는 뜻이 아니라, 20명의 자료로는 효과의 크기를 좁혀 말할 정보가 부족하다는 뜻입니다.

보고 문장 예시

치료군의 호전 비율은 80%(8/10), 대조군은 40%(4/10)였으나, 양측 Fisher의 정확검정 결과 두 집단의 차이는 유의하지 않았다(p = .170). 오즈비는 6.0(95% CI [0.81, 44.4])으로 신뢰구간이 넓어, 표본 크기를 늘린 추가 연구가 필요하다.

SECTION 04

정확검정은 어떻게 확률을 계산할까?

2 × 2 분할표에서 Fisher의 정확검정은 주변합계가 고정되어 있다고 가정하고, 가능한 표 각각의 확률을 계산합니다. 관찰된 표를 다음과 같이 나타내겠습니다.

결과 있음결과 없음합계
집단 Aaba + b
집단 Bcdc + d
합계a + cb + dn
P(A = a) = C(a + b, a) × C(c + d, c) ÷ C(n, a + c)
주변합계가 고정된 상태에서 해당 표가 나타날 확률 (초기하분포)
P(a = 8) = C(10, 8) × C(10, 4) ÷ C(20, 12) = 45 × 210 ÷ 125,970 ≈ 0.075치료군 10명 중 8명, 대조군 10명 중 4명이 호전되는 방법 수 ÷ 호전 12명을 20명에 배치하는 방법 수
그림 5. 관찰한 표(a = 8)의 확률 계산

그림 5처럼 치료군 10명 중 8명, 대조군 10명 중 4명이 호전되는 방법의 수(45 × 210)를, 호전된 12명을 20명 중에 배치하는 전체 방법의 수(125,970)로 나누면 0.075입니다. 실제 p값은 검정의 방향과 정의에 따라 관찰된 결과만큼 또는 그보다 극단적인 표들의 확률을 합산해 구합니다.

a · b · c · d 일반형

어떤 2 × 2 표든 주변합계만 고정하면 같은 방식으로 각 표의 확률을 계산할 수 있습니다.

양측 p값의 정의

극단성을 정의하는 방식에 따라 구현별 p값이 달라질 수 있으므로, 사용한 검정 방식과 소프트웨어를 명시하면 좋습니다.

SECTION 05

Fisher의 정확검정과 카이제곱 검정 비교

카이제곱 (보정 없음)p = 0.068카이제곱 (연속성 보정)p = 0.171Fisher 정확검정 (양측)p = 0.170Fisher 정확검정 (단측)p = 0.0850.05
그림 6. 같은 표, 방법에 따라 다른 p값

그림 6처럼 같은 20명의 표라도 보정 없는 카이제곱 검정은 p = 0.068, 연속성 보정 카이제곱은 0.171, Fisher의 정확검정은 양측 0.170, 단측 0.085입니다. 표본이 작을수록 방법 선택이 결과에 큰 영향을 주므로, 분석 전에 방법과 검정 방향을 정해 두어야 합니다.

구분카이제곱 검정Fisher의 정확검정
계산 방식카이제곱 분포를 이용한 근사주변합계가 주어진 조건에서 가능한 표의 확률 계산
대표적인 사용 상황일반적인 범주형 자료의 분포 · 관계 검정특히 작은 2 × 2 분할표
기대빈도가 작은 경우근사 정확도가 떨어질 수 있음조건부 정확검정이 유용할 수 있음
계산 부담일반적으로 낮음표가 커지면 계산 부담이 커질 수 있음
결과 해석p값으로 귀무가설 평가p값으로 귀무가설 평가

카이제곱 검정과 Fisher의 정확검정 중 어느 것이 항상 더 우수하다고 말할 수는 없습니다. 연구 질문, 표본 크기, 기대빈도, 표본 설계에 맞춰 선택해야 합니다.

SECTION 06

그 밖의 정확검정과 소표본 분석

이항검정 (Binomial Test)

성공 · 실패처럼 두 가지 결과를 갖는 자료에서 관찰된 성공 비율이 기준 비율과 다른지 검정합니다. 예: 10명 중 9명이 성공했다면 기준 50%에 대해 p = 0.021입니다.

정확 순열검정

귀무가설 아래에서 가능한 배치나 순열을 이용해 검정통계량의 분포를 계산합니다. 비모수 파트의 「순열검정」에서 자세히 다룹니다.

확장된 정확검정

행이나 열이 세 범주 이상인 분할표에서도 정확한 조건부 검정을 사용할 수 있지만, 가능한 표의 수가 많으면 계산량이 크게 늘어납니다.

어떤 방법을 선택하든 자료가 어떻게 수집되었는지, 관측값이 독립적인지, 어떤 귀무가설을 검정하는지를 먼저 확인해야 합니다.

SECTION 07

정확검정을 사용할 때 주의할 점

집단당 10명25%집단당 20명64%집단당 40명95%실제 호전율이 80% vs 40%일 때 Fisher 검정이 p < 0.05를 낼 확률 (모의 2,000회)
그림 7. 표본이 작으면 실제 차이도 놓치기 쉽다 (검정력)

그림 7은 실제 호전율이 치료군 80%, 대조군 40%로 분명히 다를 때, Fisher 검정이 p < 0.05를 낼 확률(검정력)을 모의실험한 결과입니다. 집단당 10명이면 25%에 그쳐 네 번 중 세 번은 차이를 놓치고, 40명이 되어야 95%가 됩니다. 1절 예시의 p = 0.170도 이런 맥락에서 해석해야 합니다.

① 항상 더 강력하지 않음

정확검정이라도 표본이 작을 때는 유의한 차이를 발견하기 어려울 수 있습니다.

② 유의하지 않음 ≠ 차이 없음

효과크기와 신뢰구간도 함께 살펴봐야 합니다.

③ 검정 방향은 미리

단측 검정과 양측 검정은 서로 다른 질문에 답합니다.

④ 자료 구조에 맞게

같은 사람을 두 번 측정한 자료나 짝지어진 자료에는 독립 표본용 Fisher 검정을 그대로 적용하면 안 됩니다(10장).

⑤ 효과크기 함께 보고

작은 표본에서는 p값이 불안정한 결론으로 이어질 수 있으므로 오즈비와 신뢰구간을 함께 제시합니다.

✓ 핵심 정리

근사 대신, 가능한 표의 확률을 직접 계산합니다.


다음은 05 연관성의 측정입니다. 범주형 변수 간 관계를 p값만으로 판단하지 않고, 그 관계가 얼마나 강한지 오즈비, 상대위험도, Cramér의 V로 표현하는 방법을 알아봅니다.

KEY TAKEAWAYS

Fisher의 정확검정은 주변합계를 고정하고 가능한 모든 표의 확률을 계산해, 관찰한 표만큼 치우친 표의 확률을 더해 p값을 얻습니다. 기대빈도가 작은 표에서 유용하지만 검정력이 높아지는 것은 아니므로, 유의하지 않은 결과도 오즈비와 신뢰구간으로 함께 해석합니다.