-
<통계학> 분산분석(ANOVA) -1 (One-way-ANOVA)데이터 분석 관련 공부 2024. 1. 25. 15:59
분산분석(ANOVA)
t 검정이 두 집단간의 평균차이를 비교하는데 쓰이는 통계분석 방법이라면
두 개 이상의 다수 집단 간 평균을 비교하는 통계적 방법은 무엇일까? 그게 바로 분산분석이다.
참고로 ANOVA는 ANalysis Of VAriance 즉 영어로 분산분석을 줄인 말이다.
일원배치 분산분석(One-way ANOVA)
분산 분석 중에서 One-way ANOVA라는 것은 한국어로는 일변량 분산분석 혹은 일원배치 분산분석이라고 하는데
독립변수가 3개 이상인 집단일 때 집단 간 종속변수의 차이를 검증하기 위해서 사용되는 방법이다.
집단 간 평균차이를 비교한다는 점에서 t검정과 유사하다고 생각할 수 있다.
그렇다면 집단이 3개일 때 t-test를 3번 하면 모든 집단을 비교 가능한 게 아닌가?
상당히 곤란하다.
다음은 검정을 여러번 실시 할 때의 1종 오류 증가량 계산 공식이다.
1 - (1 - α) ^ t (ɑ=유의수준, t=두 집단의 비교 수)
한 번 t-test를 했을 때 유의수준을 0.05(5%)로 잡았다고 해보자.
- 세 집단의 경우 1종 오류는 1 - (1 - 0.05)3=0.14 이다.
- 네 집단인 경우에는 6번의 비교가 필요하다. 따라서 1종 오류는 1 - (1-0.05)6=0.28 이 된다.
이렇게 통계 검정을 여러 번 반복하게되면 1종 오류의 확률이 높아지게 된다.
따라서 t검정을 반복하지 않고 분산분석을 활용하는 것이다.
* 추가로 집단이 2개일 때는 분산분석이 불가능한가?
아니다 가능하다 그런데 이 경우 t검정과 동일하게 계산된다.
일원배치 분산분석의 기본 가정
1. 종속변수가 연속형 변수여야하며, 독립변수는 범주형 변수여야한다.
2. 정규성 가정을 만족해야한다.
3. 등분산성 가정을 만족해야한다.
4. 독립성 가정을 만족해야한다.
일원배치 분산분석의 연구문제 및 가설 예시
수면박탈이 불안 수준을 높이는지 검증하기 위해 3개의 집단을 무선독립 표집하여, 수면시간을 조작한 후
다음날 아침 불안을 측정했다(불안 수준은 높을수록 더 불안한 것).
- 집단 1 (8시간 수면) : 불안 수치 평균 = 4
- 집단 2 (6시간 수면) : 불안 수치 평균 = 6
- 집단 3 (4시간 수면) : 불안 수치 평균 = 9
가설
- 귀무가설(H0) : 세 집단의 불안 수치 평균은 차이가 없다.
- 대립가설(H1) : 적어도 한 집단의 불안 수치 평균은 다른 집단의 불안 수치 평균과 다르다.
여기서 주의해야할 점은 대립가설이 모든 집단이 차이가 있다는 것이 아니라
적어도 한 집단에서는 차이가 난다라는 부분이다.
일원배치 분산분석의 가설 검증 논리
무선 오차
- 관찰한 값들이 차이가 나는 이유 중 하나는 무선 오차(개인차, 측정오차 등) 때문이다.
- 따라서 동일한 집단 내에서도 무선 오차로 인한 점수차이가 존재한다.
- 무선 오차를 추정할 수 있는 방법은 표본 내의 변산성 즉 분산을 이용하는 것이다.
- 그런데 각 집단 내의 무선 오차가 동일하다고 가정하면(등분산 가정), 각 표본의 분산 평균을 이용하면 무선 오차를 더 안정적으로 추정할 수 있을 것이다.
- 만약 귀무가설(영가설)이 참이라면 관찰된 집단 간의 평균 차이는 무선 오차 때문으로 발생한 것이다.
- 따라서 무선 오차의 또 다른 추정치는 귀무가설이 참일 때 관찰된 집단 간 평균들의 차이이다.
실제 차이(처치 효과)
- 관찰한 값들이 서로 다른 또 하나의 이유는 실제로 차이가 있어서 일 수 있다.
- 만약에 실제로 차이가 존재한다면(귀무가설이 거짓이라면), 관찰된 집단 간의 평균 차이의 이유는 무선오차와 실제 차이(처치효과)로 설명할 수 있다.
실제로는 귀무가설이 참이라고 해도 1보다 꽤 크게 나타날 수도 있기에, 이를 확률로 계산하는 절차를 이용한다.
세 집단 이상의 평균 차이에 대한 통계검증을 위해 값의 차이 지표인 분산을 이용하며, 따라서 분산분석이라고 부른다.
검정통계량
위 가설 검증 논리에서 설명한대로 개별 값과 전체 평균과의 편차를
전체 평균에 대한 집단 평균의 편차와 집단 평균에 대한 개별 점수의 편차로 분할한다.
그리고 개별 값이 아닌 전체의 분산을 나타내기 위해서 편차의 제곱합을 계산한다.
따라서 전체의 편차 제곱합은 집단 간 편차 제곱합(SSTr)과 집단 내 편차 제곱함(SSE)으로 나타낸다
검정통계량으로 사용될 SSTr과 SSE가 모두 chi-squre분포를 따르기 때문에 그 비율은 F분포를 따른다.
그런데 분산의 제곱을 모두 더한 값은 표본 크기에 따라서 그 값이 달라지는 문제가 생기기 때문에
Mean square를 활용한다. F분포에서는 분모와 분자에 대해서 각각의 자유도로 나눈다.
이렇게 나온 MSTr / MSE, 즉 F값을 검정 통계량으로 사용한다.
사후검정(Post-Hoc Analysis)
분산분석의 가설은 집단 중 하나라도 평균 차이가 다른 집단과 있다는 것이라고 위에서 설명하였는데
그러면 어떤 집단끼리 차이가 나는지 알아보는 방법이 무엇일까
그것이 바로 사후검정이다.
사후검정에 관해 잘 설명된 블로그의 링크를 첨부한다.
https://m.blog.naver.com/statsol/221472155248
집단별로 표본의 수와 분산이 동일한 경우에는 Tukey를 일반적으로 많이 사용하며
표본의 수는 다르지만 분산의 동질성은 확보된 경우 Bonferroni나 Scheffe, Fisher's LSD를
많이 사용한다고 한다.
비모수 검정
Kruskal-Wallis 검정
집단의 분포가 정규성을 만족하지 않을 때 사용할 수 있는 비모수 검정 방법이다.
Welch-ANOVA
집단의 분포가 등분산성을 만족하지 않을 때 사용할 수 있는 비모수 검정 방법이다.
비모수 검정에 대한 사후검정의 경우 어떤 블로그에서는 SPSS가 지원하는 사후검정 방법을 사용했다고 기술되어 있고
또 다른 블로그는 사후검정 방법이 따로 존재하지 않기 때문에 Mann Witney U 검정을 각각의 집단에다
실시(Pairwise)한 뒤 비교 수에 따라서 수정된 유의 수준을 적용하는 Bonferroni Correction 방법(B.C Method)을 사용하라고 서술하고 있다.
SPSS에서 지원하는 기능이 후자의 B.C Method와 같은 것인지는 명확하지가 않다.
이 부분과 관련해서 통계 전공 튜터님께 문의해 본 결과,
이론적으로 사후검정 방법이 없을 이유는 없어 보이지만
비모수 검정 시 따로 사후검정이 같이 언급되는 사례를 본 기억이 없고 튜터님 본인이라면
Pairwise하게 Mann Witney U검정을 하는 B.C Method 방법을 사용할 것 같다 말씀하셨다.
비모수 검정을 잘 사용하지도 않는다고 한다.
일원배치 분산분석 코드 구현은 아래 링크에 정리해두었다.
https://jinhyunbae.tistory.com/134
References
- https://m.blog.naver.com/statsol/221472155248
- https://medistat.tistory.com/86
- https://medistat.tistory.com/78
- http://www.statedu.com/lecture/87159
- 충남대학교 심리학과 심리통계2 수업자료 참고
'데이터 분석 관련 공부' 카테고리의 다른 글
<통계학> 분산분석(ANOVA) - 3 (Two-way ANOVA) (2) 2024.01.26 <통계학> 분산분석(ANOVA) - 2 (One way ANOVA with Python) (1) 2024.01.25 <통계학> t검정(t-test) - 2 (with Python) (0) 2024.01.24 <통계학> t검정(t-test) - 1 (1) 2024.01.23 <통계학> 통계적 가설 검정 -2 (신뢰수준, 1종 오류, 2종 오류) (0) 2024.01.23