본문 바로가기
수학&통계학

카이제곱(χ²) 검정, F분포 ANOVA, 비모수 검정

by 코스믹구구 2026. 5. 13.
728x90
지난 글에서 t분포를 활용한 검정 4가지를 다뤘다.
이번 글에서는 카이제곱(χ²) 검정, F분포를 이용한 분산분석(ANOVA), 그리고 정규성 가정이 필요 없는 비모수 검정들을 정리한다.
각 검정이 어떤 상황에서 필요한지를 중심으로 이해하면 쉽다.

1. 카이제곱(χ²) 분포를 활용한 검정

카이제곱 분포는 표준정규분포를 따르는 확률변수들의 제곱합이 따르는 분포다. t-검정이나 Z-검정이 수치형 데이터의 평균을 비교한다면, 카이제곱 검정은 주로 범주형 데이터의 빈도(도수)를 기반으로 검정한다.

핵심 아이디어는 "실제 관측된 빈도(O)"와 "귀무가설이 맞을 때 기대되는 빈도(E)"를 비교해서, 그 차이가 충분히 크면 귀무가설을 기각하는 것이다.

① 적합도 검정 (Goodness-of-Fit Test)

하나의 범주형 변수가 특정 이론적 분포를 따르는지 검정한다. 예를 들어 주사위가 공정한지(각 면이 1/6 확률로 나오는지)를 확인하거나, 특정 집단의 혈액형 분포가 일반 모집단과 같은지 검정할 때 사용한다.

H₀
실제 분포는 이론적 분포(기대 분포)와 같다
H₁
실제 분포는 이론적 분포와 다르다
χ² = Σ (O_i − E_i)² / E_i  ~  χ²(k−1)
O_i: i번째 범주의 실제 관측 빈도  |  E_i: i번째 범주의 기대 빈도
k: 범주 수  |  자유도 = k−1
💡 기대 빈도(E)는 어떻게 계산하는가?
E_i = 전체 관측수 × 귀무가설에서 가정한 i번째 범주의 확률
예) 주사위 60번 던지기: 각 면의 E = 60 × (1/6) = 10회
실제로 1이 8번, 2가 12번 나왔다면 χ² 계산에서 (8−10)²/10 + (12−10)²/10 + ...로 합산한다.
📌 예시: 앱 스토어 리뷰 평점 분포 검정

어떤 앱의 운영자는 "리뷰가 각 평점(1~5점)에 골고루 20%씩 분포한다"고 주장한다. 최근 100개 리뷰를 분석했더니 1점:8, 2점:14, 3점:22, 4점:28, 5점:28이었다. α=0.05에서 검정하라.

① 가설
H₀: 각 평점의 비율은 모두 20%로 동일하다
H₁: 적어도 하나의 평점 비율은 20%가 아니다
② 기대 빈도 & χ² 계산
E = 100 × 0.2 = 20 (모든 범주 동일)
χ² = (8−20)²/20 + (14−20)²/20 + (22−20)²/20 + (28−20)²/20 + (28−20)²/20
= 144/20 + 36/20 + 4/20 + 64/20 + 64/20
= 7.2 + 1.8 + 0.2 + 3.2 + 3.2 = 15.6
③ 결론
자유도 = 5−1 = 4, χ²(0.05, 4) = 9.488
15.6 > 9.488 → H₀ 기각
"리뷰 평점이 균등하게 분포한다는 가설을 기각. 실제로는 고점수에 치우쳐 있다."

 

② 독립성 검정 (Test of Independence)

두 범주형 변수가 서로 독립인지 검정한다. 두 변수의 조합으로 만들어진 분할표(교차표, Contingency Table)를 활용한다. "성별과 선호 음료 종류는 관계가 없는가?", "지역과 투표 성향은 독립인가?" 같은 질문에 답한다.

H₀
두 범주형 변수는 독립이다 (관계 없음)
H₁
두 범주형 변수는 독립이 아니다 (관계 있음)
χ² = Σ Σ (X_ij − m_ij)² / m_ij  ~  χ²((r−1)(c−1))
X_ij: i행 j열의 실제 관측 빈도  |  m_ij: i행 j열의 기대 빈도
r: 행(row) 수  |  c: 열(column) 수  |  자유도 = (r−1)(c−1)
기대 빈도 m_ij = (i번째 행 합계 × j번째 열 합계) / 전체 합계
💡 기대 빈도 m_ij 계산 원리
두 변수가 독립이라면 결합 확률은 각각의 주변 확률의 곱이어야 한다.
P(i행, j열) = P(i행) × P(j열) = (행 합/전체) × (열 합/전체)
→ m_ij = 전체 × P(i행, j열) = (행 합 × 열 합) / 전체
📌 예시: 재직 기간과 이직 의향의 독립성 검정

