ANOVA는 분산분석(analysis of variance)의 약자로, 여러 집단 사이에서 평균 결과가 서로 다른지를 검정하는 방법입니다. 일원분산분석(one-way ANOVA)에서는 집단 평균들 사이의 변동과 각 집단 내부의 변동을 비교하며, 그 결과로 FF 통계량이 만들어집니다.

보통 하나의 범주형 집단 변수와 하나의 정량적 반응변수가 있고, 여러 개의 개별 tt-검정을 따로 수행하는 대신 하나의 전체 검정을 하고 싶을 때 적절한 도구입니다. 집단 간 변동이 집단 내 변동에 비해 크다면, 모집단 평균이 모두 같지는 않다는 증거가 됩니다.

고전적인 일원분산분석에서 검정통계량은 다음과 같습니다.

F=MSBMSWF = \frac{MS_B}{MS_W}

여기서 MSBMS_B는 집단 간 평균제곱(mean square between groups), MSWMS_W는 집단 내 평균제곱(mean square within groups)입니다. FF가 클수록, 집단 평균들이 단순한 집단 내 잡음만으로 기대되는 수준보다 더 많이 떨어져 있다는 뜻입니다.

ANOVA가 검정하는 것

일원분산분석의 일반적인 귀무가설은 다음과 같습니다.

H0:μ1=μ2==μkH_0: \mu_1 = \mu_2 = \cdots = \mu_k

대립가설은 “모든 평균이 서로 다르다”가 아닙니다. 더 약한 주장입니다. 즉, 적어도 한 집단의 평균이 다른 어떤 집단의 평균과 다르다는 뜻입니다.

이 점은 중요합니다. ANOVA는 전체적인 차이를 보는 검정이기 때문입니다. 유의한 결과가 나왔다면 어딘가에 차이가 있다는 증거는 있지만, 어느 집단끼리 다른지는 알려주지 않습니다. 그 부분은 보통 후속 비교가 필요합니다.

평균을 비교하는데 왜 분산을 사용할까?

이름만 보면 처음에는 거꾸로처럼 들릴 수 있습니다. ANOVA가 평균에 관한 것이라면, 왜 분산을 사용할까요?

분산은 두 종류의 퍼짐을 깔끔하게 측정할 수 있게 해주기 때문입니다.

  1. 집단 평균들이 전체 평균 주위에 얼마나 퍼져 있는가
  2. 개별 관측값들이 자기 집단 평균 주위에 얼마나 퍼져 있는가

첫 번째 퍼짐이 두 번째보다 훨씬 크다면, 그 집단들은 단순한 집단 내 변동만으로는 설명하기 어려울 정도로 더 분리되어 보입니다.

일원분산분석이 적절한 경우

일원분산분석은 하나의 범주형 요인이 관측값들을 여러 집단으로 나누고, 그 집단들 사이에서 하나의 정량적 반응변수 평균을 비교하고 싶을 때 사용합니다.

예를 들어 교수법에 따른 평균 시험 점수 비교, 비료 종류에 따른 평균 작물 수확량 비교, 또는 처리 조건에 따른 평균 반응시간 비교가 있습니다.

고전적인 일원분산분석의 주요 가정은 다음과 같습니다.

  1. 관측값들이 서로 독립이다.
  2. 반응변수는 정량적 척도로 측정된다.
  3. 집단 분산들이 대체로 비슷하다.
  4. 특히 표본이 작을 때, 데이터의 형태가 모형 가정과 심하게 어긋나지 않는다.

ANOVA는 많은 상황에서 꽤 강건할 수 있으며, 특히 집단 크기가 균형적이고 표본 크기가 적당할 때 그렇습니다. 하지만 이는 연구 설계에 따라 달라집니다. 데이터가 짝지어진 자료이거나, 같은 대상에서 반복 측정된 자료이거나, 분산이 크게 다르다면 일반적인 일원분산분석은 적절하지 않을 수 있습니다.

일원분산분석 예시

한 교사가 퀴즈 점수를 사용해 세 가지 학습 방법을 비교하려고 한다고 해봅시다.

  1. 방법 A: 7272, 7474, 7676
  2. 방법 B: 7878, 8080, 8282
  3. 방법 C: 8484, 8686, 8888

각 집단의 평균은 다음과 같습니다.

xˉA=74,xˉB=80,xˉC=86\bar{x}_A = 74, \qquad \bar{x}_B = 80, \qquad \bar{x}_C = 86

전체 99개 점수의 총평균은 다음과 같습니다.

xˉ=80\bar{x} = 80

이제 변동을 두 부분으로 나누어 보겠습니다.

