일원분산분석 (One-way ANOVA)
한 요인에 따른 여러 집단의 평균 비교
일원분산분석은 하나의 범주형 독립변수에 따라 세 개 이상의 집단에서 종속변수의 평균이 다른지 검정하는 방법입니다. 예를 들어, 교육 방식에 따라 시험 점수가 달라지는지, 광고 유형에 따라 구매 의향이 달라지는지, 지역에 따라 고객 만족도 평균이 다른지 분석할 때 활용합니다.
이 글에서는 세 가지 교육 방식의 시험 점수라는 하나의 예제를 따라가며, 일원분산분석의 계산 원리부터 결과 보고, 사후검정, 가정 점검까지 순서대로 살펴봅니다.
일원분산분석은 무엇을 확인할까?
일원분산분석은 하나의 요인이 결과변수와 관련되는지를 확인할 때 사용합니다.
예를 들어, 한 교육기관이 세 가지 교육 방식의 효과를 비교한다고 가정해 보겠습니다.
- A 그룹: 강의식 교육
- B 그룹: 온라인 교육
- C 그룹: 실습 중심 교육
각 그룹의 교육이 끝난 뒤 시험 점수를 측정했습니다. 분석의 목적은 교육 방식에 따라 시험 점수의 평균이 달라지는지 확인하는 것입니다.
여기서 변수의 역할은 다음과 같습니다.
| 구분 | 변수 | 유형 |
|---|---|---|
| 독립변수 | 교육 방식 | 범주형 |
| 종속변수 | 시험 점수 | 수치형 |
| 집단 수 | 3개 | A, B, C |
독립변수가 하나이므로 ‘일원(One-way)’ 분산분석이라고 부릅니다. 여기서 ‘일원’은 집단이 하나라는 뜻이 아니라 집단을 구분하는 요인이 하나라는 뜻입니다.
분산분석에서는 집단을 나누는 독립변수를 요인(factor), 요인 안의 각 범주를 수준(level)이라고 부릅니다. 이 예에서는 요인이 ‘교육 방식’ 하나이고, 수준이 강의식·온라인·실습 중심 세 개입니다. 수준이 몇 개든 요인이 하나라면 일원분산분석입니다. 반대로 교육 방식과 함께 학년처럼 다른 요인을 동시에 고려하면 이원분산분석이 됩니다.
분석은 어떤 원리로 이루어질까?
일원분산분석은 전체 데이터를 집단 간 변동과 집단 내 변동으로 나누어 비교합니다.
- 집단 간 변동: A, B, C 그룹의 평균이 전체 평균에서 얼마나 떨어져 있는지 나타냅니다.
- 집단 내 변동: 같은 그룹 안에서 참가자들의 점수가 얼마나 흩어져 있는지 나타냅니다.
집단 평균의 차이가 집단 내 개인차에 비해 크다면, 교육 방식에 따른 평균 차이가 존재할 가능성이 커집니다. 이 관계를 F 통계량으로 나타냅니다.
여기서 MS는 평균제곱(mean square)으로, 각 변동의 제곱합을 해당 자유도로 나눈 값입니다.
| 구분 | 제곱합(SS)은 무엇을 더하나요? | 자유도(df) |
|---|---|---|
| 집단 간 | (집단 평균 − 전체 평균)²에 각 집단의 인원수를 곱해 더한 값 | 집단 수 − 1 |
| 집단 내 | (각 관측값 − 자기 집단 평균)²을 모두 더한 값 | 전체 관측값 수 − 집단 수 |
제곱합은 집단 수나 관측값 수가 많아질수록 저절로 커지므로, 자유도로 나누어 ‘하나당 평균적인 변동’으로 바꾼 뒤 비교합니다. 아래는 SECTION 04의 예제 데이터로 이 과정을 따라간 결과입니다. 세 집단에 5명씩 15명이므로 집단 간 자유도는 3 − 1 = 2, 집단 내 자유도는 15 − 3 = 12입니다.
F 통계량이 클수록 집단 평균 사이의 차이를 뒷받침하는 근거가 강해지는 경향이 있지만, 최종 판단은 F 분포를 바탕으로 계산한 p값을 통해 이루어집니다. 모든 모집단 평균이 같다면 F는 대체로 1 근처에서 나타나므로, 45.95처럼 1보다 훨씬 큰 값은 평균이 같다는 가정과 잘 맞지 않습니다.
가설은 어떻게 세울까?
세 교육 방식의 모집단 평균을 각각 μA, μB, μC라고 하면 다음과 같이 가설을 설정합니다.
H₁ : 적어도 하나의 평균이 다르다
- 귀무가설(H₀): 세 교육 방식의 모집단 평균이 모두 같습니다.
- 대립가설(H₁): 적어도 한 교육 방식의 모집단 평균이 다른 방식과 다릅니다.
대립가설은 모든 평균이 서로 다르다는 의미가 아닙니다. 예를 들어 A와 B의 평균은 비슷하고 C의 평균만 다르더라도 대립가설을 지지할 수 있습니다.
가설의 대상이 표본 평균(66점, 73점, 82점)이 아니라 모집단 평균이라는 점도 중요합니다. 표본 평균은 누구를 뽑았느냐에 따라 조금씩 달라지므로, 표본에서 평균이 다르게 나온 것만으로는 모집단에서도 다르다고 단정할 수 없습니다. 분산분석은 이 차이가 표본추출의 우연만으로 생기기 어려운 정도인지를 판단합니다. 유의수준은 일반적으로 0.05로 정하고, F분포의 오른쪽 꼬리에서 p값을 계산합니다.
예제 데이터로 살펴보기
다음은 세 교육 방식에 참여한 사람들의 시험 점수 예시입니다. 설명용 가상 데이터이며, 점수는 100점 만점입니다.
| 참가자 | 강의식 교육 A | 온라인 교육 B | 실습 중심 교육 C |
|---|---|---|---|
| 1 | 62 | 70 | 79 |
| 2 | 65 | 72 | 82 |
| 3 | 68 | 74 | 84 |
| 4 | 70 | 76 | 85 |
| 5 | 65 | 73 | 80 |
| 평균 | 66 | 73 | 82 |
평균만 비교하면 실습 중심 교육 C의 점수가 가장 높습니다. 그러나 이 차이가 표본에서 우연히 나타날 수 있는 수준인지, 모집단에서도 차이가 있다고 볼 만한 수준인지는 별도의 검정이 필요합니다.
그림 3을 보면 각 집단 안에서 점수가 비교적 좁게 모여 있습니다. 집단별 표준편차는 A 약 3.1점, B 약 2.2점, C 약 2.5점으로, 평균 사이의 간격(7~16점)에 비해 작습니다. 특히 A의 가장 높은 점수(70점)와 C의 가장 낮은 점수(79점)는 겹치지 않습니다. 이렇게 집단 내 퍼짐에 비해 집단 평균의 간격이 크면 F 통계량이 커질 것으로 예상할 수 있습니다.
분석 결과는 어떻게 해석할까?
위의 가상 데이터를 일원분산분석으로 검정하면 다음과 같은 결과를 얻습니다.
설명용 데이터로 계산한 결과이며, 집단별 표본 수는 5명입니다.
p값이 0.05보다 작으므로 세 교육 방식의 모집단 평균이 모두 같다는 귀무가설을 기각합니다.
통계 프로그램은 이 결과를 보통 분산분석표로 보여줍니다. 앞의 그림 2에서 계산한 값들이 한 표에 정리됩니다.
표는 왼쪽에서 오른쪽으로 읽습니다. 제곱합을 자유도로 나누면 평균제곱이 되고, 집단 간 평균제곱(321.67)을 집단 내 평균제곱(7.00)으로 나눈 값이 F(45.95)입니다. 집단 간 제곱합과 집단 내 제곱합을 더하면 전체 제곱합(727.33)이 됩니다.
결과를 연구 보고서에 작성한다면 다음과 같이 표현할 수 있습니다.
교육 방식에 따른 시험 점수의 차이를 검정한 결과, 집단 간 평균 차이는 통계적으로 유의하였다(F(2, 12) = 45.95, p < .001). 따라서 적어도 한 교육 방식에서 평균 시험 점수가 다른 것으로 나타났다.
여기서 F(2, 12)의 2는 집단 간 자유도, 12는 집단 내 자유도입니다.
보고할 때는 효과크기도 함께 적는 것이 좋습니다. 에타제곱은 η² = 집단 간 제곱합 ÷ 전체 제곱합 = 643.33 ÷ 727.33 ≈ 0.88로, 이 예제에서는 시험 점수 차이의 약 88%가 교육 방식과 관련됩니다. 설명용 데이터라 매우 크게 나왔으며, 실제 연구에서는 이보다 훨씬 작은 값이 흔합니다.
단, 이 결과만으로 실습 중심 교육이 다른 교육 방식보다 유의하게 우수하다고 단정할 수는 없습니다. 어떤 집단끼리 차이가 있는지는 사후검정으로 확인해야 합니다.
사후검정은 왜 필요한가?
일원분산분석의 전체 검정은 집단 평균에 차이가 있는지 알려주지만, 구체적으로 어떤 집단 사이에서 차이가 발생했는지는 알려주지 않습니다. 추가로 확인할 비교는 A vs. B, A vs. C, B vs. C입니다.
세 쌍의 평균을 비교할 때는 반복적인 검정으로 인한 제1종 오류 증가를 고려해야 합니다. 대표적인 사후검정(Tukey HSD, Bonferroni, Games–Howell 등)의 차이와 고르는 기준은 4장 사후검정과 다중비교에서 자세히 다룹니다.
이 예제는 집단 크기가 같고 분산도 비슷하므로 Tukey HSD를 적용할 수 있습니다. 예제 데이터로 계산한 결과는 다음과 같습니다.
| 비교 | 평균 차이 | 95% 신뢰구간 | 조정된 p값 |
|---|---|---|---|
| B − A | 7점 | 2.5 ~ 11.5 | .003 |
| C − A | 16점 | 11.5 ~ 20.5 | < .001 |
| C − B | 9점 | 4.5 ~ 13.5 | < .001 |
예제 데이터로 계산한 Tukey HSD 결과입니다.
세 쌍 모두 신뢰구간에 0이 포함되지 않으므로, 이 예제에서는 세 교육 방식의 평균이 서로 모두 다르다고 해석할 수 있습니다. 실제 자료에서는 일부 쌍만 차이가 나타나는 경우도 흔합니다.
따라서 분석 흐름은 일반적으로 일원분산분석 → 전체 검정 결과 확인 → 필요한 사후검정 → 효과크기 해석으로 진행합니다.
어떤 가정을 확인해야 할까?
일원분산분석을 적용하기 전에는 다음 사항을 확인해야 합니다.
- 독립성: 각 관측값이 서로 독립적이어야 합니다.
- 정규성: 각 집단의 오차가 대체로 정규분포를 따라야 합니다.
- 등분산성: 각 집단의 오차 분산이 비슷해야 합니다.
등분산성이 충족되지 않는 경우에는 Welch 일원분산분석을 고려할 수 있습니다. 정규성 검정의 p값만으로 분석 가능 여부를 기계적으로 결정하기보다는 표본 크기, 이상치, 잔차 분포도 함께 살펴보는 것이 좋습니다.
예제 데이터에 적용해 보면, 세 집단의 표준편차(약 3.1, 2.2, 2.5점)는 가장 큰 값이 가장 작은 값의 1.4배 정도로 비슷한 편입니다. 다만 집단마다 5명뿐이라 그래프나 검정만으로 정규성을 판단하기는 어렵습니다. 표본이 작을수록 이상치 하나가 평균과 분산을 크게 바꿀 수 있으므로, 원자료를 직접 확인하는 습관이 중요합니다. 가정 점검 방법은 11장 분산분석의 가정과 대안에서 자세히 다룹니다.
같은 사람을 여러 번 측정한 데이터라면 일반적인 일원분산분석의 독립성 가정에 맞지 않을 수 있으므로 반복측정 분산분석 등 다른 방법을 검토해야 합니다.
언제 일원분산분석을 선택할까?
하나의 범주형 요인으로 나뉜 독립적인 집단 세 개 이상에서 수치형 결과의 평균을 비교하려는 경우
독립표본 t검정을 사용할 수 있습니다. 두 집단에 대한 통상적인 일원분산분석은 등분산 가정 아래 t검정과 같은 결론을 냅니다.
요인별 주효과와 상호작용을 함께 검정하려면 이원분산분석 또는 그 이상의 요인설계를 검토합니다.
반복측정 분산분석이나 혼합모형처럼 측정 간 의존성을 고려하는 방법이 적합할 수 있습니다.
집단이 두 개일 때 일원분산분석의 F는 등분산 t검정 통계량의 제곱과 같습니다(F = t²). 그래서 두 방법은 같은 p값과 결론을 냅니다. 집단이 셋 이상이 되면 t검정을 여러 번 하는 대신 일원분산분석으로 한 번에 검정합니다.
하나의 요인, 여러 집단, 한 번의 검정.
- 목적: 하나의 요인에 따른 세 집단 이상의 평균 차이를 한 번에 검정합니다.
- F 통계량: 집단 간 평균제곱 ÷ 집단 내 평균제곱으로 계산합니다.
- 보고: F(자유도₁, 자유도₂), p값, 효과크기(η²)를 함께 제시합니다.
- 사후검정: 전체 F가 유의하면 어느 집단이 다른지 사후검정으로 확인합니다.
- 가정: 정규성·등분산성·독립성을 점검하고, 위반 시 Welch ANOVA를 고려합니다.
일원분산분석은 하나의 독립변수에 따른 여러 집단의 평균 차이를 검정하는 방법입니다. F 통계량과 p값으로 전체적인 차이를 확인하고, 사후검정으로 집단 간 차이를 구체적으로 살펴봅니다. 결과를 해석할 때는 통계적 유의성뿐 아니라 효과크기와 분석 가정도 함께 고려해야 합니다.
다음 학습 주제는 이원분산분석(Two-way ANOVA)입니다. 두 개의 독립변수를 동시에 고려하고, 한 변수의 효과가 다른 변수의 수준에 따라 달라지는 상호작용을 어떻게 해석하는지 살펴봅니다.
일원분산분석은 집단 간 평균제곱을 집단 내 평균제곱으로 나눈 F로 세 집단 이상의 평균 차이를 한 번에 검정합니다. 결과는 F(집단 간 자유도, 집단 내 자유도)와 p값, 효과크기로 보고하고, 어느 집단이 다른지는 사후검정으로 확인합니다.