통계공부/Stata

[Stata] 회귀분석 관련 명령어(2): predict, rvfplot, estat, kdensity, swilk

대학원생A씨 2020. 10. 2. 10:00
반응형

 

오랫만의 stata 포스팅이다. 이번 포스팅에서는 저번 stata 포스팅과 마찬가지로 회귀분석 관련 명령어를 살펴보고자 한다. 앞선 포스팅에서는 reg, hireg를 설명해두었으니 이에 대한 내용은 아래 링크를 참고하길 바란다.

2020/04/22 - [통계 공부/Stata] - [Stata] 회귀분석 관련 명령어(1): reg, hireg

 

[Stata] 회귀분석 관련 명령어(1): reg, hireg

이번 포스팅에서는 회귀분석과 관련한 명령어를 알아보고자 한다. 회귀분석과 관련하여 소개할 명령어는 단순히 회귀분석을 돌리는 명령어뿐만 아니라 회귀분석의 기본 가정과 관련한 명령어�

graduationplease.tistory.com


이번 포스팅에서는 직접적으로 회귀분석을 돌리는 명령어가 아닌 회귀분석의 가정 검증과 관련한 명령어를 다루고자 한다. 이를 위해 회귀분석의 가정에 대해 살펴볼 필요가 있다. 회귀분석에 대한 가정은 여러 가지가 있는데, 이 중에서도 중요한 것이 잔차에 대한 가정으로 이의 내용은 다음과 같다(홍두승, 설동훈, 2012).

 

① 잔차의 기댓값은 0이다.

② 등분산성(homoscedasticity)를 가정한다

③ 잔차항 간에는 자기상관(autocorrelation)이 없다.

④ 잔차항은 독립변수와 선형독립(linearly independent)이다.

⑤ 잔차의 항은 정규분포한다.


회귀분석 가정 검증과 관련한 Stata 명령어들을 알아보기 위해, Stata에서 기본적으로 제공하고 있는 'auto' 데이터를 예시로 설명해보자. 자동차의 가격(price)을 종속변수로, 마일리지(mpg)와 차의 유형(foreign)을 독립변수로 회귀분석을 먼저 돌린다.

 

reg price mpg i.foreign

회귀분석결과는 위의 사진과 같다.

연구자가 돌린 회귀분석에서 잔차의 가정이 충족하는지 살펴보기 위해서는 먼저 프로그램으로 하여금 잔차를 구해달라고 명령을 해야 한다. 이 때, 쓸 수 있는 명령어가 predict이다.

 

1. predict

predict: y의 추정치, 잔차 등을 추정해주는 명령어
predict yhat: y 즉, 종속변수의 추정값을 구해주는 명령어
predict ehat, resid: 회귀분석에서의 잔차를 구해주는 명령어

먼저, 회귀분석의 가정 중 등분산성(homoscedasticity) 가정이 충족하는지 살펴보기 위한 검정은 다음과 같다.

 reg price mpg i.foreign
 predict yhat
 rvfplot, yline(0)
 estat imtest
 estat hettest

 

 

의 명령어를 입력하면 어떠한 분석결과가 나오지는 않고 변수에 yhat이라는 새로운 변수가 추가되어 있는 것을 확인할 수 있으며, yhat에 대한 설명이 'fitted values'라고 label에 적혀있는 것을 확인할 수 있다.

의 명령어를 입력했을 경우에도 분석결과가 나타나지는 않고, 번과 번의 명령어를 입력했을 때 stata 화면창에 분석결과가 나오는 것을 볼 수 있다. 분석결과는 아래 그림과 같다.

 

이 때, 연구자는 의 결과보다는 번의 결과에 주의를 기울여야 한다. 회귀분석 가정 중 등분산성 가정에 대한 통계적 검증으로는 Browne-Forsythe와 Breusch-Pagan/Cook-Weisberg 검사가 있는데, stata에서는 후자를 사용하고 있다. 그림을 보다 자세히 살펴보면, 귀무가설이 등분산성이 충족된다는 내용이기 때문에 p-value가 .05를 초과하면 귀무가설을 기각할 수 없어 등분산성 가정이 충족된다고 본다.

 

 

다음으로는 잔차의 정규성을 확인해보도록 하자. 앞선 분석에서와 마찬가지로 회귀분석을 먼저 돌린 뒤, 잔차를 계산해달라는 명령어 predict을 입력해주어야 한다.

 reg price mpg i.foreign
 predict ehat, resid
 kdensity ehat, normal
 swilk ehat

 

잔차의 등분산성을 검증하는 과정에서와 마찬가지로 번 분석을 돌려도, 위의 사진과 같이 어떠한 결과가 나타나지는 않는다. 하지만 variables 목록에 ehat이라는 변수가 추가되었음을 확인할 수 있고, ehat이라는 변수 label을 살펴보면 residuals(잔차)라고 변수에 대한 설명을 적어둔 것을 볼 수 있다.

번 명령어를 입력하면 아래와 같은 그래프가 뜬다. 파란색 선이 빨간색 선과 최대한 근접하게 나와야 정규분포를 따른다는 가정을 만족한다는 것인데, 아래 그림을 보면 알 수 있겠지만 결과가 매우 좋지 않다. 즉, 정규분포 가정을 따르지 않을 가능성이 높다. 하지만 그래프로는 정확한 가정 충족 여부를 판단할 수 없으므로, 마지막 번 명령어를 입력한다.

번 명령어를 입력하면 잔차의 정규분포 가정에 사용되는 Shapiro-Wilk W 검증 결과가 나온다. 이 때, p-value 값이 .05보다 커야 정규분포를 따른다는 해석이 가능하기에 앞선 그래프에서의 추론과 마찬가지로 잔차의 정규성 검증은 실패하였다.

반응형