R에서 다중 집단의 등분산 검정이 가능한 Levene 검정을 알아본다.
Statistics
개요
등분산 검정중 하나인 Levene 검정은 집단간 분산이 같은지 다른지 여부를 알아볼 때 사용하기도 하고 독립 2표본 t-검정 또는 일원분산분석(one-way ANOVA) 실시 전에 가정 때문에 확인하는 용도로 사용하기도 한다. 그리고 Levene 검정은 두 집단 뿐만 아니라 세 집단 이상에서도 사용할 수 있으며 Bartlett 검정과 달리 표본이 정규성을 보이지 않아도 사용할 수 있다.
집단의 분포 특성에 따라 대표값을 평균, 중앙값, 절사평균값 셋 중에 하나로 설정하여 검정을 실시한다. 평균을 대표값으로 사용하는 경우는 정규분포처럼 표본 분포가 좌우 대칭(symmetric)이고 한쪽으로 치우친 분포가 아닐때(moderate-tail) 사용하고, 중앙값을 대표값으로 사용하는 경우는 카이제곱분포처럼 표본 분포가 한쪽으로 치우쳐져 있을 때 사용하고, 절사평균을 대표값으로 사용하는 경우는 표본 분포가 코시 분포(Cauchy distribution)와 같이 꼬리가 두꺼운 경우에 사용한다.
검정 통계량 계산
검정통계량 $W$는 다음과 같이 계산한다.
단, 여기서 $Z_ij$는 집단의 분포 특성에 기반하여 선택하는 대표값에 따라 계산 식이 달라진다.
가설
- 귀무가설($H_0$): 집단간 분산이 같다.
- 대립가설($H_1$): 적어도 두 집단간 분산이 다르다.
연산
함수 및 인자
car 패키지의 leveneTest()
함수의 설정은 다음과 같다.
● y: 종속변수(formula 입력 가능)
● group: 독립변수
● center: 집단의 대표값 설정
● data: formula 사용시 데이터프레임 할당
Center 의 상세 설명은 다음과 같다.
- MEAN: Classical Levene’s Test 방법으로 평균을 기준으로 검정
- MEDIAN: Robust Brown-Forsythe 방법으로 중앙값을 기준으로 검정
※ 분포의 평균값이 대표값이라고 판단하기 어려운 경우
- TRIMMED: Levene-type Test 방법으로 절사평균(trimmed mean)을 기준으로 검정
※ 상, 하위 극단치 제거가 필요한 경우
참고로 car 패키지에는 levene.test()
함수가 있으나 이는 이제 사용하지 않는 함수이기 때문에 사용에 주의하도록 하자.
실행 및 결과
leveneTest()
함수를 사용한 결과는 다음과 같다.
1 | df = iris |
결과 중 F value
는 검정통계량이고 Pr(>F)
는 p-value인데 이때 p-value가 0.002259로 유의수준 $\alpha$가 5%(0.05)일 때, p-value가 유의수준보다 작기 때문에 귀무가설을 기각하고 대립가설을 채택하여 적어도 두 집단간 분산이 다르다고 할 수 있다.