통계공부/Stata

[Stata] 분산분석(ANOVA) 관련 명령어(1): oneway

대학원생A씨 2020. 4. 11. 09:34
반응형

이번 포스팅에서는 분산분석(Analysis of Variance; ANOVA)과 관련한 stata 명령어를 다루고자 한다. 집단 간 비교분석을 할 때, 비교하고자 하는 집단이 두 개인 경우에는 t-test를 사용하며(☞ t-test 관련 stata 명령어 포스팅) 세 개 이상의 여러 집단 간의 비교를 위해서는 분산분석이 이용된다. 그렇다면 분산분석을 실행하기 위해 Stata에서 어떤 명령어들을 알아야 하는지 살펴보도록 하자. 참고로 이번 포스팅에서도 이해를 돕기 위해 Stata에 내장된 lifeexp 데이터를 이용하여 예제를 들고자 한다. lifeexp 데이터를 불러오기 위해서는 Stata Command 창에 sysuse lifeexp를 입력하면 된다.

 


 

1. oneway

oneway [차이를 보고자 하는 변수] [요인(factor)]: one-way ANOVA를 실행하는 명령어
oneway [차이를 보고자 하는 변수] [요인(factor)], tabulate: one-way ANOVA 분석과 함께 기초통계자료를 제시
oneway [차이를 보고자 하는 변수] [요인(factor)], scheffe[bonferroni]: scheffe/bonferroni 검증 결과도 제시

*밑줄친 부분은 해당 부분만 입력해도 그 단어 전체가 인식이 됨

 

분산분석에는 일원분산분석(one-way ANOVA) 외에도 이원분산분석(two-way ANOVA) 등이 있지만, 가장 많이 쓰이는 분석은 일원분산분석이다. 일원분산분석을 실행하는 직관적인 명령어가 바로 oneway로 해당 명령어를 입력하면 one-way ANOVA 분석결과를 제시해준다. oneway 바로 뒤에 오는 변수는 차이를 보고자 하는 변수, 즉 종속변수로 볼 수 있고 그 다음에 오는 변수가 요인(factor), 즉 독립변인에 해당한다. 그렇다면 예시를 살펴보도록 하자.

 

lifeexp 데이터를 살펴보면, 변수 region의 빈도분포표는 다음과 같다.

즉, region이라는 변수는 1(유럽&중앙아시아), 2(북아메리카), 3(남아메리카)로 구성되어 있다. 만약 연구자가 지역(region)에 따라 출생시 기대수명(life expectancy at birth; lexp라는 변수명으로 저장되어 있음)에 차이가 있는지 궁금하다면 one-way ANOVA 분석을 돌리면 된다.

 

oneway lexp region

 

위의 코드를 입력하면, 사진과 같은 결과를 얻을 수 있다. 결과 해석을 위해서는 빨간 네모 부분을 보면 되는데 F값이 1.90으로 유의확률이 .1572로 나와 영가설을 기각할 수 없다. 즉, 지역에 따라 기대수명에 차이가 있다고 볼 수 없다는 결론을 도출할 수 있다.

 

참고로 위에서 언급했듯이, oneway는 옵션이 꽤 있는데 이 중 유용하게 사용할 수 있는 tabulatescheffe를 살펴보도록 하자. 먼저 tabulate을 실행하면 요인별로 종속변수의 평균과 표준편차, 그리고 요인별 빈도분포가 제시된다.

아까 전 결과창과 달라진 부분은 빨간 네모 부분밖에 없으며, 빨간 네모 부분에 지역별 기대수명의 평균, 표준편차와 빈도(frequency)가 제시되었음을 알 수 있다.

 

그 다음으로 scheffe 검증 결과도 볼 수 있는데, 위의 예제에서 집단별로 기대수명에 유의한 차이가 있지 않다는 결론이 도출되었기 때문에 사실상 scheffe 검증을 하는 것이 무의미하다. 하지만 해당 포스팅에서는 stata 명령어에 대한 이해를 돕는 것이 목적이기 때문에, scheffe 검증까지 해보았다.

위에서와 마찬가지로, 빨간 네모 부분만 추가된 부분이다. Scheffe 검증 결과를 보면 두 줄로 숫자가 나오는 것을 확인할 수 있는데, 윗줄이 두 집단 간 기대수명의 차잇값이며 아랫줄이 유의확률을 의미한다. 즉, (북아메리카의 기대수명) - (유럽&중앙아시아의 기대수명) = -1.8539이며, 이는 통계적으로 유의한 차이를 의미하지 못한다(p=.435). 나머지 3칸도 이와 같은 방식으로 해석을 해주면 된다. Scheffe 검증말고 bonferroni 검증도 가능하니 옵션을 활용하여 원하는 분석을 진행하면 될 것이다.

 


그렇다면 일원분산분석(onw-way ANOVA) 외에 이원분산분석(two-way ANOVA) 혹은 삼원분산분석(three-way ANOVA), 그리고 반복측정 분산분석(repeated-measures ANOVA)을 하고 싶은 경우에는 어떤 명령어를 사용해야 하는가? 이는 해당 포스팅의 분량이 길어져, 다음 포스팅에서 살펴보도록 할 것이다.

반응형