직장인 200명을 대상으로 재직 기간(3년 미만 / 3년 이상)과 이직 의향(있음 / 없음)을 조사했다. α=0.05에서 두 변수가 독립인지 검정하라.

분할표
           이직 의향 있음 없음 합계
3년 미만:        55      45     100
3년 이상:        35      65     100
합계:          90     110     200
기대 빈도 계산
m(3년미만, 있음) = 100×90/200 = 45
m(3년미만, 없음) = 100×110/200 = 55
m(3년이상, 있음) = 100×90/200 = 45
m(3년이상, 없음) = 100×110/200 = 55
χ² 계산
χ² = (55−45)²/45 + (45−55)²/55 + (35−45)²/45 + (65−55)²/55
= 100/45 + 100/55 + 100/45 + 100/55
= 2.222 + 1.818 + 2.222 + 1.818 = 8.08
자유도 = (2−1)(2−1) = 1, χ²(0.05, 1) = 3.841
8.08 > 3.841 → H₀ 기각. "재직 기간과 이직 의향은 독립이 아니다."

③ 동질성 검정 (Homogeneity Test)

2개 이상의 그룹이 하나의 범주형 변수에 대해 동일한 분포를 갖는지 검정한다. 분할표 형태와 검정 통계량 계산은 독립성 검정과 동일하지만 목적이 다르다.

💡 독립성 검정 vs 동질성 검정 — 뭐가 다른가?
두 검정은 계산 방법이 완전히 같다. 차이는 연구 설계와 해석에 있다.

독립성 검정: 하나의 표본에서 두 변수를 동시에 관측. "두 변수는 관련이 있는가?"
  예) 200명에게 성별과 선호 음료를 동시에 조사

동질성 검정: 여러 그룹에서 각각 표본을 추출. "그룹 간 비율 분포가 같은가?"
  예) 서울 100명, 부산 100명을 따로 추출 후 선호 음료 비율 비교

→ 그룹별로 표본 크기를 미리 정해서 뽑았다면 동질성, 하나의 표본에서 동시 조사했다면 독립성.

 

반응형

2. F분포를 활용한 검정 — 분산분석(ANOVA)

t-검정은 두 집단의 평균을 비교한다. 그렇다면 세 집단 이상을 비교할 때는 어떻게 할까? t-검정을 여러 쌍으로 반복하면 될 것 같지만, 그렇게 하면 1종 오류(α)가 누적되어 검정 신뢰성이 크게 떨어진다.

이를 해결하는 방법이 분산분석(ANOVA, Analysis of Variance)이다. 이름이 "분산"이지만, 실제로는 여러 집단의 평균 차이를 검정한다. 평균 차이를 분산으로 표현해서 비교하기 때문에 이런 이름이 붙었다.

H₀: μ₁ = μ₂ = … = μ_k
모든 그룹의 평균이 같다 (그룹 간 평균 차이가 없다)
H₁: not H₀
적어도 두 그룹의 평균이 다르다

ANOVA의 핵심 아이디어 — 변동 분해

ANOVA는 전체 데이터의 변동(TSS)을 두 부분으로 나눈다.

TSS = SST + SSE
TSS(Total Sum of Squares): 전체 변동 = Σ(y_ij − ȳ)²
SST(Sum of Squares of Treatment): 그룹 간 변동 = Σ(ȳ_i − ȳ)²
SSE(Sum of Squares of Error): 그룹 내 변동(잔차) = Σ(y_ij − ȳ_i)²
💡 변동 분해를 직관적으로 이해하기
데이터의 총 변동(TSS) = "그룹 간 차이로 설명되는 변동(SST)" + "그룹 내 개인차인 오차(SSE)"

SST가 SSE에 비해 크다 = 그룹 평균들이 서로 많이 다르다 = 그룹 간 차이가 유의미하다
SST가 SSE에 비해 작다 = 그룹 간 차이가 그냥 개인차 수준이다 = 평균이 같다고 볼 수 있다

