Skip to main content
통계계산기가이드

ANOVA 계산기: 일원분산분석(One-Way ANOVA) 단계별 완벽 가이드

·13 min read·Solvify Team

ANOVA 계산기는 세 개 이상 집단의 평균이 우연으로 설명할 수 있는 수준보다 더 크게 차이 나는지를 판단합니다. 여러 번의 쌍별 t-검정을 하나의 오류율을 공유하는 깔끔한 검정 하나로 압축해 주는 셈입니다. 집단 A와 B, A와 C, B와 C를 따로따로 비교하면 비교할 때마다 거짓 양성이 나올 확률이 커지지만, 일원분산분석은 전체 변동을 두 부분, 즉 집단 평균 사이의 변동과 각 집단 내부의 변동으로 나눕니다. 이 가이드에서는 실제 숫자를 사용한 하나의 완전한 예제로 제곱합, 자유도, 평균제곱, F-비까지 분산분석표 전체를 손으로 작성해 봅니다. 이어서 결과 해석 방법, 사후검정, ANOVA의 가정, 흔한 실수, 정답이 포함된 연습 문제까지 다룹니다.

ANOVA 계산기란 무엇이며 언제 필요할까요?

ANOVA(분산분석, Analysis of Variance) 계산기는 세 개 이상의 독립된 집단 평균이 통계적으로 서로 다른지를 여러 번의 개별 비교 대신 단 한 번의 검정으로 확인합니다. '일원'이라는 말은 과외 방식, 비료 종류, 분반처럼 하나의 범주형 요인으로 집단이 나뉜다는 뜻입니다. 반면 이원분산분석은 두 요인을 동시에 교차시키고, 두 요인 사이의 상호작용까지 검정할 수 있습니다. 세 개 이상의 집단에서 연속형 결과값을 측정했고, 집단 평균의 차이가 우연 이상인지 알고 싶다면 일원분산분석이 필요합니다. 교수법별 시험 점수 비교, 비료 브랜드별 식물 생장 비교, 연령대별 반응 시간 비교가 대표적인 예입니다. 집단이 두 개뿐이라면 간단한 t-검정으로 충분합니다. ANOVA는 세 번째 집단이 비교에 들어오는 순간 진가를 발휘하는데, 바로 그 시점부터 t-검정을 반복하면 문제가 생기기 때문입니다.

일원분산분석은 '세 개 이상의 집단 평균이 서로 다른가?'라는 하나의 질문을, 하나의 공통 오차항을 사용해 집단 간 변동과 집단 내 변동을 비교함으로써 검정합니다.

ANOVA 계산기는 단계별로 어떻게 작동할까요?

이 가이드 전체에서 사용할 예제는 20점 만점 퀴즈로 세 가지 과외 방식을 비교합니다. 학생 12명을 세 가지 방식 중 하나에 무작위로 배정했고(집단당 n = 4, 전체 N = 12), 각 학생의 퀴즈 점수를 기록했습니다. 방식 A: 8, 9, 11, 12 — 방식 B: 13, 14, 14, 15 — 방식 C: 17, 18, 18, 19

1. 1단계 — 각 집단의 합계와 전체 합계 구하기

집단 A 합계 = 8+9+11+12 = 40, 평균 = 40÷4 = 10. 집단 B 합계 = 13+14+14+15 = 56, 평균 = 56÷4 = 14. 집단 C 합계 = 17+18+18+19 = 72, 평균 = 72÷4 = 18. 전체 합계 = 40+56+72 = 168, 전체 평균 = 168÷12 = 14.

2. 2단계 — SS_total 계산하기

SS_total = Σ(각 값 − 전체 평균)². 집단 A의 14로부터의 편차: (8−14)²=36, (9−14)²=25, (11−14)²=9, (12−14)²=4, 소계 = 74. 집단 B의 편차: (13−14)²=1, (14−14)²=0, (14−14)²=0, (15−14)²=1, 소계 = 2. 집단 C의 편차: (17−14)²=9, (18−14)²=16, (18−14)²=16, (19−14)²=25, 소계 = 66. SS_total = 74+2+66 = 142.

