본문 바로가기
Machine Learning

통계 분석 #5 : 집단 간 평균 비교, ANOVA 분산분석의 정의 및 가정

by 무적물리 2020. 3. 19.

분산분석 이란?

두 개 이상의 집단의 평균을 비교하여 집단의 평균 차이가 있는지를 통계적으로 분석하는 기법을 분산분석이라고 정의합니다. 예를 들면 약을 섭취한 집단과 섭취하지 않은 집단의 몸무게 차이를 비교하여 약이 몸무게에 영향을 줬는지에 대해 비교 할 수 있습니다.


- 분산분석 : 두 개 이상 집단들의 평균을 비교하는 통계적 분석 기법

- 분산분석 이유 : 집단들의 평균 차이 비교

- t검정 : 두집단 강의 평균 차이를 검증

- F검정 : 집단간 변화량과 집단내 변화량을 이용하여 세집단 이상을 비교


집단 간 평균 차이 = 집단 간 분산이 크다 

집단간 분산이 클수록 집단 간 평균이 서로 다를 가능성이 높다.




분산분석의 기본 가정

분산분석을 위해 기본적으로 모집단의 표본을 추출할 때는 무작위로 추출되어야 합니다. 또한, 모집단은 정규성과 등분산성을 가지고 있어야 한다는 기본 가정이 적용됩니다.


- 정규성 : 모집단의 분포가 정규분포

- 등분산성 : 각 집단의 분산은 모두 동일

- 독립성 : 표본은 무작위(독립적)로 추출


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)


댓글