등분산 검정 (Homogeneity of variance test)

추출한 여러표본들이 서로 동일한 분산을 가지고 있는지 검정하는 방법입니다. ANOVA의 경우 집단간 분산이 같다라는 가정을 만족해야 사용이 가능하기 때문에 본 분석에 들어가기에 앞서 이러한 가정들을 살펴보는 것이 중요합니다. 많이 쓰이는 방법으로는 Bartlett’s test, Levene’s test, Fligner-Killeen’s test, Brown–Forsythe test 등이 있습니다.

Bartlett’s test

Bartlett (1937)이 고안한 방법으로 모집단으로 부터 추출한 k개의 샘플들이 서로 같은 분산을 가지고 있는지를 검정합니다. 일반적으로 가장 잘 방법이지만 이 경우는 샘플의 정규성에 상당히 민감합니다. 만일 샘플이 정규분포를 이루고 있다면 상관없지만 그렇지 않은 경우 위양성의 위험이 높은 편입니다.


> library(car)
## Loading required package: carData

> plot(count ~ spray, data = InsectSprays)

variance


bartlett.test(InsectSprays$count, InsectSprays$spray)

## 
##  Bartlett test of homogeneity of variances
## 
## data:  InsectSprays$count and InsectSprays$spray
## Bartlett's K-squared = 25.96, df = 5, p-value = 9.085e-05

Levene’s Test

Levene (1960)이 고안한 방법으로 두 샘플 이상의 분산을 서로 비교하는데 있어서 Barlett’s test에 비하여 정규성에 덜 민감하기 때문에 좀 더 자주 사용됩니다. 집단 비교의 경우 두 샘플이 서로 등분산 가정을 만족하지 않는다면 Student’s t-test 말고 Welch’s t-test (or unequal variances t-test) 를 사용해야합니다. SPSS 같은 통계프로그램에서는 ANOVA에 디폴트로 들어있기도 합니다. R에서는 car 패키지안에 내장되어있습니다. 디폴트로 median 값을 사용하며 center = mean, trim.mean 으로 지정하여 옵션을 바꿀 수 있습니다. 또한 bootstrap = TRUE, num.bootstrap = 1000 방식으로 부트스트랩도 가능합니다.


leveneTest(count ~ spray, data=InsectSprays)

## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value   Pr(>F)   
## group  5  3.8214 0.004223 **
##       66                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

leveneTest(InsectSprays$count, InsectSprays$spray)

## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value   Pr(>F)   
## group  5  3.8214 0.004223 **
##       66                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Fligner-Killeen’s Test

앞서 언급한바와 같이 Bartlett’s test는 정규성을 만족하지 않으면 위양성이 높아지며, Levene’s test의 경우도 샘플사이즈가 매우 크면 분산이 조금만 차이가 나더라도 유의한 차이가 있다고 보고하는 경향이 있습니다. 반면, Fligner-Killeen (median) test (Conover et al. 1981)는 시뮬레이션을 통하여 비정규성 샘플에 대해서도 더욱 로버스트한 결과를 보여주기 때문에 유용합니다.


fligner.test(InsectSprays$count, InsectSprays$spray)

## 
##  Fligner-Killeen test of homogeneity of variances
## 
## data:  InsectSprays$count and InsectSprays$spray
## Fligner-Killeen:med chi-squared = 14.483, df = 5, p-value =
## 0.01282

fligner.test(count ~ spray, data = InsectSprays)

## 
##  Fligner-Killeen test of homogeneity of variances
## 
## data:  count by spray
## Fligner-Killeen:med chi-squared = 14.483, df = 5, p-value =
## 0.01282

References

  • Bartlett MS. Properties of sufficiency and statistical tests. Proceedings of the Royal Society of London. Series A-Mathematical and Physical Sciences. 1937 May 18;160(901):268-82.
  • Conover WJ, Johnson ME, Johnson MM. A comparative study of tests for homogeneity of variances, with applications to the outer continental shelf bidding data. Technometrics. 1981 Nov 1;23(4):351-61.
  • Levene H. Robust tests for equality of variances: In Ingram Olkin, Harold Hotelling, et alia.1960.