AI/Regression_Classification

Linear Regression 기본 가정 네가지 :: 선형성, 다중공선성, 등분산성, 정규성

슈퍼짱짱 2024. 9. 2. 17:28
반응형

선형 회귀분석 기본 가정 네가지

선형성, 다중공선성, 등분산성, 정규성

 

 

Linea Regression은 모수를 추정하는 방식이다. 

즉, X(독립변수)로 Y(종속변수)를 예측하는 다음과 같은 식을 만드는데 

 

$$y=w_0+w_1x_1+w_2x_2+...+w_nx_n$$

 

$w$ 를 모수라 하며, 이 모수를 추정하여 $x$로 $y$를 예측한다.

 

이때 추정한 모수들이 신뢰성이 있으려면 네 가지 가정을 만족해야 한다.

 

네 가지 가정에 대해 

1. 가정의 의미

2. 가정을 만족해야 하는 이유

3. 가정을 확인하는 방법

4. 만족하지 못할 시 해결방법

에 대해 알아보겠다.

 


 

1. 선형성

 

선형 회귀분석은 이름에서도 알 수 있듯이 x와 y의 선형식을 구해서 x로 y를 예측하는 모델이기때문에 당연히 x와 y의 관계가 선형이어야 한다는 가정이다.

 

이 선형성을 확인하는 방법은 x와 y의 산점도(Scatter Plot)을 그려보거나, 상관계수(Correlation)를 계산해보면 된다.

x값이 커질 때 y값도 일관되게 커지거나 작아진다면 두 변수는 선형 관계가 있는 것이고, 그렇지 않다면 선형성이 없는 것이다.

 

만약, 선형성을 만족하지 않는 경우에는 로그, 제곱 등을 취해서 선형성을 만족하도록 변수를 변환하거나

혹은 해당 변수를 사용하지 않는다.

 

단, 데이터에 이상치가 포함되어 있다면 그 때문에 선형성을 만족하지 않을 수도 있으므로 미리 확인이 필요하다.

또한 변수 변환을 해도 선형성을 만족하는 변수가 하나도 없다면 비모수 기법을 사용하는 것으로 분석 알고리즘을 재선정하는 것도 방법이다.

 


 

2. 다중공선성

 

이번에는 x와 y의 관계가 아니라 x들끼리의 관계를 확인한다.

다중공선성은 x 변수가 한 개가 아니라 여러 개 일 때 x 변수들 간에는 상관성이 없어야 한다는 가정이다.

 

그 이유를 이해하려면 먼저 회귀 계수의 의미를 해석할 줄 알아야 하는데,

다음과 같은 식이 추정되었을 때

$$y=w_0+w_1x_1+w_2x_2+...+w_nx_n$$

x가 1 단위만큼 증가하면 y는 w만큼 증가한다고 해석한다.

(만약 w가 음수라면 x가 증가 시 y는 감소한다고 해석할 수 있다.)

 

회귀계수 해석 예시

 

 

그래서 다중공선성이 없어야 하는 이유는

1. 회귀 계수의 해석이 달라진다.

 

예를 들어 다음과 같은 식에서 

$$y=4+3x_1+3x_2-2x_3+0.03x_4$$

$x_3$과 $x_4$에 강한 선형관계가 있다고 했을 때

 

$x_3$이 1만큼 변하면 $y$는 -2만큼 변한다고 해석해야 하는데

$x_3$이 변하면 $x_3$과 강한 선형관계가 있는 $x_4$도 값이 변해버리기 때문에 $y$가 정확히 -2만큼만 변하는게 아닌게 되어버린다.

 

따라서 다중공선성 존재 시 모델의 해석이 달라진다는 문제가 있다.

 

2. 계수들을 추정하는 과정에서 상관성이 높은 변수들 중 하나는 계수 값이 0에 가까운 값이 나오거나, Biz. 적으로는 y값과 음의 상관성이 있어야하는데 계수는 양수가 나올 수 있다.

 

예로 위 식에서 $x_3$과 $x_4$에 강한 선형관계가 있다고 했을 때

두 변수 모두 $y$값에 강한 영향을 주는 변수라 할지라도 $x_4$의 계수는 0에 가까운 값이 나올 수 있다.

 

또한 실제로는 $y$의 값이 증가 할 때 $x_4$값은 감소하는 음의 관계인데, $x_3$의 영향으로 양수인 회귀계수가 추정될 수 있다.

이는 실제 비즈니스를 반영하지 못하는 문제가 발생하게 된다.

 