3. 3단계 — SS_between 계산하기(집단 소속으로 설명되는 변동)

SS_between = Σ n_i(집단 평균 − 전체 평균)² = 4(10−14)² + 4(14−14)² + 4(18−14)² = 4(16) + 4(0) + 4(16) = 64+0+64 = 128.

4. 4단계 — SS_within 계산하기(각 집단 내부에 남은 변동)

SS_within = Σ(각 값 − 해당 집단 평균)². 집단 A(평균 10): (8−10)²=4, (9−10)²=1, (11−10)²=1, (12−10)²=4, 소계 = 10. 집단 B(평균 14): (13−14)²=1, (14−14)²=0, (14−14)²=0, (15−14)²=1, 소계 = 2. 집단 C(평균 18): (17−18)²=1, (18−18)²=0, (18−18)²=0, (19−18)²=1, 소계 = 2. SS_within = 10+2+2 = 14.

5. 5단계 — 항등식으로 검산하기

SS_between + SS_within은 SS_total과 같아야 합니다. 128 + 14 = 142로, 2단계에서 계산한 SS_total과 정확히 일치합니다. 이 항등식은 표의 나머지 부분을 작성하기 전에 계산 실수를 잡아내는 가장 빠른 방법입니다.

일원분산분석에서 SS_total은 항상 정확히 두 부분, 즉 SS_between(집단 평균 간 차이)과 SS_within(각 집단 내부의 잡음)으로 나뉩니다. 이 예제에서는 128 + 14 = 142로 딱 맞아떨어집니다.

SS_between과 SS_within은 실제로 무엇을 측정할까요?

SS_between은 각 집단 평균이 전체 평균에서 얼마나 떨어져 있는지를 집단 크기로 가중해 측정합니다. 집단들이 실제로 서로 다를수록 값이 커집니다. SS_within은 다른 집단은 전혀 고려하지 않고, 개별 점수가 자기 집단 안에서 얼마나 흩어져 있는지를 측정합니다. 이는 학생이 어떤 방식을 사용했는지와 무관한 자연스러운 변동을 반영합니다. 예제에서 SS_between(128)은 SS_within(14)보다 약 9배 큽니다. F-비를 계산하기도 전에, 세 가지 과외 방식이 단순한 잡음이 아니라 실제로 다른 결과를 낸다는 강력한 신호입니다. 반대로 SS_within이 SS_between보다 훨씬 컸다면, 집단들이 크게 겹쳐 있어 평균 차이가 우연일 가능성이 높다는 뜻이 됩니다.

SS_within에 비해 SS_between이 크다면 실제 효과가 있다는 전형적인 신호입니다. 반대로 SS_between에 비해 SS_within이 크다면, 대개 집단이 너무 많이 겹쳐서 구분하기 어렵다는 뜻입니다.

일원분산분석표 전체는 어떻게 작성할까요?

SS_between, SS_within, SS_total을 구했다면 자유도(df), 평균제곱(MS = SS ÷ df), F-비(F = MS_between ÷ MS_within)로 표를 완성할 수 있습니다. 집단 수 k = 3, 전체 관측치 N = 12일 때:

1. 1단계 — 자유도

df_between = k − 1 = 3 − 1 = 2. df_within = N − k = 12 − 3 = 9. df_total = N − 1 = 11. 검산: 2 + 9 = 11. ✓

2. 2단계 — 평균제곱

MS_between = SS_between ÷ df_between = 128 ÷ 2 = 64. MS_within = SS_within ÷ df_within = 14 ÷ 9 ≈ 1.56. MS_within은 평균제곱오차(MSE)라고도 하며, 순수한 무작위 변동에 대한 가장 좋은 추정치입니다.

