본문 바로가기

공모전/DACON

[DACON] R을 사용한 일원배치 분산분석 (ANOVA in R) – 집단 별 차이가 통계적으로 의미가 있는지 검증해 보자

10대, 20대, 30대의 평균 소비액, 정말로 유의미한 차이인지 확인하려면?

오늘은 매우 간단하면서도 유용한 분석 방법을 소개해 보려고 합니다.

일원배치 분산분석(One-way ANOVA)이 바로 그것인데요, 이 분석은 독립된 세 집단 이상의 평균을 비교하고자 할 때 사용하는 분석 방법입니다.

(좀 더 자세히는 평균의 차이가 의미가 있는지를 알아보고자 할 때 사용합니다.)

예를 들어서 설명해 볼까요?

연령대 별로 월 평균 게임에 사용하는 금액을 조사했더니, 10대는 18,200원, 20대는 20,500원 30대는 19,300원을 사용한다는 결과가 나왔다고 가정해 봅시다.

이러한 구매 금액이 정말로 유의미 한 차이인지는 어떻게 확인할 수 있을까요?

1,000원 정도씩 차이가 나는데, 이걸 차이가 있다고 보아야 하는 건지, 차이가 매우 근소하기 때문에 차이가 없다고 보아야 할 것 같기도 하고…

이럴 때 일원배치 분산분석을 사용하면 이러한 집단 간 평균 차이가 통계적으로 의미가 있는 숫자인지 아닌지를 판단할 수 있습니다.

 

 

소스: http://www.fomos.kr/esports

일원배치 분산분석은 실무적으로도 자주 사용하는 편입니다. 특히 플레이어 분석을 할때 연령대 별, 게임 이용 기간 대 별 등등 그룹으로 구분해서 보아야 할 때는 거의 필수적으로 사용하기 떄문에 알아두면 쓸모가 많은 분석 방법입니다.

게다가 매우 간단하기까지 한 녀석이죠. 예제로 한번 확인해 볼까요?

일원배치 분산 분석 예제

R에 내장되어 있는 iris 데이터 셋으로 1분만에 일원배치 분산분석을 해 봅시다.

일원배치 분산 분석을 할 때는 aov 함수와 bartlett.test 함수 두가지를 사용합니다.

먼저 aov으로 일원배치 분산분석(ANOVA)을 해 보겠습니다.

기본 적인 문법은 aov(대상변수~그룹변수, data=데이터명)의 순서인데요,

이때 주의해야 할 점은 그룹 변수는 factor 형이어야 한다는 것입니다.

(가지고 계신 데이터 셋으로 분석하실 때는 as.factor함수를 사용해서 변수 유형을 변경해 주세요.)

 

> analysis<-aov(Sepal.Width~Species, data=iris)
> summary(analysis)
             Df Sum Sq Mean Sq F value Pr(>F)    
Species       2  11.35   5.672   49.16 <2e-16 ***
Residuals   147  16.96   0.115                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

일원배치 분산분석 결과 P-value 값이 매우 작게 나와 귀무가설이 기각되었네요. (***표시) 이 결과만 보면” iris의 품종(Species) 별로 Sepal.Width 평균은 다르다”라고 판단할 수가 있겠습니다.

단, 일원배치 분산분석이 성립하기 위한 전제 조건이 있는데요, 바로 오차의 등분산성 검정입니다. bartlett.test함수를 사용하면 간단히 확인할 수 있습니다.

 

bartlett.test(Sepal.Width~Species, data=iris)
 
	Bartlett test of homogeneity of variances
 
data:  Sepal.Width by Species
Bartlett's K-squared = 2.0911, df = 2, p-value = 0.3515

p-value가 0.05보다 크므로 귀무가설을 기각할 수가 없겠네요. 오차의 등분산성 가정을 만족한다고 판단할 수가 있겠습니다.

 

참고 : http://www.dodomira.com/2016/02/24/r%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%9D%BC%EC%9B%90%EB%B0%B0%EC%B9%98-%EB%B6%84%EC%82%B0-%EB%B6%84%EC%84%9D-anova-in-r-%EC%A7%91%EB%8B%A8-%EB%B3%84-%EC%B0%A8%EC%9D%B4%EA%B0%80-%ED%86%B5/