Menu

ANOVA는 평균 비교를 어떻게 분산의 비로 바꾸는가

anova · one-way, variance ratio, welch — 집단간/집단내 분산의 비로 여러 평균을 한 번에 검정하고, 등분산이 깨질 때의 침묵하는 실패와 Welch 복구까지
평균 비교를 분산의 비로 바꾸는 마술

이름은 '분산분석'이지만 목적은 평균 비교다. 집단 평균이 같으면 공통 분산을 두 경로(집단내·집단간)로 추정한 값이 서로 같아 F≈1, 평균이 벌어지면 집단간만 부풀어 F가 커진다. 그리고 — 분산이 크게 다르면 이 검정이 어떻게 조용히 망가지는지도 직접 돌려본다.

Part 1 — 귀무가 참일 때

같은 모집단에서 세 집단을 뽑으면

n=3000짜리 모집단을 만들어 두고, 거기서 세 집단을 표본으로 뽑는다. 셋 다 같은 모집단이니 진짜 평균은 모두 같다(귀무가 참). 이때 F가 어떻게 움직이는지 본다.

인터랙티브 1 · 같은 풀에서 세 집단 뽑기
25
집단 점구름 — 굵은 선 = 집단 평균, 점선 = 전체 평균
SSBSSW
■ SSB(집단간) = 평균점들의 흩어짐 · ■ SSW(집단내) = 뭉치 안 흩어짐
F(2, N−3) 분포 — 관찰 F와 오른쪽 꼬리(p)
F = MSB/MSW
p-value
— 반복해서 뽑아보라.
같은 모집단이라 F는 1 근처에서 흔들리고, 유의는 드물게만 나온다.

핵심은 두 흩어짐의 비다. 집단내(within)는 뭉치 안이 얼마나 퍼졌나, 집단간 (between)은 세 평균점이 얼마나 흩어졌나. 같은 모집단이면 평균점들도 노이즈로만 흩어지므로 둘의 비가 1 근처. "100회 자동"을 눌러 유의 비율이 약 5%에 머무는 걸 확인하라 — 이 5%가 t검정을 여러 번 할 때 14%까지 부풀던 위양성을 잡아준 것이다.

Part 2 — 무엇이 F를 움직이나

평균을 벌리면 F가 커진다 — 분산은 신호가 아니다

세 집단의 평균을 직접 밀어보고, 다음엔 평균을 같게 둔 채 공통 퍼짐만 키워보라. 무엇이 F를 움직이고 무엇이 안 움직이는지가 ANOVA의 정체다.

인터랙티브 2 · 평균 슬라이더 vs 퍼짐 슬라이더
집단 점구름 (n=25씩)
F(2, 72) 분포 — 관찰 F와 오른쪽 꼬리(p)
F
p-value
평균을 벌려보라 → F↑, p↓.
실험: 평균을 다시 모두 50으로 맞추고 σ만 크게 키워보라. F는 1 근처에서 거의 안 움직인다 — 집단간·집단내가 함께 커져 비율이 그대로다. 공통 분산은 신호가 아니다.
Part 3 — 전제가 깨질 때

분산이 크게 다르면 ANOVA가 실패한다 → Welch로 복구

여기가 네가 궁금해한 지점이다. 세 평균을 모두 같게(귀무 참) 두고 집단 C의 분산만 키우면, ANOVA는 "분산이 다르다"고 말해주지 않는다 — 대신 p-value가 조용히 망가진다. 특히 큰 분산 집단의 표본이 작을 때. 실제로 몇 %나 잘못 기각하는지 2000번 돌려 세어 보자.

인터랙티브 3 · 이분산 위양성률 (고전 vs Welch)
4
30
8
0
예시 데이터셋 한 개 (현재 설정) — 집단 C가 얼마나 뚱뚱한지
2000회 중 기각률 — 점선 5%가 정상
고전 ANOVA 기각률
Welch 기각률
"▶ 2000회 시뮬레이션"을 눌러라.
Δ=0이면 세 평균이 같으니 기각은 전부 위양성(오류)이다. 큰 분산(C)이 작은 표본(n_C)과 만나면 고전 ANOVA의 위양성률이 5%를 크게 넘어선다 — Welch는 5% 근처를 지킨다. ※ ANOVA 자체는 "분산이 다르다"를 알려주지 못한다. 그건 Levene/Bartlett의 일이다.
Part 4 — 정리

왜 이렇게 되는가, 그리고 함정

이름은 분산분석, 목적은 평균
평균이 같으면 공통 σ²를 집단간집단내 두 경로로 추정한 값이 같아 F≈1. 미지의 σ²는 위아래에서 약분된다 — 그래서 σ²를 몰라도 검정된다. 평균이 벌어지면 집단간만 부풀어 F가 커진다.
등분산은 검정 대상이 아니라 '전제'
ANOVA가 검정하는 건 오직 평균이다. 그래서 분산 차이를 신호로 보지 못한다: 평균이 같으면 집단간은 분산 조합과 무관하게 ≈0이고(평균 한 점만 봄), 집단내는 분산들을 하나로 풀링해 어느 게 큰지 정보를 잃는다.
그래서 이분산은 '침묵하는 실패'로 샌다
분산을 신호로 못 보기 때문에, 분산 차이가 "분산이 다르다"는 결과가 아니라 망가진 p-value로 나타난다. 큰 분산=작은 표본이면 위양성 폭증, 큰 분산=큰 표본이면 지나치게 보수적. 처방: Welch ANOVA(등분산 가정 안 함).
옴니버스라 '어느 집단'인지는 모른다
ANOVA는 "적어도 하나는 다르다"까지만 말한다. 어느 쌍이 다른지는 사후검정(Tukey HSD)으로. 가정: 정규성 · 등분산 · 독립. 정규성이 크게 깨지면 비모수(Kruskal–Wallis).

한 줄로 — χ²는 흔들리는 분산 추정치 하나를 고정 기준과, F는 그 추정치 둘을 서로 비교하고, ANOVA는 그 F로 집단간/집단내를 놓아 여러 평균이 같은지를 검정한다. 단, 그 비교가 성립하려면 분산이 비슷해야 한다 — 아니면 Welch로 간다.