분산분석 이란?
두 개 이상의 집단의 평균을 비교하여 집단의 평균 차이가 있는지를 통계적으로 분석하는 기법을 분산분석이라고 정의합니다. 예를 들면 약을 섭취한 집단과 섭취하지 않은 집단의 몸무게 차이를 비교하여 약이 몸무게에 영향을 줬는지에 대해 비교 할 수 있습니다.
- 분산분석 : 두 개 이상 집단들의 평균을 비교하는 통계적 분석 기법
- 분산분석 이유 : 집단들의 평균 차이 비교
- t검정 : 두집단 강의 평균 차이를 검증
- F검정 : 집단간 변화량과 집단내 변화량을 이용하여 세집단 이상을 비교
집단 간 평균 차이 = 집단 간 분산이 크다
→ 집단간 분산이 클수록 집단 간 평균이 서로 다를 가능성이 높다.
통계 분석 #1 : 가설 설정, 표본 추출, 확률 분포, 검정 통계량
통계 분석 #2 : 빅데이터 분석 및 활용 (데이터 저장, 처리, 분석, 시각화)
분산분석의 기본 가정
분산분석을 위해 기본적으로 모집단의 표본을 추출할 때는 무작위로 추출되어야 합니다. 또한, 모집단은 정규성과 등분산성을 가지고 있어야 한다는 기본 가정이 적용됩니다.
- 정규성 : 모집단의 분포가 정규분포
- 등분산성 : 각 집단의 분산은 모두 동일
- 독립성 : 표본은 무작위(독립적)로 추출
F 통계량 (F-value)
집단간 분산이 클수록 집단내 분산이 작을 수록, 집단 간 평균이 다를 가능성이 증가합니다. F 통계량을 기반으로 p-value(유의성)를 산출하며, p-value 값을 기반으로 귀무가설과 대립가설 중 한가지 가설을 채택할 수 있습니다.
F = 집단간 분산 / 집단내 분산
- 귀무가설(H0) : 모집단의 평균이 모두 동일
- 대립가설(H1) : 적어도 두 대의 집단 간 평균 차이
분산분석의 구분
분산분석은 보통 ANOVA라고 불리는데, 독립변수의 개수에 따라 일원 or 이원 or 다원 분산분석으로 명명됩니다. 보통 독립변수가 두개 이상인 다원 분산분석을 사용하게 되므로 ANOVA 분석으로 불러도 무방합니다.
- 일원 분산분석 : 독립변수가 하나
- 이원 분산분석 : 독립변수가 둘
- 다원 분산분석 : 독립변수가 둘 이상을 총칭
R을 이용한 분산분석
거식증 환자의 치료방법에 따른 몸무게 변화 데이터를 기반으로 R로 분산분석을 수행한 코드입니다. 분산분석이 여러가지 함수로 사용되지만, 보통 anova() 함수를 사용하면 됩니다.
# 등분산성 확인 패키지 설치
install.packages("car")
library(car)
# 데이터 입력
data(anorexia,package="MASS")
anorexia
# 등분산성 확인
leveneTest(Postwt~Treat,data=anorexia)
# 분산분석 (일원분산분석)
out1=aov(Postwt~Treat,data=anorexia)
out1
Summary(out1)
# 분산분석 (ANOVA)
out2=anova(lm(Postwt~Treat,data=anorexia))
out2
Summary(out2)
# Oneway 분산분석 (등분산 가정X)
out3=oneway.test(Postwt~Treat,data=anorexia)
out3
Summary(out3)
댓글