본문 바로가기
Statistics/ISLR

6. Linear Model Selection and Regularization

by 뚜찌지롱 2020. 10. 25.

 

회귀문제에서, 기본적인 선형회귀모형의 형태는 다음과 같다.

 

$Y = \beta_0 + \beta_1X_1+\dots + \beta_pX_p + \epsilon_t$

 

이는 Y와 $X_1, X_2, \dots , X_p$의 관계를 추론(Inference)할 수 있다는 점에서 장점을 가지며, 종종 비선형적인 모형보다 좋은 결과를 도출할 수 있다. 이 장에서는 LS적합 대신 대안적인 적합방법을 사용하여 단순 선형 회귀를 개선하는 방법에 대해 논의할 것이다. 대안적인 적합은 LS적합 보다 개선된 예측정확성(Prediction Accuracy)과 모델해석력(Model Interpretability)을 도출할 수 있다.

 

  •  Prediction Accuracy

Y와 X들의 실제로 선형의 관계를 가진다고 할 때, OLS 추정량은 작은 bias를 가질 것이다. 또한, 관측치의 수가 설명변수의 수보다 현저히 많을 때 (n>>p), OLS 추정량는 low variance를 가지므로 test set 에 대해서 좋은 성능을 가지게 될것이다. 

관측치의 수(n>p)가 충분히 많지 않을 때, OLS 적합은 많은 변동성이 존재할 수 있어 과적합(overfitting)을 일으킬 수 있고 test set에 대해 성능이 떨어트린다. 이런 경우, 회귀계수 추정량에 제약(constraining)을 주거나 수축(shrinking)시킴으로써 bias의 무시할만한 증가를 일으키는 대신 variance의 큰 감소를 이끌 수 있다. 따라서, 예측정확성이 증가하게 된다. 

( + 관측치 수가 설명변수의 수보다 적을 경우(n<p), Design matrix의 역행렬을 구할 수 없기 때문에 회귀계수에 대한 유일한 해가 존재하지 않게 된다.  $\hat\beta = (X^T X)^{-1}X^T Y$)

 

  •  Model Interpretability

실제로 다항회귀에서 사용된 X변수들이 Y와 관계없는 경우가 있다. 이러한 관련없는 설명변수들은 모델을 불필요하게 복합하게 만든다. 따라서, 해당변수에 대한 회귀계수를 0으로 설정함으로써 모델을 해석하기 쉽게 만들어줄 수 있다. (OLS는 어떠한 변수의 회귀계수도 0으로 수렴시키지 못함.)

 

 

이 장에서는 자동적으로 변수선택효과를 수행해주는 접근법을 배울것이다. 크게 3가지의 접근법이 존재한다. 

 

6.1 Subset Selection

 

6.1.1 Best Subset Selection(최적조합선택)

 

p개의 설명변수에 대해 만들어질 수 있는 모든 조합을 이용하여 모델을 적합한 후 RSS(=SSE)가 최소가 되는 변수의 조합을 모형으로 사용하는 것이다. 구체적으로 설명하면 

 

- Null model : 설명변수가 없는 모형

- 1개의 변수를 이용하여 조합한 모형 : $SSE_11, SSE_12, SSE_13, \dots, SSE_1p$

- 2개의 변수를 이용하여 조합한 모형 : $SSE_21, SSE_22, \dots, SSE_2m$

$\dots$

- p개의 변수를 이용하여 조합한 모형 : $SSE_p1$ ( 모든 변수를 사용하여 적합한 모형은 1개일 것임)

 

이 존재하며 각 행에서 SSE가 최소가 되는 모형을 뽑는다(\M_k 로 지정)$. 모든 가능한 조합인 $2^p$개의 모델에서 최적모형을 찾는 문제를 Step 2를 거쳐 (p+1)개의 모형 중 최적모형으로 찾는 문제로 축소시켰다. (p+1)개의 모형 중 최적모형을 찾는 idea는 6.1.3에서 설명하겠음.

 

 best subset selection은 간단하며 개념적으로 매력적인 방법이지만 가능한 모든 조합$2^p$의 수가 커질수록 계산비용이 커진다는 단점이 있다. 예측변수의 수(p)가 40 이상이라면 계산적으로 실현불가능하며 현대컴퓨터 기술로도 무리가 있다.

 

6.1.2 Stepwise Selection

 

best subset selection은 예측변수의 수가 매우 많을 때(p가 n에 가까워질 때) 적용할 수 없으며, 통계적인 문제도 발생한다. 자료가 풍부해지면 훈련용셋에 더 좋은 성능을 가지는 모델이 생성되며 이는 과적합(overfitting) 문제와 회귀계수의 분산을 증가시킬수 있다. 이러한 이유로 단계적 방법은 모델에 대해 제한을 두게 된다.

 


