본문 바로가기

AI/Statistics

[통계] 다중선형회귀(Multiple Linear Regression)

다중선형회귀 

하나의 변수와 둘 또는 그 이상의 변수간의 관계를 분석하는 방법

 

 

1. 다중선형회귀모형

종속변수 Y와 p개의 독립변수 \( X_1, X_2, ..., X_p \)에 대한 n개의 관측개체들로 이루어져 있음.

Y와 p개의 X들 사이의 관계는 다음과 같은 선형모형으로 정식화된다.

$$ Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_pX_p + \varepsilon $$

  • \( \beta_0, \beta_1, ..., \beta_p \)는 회귀계수 - 상수
  • \(  \varepsilon \)은 확률변동 혹은 오차

다중회귀분석에서 사용되는 데이터에 대한 표기

위의 표에 따라 각 관측개체들은 다음과 같이 다시 쓰여진다.

$$ y_i = \beta_0 + \beta_1x_{i1} + ... + \beta_px_{ip} + \varepsilon_i, i = 1, 2, ..., n $$

 

 

2. 모수 추정

단순회귀모형의 경우와 마찬가지로 RMSE를 최소화하는 최소제곱법이 사용된다. 

이때 평균-제곱 오차(MSE)는

$$ \hat{\sigma^{2}} = \frac{SSE}{n - p - 1} $$

분모에 있는 \( n-p-1 \)은 SSE의 자유도이다(관측개체의 수에서 추정된 회귀계수의 수를 뺀 것과 같음).

여기에서 잔차제곱합(SSE)는 마찬가지로 다음과 같다.

$$ SSE = \sum_{i=1}^{n} (y_i - \hat{y_i})^{2} $$

그렇다면 RMSE는 MSE에 제곱근을 취한 것이기 때문에

$$ \hat{\sigma} = \sqrt{MSE} =  \sqrt{\frac{SSE}{n-p-1}} = \sqrt{\frac{1}{n-p-1} \sum_{i=1}^{n} (y_i - \hat{y_i})^{2}} $$

 

 

3. 공선형 데이터의 분석

데이터로부터 추정된 다중회귀방정식은 예측변수들 간에 상호의존관계가 심각하지 않다는 묵시적인 가정 하에서 해석되어진다. 통상적으로 회귀계수는 그에 대한 예측변수를 제외한 나머지 모든 예측변수들이 일정한 값에 고정되어 있다는 전제 하에서 그 예측변수의 한 단위 증가에 따른 반응변수에서의 변화를 나타내는 양이다.

그러나 만약 예측변수들 간에 강한 선형적 연관관계가 있을 경우 이런 형식의 해석은 타당하지 않게 된다. 또한 추정된 회귀방정식에서 나머지 모든 예측변수들을 고정시켜 놓은 상태에서 어느 한 변수를 변화시킨다는 것은 개념적으로만 가능한 것에 불과하며, 추정에 사용한 데이터를 이런 조건에 맞도록 조작할 경우에 발생되는 결과에 대해서도 우리는 아무런 정보도 가지고 있지 않다. 

- 출처 : 예제를 통한 회귀분석 (제5판)

 

다중공선성 (multicollinearity)

  독립변수들 간에 선형적인 연관관계가 전혀 없는 경우 그들은 서로 직교(orthogonal)한다고 말한다. 그러나 회귀분석의 실제 응용에서는 독립변수들이 직교하지 않는 경우가 대부분이다. 이러한 독립변수들 간의 강한 비직교적 상태, 강한 상관관계가 나타나는 문제를 '다중공선성의 문제'라고 부른다. 다중공선성은 회귀모형의 오류라기 보다 데이터의 결함에 의해 나타나는 결과라고 할 수 있다.

  다중공선성은 통계적 추론과 예측에 어떤 영향을 미치는가? 독립변수들이 매우 높은 상관관계를 가지게 되면, 각 독립변수는 전체 설명력에 거의 영향을 끼치지 않고 회귀방정식에서 다른 변수의 대리역할을 할 수 있게 된다. 또, 추정량의 표준오차(standard error)를 크게 만들기 때문에 추정의 정확성은 떨어진다. 근데 정확히 왜 문제가 되는건지... 수학적으로는 감이 잘 안옴..

  다중공선성은 어떻게 탐색될 수 있는가? 다중공선성은 추정된 회귀계수의 불안정성과 관련되어 있다. 따라서 간단한 징후로는 다음과 같은 형태로 표출될 수 있다.

  • 한 변수를 추가 또는 삭제할 때 추정된 회귀계수가 크게 변화할 경우
  • 한 데이터 점을 변화시키거나 제거할 때 추정된 회귀계수가 크게 변화할 경우

  혹은 분산팽창계수(variance inflation factor; VIF)와 상태지수(condition index) 방법을 통해 다중공선성을 측정할 수 있다. 다중공선성을 탐색하기 위해 각 독립변수를 나머지 모든 독립변수들로부터 회귀시켜 얻어지는 \( R^{2} \)를 검색하는 것을 생각할 수 있는데, 변수 \( X_j \)에 대한 VIF는 다음과 같다.

 

