본문 바로가기

R-PAGO 노트

이상값 진단(Diagnostics)

1. 이상값(Outlier) 진단 용어


이상값:

주어진 설명변수의 값 xi에 상응하는 outcome(반응변수) 값 yi가 특이한 관측치를 말한다. 만약 xi가 보통 수준보다 클 경우엔 이상값이라기 보다 레버리지(Leverage)가 높은 관측치라 한다. 


Influence: 

특정 값 포함이 회귀 곡선에 영향을 크게 줄 때 Influential라고 한다. 반대는 Lack Influential임

단순히 yi가 높은 이상값이 아니라 레버리지가 높은 관측치가 포함될때 Influence가 커진다. 


rstandard(내면 스튜던트 잔차)

잔차를 표준오차로 나눈 값. rstudent(외면스튜던트잔차)와 달리 i번째 값을 포함함



rstudent(외면 스튜던트 잔차)

i번째 값 제거 한 rstandard 값


     

※ 상기 식의 deviance는 residual sum of squares(RSS)


hat value

  

0~1 사이 값을 가지며 특정 값이 Influence인지 아닌지 확인시 사용 (0: Influence 없음, 1: Influence 큼)

    

 


이상값의 경우, 1번 잔차값이 2번 잔차대비 커지게 되므로 기울기의 hat value는 1에 가까워 지게 됨   

절편(Intercept)의 hat value는 이상값을 제거해도 별차이가 없을 수 있음. 즉, 설명변수의 계수 값만 의미 있음



dfbetas

각각의 Data를 제거시 포함시의 회귀 계수의 차이 

각 데이터(행별)로 표시됨

이상값 기준: 다른 행의 dfbeta 대비 얼마나 커야하는가?


dffits

i번째 값 포함 미포함에 따른 fitted value값의 변화량


Cook's Distance

각각의 값이 얼마나 많이 회귀 모델을 변화시키는지 확인하는 것.     

   

   

dy: 각 데이터의 포함/미포함시 각각의 회귀식 값 차이 합의 제곱

즉, Cook Distance는 dy를 잔차의 표본분산에 설명계수(절편포함)로 나눈 것으로 표준화(Nomalized) 한 것



2. 이상값 진단 위한 4대 가정


회귀 공식은 잔차(e = 데이터 값 - 예측값(Fitted Value))가 평균이 0, 동일 분산(상수)을 가진 정규 분포라 가정함. 상기 정의에 따라 이상값 판별은 아래 4가지를 확인하여 구별할 수 있음. 4가지 가정에 위배될 경우 회귀 계수는 과적합 또는 축소적합되어 확대 및 축소 해석할 경우가 발생함.


1) 잔차가 평균 0에 가까운 선형성인가?

2) 잔차가 정규분포를 따르는가?

3) 잔차가 동일 분산을 가지는가? (상수인가?)

4) 잔차는 서로 독립되어 있는가? (상관성 없는가?)

위의 4개 가정은 아래 Plot을 통해 확인할 수 있다.  



3. 이상값 구별 위한 4개 Plot


1) Residuals vs Fitted Value


첫째, Residuals이 Fitted Value와 "상관 관계가 없는지(독립성, Uncorrelated or Independent) 확인 필요. 이상값이 있을 경우 이로 인해 Zoom Out되면서 이상값 외 값들이 관련성이 있어 보일 수 있음

(예: y=ax+b의 일차식으로 보임)


둘째, Residuals의 평균이 0에 가까운지 확인 필요. 이상값 제거 후 나머지 값들 역시 평균이 0에 가까운지 확인이 필요하다.


