사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS 자격증 준비
[SAS BA 자격증 준비] 7. 모델 진단 2017.11.07
김서연 785 1
http://www.mysas.co.kr/SAS_tiptech/c_base.asp?b_no=7515&gotopage=1&con=subject&keyword=&cmd=content&bd_no=42&gubun=

안녕하세요! :)


오늘은 지난주에 배운 방식으로 선택된 모델이 정말 적합한 모델인지 진단하는 방법에 대하여 알아보겠습니다.

 

 

 

 

 

 

모델 진단

모델을 진단하는 방법으로, 회귀분석에 대한 진단 방식에 대하여 알아보겠습니다

 

어느 모델을 가장 좋은 모델이라고 정하였다면, 해당 데이터에 이 모델이 정말 잘 맞는지, 통계적인 수치가 아닌 실제로 알아보기 위하여 사용하는 방법은 산점도에 그려보는 것입니다산점도에 데이터를 표현해봄으로써 통계적으로 얻은 수치들과 식들이 정말 적합하게 표현해주고 있는지 확인할 필요가 있습니다.


 

해당 그림은 회귀선을 얻은 후, 4가지 그룹에 대한 산점도와 해당 회귀선을 각각 그린 것입니다. 각 그룹에 대한 회귀 직선과 R-Square값 모두 동일합니다. 이 때, Group=4의 경우 한 눈에 좋은 회귀 직선을 얻지 못한 것을 알 수 있습니다. Group=2는 일차식이 아닌 곡선으로 표현을 해주는 것이 더 적합할 것이며, Group=3은 이상치가 존재하기 때문에 해당 회귀직선이 완벽하다 말할 수 없습니다. 이와 같이 산점도에서 데이터에 이상치가 존재하는지 확인해주는 작업 역시 중요합니다. 마지막으로, Group=1이 가장 잘 표현해주고 있다는 결론을 얻을 수 있습니다.

 

뿐만 아니라, Residual value, 잔차를 확인하는 방법도 있습니다. 잔차는 실제 y값과 저희가 회귀식을 통하여 예측한 y값의 차이를 의미합니다. 이 때, 이러한 잔차는 꼭 0을 만족할 수는 없지만, 최대한 잔차들간의 패턴이 없는 모델이 적합한 모델이라 결론지을 수 있습니다.


 

해당 그림을 보면, 왼쪽 위의 잔차plot의 경우 잔차들이 각각 랜덤으로 분포되어 있음을 알 수 있습니다. , 왼쪽 회귀선의 경우 적합한 모델이라는 의미입니다. 반대로, 오른쪽 위의 잔차 plot은 잔차들간의 곡선형 패턴이 보여집니다. 이는 해당 회귀선이 데이터를 설명해주고 있지 않다는 의미입니다. 왼쪽 아래의 잔차그래프는 한군데에 잔차들이 몰려있습니다. 이는 회귀분석의 기본 가정인 등분산성을 위배하고 있다는 의미입니다. 마지막으로, 오른쪽 아래의 그래프와 같이 잔차가 순환하는 모양을 보여준다면, 이는 시간에 따른 흐름을 보여주는 데이터일 확률이 높습니다. 즉, 각 데이터가 독립적이지 못하다는 것을 의미합니다.

 


 

위의 SAS코드를 돌리면 얻을 수 있는 결과물의 일부입니다. 이 때, 5.8번은 적합도를 알아보기 위한 그래프로 최대한 y=x 직선과 유사해야 하며, 2.3.6번 그래프는 이상치의 존재 여부를 알아보기 위한 그래프입니다. 나머지는 회귀분석의 가정을 따르는지 확인하는 그래프들로, 4.7번은 정규성, 1번은 독립성을 확인하는 그래프입니다.

회귀분석에 대하여 알아볼 때 배웠던 프로시져인 PROC REG를 더욱 발전시켜 해당 프로시져를 바탕으로 plot을 그리는 코드를 알아보겠습니다.


 

  • ​PLOTS(ONLY)= : 이후에 나올 Plot들만 그리게 됩니다.
  • QQ : 잔차 에러의 정규성을 확인하는 Quantile-Quantile Plot을 그리게 합니다.
  • RESIDUALBYPREDICTED : 예측값에 대한 잔차 그래프를 그립니다.
  • RESIDUALS : 예측 변수의 값들에 대한 잔차 그래프를 그립니다.

 

                                                                                                                      

 

 

 

 

 

영향력 관측치

영향력이 있는 관측치들을 알아보기 위한 여러 통계량 값들이 있습니다.

 

  1. ​Studentized residuals, 표준화잔차 : 각 잔차를 표준오차로 나눠주면 됩니다. 해당 SR(Studentized Residuals)의 절댓값이 2또는 3초과일 경우 해당 데이터는 이상치로 판단할 수 있습니다.
  2. RSTUDENT residuals : 이상치를 제거하기 전과 이상치 제거 후의 예측값의 차이에 해당합니다.
  3. Cook’s D : I번째 관측치를 빼기 전과 후의 모수의 변화량에 해당합니다. 이는 4/n보다 클 경우 이상치로 판단할 수 있습니다.
  4. DFFITS : I번째 관측치를 넣었을 때와 뺏을 때의 예측값의 변화량에 해당합니다. I번째 예측값과, 이를 뺏을 때의 i번째 예측값의 차이를 i번째 예측값의 표준오차로 나누어주면 구할 수 있습니다. 이는 다음과 같을 때 이상치로 판단합니다. 
  5. DFBETAS : DFBETASDFFITS에서 조금 발전한 형태입니다. 이번에는 i번째 관측치를 넣었을 때와 뺏을 때의 j번째 예측치의 변화량을 계산합니다. 계산 방식은 DFFITS와 동일하게 j번째 예측치의 값과, i번째 예측치 제거 후의 j번째 예측치의 값의 차이를 j번째 예측치의 표준오차로 나누어주는 것입니다. 이는 다음과 같을 때 이상치로 판단합니다. 

SAS 코드에서 영향력 관측치, 즉 이상치를 찾기 위한 옵션은 r influence입니다.

 

 

 

 

 

 

 

Collinearity

Collinearity, 다중공선성x변수들간의 연관성이 존재할 경우 나타나는 문제입니다. 이는 매우 부적합한 회귀 모형이 되기 때문에, 충분히 잘못된 예측을 할 수 있습니다. 이를 확인하기 위하여 VIF(Variance Inflation Factor)를 사용합니다.

 

VIF 10보다 클 경우 다중공선성에 문제가 있다고 판단하기 때문에, 해당 변수를 제거한 후 회귀분석을 진행하는 것이 좋습니다.

 

 

PROC REGMODEL문장에서 해당 옵션들을 추가하여 다중공선성을 확인할 수 있습니다.

 

  • ​VIF : 위에서 설명한 바와 같이 다중공선성의 정도를 통계량값으로 얻을 수 있습니다.
  • COLLIN : 다중공선성을 계산할 때, 서로 다른 변수들간의 교차 벡터를 포함시킵니다.
  • COLLINOINT : 다중공선성을 계산할 때, 서로 다른 변수들간의 교차 벡터를 제외시킵니다.

 

 

 

 

 

 

이것으로 통계적으로 얻은 모델을 진단하는 방법에 대한 설명을 마무리하겠습니다. 

 

감사합니다!

 

 

 
 
 
휴대폰 번호
휴대폰 인증번호
 
 [SAS BA 자격증 준비] 8. 예측 모델링
 [SAS BA 자격증 준비] 6. 모델 선택