$$ VIF_j = \frac{1}{1 - R_j^2}, j=1,2,...,p $$

  • \( R_j^2 \) - 독립변수 \( X_j \)가 나머지 모든 독립변수들에 의해 회귀될 경우의 다중상관계수의 제곱(결정계수)
  • p는 예측변수의 수
  • \( X_j \)가 나머지 모든 독립변수들과 강한 선형관계를 가질 경우 : \( R_j^2 \) 1에 접근 -> \( VIF_j \) 매우 커짐
  • 독립변수들 간에 선형적 연관관계가 없을 경우: \( R_j^2 = 0 \) -> \( VIF_j = 1 \)

즉, VIF의 1로부터의 차이는 다중공선성의 정도를 나타낸다고 할 수 있다! 보통은 VIF가 10을 넘게 되면 추정에 영향을 줄 수 있을 정도로 다중공선성이 심하다고 판단하는 듯.

 

  데이터에서 다중공선성을 발견하는 또 다른 방법은 독립변수들의 상관행렬에 대한 상태지수를 검토하는 것이다. 

 

 

상관계수 행렬(correlation matrix)의 예

여기 상관계수 행렬이 있다. 단순선형회귀 모형에서 살펴봤듯이, 상관계수란 두 변수간의 관계가 얼마나 강한지 측정하는 값이다. p개의 독립변수들의 상관행렬은 p개의 고유값(eigenvalue)을 갖는데, 만일 어떤 \( \lambda \)들이 완전히 0에 가까운 값을 가지면 원 변수들 사이에 완전한 선형관계가 있다는 것, 즉 극단적인 다중공선성을 의미한다. 이 \( \lambda \)를 통해 경험적으로 다중공선성을 탐지할 수 있는데,

$$ \sum_{j=1}^{p} = \frac{1}{\lambda_j} $$

다시 말하면 고유값의 역수에 대한 합이 독립변수의 수보다 5배 이상 크다면 다중 공선성이 있다고 판단한다.

전체 독립변수들을 고려할 경우에는 상태지수를 생각할 수 있다. j번째 상태지수는 다음과 같이 정의된다.

$$ k_j = \sqrt{\frac{\lambda_1}{\lambda_j}}, j=1,2,...,p $$

  • 첫 번째 상태지수 \( K_1 \)은 항상 1이다.
  • 가장 큰 상태지수를 상태수(condition number)라고 하고, 큰 상태수의 값(실제로는 15 초과)은 강한 공선성의 증거가 된다.

참고로 상태수 \( k_p = \sqrt{\frac{상관행렬의 최대고유값}{상관행렬의 최소고유값}} \)으로 정의한다.

 

다중공선성과 관련된 여러 문제들은 어떻게 해결될 수 있는가? 몇몇 독립변수들을 제거할 수 있겠지만 항상 최선의 방법은 아니다. 다중공선성 데이터를 다루는 두 가지 방법은 

 

  1. 통상적 최소제곱법의 대안으로 주성분(principal component) 추정방법을 이용하기
  2. 회귀모수에 제약조건 두기

등이 있다. 너무 어렵다... 어쨋든 다중공선성의 심각성 여부를 먼저 탐색하고 독립변수의 상관구조에 따라 변수선택을 하게 되는데, 사실 대부분의 실제 응용에 있어 회귀모형에 포함되는 변수들은 사전에 미리 결정되는 것이 아니기 때문에 이들 변수를 선정하는 일 자체가 분석의 첫 단계에 와야 한다. 즉, 다중공선성을 해결하기 위해 변수들을 솎아내는 것은 회귀모형에 포함되는 변수의 선택 문제로 확장시켜 볼 수 있다.

 

 

4. 변수선택

회귀모형의 함수형태를 공식화함에 있어 고려해야 될 중요한 사항은 어떤 변수들이 어떤 함수 꼴로 모형에 들어가느냐 하는 것이다. 예로 어느 변수가 원래의 형태 X 그대로 모형에 들어가느냐, 혹은 \( X^2 \), 혹은 \( log(X) \) 등의 변환된 꼴을 취하느냐는 식의 문제이다.

