스킬캠퍼스

오늘 끝나면

분산분석 (ANOVA)

  • 분산분석 (ANOVA)의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 분산분석이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

세 집단 이상 평균 차이가 진짜인가? 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

통계 · 10

분산분석
(ANOVA)

세 집단 이상의 평균 차이가 진짜인가?
t검정을 여러 번 하면 거짓 양성이 쌓인다.
ANOVA는 분산 하나로 한 번에 판정한다.

P.01통계 · 10

셋 이상이면 t검정 반복은 금지

두 집단은 t검정으로 된다. 그런데 집단이 셋 이상이면?

A, B, C 세 그룹을 t검정으로 다 비교하려면 쌍이 3개다.
A와 B, A와 C, B와 C를 각각 봐야 한다.
그룹이 늘수록 비교 쌍은 더 빠르게 늘어난다.

문제는 검정 한 번마다 1종 오류(거짓 양성) 확률이 붙는다는 것이다.
각 검정 유의수준이 5%면, 셋을 다 보면 적어도 한 번 헛걸릴 확률이 약 14%로 뛴다.
비교를 많이 할수록 “사실은 안 다른데 다르다”고 잘못 외칠 위험이 누적된다.

그래서 셋 이상은 t검정을 반복하지 않는다.
한 번에 보는 도구가 필요하고, 그것이 ANOVA다.

비교 쌍이 늘면 거짓 양성도 늘어난다
t검정 반복, 거짓 양성 누적
그룹 수비교 쌍한 번이라도 헛걸릴 확률
2개1쌍5%
3개3쌍약 14%
4개6쌍약 26%
5개10쌍약 40%
각 검정 유의수준 5% 가정 · 비교 늘수록 위험 누적
P.02통계 · 10

질문을 분산으로 바꾼다

ANOVA의 발상은 이렇다. 평균 차이를 직접 묻지 말고 분산 두 개를 비교한다.

그룹간 분산은 그룹 평균들이 전체 평균에서 벌어진 정도다.
그룹내 분산은 각 그룹 안에서 점들이 퍼진 정도다.

직관은 간단하다.
평균들이 서로 멀고 각 그룹은 촘촘하면, 그룹간이 크고 그룹내가 작아서 차이가 진짜로 보인다.
평균들이 가깝거나 각 그룹이 널뛰면 그 차이는 우연일 수 있다.

즉 신호인 그룹간 분산을 잡음인 그룹내 분산으로 견주는 것이다.

평균들이 벌어진 정도 vs 각 그룹의 퍼짐
분산 두 개로 보는 눈
차이 진짜

그룹간 큼 · 그룹내 촘촘

우연일 수도

그룹간 작음 · 그룹내 널뜀

P.03통계 · 10

F = 그룹간분산 ÷ 그룹내분산

그 두 분산의 비율이 F값이다.

F = MSB ÷ MSW
MSB는 그룹간 평균제곱(between), 곧 신호다.
MSW는 그룹내 평균제곱(within), 곧 잡음이다.

분자와 분모는 그냥 합이 아니라 자유도로 나눈 평균제곱이다.
그룹간 자유도는 그룹 수에서 1을 뺀 값이고, 그룹내 자유도는 전체 수에서 그룹 수를 뺀 값이다.
이렇게 나눠야 비교가 공정해진다.

F가 1 근처면 신호와 잡음이 비슷해서 차이가 안 두드러진다.
F가 크면 신호가 잡음을 압도해서 평균 차이가 두드러진다.

한 줄 수식으로 더 보기SSB = Σ nⱼ(x̄ⱼ − x̄)² 는 그룹 평균과 전체 평균 차이의 가중 제곱합이다.
SSW = Σ Σ (xᵢⱼ − x̄ⱼ)² 는 각 점과 그 그룹 평균 차이의 제곱합이다.
F = (SSB / (k−1)) ÷ (SSW / (N−k)) 로 구한다.
여기서 k는 그룹 수, N은 전체 표본 수다.
신호를 잡음으로 나눈 한 개의 숫자
F = 신호 ÷ 잡음
그룹간 (MSB)
평균들이 벌어진 정도
÷
그룹내 (MSW)
각 그룹의 퍼짐
=
F
한 개의 숫자
F ≈ 1
신호 ≈ 잡음 · 안 두드러짐
F 큼
신호 ≫ 잡음 · 두드러짐
P.04통계 · 10