3. 3단계 — F-비

F = MS_between ÷ MS_within = 64 ÷ 1.56 ≈ 41.1. 이 비율은 집단 소속으로 설명되는 변동이 우연만으로 예상되는 변동에 비해 얼마나 큰지를 비교합니다.

4. 4단계 — 임계 F값과 비교하기

α = 0.05에서 임계값은 F(2, 9) ≈ 4.26입니다(F-분포표 참조). F ≈ 41.1은 4.26을 크게 넘으므로 결과는 통계적으로 유의합니다. 즉, 세 가지 과외 방식의 퀴즈 평균 점수는 같지 않습니다.

변동 요인 | SS | df | MS | F 집단 간 | 128 | 2 | 64 | 41.1 집단 내 | 14 | 9 | 1.56 | — 합계 | 142 | 11 | — | —

F-비는 어떻게 해석하고 분산분석표는 어떻게 읽을까요?

F-비가 1.0에 가깝다면 집단 간 변동이 집단 내부의 자연스러운 잡음과 비슷한 크기라는 뜻으로, 실제 효과의 증거가 없습니다. 이 예제의 41.1처럼 F-비가 1.0보다 훨씬 크다면 집단 평균 간 차이가 무작위 변동만으로 생길 수 있는 수준보다 훨씬 크다는 의미이며, 그래서 임계값을 쉽게 넘어섭니다. p-값은 같은 이야기를 다른 단위로 전달합니다. 세 모집단 평균이 실제로 모두 같을 때 이만큼(또는 그 이상) 큰 F-비가 관측될 확률입니다. F(2,9) = 41.1이면 p-값은 0.001보다 훨씬 작으므로, 방식 A, B, C의 평균 점수가 모두 같다는 귀무가설은 기각됩니다. 하지만 유의한 F-비는 적어도 한 집단이 다른 적어도 한 집단과 다르다는 것만 알려 줄 뿐, 어느 집단이 다른지는 알려 주지 않습니다. 그 질문에 답하는 것이 바로 다음에 다룰 사후검정입니다.

유의한 F-비는 '집단들이 서로 다른가?'에 답할 뿐, '어떤 집단들이 다른가?'에는 결코 답하지 않습니다. 두 번째 질문은 사후검정의 몫입니다.

사후검정이란 무엇이며 ANOVA 결과가 유의할 때 왜 필요할까요?

전체 F-검정이 유의하면, 사후검정은 전체 오류율을 통제하면서 모든 집단 쌍을 비교합니다. 가장 흔히 쓰이는 방법은 Tukey의 HSD(Honestly Significant Difference) 검정입니다. 보정 없이 t-검정을 세 번(A 대 B, A 대 C, B 대 C) 따로 실행하면, 비교가 하나 늘 때마다 거짓 양성 확률이 더해져 실제 제1종 오류율이 의도한 5%를 훌쩍 넘게 됩니다. 예제에서 세 집단 평균 10, 14, 18은 정확히 4점씩 고르게 떨어져 있고 MS_within이 1.56으로 매우 작으므로, Tukey HSD 비교를 하면 세 가지 쌍별 차이(A 대 B, B 대 C, A 대 C)가 모두 유의하게 나올 가능성이 매우 높습니다. 정확한 HSD 임계값은 스튜던트화 범위표에 따라 달라지지만, 집단 내 잡음이 매우 작은 상태에서 평균이 크게 떨어져 있는 이 패턴은 모든 쌍이 다른 교과서적인 사례입니다.

분산분석표만 보고 집단 간 쌍별 차이를 해석해서는 안 됩니다. F-검정만으로는 구체적으로 어떤 쌍이 다른지 알 수 없으며, 이를 위해서는 별도의 사후검정이 필요합니다.

ANOVA와 t-검정 비교: 왜 t-검정을 여러 번 하면 안 될까요?