이 비율을 F값으로 표현한다: F = MST / MSE (그룹 간 평균제곱 / 그룹 내 평균제곱)

분산분석표 (ANOVA Table)

변동 원인 제곱합 자유도 평균 제곱합(MS) 검정 통계량
그룹 (처리) SST k−1 MST = SST / (k−1) F = MST / MSE
~ F(k−1, n−k)
잔차 (오차) SSE n−k MSE = SSE / (n−k)
합계 TSS n−1

k: 그룹 수  |  n: 전체 관측치 수
F값이 크다 = 그룹 간 변동(MST)이 그룹 내 변동(MSE)보다 크다 = 그룹 평균 차이가 유의미

⚠️ ANOVA의 기본 가정 3가지
ANOVA를 적용하려면 아래 가정이 충족되어야 하며, 사전에 별도 검정으로 확인할 수 있다.
1. 독립성: 각 그룹 내 관측치는 서로 독립이다
2. 등분산성: 각 그룹의 분산이 동일해야 한다 (Levene 검정으로 확인)
3. 정규성: 각 그룹의 잔차(y_ij − ȳ_i)가 정규분포를 따라야 한다 (Shapiro-Wilk 검정으로 확인)
📌 예시: 세 가지 학습 방법의 성취도 비교

강의식(n₁=5), 토론식(n₂=5), 플립러닝(n₃=5) 방식으로 수업을 진행하고 사후 시험 점수를 비교했다. (단순화를 위해 간략한 수치 사용)

그룹별 평균
강의식: ȳ₁=70점  |  토론식: ȳ₂=75점  |  플립러닝: ȳ₃=82점  |  전체 평균 ȳ=75.67점
분산분석 결과 (가정)
SST = 5×(70−75.67)² + 5×(75−75.67)² + 5×(82−75.67)² ≈ 363.3
SSE (그룹 내 변동) ≈ 200 (가정)
MST = 363.3/(3−1) = 181.65  |  MSE = 200/(15−3) = 16.67
F = 181.65/16.67 ≈ 10.90
F(0.05, 2, 12) ≈ 3.89  →  10.90 > 3.89 → H₀ 기각
"세 학습 방법 간 평균 성취도에 유의미한 차이가 있다."
💡 ANOVA 이후 — 사후 검정(Post-hoc Test)
ANOVA가 "적어도 두 그룹 평균이 다르다"는 것을 보여주지만, 어느 그룹 간에 차이가 있는지는 알려주지 않는다.
이때 사후 검정(Post-hoc Test)을 추가로 수행한다.
대표적인 방법: Tukey HSD, Bonferroni, Scheffe 등
→ 이 방법들은 여러 쌍 비교 시 발생하는 1종 오류 누적을 보정한다.

 

3. 비모수 검정 (Non-parametric Test)

왜 비모수 검정이 필요한가?

지금까지 다룬 모든 검정(Z, t, χ², F)은 모수적 검정(Parametric Test)이다. 이 검정들은 데이터가 정규분포를 따른다거나, 분산이 같다는 등의 분포에 대한 가정(assumption)을 필요로 한다.

그런데 현실에서는 이 가정들이 성립하지 않는 경우가 많다.

  • 표본 크기가 너무 작아(n < 10) 정규성 가정이 성립하지 않을 때
  • 데이터가 극단적으로 치우쳐 있어 정규분포와 거리가 멀 때
  • 순서형(Ordinal) 데이터처럼 평균 계산이 의미 없을 때
  • 이상치가 많아 평균 기반 검정의 결과를 신뢰하기 어려울 때

이럴 때 분포 가정 없이 데이터의 부호(+/−)순위(rank)를 활용해서 검정하는 것이 비모수 검정이다.

💡 비모수 검정의 장단점
장점: 분포 가정이 필요 없어 적용 범위가 넓다. 이상치에 강건하다.
단점: 분포 가정이 성립할 때는 모수 검정보다 검정력(power)이 낮다. 즉, 같은 표본으로 효과를 탐지하는 능력이 약하다.

 

비모수 검정의 종류