(1) Forward Stepwise Selection

 

전진단계선택법은 어떠한 예측변수도 포함하지 않은 상태에서 시작하게 된다. 그런 다음 예측변수를 한개씩 추가해나가면서 모든 변수가 들어올 때까지 수행하게 된다. 특히 각 단계에서 변수를 추가했을 때 RSS를 가장 많이 낮춰주는 변수를 최종적으로 선택하게 된다. 전진단계선택법의 절차는 다음과 같이 정리할 수 있다. 

 

최적조합선택법과 가장 큰 차이점으로, forward방법은 예측변수가 포함되지 않은 null model 을 적합하는 과정까지 포함된다. 즉, 전체 1+p(p+1)/2 개의 모델을 적합하게 된다. p=20라면, 최적조합은 총 1048576번의 모델을 수행하게 되는데 전진선택법의 경우 211번을 수행하게 된다. step2(b)에서 p-k개 변수를 가진 모델들 중 최적모형을 하나 선발해야하는데 이때 우리는 낮은 RSS나 높은 $R^2$를 가지는 모형을 선택하게 된다. 그러나 step 3에서 서로 다른 변수의 수를 가지는 모형에서 best를 뽑아야하는데 이는 6.1.3에서 다뤄질 것이다. 

 

forward는 최적조합보다 분명이 계산적으로 장점을 가진다. 그러나, 최적조합모형에서 다루는 $2^p$개의 모델들 중에서 단연 최고라고 할 수는 없다. 예를 들어, p=3이라고 가정하자. 변수를 한개 추가했을 때 총 3개의 모델 중 1개를 선택해야하는데 이때 X1이 좋은 성능을 가졌다고 하자. 그런다음 변수 2개를 고려하는 모형 중 가장 우수한 모형을 선택해야할 것같지만 이는 최적조합의 경우이며, forward는 X1변수가 고정된 상태에서 다른 변수를 추가한 모델을 고려해야한다. 즉, forward에서는 선택된 변수는 더이상 제거될 수 없다는 것이다. 

위의 테이블은 Credit data에 대해 최적조합과 전진선택법을 이용하여 변수선택을 수행한 결과이다. 3개의 변수를 고려할때까지는 선택된 변수가 같지만 4개를 고려했을 때 최적과 전진선택의 변수조합이 다르다는 것을 볼 수 있다. 

forward 방법은 고차원환경(n<p)의 경우에도 적용이 가능한데, 이는 초기에 변수를 적게고려하는 모형들에 한해서 LS추정이 가능하기 때문이다. 만약, 변수를 많이 고려하게 되면 유일한 해를 구할 수 없게된다. 

 

 

(2) backward stepwise selection

 

전진단계선택법과 같이, 후진단계선택법은 최적조합에 대해 효율적인 대안을 제공해준다. 그러나, 후진단계선택법은 p개의 변수를 모두 포함한 상황에서 변수를 하나씩 제거하는 방식으로 수행한다. 이는 다음과 같이 정리된다. 

 

전진선택법처럼 총 1+p(p+1)/2 개의 모형을 적합하게 되며, full model을 적합하기 위해 표본 수가 변수의 수보다 많은 상황을 원한다(n>p). 반면 forward는 p의 수가 많은 상황에서도 사용할 수 있으며 모든 변수선택 방법 중 forward 만 유일하게 p가 큰 경우에 사용하게 된다. 

 

(3) hybrid approaches

 

지금까지 공부했던 최적, 전진, 후진 방법들에 대한 대안방법인 하이브리드 버전은 변수를 순차적으로 추가하는 것이다.  이는 우리가 흔히 알고 있는 단계적선택법과 동일하다. 그러나 다른 점은 각 새로운 변수를 추가하면서 적합하되 추가했을 때 성능이 낮아지는 변수를 제거하는 것이다. 이는 이전에 추가되었던 변수까지 고려하여 제거할 수 있다는 것이 가장 중요한 포인트이다. 이러한 접근은 best subset selection의 결과를 좀 더 흉내낼 수 있도록 해준다. 동시에 전진, 후진에서 가질 수 있는 계산적인 장점도 가질 수 있다. 

 

 

 

6.1.3 최적 모델의 선택

 