따라서 x 변수들끼리는 선형관계가 없어야 한다.

 

 

다중공선성을 확인하는 방법은 위에 선형성을 확인하는 방법과 거의 동일하다.

x들끼리 산점도를 그려보거나 Correlation 값을 확인한다.

 

혹은 VIF(분산팽창지수)값을 확인해 볼 수 있는데, 보통 이 값이 10을 넘어가면 다중공선성이 있다고 판단한다.

단, 이 기준은 때에 따라 달라질 수 있으므로 값만 보지말고 그래프와 비즈니스적 해석이 꼭 동반되어야 한다.

 

VIF(Variance Inflaction Factor)

 

$$VIF=\frac{1}{1-R_i^2}$$

$R_i^2$는 $i$번째 변수를 나머지 변수 모두 사용하여 linear regression 했을 때 결정계수이다.

 

즉, $R^2$값이 1에 가까우면 나머지 변수들로 $i$번째 변수를 잘 예측한다는 뜻이고, 이는 $i$번째 변수가 나머지 변수들과 상관관계가 높다는 뜻이다.

 

따라서 VIF 값이 높다는 것은 해당 변수가 다른 변수들과 다중공선성이 높다는 의미이다.

 

 

다중공선성이 존재할 땐 상관성이 높은 변수들 중에서는 하나만 골라 사용하던가

혹은 상관성이 높은 변수들을 묶어 하나의 변수를 만들어 사용할 수 있다.

 


 

3. 등분산성

등분산성과 마지막으로 정규성에 대한 가정은 모두 오차(잔차)에 대한 가정으로, 잔차에는 어떠한 특징이나 패턴이 없어야 한다는 가정이다.

이 가정들이 필요한 이유는 잔차에 어떠한 패턴이 있다는 건 어떤 상황에서는 모델의 예측력이 좋은데, 또 어떠한 상황에서는 예측력이 떨어진다는 뜻이기 때문이다.

 

예를 들어, 아빠 키로 아들 키를 예측하는 문제에서 아빠 키가 작을 때는 아들 키를 잘 예측하는데 아빠 키가 클 때는 아들 키에 대한 예측 정확도가 떨어진다는 뜻이다.

 

 

등분산성은 모든 관측값에 대해 잔차의 분산이 일정해야한다는 가정으로, 독립변수의 값이 변해도 오차의 크기는 일정해야 한다는 뜻이다.

이를 확인하는 방법은 예측값과 잔차에 대한 산점도를 그려보는 것이다.

 

 

등분산성 확인 예시

 

 

 

위 그래프에서 가장 왼쪽처럼 어떠한 패턴도 없다면 등분산성을 만족하는 것이다.

외에 나머지 세 개 처럼 어떤 특징이 있다면 이분산성이라 표현하며, 등분산성을 만족하지 못하는 것이다.

 

두 번째 이미지처럼 예측값이 커질 때 잔차가 커진다거나 혹은 잔차가 작아지면 y값에 log를 취해서 해결한다. ($y$->$log(y)$)

세 번째 이미지의 경우는 현재 모델에 사용된 변수들로는 y값을 완벽히 설명할 수 없다는 뜻으로, 새로운 변수를 추가해 주어야 한다.

마지막으로 네 번째 이미지의 경우는 비선형성 변수가 필요하다는 의미로, x 변수에 제곱, 세제곱 등을 취해 다항식을 추가한다.

 


 

4. 정규성

 

마지막으로 정규성은 위 등분산성 가정과 마찬가지로 잔차에 대한 가정이며, 잔차의 분포가 정규분포를 따라야 한다는 가정이다.

 

정규성을 확인하는 가장 대표적인 방법은 Q-Q Plot(Quantile-Quantile Plot)을 그려보는 것이다.

 

 

정규성을 따른다면 모든 데이터 포인트가 45도 선 근처에 위치한다.

 

혹은 Shapiro-Wilk Test 같은 통계적인 기법으로 확인 할 수 있다.

귀무가설(H0)은 잔차는 정규분포를 따른다 이며

대립가설(H1)은 잔차는 정규분포를 따르지 않는다 이다.

 

만약 잔차가 정규성을 따르지 않는다면 로그, 제곱, 제곱근 등을 취하여 변수를 변환하여 다시 모델링하던가

비모수 기법을 사용한다.

 


 

모수 기법들은 이렇게 만족해야하는 가정이 많음에도 비모수 기법에 비해 모델 해석이 용이하다는 장점이 있다.

 

 

반응형