Step 1: 집단 간 변동

각 집단에는 관측값이 33개씩 있으므로, 집단 간 제곱합은 다음과 같습니다.

SSB=3(7480)2+3(8080)2+3(8680)2SS_B = 3(74-80)^2 + 3(80-80)^2 + 3(86-80)^2 SSB=3(36)+0+3(36)=216SS_B = 3(36) + 0 + 3(36) = 216

집단 수가 k=3k=3이므로 집단 간 자유도는 k1=2k-1=2이고, 따라서

MSB=SSBk1=2162=108MS_B = \frac{SS_B}{k-1} = \frac{216}{2} = 108

Step 2: 집단 내 변동

각 집단 내부에서는 점수들이 집단 평균에서 양쪽으로 22점씩만 떨어져 있습니다.

SSW=(4+0+4)+(4+0+4)+(4+0+4)=24SS_W = (4+0+4) + (4+0+4) + (4+0+4) = 24

전체 관측값 수가 N=9N=9이므로 집단 내 자유도는 Nk=6N-k=6이고, 따라서

MSW=SSWNk=246=4MS_W = \frac{SS_W}{N-k} = \frac{24}{6} = 4

Step 3: FF 통계량 계산

이제 다음을 계산합니다.

F=MSBMSW=1084=27F = \frac{MS_B}{MS_W} = \frac{108}{4} = 27

이처럼 큰 FF 값은 집단 평균들이 집단 내부 변동에 비해 매우 멀리 떨어져 있다는 뜻입니다. 일반적인 일원분산분석 가정 아래에서는, 세 모집단 평균이 모두 같다는 귀무가설에 대한 강한 반증이 됩니다.

실제로는 이렇게 읽으면 됩니다. 세 가지 학습 방법 사이의 차이가 너무 커서, 단순한 집단 내 산포만으로는 설명하기 어렵다는 뜻입니다.

ANOVA가 알려주지 않는 것

ANOVA는 어떤 특정한 두 집단이 다른지를 알려주지 않습니다. 전체 검정이 유의하면, 보통 사후검정(post-hoc comparisons)이나 계획된 대비(planned contrasts)가 필요합니다.

또한 그 효과가 실제로 중요한지도 알려주지 않습니다. 통계적으로 검출 가능한 차이라도, 현실에서는 의미가 없을 만큼 작을 수 있습니다.

연구가 무작위 배정으로 이루어지지 않았다면, ANOVA는 집단 변수 자체가 그 차이를 일으켰다고 증명하지도 않습니다. 단지 수집한 데이터에서 집단 평균이 달라 보이는지를 검정할 뿐입니다.

흔한 ANOVA 실수

흔한 오해 중 하나는 ANOVA가 주로 집단 분산이 같은지를 검정하는 방법이라고 생각하는 것입니다. 표준적인 용도에서 ANOVA는 평균을 비교합니다. 분산이 등장하는 이유는 신호와 잡음을 측정하는 도구로 쓰이기 때문입니다.

또 다른 실수는 여러 집단이 있을 때 하나의 전체 ANOVA 대신 여러 개의 tt-검정을 따로 수행하는 것입니다. 이런 방식은 비교를 신중하게 보정하지 않으면 거짓 양성 위험을 키울 수 있습니다.

세 번째 실수는 유의한 ANOVA 결과가 나온 뒤 곧바로 어느 집단이 정확히 가장 좋았는지 안다고 주장하는 것입니다. 전체 검정만으로는 그 질문에 답할 수 없습니다.

ANOVA는 어디에 쓰일까?

ANOVA는 실험, 제품 테스트, 교육, 생물학, 농업, 사회과학에서 널리 사용됩니다. 여러 집단의 평균 차이에 대해 하나의 타당한 검정이 필요할 때 유용합니다.

특히 진짜 질문이 비교에 있을 때 도움이 됩니다. 즉, 이 처리법들, 방법들, 또는 조건들이 측정 가능한 평균 차이를 만들어내는가를 알고 싶을 때입니다.

직접 바꿔서 해보기

같은 예시에서 방법 B를 7979, 8080, 8181로 바꿔 보세요. 그리고 SSWSS_W, MSWMS_W, 최종 FF 통계량을 다시 계산해 보세요. 이 한 가지 변화만으로도 핵심 직관이 분명해집니다. 집단 내 잡음이 커질수록, 실제 평균 차이가 있다는 증거는 약해집니다.

문제 풀이가 필요하신가요?

문제를 올리면 검증된 단계별 풀이를 몇 초 만에 받을 수 있습니다.

GPAI Solver 열기 →