통계공부/Stata

[Stata] t-test 관련 명령어: robvar, ttest

대학원생A씨 2020. 4. 8. 09:35
728x90
반응형

이번 포스팅에서는 t-test를 진행할 수 있는 stata 명령어에 대해 알아보고자 한다. 오늘은 이론적인 배경 없이 바로 명령어 설명에 들어갈 것인데, 꼭 짚고 넘어갈 내용이 있다. 바로 t-test를 할 때는 등분산성 가정이 성립되는지 혹은 위배되는지 확인하고 넘어가야 한다는 것이다. 이를 까먹는 경우가 많은데, stata에서 t-test를 실시할 때 등분산성이 성립하는 경우와 성립하지 않는 경우에 따라 명령어가 달라지기 때문에 반드시 등분산성 가정이 성립하는지 확인하고 t-test로 넘어가야 한다. 제목에서 알 수 있듯이 오늘 소개할 명령어는 robvar와 ttest로 전자가 등분산성 가정이 성립하는지 확인할 수 있는 명령어이며, 후자가 t-test를 실행하는 명령어이다. 그렇다면 바로 t-test 관련 명령어에 대해 알아보도록 하자.

 


이번 포스팅에서도 stata에 기본적으로 내장되어 있는 lifeexp 데이터셋을 이용해보도록 하자.

 

sysuse lifeexp

 

t-test는 두 집단 간의 평균 비교를 위해 사용되는 분석방법인데, 아쉽게도 lifeexp에서 사용할 region이라는 변수의 응답 범주는 3가지이다. 귀찮지만 코딩을 해서 2가지로 합쳐 두 집단 간 비교를 진행할 것이다. 기존 데이터셋에서 region의 응답범주로는 Eur & C. Asia (1) / N. A. (2) / S. A. (3) 이렇게 3가지가 있는데 N. A.와 S. A.를 합쳐 region2라는 새로운 변수에 저장할 것이다. 이를 위해 recode라는 명령어를 사용하자.

 

recode region (1=1) (2=2) (3=2), gen(region2)

 

☞ recode 명령어 설명 참고:

2020/03/29 - [통계 분석/Stata] - [Stata] 기본 명령어(7): replace, recode

 

위의 명령어를 실행하면 region2라는 변수가 variables에 추가되었음을 확인할 수 있다.

맨 아래 region2라는 변수가 만들어졌다.

이제 region2에 두 집단이 저장되어 있으니, 두 집단 간에 popgrowth 평균에 차이가 있는지 확인해보도록 하자. 

 

① 두 집단 간의 등분산성 확인

robvar popgrowth, by (region2) : region2로 분류된 두 모집단의 popgrowth 분산이 동일한지 확인하는 명령어

위의 명령어를 실행하면 사진과 같은 결과를 얻을 수 있는데, 빨간 네모로 표시된 부분을 해석하면 된다. 빨간 네모 안의 결과를 보면, 유의수준 .05에서 영가설을 기각할 수 없으므로 등분산성 가정이 성립한다고 보고 t-test를 진행하면 된다.

 

② t-test 실행

ttest popgrowth, by (region2) : region2로 분류된 두 모집단의 popgrowth 평균에 차이가 있는지 확인하는 명령어

위의 명령어를 실행하면 사진과 같은 결과를 얻을 수 있다. 결과해석은 마찬가지로 빨간 네모로 표시된 부분을 읽으면 된다. 구체적으로, 유의수준 .05에서 영가설(두 모집단 간에 popgrowth 평균에 차이가 없다)을 기각할 수 있으므로, 두 집단간 popgrowth에는 차이가 있다고 볼 수 있다. 위에 표를 보면 두 집단 간 popgrowth 평균이 나와있는데, 집단1은 평균값이 .525인 반면 집단2는 평균값이 1.791667임을 확인할 수 있다. 그리고 아래 diff 부분을 보면 95%신뢰구간이 -1.625901부터 -.9074326으로 신뢰구간이 0을 포함하지 않았기 때문에, 두 집단간 popgrowth 평균 차이가 있음을 다시 한 번 확인할 수 있다. t값은 -7.0399로 나와있으며, 자유도는 66이다.

 


이번 포스팅에서는 t-test와 관련한 명령어를 알아보았다. 이를 정리하면 다음과 같다.

 

robvar 변수명, by (집단을 구분하는 변수명) : 두 집단간 등분산성 확인
ttest 변수명, by (집단을 구분하는 변수명) : 두 집단간 t-test 실행(등분산성 성립하는 경우)
ttest 변수명, by (집단을 구분하는 변수명) unequal
                                                      : 두 집단간 t-test 실행(등분산성 성립하지 않는 경우)
ttest 변수1 = 변수2 : paired t-test 실행 명령어

 

아래 두 가지는 포스팅에 기술하지 않았는데, unequal은 등분산성 가정이 성립하지 않았을 때 붙이면 되는 옵션이고 대응표본 t검정을 위해서는 맨 아래 형식으로 syntax를 입력하면 된다. 딱히 설명하지 않아도 쉽게 할 수 있을 것이라 생각되어 독립표본 t검정만 자세히 설명하였다.

728x90
반응형