직접 F를 만들어 본다

세 그룹의 점 분포와 각 평균선이 보인다. 파란 점선은 전체 평균이다.

평균 벌리기 슬라이더를 올리면 그룹 평균들이 멀어진다. 그러면 분자인 그룹간 분산이 커져 F가 올라간다.
그룹 내 퍼짐을 키우면 점들이 널뛰어 분모인 그룹내 분산이 커져 F가 내려간다.

F가 임계선을 넘으면 막대가 파랗게 바뀌고 유의해진다.
평균은 그대로 둔 채 퍼짐만 키우면 F가 떨어진다.

평균을 벌리면 F↑ · 퍼짐을 키우면 F↓
세 그룹 분포 · F값 직접 만들기
평균 벌리기 (그룹간) = 8
평균 모임멀리 벌어짐
그룹 내 퍼짐 (그룹내) = 5
촘촘널뛰기
출력, 점 = 관측값, 굵은 선 = 그룹 평균
G1G2G3

파란 점선이 전체 평균이다.
그룹 평균선이 점선에서 멀수록 그룹간 분산이 크다.

F = 그룹간분산 ÷ 그룹내분산
568.5
36.4
MSB / MSW
=
15.61F
임계 3.28
010+
판정 (임계값 3.28 기준)
F 크다 → 적어도 한 그룹이 다르다 (유의)

평균을 벌리면 분자(그룹간)가 커져 F가 올라간다.
퍼짐을 키우면 분모(그룹내)가 커져 F가 내려간다.
어느 그룹이 다른지는 F로는 모른다. 사후검정으로 짚는다.

P.05통계 · 10

F가 크면 어딘가 다르다

F가 임계값을 넘으면 결론은 하나다.
“적어도 한 그룹이 다르다.”

그런데 ANOVA는 어느 그룹이 다른지는 말해주지 않는다.
A가 튄 건지, C가 튄 건지, 둘 다인지 알 수 없다.

그걸 찾는 게 사후검정(post-hoc)이다.
Tukey HSD, Bonferroni 같은 방법으로 그룹 쌍을 비교하되, 비교를 여러 번 하는 만큼 기준을 더 엄격하게 보정한다.
그래서 다시 거짓 양성이 쌓이지 않는다.

정리하면 두 단계다.
1단계는 ANOVA로 “다른 데가 있나?”를 한 번에 판정한다.
2단계는 사후검정으로 “어디가 다른가?”를 안전하게 짚는다.

Q. ANOVA가 t검정을 여러 번 하는 것보다 나은 이유는?한 번에 검정해서 1종 오류(거짓 양성)가 누적되는 걸 막아준다.
t검정을 쌍마다 반복하면 비교 횟수만큼 헛걸릴 확률이 쌓이지만, ANOVA는 그룹간 분산과 그룹내 분산을 F 하나로 묶어 단 한 번에 판정한다.
ANOVA는 다름 여부 · 위치는 사후검정
두 단계, 여부 다음에 위치
1단계 · ANOVA
다른 데가 있나? → F로 한 번에
결과: 적어도 하나는 다름
2단계 · 사후검정
어디가 다른가? → 쌍 비교
Tukey HSD · Bonferroni (기준 보정)
A vs B
비슷
A vs C
다름
B vs C
다름

보정으로 거짓 양성이 다시 안 쌓인다

3줄 요약

  1. 1세 집단 이상 평균 차이가 진짜인가?
  2. 2분산분석 (ANOVA)은 분포 → 표본 → 검정 → 회귀 → 모델 선택 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

분산분석

세 집단 이상 평균 차이가 진짜인가?

분포

데이터가 어떤 모양으로 퍼져 있는지 나타낸 것

표본

전체를 알기 위해 뽑아 본 일부 데이터