① 윌콕슨 부호순위 검정
↔ 일표본 t-검정 / 대응표본 t-검정의 비모수 버전
하나의 변수가 0인지, 또는 대응된 두 값의 차이(d_i)가 0인지를 순위로 검정. 차이값의 절댓값에 순위를 매기고, 양수 차이의 순위합과 음수 차이의 순위합을 비교한다.
② 윌콕슨 순위합 검정 / 맨-휘트니 U 검정
↔ 독립표본 t-검정의 비모수 버전
두 독립 그룹의 분포(위치) 차이를 검정. 전체 데이터에 순위를 매기고 각 그룹의 순위합을 비교. 두 그룹의 표본 크기가 달라도 사용 가능하다.
③ 크루스칼-왈리스 검정
↔ 일원분산분석(One-way ANOVA)의 비모수 버전
2개 이상 그룹의 분포 차이를 순위로 검정. 전체 데이터에 순위를 매긴 후 그룹별 순위 평균을 비교한다. H₀: 그룹 간 순위 차이가 없다.
④ 프리드만 검정
↔ 반복 측정 분산분석(Repeated Measures ANOVA)의 비모수 버전
같은 개체를 두 번 이상 측정한 데이터 분석. 행(개체)별로 순위를 매겨 열(처리) 간 순위를 비교한다. 대응표본 t-검정을 3개 이상으로 확장한 것으로 이해할 수 있다.
⑤ Fisher 정확 검정 (Fisher's Exact Test) & 이항 검정 (Binomial Test)
소표본 분할표 / 비율 적합도 검정의 비모수 버전
χ² 검정은 기대 빈도가 5 미만인 셀이 있으면 결과가 부정확해질 수 있다. Fisher 정확 검정은 2×2 분할표에서 모든 가능한 조합의 확률을 직접 계산해 정확한 p값을 구한다. 이항 검정은 2×1 분할표에 대해 두 범주의 비율이 특정 값인지 검정할 때 사용한다.

모수 검정 vs 비모수 검정 대응표

검정 목적 모수 검정 비모수 검정
단일 집단, 중심 위치 검정 일표본 t-검정 윌콕슨 부호순위 검정
전후(대응) 비교 대응표본 t-검정 윌콕슨 부호순위 검정
두 독립 집단 비교 독립표본 t-검정 맨-휘트니 U 검정
3개 이상 독립 집단 비교 일원분산분석 (ANOVA) 크루스칼-왈리스 검정
반복 측정 다집단 비교 반복 측정 ANOVA 프리드만 검정
범주형 변수 분포 검정 카이제곱 검정 Fisher 정확 검정 / 이항 검정
📌 어떤 검정을 선택해야 할까? — 실무 체크리스트
1. 데이터 유형이 수치형인가, 범주형인가?
   → 범주형: χ² 계열 검정
   → 수치형: 아래로 이동

2. 정규성 가정이 충족되는가? (n ≥ 30이거나 정규성 검정 통과)
   → 충족: 모수 검정 (t, F)
   → 불충족: 비모수 검정

3. 집단이 몇 개인가?
   → 1개: 일표본 / 윌콕슨 부호순위
   → 2개 독립: 독립표본 t / 맨-휘트니 U
   → 2개 대응: 대응표본 t / 윌콕슨 부호순위
   → 3개 이상: ANOVA / 크루스칼-왈리스

📌 핵심 정리

  • χ² 검정 공통 통계량: Σ(O−E)²/E. 관측 빈도와 기대 빈도의 차이를 측정
  • 적합도 검정: 1개 변수의 분포가 이론 분포와 같은가. 자유도 k−1
  • 독립성 검정: 두 범주형 변수가 독립인가 (하나의 표본). 자유도 (r−1)(c−1)
  • 동질성 검정: 그룹별 비율 분포가 같은가 (여러 그룹에서 각각 추출). 계산은 독립성과 동일
  • ANOVA: 3개 이상 집단 평균 비교. TSS = SST + SSE로 변동 분해
  • F = MST/MSE: 그룹 간 변동 / 그룹 내 변동. F가 크면 H₀ 기각
  • ANOVA 가정: 독립성, 등분산성, 정규성 — 사전 검정으로 확인
  • ANOVA 후: 사후 검정(Tukey, Bonferroni 등)으로 어느 쌍이 다른지 확인
  • 비모수 검정: 분포 가정 없이 부호나 순위를 활용. 소표본·비정규·순서형에 적합
  • 검정력: 가정 충족 시 모수 검정 > 비모수 검정. 단 비모수가 더 강건(robust)
728x90