1)번 plot은 설명변수와 반응변수사이에 직선 상관관계(잔차가 평균 0을 기준으로 무작위 산발)가 있다는 가정을 확인하는데 쓰이며 이상값 제거를 통해 해결한다. 그러나 plot 모양에 따라 이상값을 제거하지 않고 아래와 같이 다른 해결법을 적용해야 한다. 


  • 만약 U와 같은 비선형성을 보인다면 선형 모델은 쓸 수 없다. 이 경우 설명변수는 log(X), sqrt(X), X2와 같은 변수를 추가해 비선형 모델을 만들어야 한다. 
  • 잔차간에 상관성이 있다면 이는 추정된 표준오차가 실제 표준오차를 과소 추정한다는 의미이다. 예를 들어 10개의 데이터와 2배인 또다른 10개 데이터를 가지고 회귀분석 하면 실제 10개인 데이터에 해당하는 오차가 나와야 하지만 20개의 오차로 계산이 되어 p값도 낮게 나오고 신뢰구간도 sqrt(2)배 만큼 좁게 나와 잘못된 확신 결론을 내리게 된다. (예: 키와 몸무게는 상관관계가 적으나 같은 가족을 통해 데이터를 수집할 경우 관계가 나오게 된다.)
  • fitted value가 커질수록 잔차가 퍼지는 깔떼기 모양이라면 분산이 상수가 아닌 이분산성(heteroscedasticity)이라는 뜻이다. 이 경우에는 y값을 logY나 sqrt(Y)로 변환하는 것도 해결책이다. 이 분산성은 아래의 3번째 그래프로도 확인이 가능하다.


2) QQ Plot(Standardized Residuals vs Theoretical Quantities)


잔차가 동일 분산을 가진 정규성(Normal)을 가지는지 확인한다. 선형 곡선에서 멀리 떨어져 있다면 정규성에서 벗어난 값이다. y축은 rstandard이다.


3) Sqrt(Standardized Residuals) vs Fitted Values
y축의 표준 잔차는 rstandard(스튜던트화 잔차)의 제곱근이다. 
스튜던트화 잔차의 절대값이 3보다 클경우 이상값으로 한다.[각주:1] 따라서 Sqrt(Standardized Residuals)이 1.73이상이면 이상값이다. (ISLR 참조)

  • 분산이 일정하다면 이 그래프는 수평선 주위로 random하게 나타나야 한다. 


4) Cook'S Distance 

x축 Leverage는 설명변수가 얼마나 극단에 치우쳐 있는지를 의미한다. '단순선형회귀'의 경우 다음과 같다.

Leverage는 항상 1/n과 1사이의 값이고 평균 값은 항상 (p+1)/n이다.


y축 표준화 잔차는 어떤 점이 이상값인지 알려줌(절대값 3 이상이면 이상값)

따라서, Cook’s distance는 Leverage와 Residual에 비례하므로 두 값이 큰 우상단과 우하단에 큰 값이 위치하게 됨.

아래 그래프의 경우 1번은 이상값으로 제거가 필요하나 50번의 경우 스튜던트 잔차가 이상치일지라도 레버리지가 낮아 제거는 불필요 할 수 있다. 


이상 값은 y값과 관련이 있지 설명변수인 x값이 특이한 것은 보통 최소제곱적합에 거의 영향을 미치지 못한다.(hatvalue는 클 수 있지만) 그러나 Residuals Sum of Error(RSE)의 경우 이상치 포함 혹은 제외에 따라 값 차이가 커지는데 p 값은 RSE를 통해 구하게 되므로 이상값 포함시 p값 및 신뢰구간에 영향을 주게 된다. 


상기 선형회귀의 주요 4가지 가정이 위배될 경우 p값과 예측하는 계수는 과소 또는 과대 추정할 수 있기 때문에 반드시 본 가정을 지키고 그에 따른 해결책을 적용해야한다. 상기 예에서는 이상값 제거를 통한 해결 위주로 이야기 했으나 실제 이상값 제거외에 적용할 수 있는 해결책은 다음과 같다.

  • 변수의 변환 (비선형항, 로그)

  • 변수의 추가 또는 제거 (상호 보완 항 등)

  • 다른 회귀 방법 사용 (스플라인)


[출처] R- 단순회귀분석|작성자 RDA

4. 관련 외부 자료


1) 이상값 진단 블로그 예:  http://starmethod.tistory.com/95

2) 선형회귀, 분산 분석 블로그: http://blog.naver.com/jyc8618/220501895661


  1. ISLR 108p [본문으로]