분산분석(Analysis of Variance: ANOVA)은 두 개이상의 집단 간 차이를 분석하고자 할때 활용하며, 일반적으로는 세 집단이상을 비교할 때 주로 활용된다. 실험 설계에서 가장 중요하게 다뤄지고 있으며, 또한 보편적으로 활용되는 통계적 분석 기법이다.
분산분석은 그룹 간 변동과 그룹 내 변동의 비를 활용하여 어떤 처리가 효과가 있는지에 대한 통계적 유의성을 확인한다.
분산분석의 종류
- 일원(배치) 분산분석(One-way Anova)
- 한 개의 독립변수(요인)에 대한 그룹 간 차이(평균) 비교
- 예시) 학습방법에 따른 A반,B반,C반 학생들의 성적 비교
- 이원(배치) 분산분석(Two-way Anova)
- 두 개의 독립변수(요인)에 대한 그룹 간 차이(평균) 비교
- 예시) 학습방법 및 수면시간에 따른 A반, B반, C반 학생들의 성적 비교
- 다원(배치) 분산분석(Multi Anova: MANOVA)
- 세 개 이상의 독립변수(요인)에 대한 그룹 간 차이(평균) 비교
- 예시) 학습방법 , 수면시간, 보충수업, 식사습관 등에 따른 A반, B반, C반 학생들의 성적 비교
- 공분산분석(Analysis of Covariance : Ancova)
- 다양한 요인(변수) 들 중에서 종속변수에 영향을 제거
- 독립변수의 순수한 효과를 평가하는 목적
- 예시) 학습법에 따른 학생들의 성적 변화를 검증할때, 이전 학생들의 점수를 공변량으로 제안하여, 학습법에 따른 효과를 평가
- 반복측정 분산분석(Repeated Measure Anova)
- 같은 실험자로부터 반복 측정한 데이터 분석
- 예시) 같은 실험자에게 다섯 가지 다른 조건에서 반복 측정
- 실험(자)의 자체 변동을 고려하여 실험자의 변동을 제거할 수 있음.
- 즉, 실험(자)의 반응이 변동(분산)이 크더라도 조건의 간 차이를 좀 더 정확하게 분석 가능하
분산분석 절차
- 가설 검정
- 가설(Hypothesis) : 연구자가 확인하고자하는 주장(주의. H0 or H1을 주장할 수 있음 )
- 귀무가설(H0) : 모든 그룹의 평균은 같다.
- 대립가설(H1) : 적어도 하나의 그룹의 평균은 다르다
- 주의. ← “모든 그룹의 평균이 다르다”는 틀림
- 주의. ← “모든 그룹의 평균이 다르다”는 틀림
- 가설(Hypothesis) : 연구자가 확인하고자하는 주장(주의. H0 or H1을 주장할 수 있음 )
- 분산분석(분산분석테이블)
- 집단 간 변동( SStr / df → MStr) : Sum Square treatment
- 집단 내 변동( SSE / df → MSE) : Sum Square Error
- 총 변동(SST) : Sum Square Total
- df(degree of freedom) : 자유도
- F = MStr / MSE
- 유의수준 검토
- p-값을 통해 F-값이 유의미한지 판단합니다. 일반적으로 p-값이 0.05보다 작으면 귀무가설을 기각하고, 그룹 간 평균이 유의미하게 다르다고 결론을 내립니다.
예시
한 가지 요인(학습 방법)과 세 가지 그룹(A, B, C)이 있는 경우, 일원분산분석을 통해 각 그룹의 평균 시험 점수가 유의미하게 다른지 검정할 수 있습니다. 다음은 그 절차입니다.
데이터 수집:
- 각 그룹(A, B, C)에서 여러 학생의 시험 점수를 수집합니다.
분산 분석 수행:
- 집단 간 변동과 집단 내 변동을 계산하고, F-값을 구합니다.
결과 해석:
- p-값을 검토하여 귀무가설을 기각할지 결정합니다. 예를 들어, p-값이 0.03이면 귀무가설을 기각하고 학습 방법에 따라 시험 점수가 유의미하게 다르다고 결론 내릴 수 있습니다.
R을 이용한 분산분석 예시 코드
# 데이터 준비
data <- data.frame(
group = factor(c(rep("A", 10), rep("B", 10), rep("C", 10))),
score = c(55, 60, 58, 62, 57, 59, 61, 64, 56, 60, 65, 70, 68, 72, 67, 69, 71, 74, 66, 70, 75, 80, 78, 82, 77, 79, 81, 84, 76, 80)
)
# 일원분산분석 수행
result <- aov(score ~ group, data = data)
# 결과 요약
summary(result)
이 코드는 R을 사용하여 일원분산분석을 수행하는 예시입니다. aov
함수를 사용하여 분석을 수행하고, summary
함수를 사용하여 결과를 요약합니다. 이 결과를 통해 그룹 간 평균 차이가 유의미한지 판단할 수 있습니다.
분산분석은 다수의 그룹 간 평균 비교 시 유용한 통계적 방법으로, 실험 설계와 데이터 분석에서 중요한 역할을 합니다.
분산분석 결과에 따른 그룹별 평균 , 표준편차 출력 예시 코드
필요한 패키지 : dplyr
library(dplyr)
data %>%
group_by(group) %>%
summarise(
n = n(),
mean = mean(score),
sd = sd(score),
median = median(score),
min = min(score),
max = max(score)
)
분산분석 결과에 따른 사후검정
TukeyHSD(anova_result)
에타제곱(η²) ~에타스퀘어
에타 제곱(η²)은 분산분석(ANOVA)에서 사용되는 효과 크기 지표로, 독립변수가 종속변수의 변동을 얼마나 설명하는지를 나타냅니다. 이는 회귀분석에서의 결정계수(R²)와 유사한 역할을 하며, 값의 범위는 0에서 1 사이입니다. 값이 클수록 독립변수가 종속변수의 변동을 더 많이 설명함을 의미합니다.
에타 제곱은 다음과 같이 계산됩니다:
η² = 집단 간 변동 / 전체 변동
여기서 집단 간 변동은 독립변수에 의해 설명되는 변동을, 전체 변동은 종속변수의 총 변동을 의미합니다.
에타 제곱의 해석 기준은 다음과 같습니다:
- 0.01: 작은 효과
- 0.06: 중간 효과
- 0.14: 큰 효과
이러한 기준은 연구 분야와 맥락에 따라 다를 수 있으므로, 결과 해석 시 주의가 필요합니다.
또한, 이원분산분석 등에서 부분 에타 제곱(Partial Eta Squared)이라는 지표도 사용됩니다. 부분 에타 제곱은 특정 독립변수가 종속변수의 변동을 얼마나 설명하는지를 나타내며, 다른 독립변수의 영향을 통제한 상태에서 해당 변수의 효과 크기를 평가합니다.
에타 제곱과 부분 에타 제곱은 모두 연구 결과의 효과 크기를 평가하는 데 중요한 지표로 활용됩니다.
에타 제곱(η²)과 알 제곱(R²)의 차이점 요약
1
1
1
1
1
1
1
2222