모노산달로스의 행보

[Machine Learning] 다중 선형 회귀(Multiple Linear Regression) 본문

AI/MachineLearning

[Machine Learning] 다중 선형 회귀(Multiple Linear Regression)

모노산달로스 2024. 7. 11. 17:29

MachineLearning - 다중 선형 회귀

컴퓨터 과학의 아버지 앨런 튜링

머신러닝은 데이터를 분석하고 패턴을 학습하여 자동으로 예측하거나 결정을 내리는 기술입니다. 다양한 산업에서 효율성을 극대화하고 혁신을 촉진하기 때문에 머신러닝은 현재 주목받는 기술입니다. 이러한 상황에서 미래 기술 발전의 핵심 역량을 갖추기 위해서 머신러닝의 공부는 필수적입니다.

다중 선형 회귀 모델 (Multiple Linear Regression Model)

https://medium.com/analytics-vidhya/multiple-linear-regression-an-intuitive-approach-f874f7a6a7f9

 

 

우리는 앞서 단순 선형 회귀 모델에 대해서 살펴보았습니다. 하나의 독립 변수와 하나의 종속 변수 사이의 관계를 나타내는 모델이었습니다. 같은 회귀 모델이지만, 다중 선형 회귀 모델여러 개의 독립 변수에 영향을 받는다는 것이 차이점입니다.

 

따라서 단순 선형 회귀 모델과는 다른 학습 방법이 필요합니다. 변수가 많이 존재하기 때문에 그 양을 줄이는 작업이 필요합니다. 이에 대해서 두 가지 이유를 제시할 수 있습니다.

1. 쓸모없는 데이터를 학습시키면 쓸모없는 결과가 나타납니다.(Garbage In Garbage Out)
2. 변수의 수가 과도하면 모델 설명이 힘들어집니다.

 

학습에 필요하지 않은 데이터를 사용한다면 모델의 예측 품질 또한 낮아질 수 있습니다. 또한 많은 변수의 수를 가진다면 모델을 다른 이에게 설명하기가 힘들어집니다. 따라서 예측에 도움이 되는 변수만 남겨야합니다.

 

 


모델을 만드는 다섯 가지 방법 (5 Method to build model)

그렇다면 적절한 변수를 어떻게 판단해야 할까요? 이에 대한 해답으로 5가지의 방법을 제시합니다. 해당 파트에 들어가기 전에 P-value에 관한 포스트를 꼭 확인하시기 바랍니다.

 

1. 올인(All-in)

 

올인이란 모든 변수를 사용하는 방법입니다. 사전 지식으로 정확히 어떤 변수들인지 파악이 되는 경우 혹은 회사 규정상(Framework) 해당 변수들을 모두 사용해야 하는 경우 사용합니다.

 

변수들을 제거하지 않고 모두 사용하기 때문에 적절한 변수가 무엇인지 전혀 분별이 되지 않는 방법입니다. 따라서 기본적으로 추천되지 않는 방법입니다.

 

2. 후진 소거법(Backward Elimination)

https://www.linkedin.com/pulse/backward-elimination-powerful-feature-selection-method-ravi-singh

 

후진 소거법이란 모든 변수들을 가지고 시작하여 기준에 따라 순차적으로 변수를 제거하는 방법입니다. 자세한 진행 순서는 아래와 같습니다.

1. 모델 내 유의 수준(Significance Level)을 설정합니다.
2. 모델 전체에 가능한 예측 변수를 모두 사용합니다.
3. 가장 높은 P값을 가지는 변수를 찾습니다. 만약 P값이 유의 확률보다 크다면 4번으로 이동합니다. 그렇지 않다면 모든 단계를 종료합니다.(모델 완성)
4. 가장 높은 P값을 가지는 변수를 삭제합니다.
5. 해당 변수를 제외하고 모델을 생성합니다. (3단계로 돌아가 반복)

 

P값이 크다는 것은 해당 변수가 종속 변수에 미치는 영향이 통계적으로 유의미하지 않다는 것을 의미합니다. 즉, 학습에 도움이 되지 않는 변수를 삭제하는 과정임을 다시 한번 확인 가능합니다.

 

3. 전진 선택법(Forward Selection)

 

전진 선택법이란 후진 소거법과 반대로 순차적으로 변수를 선택하는 방법입니다. 자세한 진행 순서는 아래와 같습니다.

1. 모델 내 유의 수준(Significance Level)을 설정합니다.
2. 가능한 모든 단순 회귀 모델들을 넣습니다. P 값이 가장 낮은 변수를 가지는 모델을 찾습니다.
3. 선택한 변수를 유지하면서 다른 가능한 모델들을 모두 사용합니다. 그리고 예측 변수를 하나 더 기존 변수에 넣습니다.
4. 가능한 변수 두 개의 회귀들 중 우리가 추가한 새 변수가 가장 낮은 P 값을 가지는 경우를 확인합니다. P값이 유의 수준보다 낮다면 좋은 변수입니다. (3단계로 돌아간다. 즉, 세 번째 변수를 넣는다.)

 

처음에는 변수가 한 개인 단순 선형 회귀 모델들을 가능한 만큼 모두 만듭니다. 그리고 P값이 가장 낮은 변수를 가지는 모델을 선택합니다.

 

그다음에는 변수가 두 개인 가능한 회귀 모델들을 가능한 만큼 모두 만듭니다. 두 개의 변수들 중 하나는 처음에 선택한 변수가 됩니다. 변수가 두 개인 회귀들 중 추가된 변수의 P값이 가장 낮은 모델을 선택합니다.

 

그 다음에는 변수가 세 개인 회귀 모델들을 만들고... 또 P값이 가장 낮은 모델을 선택합니다. 그러다가 가장 낮은 P값이 우리의 유의 수준보다 높다면 그만둡니다.

 

이 과정은 한마디로 모델 확장이 가능한 조합들 중 선택해서 적절한 변수를 늘려나가는 것입니다. 앞서 설명했듯이 선택한 변수의 P값이 유의 수준보다 높다면 도움이 되지 않는 변수이므로 그만둡니다.

 

4. 왕복 소거법(Bidirectional Elimination)

 

왕복 소거법이란 앞서 설명한 후진 소거법과 전진 선택법을 모두 사용하는 방법입니다. 자세한 진행 순서는 아래와 같습니다.

1. 들어갈 유의 수준(Enter Significance Level)과 유지할 유의 수준(Stay Significance Level)을 설정합니다.
2. 전진 선택법의 다음 단계를 수행합니다. (P값이 SLENTER보다 작으면 변수를 추가합니다.)
3. 후진 소거법의 모든 단계를 수행합니다. (P값이 SLSTAY보다 크면 변수를 제거하고 2단계로 돌아갑니다.)
4. 변수를 선택하거나 삭제하지 못하는 상황이 생기면 그만둡니다.

 

위에서 설명한 후진 소거법, 전진 선택법, 왕복 소거법을 단계적 회귀 분석(Stepwise Regression)이라고 부르기도 합니다.

 

5. 가능한 모든 모델들(All-Possible-Models)

 

가장 세밀하고 어려운 방법입니다. 먼저 학습에 가장 적절한 기준을 선택합니다. 그리고 가능한 모든 회귀 모델을 만듭니다. 만약 변수가 n개라면 2^n - 1 개의 조합이 만들어집니다. 변수의 수가 10개라면 1023개의 모델 중에서 선택해야 한다는 의미입니다. 이 수많은 모델들 중에서 가장 적절한 모델을 선택하는 방식입니다.