독립표본 t-검정은 한 번에 정확히 두 평균만 비교합니다. 집단이 세 개일 때 t-검정을 세 번(A-B, A-C, B-C) 실행하는 것이 지름길처럼 보이지만, 각 검정마다 5%의 거짓 양성 확률이 따라붙습니다. α = 0.05로 독립적인 검정을 세 번 하면, 순전히 우연으로 적어도 하나가 '유의'하게 나올 확률은 약 1 − (0.95)³ ≈ 14.3%로 올라갑니다. 의도한 오류율의 거의 세 배입니다. 집단이 다섯 개이고 쌍별 비교가 열 번이라면 오류율은 더욱 커집니다. ANOVA는 모든 집단 평균을 단 한 번의 F-검정으로 검정해, 집단이 몇 개이든 전체 제1종 오류율을 설정한 α 수준으로 유지합니다. 이 검정이 유의하게 나온 후에야 사후 비교로 넘어가며, 사후 비교는 가족별 오류율을 통제하도록 설계된 보정 임계값을 사용합니다. 추가 절차를 거칠 가치가 있을까요? 세 개 이상의 집단을 비교한다면 그렇습니다. 그렇지 않으면 거짓 양성률이 조용히 부풀려집니다.

ANOVA 한 번 대신 k(k−1)/2번의 t-검정을 따로 실행하면 실제 오류율이 5%를 크게 넘어섭니다. 비교하는 집단이 많을수록 오류율 증가는 더 심해집니다.

ANOVA에는 어떤 가정이 필요할까요?

일원분산분석은 세 가지 가정에 기반하며, 이를 위반하면 p-값이 원래 의미와 다른 것을 나타낼 수 있습니다.

1. 관측치의 독립성

각 데이터는 서로 관련 없는 다른 대상이나 측정에서 나와야 합니다. 예를 들어 같은 학생을 여러 방식에 걸쳐 반복 측정하면 독립성이 깨지므로, 대신 반복측정 분산분석을 사용해야 합니다.

2. 각 집단 내 정규성

각 집단의 점수는 대략 정규분포를 따라야 하며, 이 예제처럼 n = 4인 작은 표본에서는 특히 중요합니다. 실제로는 히스토그램, Q-Q 도표, Shapiro-Wilk 검정으로 확인할 수 있습니다.

3. 분산의 동질성

모든 집단의 퍼짐 정도(분산)가 대략 같아야 합니다. 표준적인 확인 방법은 Levene 검정이며, 집단 간 분산 차이가 크다면 등분산을 가정하지 않는 Welch의 분산분석이 더 안전한 선택입니다.

집단 크기가 같다면 ANOVA는 정규성의 가벼운 위반에 꽤 강건합니다. 하지만 분산이 다르면서 집단 크기까지 다른 경우가 F-비를 가장 오도하기 쉬운 조합입니다.

ANOVA를 손으로 계산할 때 피해야 할 실수는 무엇일까요?

손으로 계산하든 ANOVA 계산기로 확인하든, 일원분산분석 결과가 틀리는 원인의 대부분은 몇 가지 오류에서 비롯됩니다.

1. 실수 1 — F-비에서 SS_between과 SS_within을 혼동하기

F는 항상 MS_between ÷ MS_within이며, 그 반대가 아닙니다. 비율을 뒤집으면 실제 효과를 보여 주는 큰 F-비 대신 1.0보다 작은, 별 의미 없어 보이는 값이 나옵니다.

2. 실수 2 — 잘못된 자유도 사용하기

df_between은 집단 수를 사용하고(k − 1), df_within은 전체 표본 크기에서 집단 수를 뺀 값을 사용합니다(N − k). 이 둘을 바꾸면 임계값 조회와 그에 따른 모든 결론이 달라집니다.

3. 실수 3 — 유의한 F-비를 '모든 집단이 서로 다르다'로 해석하기

