한번은 라인별 불량 집계표를 놓고 소란이 난 적이 있다. 한 라인의 불량 개수가 다른 라인의 2배였던 것이다. “저 라인에 문제가 있다”는 말이 바로 나왔다. 그런데 검사 수량까지 같이 보면 이야기가 달라진다. 검사를 2배 많이 했으면 불량도 2배 나오는 게 정상이다. 불량 개수의 절대값 비교는 이렇게 사람을 속인다. 이 함정을 피해 여러 라인의 불량률을 공정하게 비교하는 도구가 카이제곱 검정이다.
앞 글에서 본 비율 검정의 z검정은 기대 불량 개수(np)가 10을 넘어야 쓸 수 있었다. 잘 관리되는 공정일수록 불량률이 작아 이 조건을 못 맞추는데, 그때 내려오는 길이 분할표 기반의 카이제곱 검정이고, 표본이 더 귀할 때의 최후 수단이 Fisher 정확검정이다. 이 글에서 그 2갈래를 모두 다룬다.
분할표 — 집계표를 검정 가능한 형태로
분할표는 별것이 아니다. 행에 불량/정상, 열에 라인을 놓은 교차 집계표다.
아래 수치는 개념 설명을 위한 임의의 수치입니다.
| 라인 1 | 라인 2 | 라인 3 | 합계 | |
|---|---|---|---|---|
| 불량 | 6 | 3 | 12 | 21 |
| 정상 | 894 | 997 | 1,088 | 2,979 |
| 검사 수 | 900 | 1,000 | 1,100 | 3,000 |
여기에 한 가지 개념만 얹으면 검정이 된다. 기대도수 — “세 라인의 불량률이 정말 같다면, 각 칸에 나왔어야 할 개수”다. 계산은 (그 칸의 행 합계 × 열 합계) ÷ 전체 합계. 전체 불량률이 21/3,000 = 0.7%이므로, 라인 1의 기대 불량은 900 × 0.7% = 6.3개, 라인 2는 7.0개, 라인 3은 7.7개다. “구분이 없다는 가정 아래 평균적으로 기대되는 값”이라는 점에서, 확률 개념의 기대값과 같은 뿌리의 아이디어다.
카이제곱 검정 — 예상표에서 벗어난 정도의 총합
카이제곱 검정의 통계량은 모든 칸에 대해 이렇게 모은 값이다.
χ² = Σ (관측도수 − 기대도수)² ÷ 기대도수
말로 풀면 “실제 표가 예상표에서 벗어난 정도의 총합”이다. 세 라인의 불량률이 정말 같다면 관측과 기대가 비슷해 χ²이 작고, 어느 라인이 정말 다르다면 그 칸의 차이가 커져 χ²이 커진다. 벗어남을 제곱해 합치는 구조라서, 이 값은 카이제곱 분포를 따른다. 자유도는 (행 수 − 1) × (열 수 − 1) — 위 표라면 (2−1)×(3−1) = 2다.
위 예시를 계산하면 χ² ≈ 4.8, 자유도 2에서 p ≈ 0.09. 기준선 0.05보다 크므로 귀무가설(“세 라인의 불량률은 같다”)을 유지한다. 라인 3의 불량이 12개로 라인 2의 4배지만, 검사 수량과 우연한 흔들림까지 감안하면 “다르다고 말할 근거가 부족하다”는 것이 데이터의 답이다. 도입부의 소란이 왜 성급했는지가 여기서 드러난다. 이렇게 여러 설비·라인이 같은 수준인지 확인하는 일(매칭 점검)에 카이제곱 검정이 그대로 쓰인다.
분기 조건 — 기대도수 5 미만인 셀이 20%를 넘는가
카이제곱 검정에도 자격 조건이 있다. 기대도수가 5 미만인 칸이 전체 칸의 20% 이하여야 한다. 기대도수가 너무 작은 칸이 많으면, 분자의 (관측−기대)²이 작은 우연에도 널뛰어서 χ² 값이 과장되기 때문이다.
| 조건 | 사용할 검정 |
|---|---|
| 기대도수 5 미만 셀 ≤ 전체의 20% | 카이제곱 검정 (집단 수 제한 없음) |
| 기대도수 5 미만 셀 > 전체의 20% | Fisher 정확검정 (두 집단 한정) |
위 예시는 모든 칸의 기대도수가 5를 넘어 무사통과였다. 이번엔 조건이 깨지는 경우를 보자.
Fisher 정확검정 — 표본이 귀할 때의 최후 수단
두 라인에서 각각 1,000개, 2,000개를 검사해 불량이 3개, 8개 나왔다고 하자. 전체 불량 11개로 기대도수를 계산하면 라인 1의 기대 불량이 3.7개 — 5 미만이다. 4칸 중 1칸이면 25%로 20%를 초과하므로 카이제곱 검정 자격이 안 된다. 이때 Fisher 정확검정으로 간다.
Fisher의 발상은 “근사를 포기하고 확률을 정확히 세자”다. 주머니에 공 3,000개가 있고 그중 11개만 빨간 공(불량)이라 할 때, 1,000개를 뽑아 빨간 공이 정확히 3개 나올 확률은 경우의 수(조합)로 정확히 계산할 수 있다. 이런 “유한한 주머니에서 뽑기” 확률을 다루는 분포가 초기하분포이고, Fisher 정확검정은 이 분포로 p값을 직접 계산한다. 근사가 아니라 정확 계산이라 “정확(Exact)검정”이라는 이름이 붙았다.
두 가지만 기억하면 된다. 첫째, Fisher 정확검정은 두 집단 비교에서만 쓸 수 있다. 셋 이상이면 표를 두 집단씩 쪼개거나 다른 방법을 찾아야 한다. 둘째, 이 검정은 보수적이다 — 웨만해서는 “차이 있다”는 판정을 잘 내리지 않는다. 위 예시도 p ≈ 0.36으로 귀무가설 유지, 즉 두 라인의 불량률이 다르다고 볼 근거가 없다는 결론이 나온다.
실무 감각 — 이 갈래를 타는 순서
정리하면 비율 비교의 실무 순서는 이렇다.
- np·nq ≥ 10이면 → z검정 (가설검정 절차 분류도의 첫 가지)
- 안 되면 분할표를 만들고 기대도수를 계산한다
- 기대도수 5 미만 셀이 20% 이하면 → 카이제곱 검정
- 그마저 안 되면 (두 집단 한정) → Fisher 정확검정
불량률이 작은 현장일수록 아래 가지로 내려올 확률이 높다. 계산은 소프트웨어가 하니, 사람이 챙길 것은 분할표를 정직하게 만들고(검사 수량 포함!), 조건 확인을 건너뛰지 않는 것이다. 도입부 소동처럼 불량 개수만 떼어 비교하는 순간, 어떤 검정도 소용이 없어진다.
핵심 요약
- 카이제곱 검정은 분할표로 여러 집단의 비율을 한 번에 비교한다
- 기대도수 = 행 합계 × 열 합계 ÷ 전체 — “차이가 없다면 나왔어야 할 개수”
- χ²은 관측과 기대의 차이 제곱을 모은 값, 자유도는 (행−1)×(열−1)
- 기대도수 5 미만 셀이 20%를 넘으면 Fisher 정확검정(두 집단 한정, 보수적)으로 간다
- 불량 개수의 절대값 비교는 함정 — 반드시 검사 수량과 함께 본다
함께 읽으면 좋은 글
카이제곱 분포가 순위 검정에서도 판정 분포로 등장하는 장면을 보면, 분포의 범용성이 실감난다.







