본문 바로가기
공부/R & Python

7-3. 분산분석 (ANOVA) (Analysis or Variance)

by 드인 2020. 2. 16.

7-3. 분산분석 (ANOVA) (Analysis or Variance)


1) 분산분석의 개념

- ANOVA (Analysis or Variance) : 전체분산(variance)을 분할(분석, analysis)하여 어떤 요인(factor)의 영향이 유의한지(significant) 검정하는 방법.

 

2) 분산분석 : factor가 한개일때

- 분산분석모형 적용

(1) 거주지역에 따른 학업성취도 : 거주지역(factor: R/U), 학업성적(1-20)

(2) 통학시간에 따른 학업성취도 : 통학시간(factor: 1-4), 학업 성적(1-20)

 

par(mfrow=c(1,2))
boxplot(G3~address, boxwex = 0.5, col = c("yellow", "coral"), main="G3 by (Urban, Rural)")
boxplot(G3~traveltime, boxwex = 0.5, col = c("red","orange","yellow","green"), main="G3 by traveltime")

week6_3에서 그래프를 이용한 데이터탐색

(1) 도심지역 학생들 성적이 외곽지역 학생들보다 높다

(2) 통학시간이 짧은(15분이내)의 학생들의 성적이 더 높다

 

(1) 거주지역에 따른 학업성취도 : 거주지역(factor: R/U), 학업성적(1-20)

가설1 : 거주지역(R/U)에 따라 G3에 유의한 영향이 있나?

aov(타겟변수~factor)

 

a1 <- aov(G3~address)
summary(a1)

 

[요약 결과]

Df Sum Sq Mean Sq F value Pr(>F)  
address       1     92   92.49   4.445 0.0356 *
Residuals   393   8177   20.81                 
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

p-value=0.035. 유의수준을 0.05로 잡을때 0.05보다 작으므로

=> 거주지역에 따른 학업성적에는 유의한 차이가 있다고 할 수 있음

 

분산분석 결과는 상자그림으로 본 거주지역에 따른 G3의 차이가 통계적으로 유의하다는 것을 보여줌!!

round(tapply(G3, address, mean),2)  결과에 대한 각각의 평균

 

(2) 통학시간에 따른 학업성취도 : 통학시간(factor: 1-4), 학업 성적(1-20)

가설2 : 통학시간에 따라 G3에는 유의한 차이가 있나?

aov(타겟변수~factor)

 

traveltime<-as.factor(traveltime)
a2 <- aov(G3~traveltime)
summary(a2)

 

[요약 결과]

               Df Sum Sq Mean Sq F value Pr(>F)
traveltime    3    115   38.37    1.84  0.139
Residuals   391   8155   20.86  

p-value=0.139, 유의수준을 0.05로 잡을때 0.05보다 크므로

=> 유의수준 0.05에서는 통학시간에 따른 학업성적에는 유의한 차이가 없다고 할 수 있다

그러나 p-value가 0.139이므로 어느정도 차이가 존재함을 알 수 있다.

 

3) 사후검정(post-hoc analysis)

- 사후검정 : ANOVA에서 어떤 factor의 유의성이 검정되면, 그 다음단계에 하는 검정

Tukey's Honest Significant Difference Test

traveltime<-as.factor(traveltime) 

TukeyHSD(a2, "traveltime", ordered=TRUE)
plot(TukeyHSD(a2, "traveltime"))

 

[검정 결과]

Tukey multiple comparisons of means
95% family-wise confidence level
factor levels have been ordered

Fit: aov(formula = G3 ~ traveltime)

$traveltime
              diff        lwr        upr         p adj
3-4 0.5108696 -4.3256048 5.347344 0.9929165  95% 신뢰구간의 lower bound, upper bound
2-4 1.1565421 -3.1623166 5.475401 0.9005404
1-4 2.0321012 -2.1981712 6.262374 0.6021367
2-3 0.6456725 -2.0624782 3.353823 0.9272302
1-3 1.5212316 -1.0432848 4.085748 0.4202138
1-2 0.8755591 -0.4800959 2.231214 0.3429618

mu1-mu2=0이라는 의미는 1그룹과 2그룹간 차이가 없다는 의미

즉 (mu1-mu2)의 신뢰구간에 0이 잇다는 것은 차이가 없다고 할 수 있다

 

모든 pairwise 신뢰구간에 0이 포함됨 => 유의한 차이가 없음

 

4) 추가예제 : 분산분석

(4) 연얘경험여부에 따른 학업성취도 : 연애경험(yes, no), 학업성적(1-20)

a4 <- aov(G3~romantic)
summary(a4)

 

round(tapply(G3,romantic, mean),2)

 

boxplot(G3~romantic, boxwex = 0.5, col = c("yellow", "coral"), main="G3 by romantic")

 

TukeyHSD(a4, "romantic", ordered=TRUE)
plot(TukeyHSD(a4, "romantic"))

연애경험이 있는 경우 학업성적이 유의하게 낮음 (p-value=0.0097)

median은 비슷해보이지만, 평균은 10.84-9.58=1.26 차이있음