- 출처 : 통계학, 류근관 저

 

  회귀방정식의 목적은 주어진 데이터의 여러 측면을 잘 요약하여 묘사하고, 변수들 간의 복잡한 인과관계 시스템을 잘 설명하는 모형을 구축하는데 있다. 따라서

  1. 시스템이 가지는 변이의 가능한 많은 부분을 설명하기 위해 되도록 많은 수의 변수들을 모형에 포함시켜야 하고
  2. 간명성(parsimony)의 원칙에 충실하고, 시스템에 대한 이해의 용이성에 주안점을 두면서 가능한 한 작은 개수의 변수를 가져야 한다.

모순되는 두 입장을 감안하는, 집단에 대한 데이터에 대한 '적합한 회귀방적식'을 평가하기 위해서 몇 가지 판단기준이 있다. 

 

잔차평균제곱(residual mean square; RMS)

p개의 항(상수항과 p-1개의 변수)이 있는 경우, \( SSE_p \)를 p개의 항을 가진 회귀방정식으로부터의 잔차제곱이라고 할 때 

$$ RMS_{p} = \frac{SSE_p}{n-p} $$

예측이 분석의 목적이라면 RMSE가 작은 쪽의 회귀방정식이 선호된다.

또, 다중상관계수의 제곱인 \( R_p^2 \)와의 관계는 다음과 같다(p개의 예측변수에 의존하는 다중회귀방정식이기 때문에 \( R^2 \)에 p를 붙였다).

$$ R_p^2 = 1 - (n - p)\frac{RMS_p}{SST} $$

$$ SST = \sum (y_i - \hat{y})^2 $$

 

Mallows \( C_p \)

한 예측식이 가지는 수행능력을 예측값의 변이를 기준으로 평가한다면 예측값에 대한 분산보다는 MSE를 고려하는 것이 맞다. 따라서 Mallows에 의하면 \( \hat{y_i} \)는 편향되어 있으므로, \( MSE(hat{y_i}) \)는 추정에서 일어나는 예측값의 분산성분과 독립변수의 제거로 인한 편향성분 두 부분으로 구성된다.

관측 데이터에 대한 예측값들의 표준화된 MSE를 나타내는 \( J_p \)에 대한 추정값으로서 다음과 같이 \( C_p \)를 정의할 수 있다.

$$ C_p = \frac{SSE_p}{\hat{\sigma^{2}}} + (2p - n) $$

통상적으로 그래프 위에 직선 \( C_p = p \)을 그었을 때, 이 직선에 가까운 점에 대응되는 독립변수들의 집단이 회귀방정식을 구성하는 좋은 것으로 생각할 수 있다.

 

정보기준

Akaike의 AIC(Akaike Information Criteria)는 모형 선택에 있어 정확도(적합)와 간명성(작은 수의 변수) 사이의 상충을 잘 조절하려고 한 것이다.

p개의 항(상수항과 p-1개의 변수)과 n개의 관측치를 가질 때,

$$ AIC_p = n ln(\frac{SSE_p}{n}) + 2p $$

  • 더 작은 AIC를 갖는 모형이 선호된다.
  • 장점: non-nested model들을 비교할 수 있다(서로 다른 두 독립변수들의 집합을 비교할 수 있음).
  • 과적합을 방지하기 위해 Hurvish&Tsai에 의해 보정된 \( AIC^c \)도 있다.

$$ AIC_p^c = AIC_p + \frac{2(p+2)(p+3)}{n-p-3} $$

 

AIC로 모형을 비교하려면 데이터에 결측값이 없어야 한다. 이를 만족하기 위해 여러 가지 수정된 방법들이 제안되었는데, Schwarz가 제안한 BIC(Bayes Information Criteria)는 다음과 같다.

$$ BIC_p = n ln(\frac{SSE_p}{n}) + p(ln(n)) $$

 

 

변수선택 절차

잠재적인 독립변수들의 개수가 많을 경우 모든 가능한 회귀방정식을 계산하지 않고 적정 독립변수 집단을 선택하기 위한 몇 가지 방법들이 제안되었다.

  1. 전진적 선택(forward selection; FS) 절차 : 절편만 있는 모델에서 기준 통계치를 가장 많이 개선시키는 변수를 차례로 추가하는 방법
  2. 후진적 제거(backward elimination; BE) 절차 : 모든 변수가 포함된 모델에서 가장 도움이 되지 않는 변수(p값)를 하나씩 제거하는 방법
  3. 단계적(stepwise) 방법 : 기본적으로 전진적 선택 절차라고 할 수 있으나, 추가적인 조건으로서 매 단계에서 후진적 제거 절차에서와 같이 이미 모형에 선택되어 있는 한 독립변수의 제거 가능성을 배제하지 않음. 따라서 회귀식에 일단 포함된 독립변수라도 나중 단계에서 제거될 가능성이 있다.