위의 3번에서 각 변수 크기에 대한 최적모델을 구했으며 마지막으로 p+1개의 모형에서 최종모형 1개를 선택하면 데이터에 대해 가장 적합한 모형을 가지게 된다. p+1개의 모형은 모두 포함하는 예측 변수의 수가 다르다. 따라서, RSS와 $R^2$을 사용하는 것은 적합하지 못하다. (변수가 많을 수록 $R^2$, RSS 가 우월할테니깐) 이러한 측도는 train error에 대한 것으로 test error에 대해 결과를 얻길 원하는 우리는 test error를 추정하기 위해 다음의 두가지 접근에 대해 알아볼 것이다.

1. 과적합으로 인한 bias가 차지하는 training error를 조정함으로써 test error를 간접적으로 추정할 수 있다.

 
2. cross-validation 을 이용하여 test error를 추정한다.

 
우리가 일반적으로 LS방법을 사용하여 training set에 대해 모형을 적합할 때, RSS를 최소로 만들어주는 회귀계수를 추정하게 된다. 여기서, 변수가 많이 추가될수록 training error은 작게 나올 것이며 변수의 수가 다른 모델을 비교할 때 무조건 변수가 많이 포함된 모형을 최종모형으로 선택하게 될것이다. 그러나 모델 size(변수의 수)에 대해 training error를 조정하는 것을 생각한다면 변수가 다를때 모형을 비교할 수 있을 것이다. 즉, 이는 서로 다른 상황에서 비교할 수 있도록 변수의 수를 고려한 상대적인 척도로 만들어주는 것이다. 이제부터 그에 대한 4가지 척도에 대해 알아보자.


$C_p$ : test MSE에 대한 추정값으로 다음과 같이 표현된다.


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

더보기

※ Mallow's Cp는 $RSS/\hat\sigma^2 +2p-n$으로 정의될 수도 있다. 이는 위의 식 $Cp =\frac{\hat\simga^2}{n}(C'p_p+n)$과 동일하다. Cp가 작다는 의미는 C'p가 작다는 의미와 동일하다. 


$\hat{\sigma}^2$은 오차의 분산에 대한 추정값이다. $C_p$통계량은 training error가 과소추정되는 것을 조정하기 위해 training RSS 에 $2p\hat{\sigma}^2$ 만큼의 페널티를 준다. 페널티는 모델에 포함된 예측변수의 수가 증가할 때 RSS는 하염없이 줄어들기 때문에 해당 모델에서 사용하는 변수의 수를 고려하여 감소하는 것을 막아주는 역할이다. 결론적으로, $C_p$통계량은 작은 test error를 가지는 모형에 대해 작은 값을 가지는 경향이 있다.

AIC : AIC의 기준은 최대 우도로 적합되는 많은 종류의 모형에 대해 정의된다.

 

$AIC = -2log(L(\hat\beta)) + 2p$

 

BIC : BIC는 베이지안 관점에서 나온 척도이지만, 결국에는 $C_p$와 $AIC$와 같은 결과를 도출한다.

 

$BIC = -2log(L(\hat\beta)) + log(n)p$

 

AIC와 다른점은 패널티를 $log(n)p$으로 가진다는 것이다. n은 관측치의 수인데 n>7이면 log(n)>2 이므로 BIC는 많은 관측치 수를 가질 때 더 많은 패널티를 가지게되며 $C_p$와 $AIC$보다 더 보수적인 면이 있다.

$C_p$와 AIC, BIC는 모두 작을 수록 좋은 모형이다.

adjusted $R^2$ : 일반적으로 다루는 $R^2$은 1-RSS/TSS로 정의된다. 여기서, TSS(=SST)는 $\sum(y_i -\bar(y))^2$으로 총제곱합이라고 한다. RSS(=SSE)는 오차제곱합으로 모형이 복잡할수록 작아진다. $R^2$은 SSR/SST 로도 표현하며 회귀식이 설명해주는 정도라고 생각하면 이해가 빠르다. 


$adjusted R^2 = 1- \frac{RSS/(n-p-1)}{TSS/(n-1)}$

 

앞서 다루었던 $C_p$, AIC, BIC와는 반대로 큰값을 가질수록 작은 test error를 가지는 우수한 모형이다. $R^2$과 다른 점은 모델에 불필요한 변수가 들어왔을 때 분자부분이 커지게 되며 결과적으로 수정된 정확도가 낮아진다.


 

 

 

( 출처 )

An Introduction to Statistical Learning with Applications in R (Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani) 

'Statistics > ISLR' 카테고리의 다른 글

Group Lasso  (0) 2021.05.21
Ridge / Lasso regression  (0) 2021.05.21
3. Linear regression(선형 회귀)  (0) 2020.10.08
Resampling Method(Hold-out, Cross-Validation, Bootstrap)  (0) 2020.10.05
Introduction to Statistical Learning with R  (0) 2020.08.31

댓글