ANOVA F-test — 그룹 평균의 차이가 우연인지 가려내는 검정
한 줄: 그룹 사이의 차이가, 그룹 안의 우연한 출렁임에 비해 충분히 큰가? — 이 비율 하나로 검정한다.
1. 어떤 질문에 답하는가
store가 10개 있다. 각 store의 주간 판매 평균이 조금씩 다르다. 이게 진짜 차이(store마다 체계적으로 다르게 팔림)인가, 우연(어쩌다 표본이 그렇게 나옴)인가?
두 그룹이면 t-test로 끝나지만 그룹이 10개면 쌍이 45개다. t-test를 45번 돌리면 "우연히 유의"가 나올 확률이 누적되어 (유의수준 5%씩 45번) 1종 오류가 폭발한다. ANOVA는 "전부 같다"는 하나의 가설을 한 번에 검정해서 이 문제를 피한다.
2. 핵심 아이디어 — 두 종류의 흩어짐을 비교한다
데이터의 전체 흩어짐을 두 조각으로 쪼갠다:
- 그룹 사이(between): 그룹 평균들이 전체 평균에서 흩어진 정도 → "차이의 크기"
- 그룹 안(within): 각 데이터가 자기 그룹 평균에서 흩어진 정도 → "우연의 크기" (기준선)
직관: 그룹 안에서 자연스럽게 출렁이는 폭이 ±30인데 그룹 평균들끼리 ±5밖에 차이가 안 나면 — 그건 우연으로 설명된다. 그룹 평균들이 ±200씩 다르면 — 우연으로는 안 된다.
3. 식 — 각 항이 무엇인지
| 기호 | 정의 | 의미 |
|---|---|---|
| 그룹 평균들의 흩어짐 (between 제곱합) | ||
| 그룹 안 흩어짐 (within 제곱합) | ||
| , | 자유도 | 평균 내기 위한 나눗셈의 분모 (그룹 수 보정 / 표본 수 보정) |
| SS ÷ df | "자유도당 평균 흩어짐" — 공정한 비교 단위 |
H0(귀무가설) = 모든 그룹 평균이 같다. H0이 참이면 between도 within도 같은 우연에서 나오므로 F ≈ 1. F가 1보다 충분히 크면 — 그 "충분히"를 F분포 가 정해주고 — H0 기각.
4. 큰 표본의 함정 (이 프로젝트의 핵심 논점)
분모 는 n이 커질수록 정밀해진다 → 아무리 미세한 그룹 차이도 n이 크면 F가 커지고 p ≈ 0이 된다. n = 130,000에서 p < 0.001은 정보가 아니라 표본 크기의 부산물이다.
그래서 질문을 바꾼다: "차이가 있는가"(p) → "차이가 얼마나 큰가"(effect size). 그리고 여기 예쁜 연결이 있다 — ANOVA의 분해에서 바로:
F와 η²는 같은 분해(SS_B, SS_W)의 두 가지 읽기다. F는 "우연 대비 비율"(표본 크기에 민감), η²는 "전체 분산 중 그룹의 몫"(표본 크기와 무관). Cohen 기준: 0.01 / 0.06 / 0.14 = small / medium / large.
5. 우리 프로젝트에서
| 측정 | 값 | 판정 |
|---|---|---|
| store F | 2,463 (p ≈ 0) | 유의 — 단 정보 없음 (n=130K) |
| item F | 4,418 (p ≈ 0) | 동일 |
| store η² | 14.57% | LARGE |
| item η² | 62.49% | LARGE — store의 4배 |
| joint η² | 79.49% | Stage 1의 이론 상한 |
흐름: F-test는 문지기(존재 확인)로만 쓰고, 결정 — 둘 다 입력 포함, item이 주 신호, 그리고 천장 0.7949 — 은 전부 η²가 내렸다.
6. 예상 질문 대비
- "H0의 '전부 같다'가 정확히 무슨 뜻인가?" → ① 같다의 대상은 모집단 평균 (μ₁=⋯=μ₁₀) — 표본 평균은 우연만으로도 다르게 나온다. ② 대립가설은 "전부 다르다"가 아니라 "적어도 하나는 다르다" — F 유의는 어느 그룹이 다른지를 말해주지 않는다. ③ "같다"를 기준점으로 두는 이유: 차이=0이라는 정확한 한 점이라 거리(F)를 잴 수 있다. ④ "분산이 같다"는 H0가 아니라 전제 조건(등분산 가정) — 검정 대상은 평균뿐.
- "왜 t-test를 여러 번 안 하고 ANOVA를 썼나?" → 10개 그룹이면 45쌍 — 다중비교로 1종 오류가 누적된다. ANOVA는 한 번에 검정한다.
- "p가 0인데 왜 무시했나?" → 무시한 게 아니라 역할을 한정했다. n=130K에선 p ≈ 0이 자동이라(분모 표준오차 소멸) 크기 정보가 없다 — effect size로 전환.
- "ANOVA의 가정은?" → 그룹 내 정규성, 등분산성, 독립성. 본 데이터는 σ∝μ(이분산)와 시간 의존이 있어 가정이 완벽하지 않지만, 우리는 ANOVA를 추론(신뢰구간)이 아니라 분산 분해의 입구로 썼기 때문에 — 그리고 최종 판단을 분포 가정이 필요 없는 η² 비율로 했기 때문에 — 결론이 흔들리지 않는다.
- "F = 2,463이 의미하는 바는?" → 그룹 간 평균 흩어짐이 그룹 내 우연 흩어짐의 2,463배라는 비율. 단, n이 커서 이 숫자 자체보다 η²가 실질 정보.
용어 미니
| 용어 | 뜻 |
|---|---|
| SS (제곱합) | 편차²의 합 — 흩어짐의 총량 |
| MS (평균제곱) | SS ÷ 자유도 — 비교 가능한 단위로 만든 흩어짐 |
| 자유도 (df) | 자유롭게 변할 수 있는 값의 개수 — k−1(그룹), n−k(잔차) |
| F분포 | H0 하에서 F 비율이 따르는 기준 분포 — "우연이면 이 정도" |
| 1종 오류 | 차이가 없는데 있다고 결론 (false positive) |