전체 F가 유의하다는 것은 적어도 한 쌍의 집단이 다르다는 것만 보장합니다. 사후검정 없이 세 가지 과외 방식이 모두 서로 다르다고 결론 내리면 필수 단계를 건너뛰는 것입니다.

4. 실수 4 — SS_total 항등식 검산 생략하기

SS_between + SS_within은 반드시 SS_total과 같아야 합니다. 같지 않다면 앞 단계 어딘가에서 제곱합을 잘못 계산한 것이므로, 실수가 잘못된 F-비로 이어지기 전에 바로잡아야 합니다.

F-비를 믿기 전에 SS_between + SS_within = SS_total인지 먼저 확인하세요. 이 항등식이 성립하지 않으면 자유도나 평균제곱을 계산하기 전에 제곱합부터 고쳐야 합니다.

연습 문제: 다음 일원분산분석 문제를 풀 수 있나요?

정답을 확인하기 전에 각 문제를 직접 풀어 보세요. 세 문제 모두 위 예제와 같은 공식을 사용합니다.

1. 문제 1 — 빠진 제곱합 구하기

SS_total = 200이고 SS_between = 150일 때 SS_within을 구하세요. 정답: SS_within = SS_total − SS_between = 200 − 150 = 50.

2. 문제 2 — 자유도와 평균제곱 계산하기

네 가지 교수법(k = 4)을 집단당 학생 5명(N = 20)으로 비교한 연구가 있습니다. SS_between = 60이고 SS_within = 40일 때 df_between, df_within, MS_between, MS_within을 구하세요. 정답: df_between = k−1 = 3, df_within = N−k = 16, MS_between = 60÷3 = 20, MS_within = 40÷16 = 2.5.

3. 문제 3 — 유의성 판단하기

문제 2의 값을 사용해 F를 계산하고, 임계값 F(3,16) ≈ 3.24가 주어졌을 때 α = 0.05에서 유의성을 판단하세요. 정답: F = MS_between ÷ MS_within = 20 ÷ 2.5 = 8.0으로 3.24를 넘으므로, 네 가지 교수법은 통계적으로 유의하게 다릅니다.

과외 방식 비교처럼 작은 세 집단 예제라도 일원분산분석을 한 번 손으로 풀어 보면, 이후에는 계산기 결과를 블랙박스처럼 무작정 믿는 대신 쉽게 검증할 수 있습니다.

Solvify는 ANOVA 문제 확인에 어떻게 도움이 될까요?

이 가이드에서 제곱합의 원리를 이해했다면, Solvify의 AI 기반 풀이 도구로 데이터셋이나 일부만 작성된 분산분석표를 촬영해 SS_between, SS_within, F-비 계산을 같은 방식으로 단계별로 확인할 수 있습니다. 직접 손으로 계산한 결과와 비교해, 실험 보고서나 과제에 들어가기 전에 계산 실수를 잡아낼 수 있습니다.

통계에 자신감을 기르는 가장 빠른 방법은 문제를 먼저 손으로 풀고 계산기는 검산에만 사용하는 것입니다. 그 반대가 되어서는 안 됩니다.
태그:
통계계산기가이드

관련 게시물

관련 수학 풀이

📸

스마트 스캔 풀이

데이터셋이나 분산분석표를 촬영하면 즉시 단계별 풀이를 받아볼 수 있습니다.

📝

단계별 풀이

최종 유의성 결과뿐 아니라 모든 제곱합과 F-비에 대한 자세한 설명을 받아보세요.

🎓

AI 수학 튜터

사후검정, 가정, 분산분석표의 어느 단계든 완전히 이해될 때까지 추가 질문을 할 수 있습니다.

관련 과목

지금 숙제 도움 받기

수백만 명의 학생들과 함께 AI 수학 풀이 도구를 사용하여 숙제 도움을 받으세요. 수학 문제에 대한 즉각적인 해결책, 단계별 설명 및 24/7 숙제 지원을 받으세요.

iOS 및 Android 기기에서 사용 가능