우리는 앞에서 단순회귀모델과 다중회귀모델에 대하여 살펴보았다. 둘의 가장 큰 차이는 독립변수의 수가 하나이냐 혹은 둘 이상이냐는 것인데 다음과 같이 하나의 독립변수에 대하여 고차 다항식으로 표현되는 모델의 회귀선은 어떻게 구할 수 있을까?
위와 같은 회귀모델을 다항회귀모델이라 한다. 다항회귀 모델의 최적해는 독립변수가 하나이기 때문에 를 먼저 추정하고, 의 값을 찾아주면 될 것처럼 생각할수도 있지만 의 고차항을 새로운 독립변수로 로 치환하여 다음과 같은 다중회귀모델의 해를 구하는 것으로 문제를 해결할 수 있다.
물론, 위 식에서 는 여러 개의 독립변수(가령, 과 )의 고차항으로도 표현이 가능하다. 이러한 접근방법으로도 독립변수와 종속변수 간의 관계가 설명되지 않는다면 비선형 회귀 기법들을 이용하여야 한다. 그러나 실제 우리가 접하는 대부분의 비선형 문제들은 부드러운 곡선의 형태를 하고 있기 때문에 다항식으로 근사화시킬 수 있으며, 식 (2)와 같은 다항회귀모델을 차 다항회귀모델(-th order polynomial regression model)이라 한다.
다중회귀모델의 회귀선을 구하는 방법은 다중회귀모델과 완전히 동일하다. 따라서 자세한 설명은 이전 포스트로 대신한다.
다항회귀모델을 해석하는데 있어 대부분의 경우 인 경우에는 변수 간 상당한 상관관계가 존재하며, 이에 따라 수치적 안정성에 문제가 많은 것으로 알려져 있다. 이러한 변수간의 상관관계를 다중공선성(Multicollinearity)라 하며, 이에 대하여 간략히 알아보자. 참고로 다중공선성은 다항회귀를 포함한 모든 다중회귀모델에서 문제가 된다.
두 독립변수 , 가 있다고 하자. 임의의 상수 에 대하여 다음과 같은 선형관계가 성립하면 두 변수 사이에 완벽한 공선선 (exact collinearity)가 있다고 한다 [1].
즉, 하나의 독립변수에 의해 다른 독립변수가 완전히 설명되어 실제로는 하나의 독립변수를 제거해도 정보의 손실이 전혀 없는 경우라 할 수 있다. 식 (3)과 같이 완벽한 공선성을 갖지 않더라도 식 (3)의 관계가 근사적으로 성립하는 경우에도 두 변수 간의 공선성은 상당히 존재하며, 이를 정량적으로 두 변수간의 표본상관계수로 나타낼 수 있을 것이다. 즉, 표본상관계수의 제곱 이 0이면 과 는 직교하며, 1에 가까울수록 두 변수의 공선성이 크다고 할 수 있다. 일반적으로 회귀모델을 분석하는 과정에서 다음 중 하나 이상의 현상이 발생하면 독립변수들 간의 다중공선성을 의심해보아야 한다 [1].
위의 세 번째 항목에서 다중공선성이 큰 경우, 회귀계수의 분산이 증가한다는 것을 알 수 있는데 정말 그런지 수학적으로 확인해보자. 이전 포스트의 식 (6)에서 주어진 회귀계수의 추정값을 이용하여 회귀계수의 공분산 행렬을 다음과 같이 구해보자1.
여기서 라는 사실을 이용하였다. 식 (6)이 최소화되는 것은 이 대각행렬이 되는 것이다. 따라서 다중공선성이 없을 때, 추정된 회귀계수의 분산은 최소가 되며, 반대로 다중공선성이 커질수록 추정된 회귀계수의 분산은 증가한다. 추정 회귀계수의 분산이 증가한다는 것은 훈련 데이터가 약간만 추가되거나 삭제되어도 추정 값이 달라질 수 있음을 의미하며, 이는 곧 추정 값의 신뢰성이 떨어짐을 의미한다. 따라서 추정 값의 분산을 최소화하기 위해 독립변수간 다중공선성을 최대한 제거해주어야 한다.
다중공선성을 정량적으로 측정하는 지표 중 대표적인 것인 분산팽창인자(VIF)이다. 독립변수 에 대하여 를 반응변수(종속변수)로 하고, 나머지 독립변수들을 설명변수로 하여 회귀하였을 때 얻어진 결정계수를 라 할 때, 번째 분산팽창인자 는 다음과 같다.
독립변수들 사이에 다중공선성이 존재하게 되면 이 커질 것이다. 따라서 값도 함께 커지게 된다. 일반적으로 개의 중 가장 큰 값이 ~을 넘으면 다중공선성이 있다고 판단한다 [1].
거의 모든 데이터들은 다중공선성이 존재하는 것이 당연하다고 할 수 있다. 다중공선성이 그리 심각하지 않은 경우는 별 문제가 되지 않을 수 있지만, 그렇지 않을 경우 회귀계수의 추정 값이 큰 분산을 갖게 되어 추정 값의 신뢰성이 떨어지게 되어 잘못된 결론을 유도하기 쉽다. 본 절에서는 다중회귀에서 이렇게 문제가 되는 다중공선성을 줄이는 방법들에 대하여 알아보기로 한다.
참고로 아래 방법들은 결국 과적합(overfitting, 오버피팅)을 줄이기 위한 방법들이다. 다중공선성이 큰 경우 오버피팅은 필연적이지만 다중공선성이 없더라도 오버피팅은 발생할 수 있다. 오버피팅이 발생하는 근본적인 이유는 데이터가 분포되어 있는 고차원 공간에 대한 데이터가 부족하기 때문이며, 이 중 설명력이 부족한 차원의 정보를 제거하는 것이 아래의 차원축소 방법으로 이해하면 되겠다. 자세한 내용은 별도의 포스팅 할 예정이다. 다중공선성과 오버피팅 문제는 아래 방법들로 어느 정도 완화시킬수는 있지만 완전한 해결은 근본적으로 불가능하다.
다항회귀에만 해당된다. (다항회귀가 아닌 다중회귀에는 해당되지 않는다.) 다항회귀에서 다중공선성 문제를 완화시키기 위해 독립변수를 치환할 때, 의 표본평균을 뺀 형태, 즉 를 이용하면 수치적인 안정성을 높일 수 있다 [1].
회귀모델을 포함한 모든 머신러닝 알고리즘들은 오버피팅 문제와 결과의 이해도를 높이기 위해 가능한 간단한 모델이 선호된다. 이를 모형간편화의 원칙(principle of parsimony)라고 한다. 따라서 적절한 기준에 의해 중요한 설명변수들만 선택하여 회귀모델을 만드는 것이 중요하다. 변수선택에 있어 주로 사용되는 측도와 방법들은 다음과 같다.
대표적으로 Ridge, LASSO, ElasticNet 등이 있으며, 자세한 내용은 이 포스트로 대신한다.
대표적으로 PCA, PLS, LLE, LDA, AE, t-SNE 등이 있다.
각각의 주제에 대하여 별도의 포스트로 다룰 예정이다.
1: Covariance matrix의 특성에 의해 로 바로 전개할 수도 있다. 이때, 이므로 가 되어 식 (4)를 바로 구할 수 있다. 본문에서는 covariance matrix의 특성을 사용하지 않고 모든 항을 전개하여 동일한 결과를 도출하였다.
[1] 김성수, 강명욱, 강위창, "회귀모형," 한국방송통신대학교출판문화원, 2019.
[3] Schreiber-Gregory, D. N. "Regulation techniques for multicollinearity: Lasso, ridge, and elastic nets." SAS Conference Proceedings: Western Users of SAS Software 2018. 2018. (https://www.lexjansen.com/wuss/2018/131_Final_Paper_PDF.pdf)