brunch

You can make anything
by writing

C.S.Lewis

by Raphael Lee Feb 07. 2018

회귀 분석 (Regression)

삼남매 아빠 = 애국자

분석이란 걸 위한 통계 완전 기초

Chapter 1. 통계 기본 함수

Chapter 2. 표준화/정규화

Chapter 3. 데이터 전처리 - Part II (part I 참조)

Break #1. 통계 실습을 위한 환경 구축 - Part I

Break #2. 통계 실습을 위한 환경 구축 - Part II

Chapter 4. 클러스터링, 장바구니 - Part I (장바구니 분석)

Chapter 4. 클러스터링, 장바구니 - Part II (클러스터링)

Chapter 5. Decision Tree, Regression, Neural Network - Part I 기법 선택 및 변수 선정

Chapter 5. Decision Tree, Regression, Neural Network - Part II 회귀 분석 (Regression)

Chapter 6. 모형 평가, WoE


0. 들어가며

- 분석 기법에 대해서는 많은 사이트 및 블로그에서 다루고 있으므로 자세한 이야기는 하지 않고, 제가 느낀 부분 위주로 기술하겠습니다. 즉, 비전공자의 관찰기 정도로 보시면 될 듯합니다.

- 머신러닝(Machine Learning) 영역이 활성화되면서 회귀분석보다는 신경망 위주로 연구가 되고, Tree 계통이 따라가는 형태를 띠고 있는데 요소요소에서 회귀분석이 쓰이므로 의미 정도는 알아두시는 것도 도움이 될 듯합니다.^^


1. 기본 수식 및 의미

1.1 어떻게 구성되어 있는가?

아름다운 Regression 수식

- 수식이 참으로 아름답죠?! 무척 익숙한 그리고 너무 쉬운(?) 수식입니다. 보기만 해도 다들 아시겠지만, 제가 나름대로 느낀 부분들을 써보겠습니다.

 이 수식은 목표로 하는 값 Y는 X라는 값들에 특정 숫자 a를 곱해서 더한 값들에 b로 최종 보정한 결과와 같다는 의미입니다. 즉, 각 항목별로 보자면 뭐냐....

  1. Y

   > 예측하고자 하는 값입니다.

   > 각종 변형이 사용되지만, 연속된 숫자 형태에서 대략적인 무한소수 값이거나 0 또는 1의 값을 사용합니다.

    간혹 0,1,2,... 의 여러 값을 놓고 예측을 하려는 경우가 있는데 좋은 결과를 얻기 어려우니 그런 경우가 발생하면 0,1로 구분할 수 있는 여러 개의 Regression로 분할하여 만드시는 것을 권합니다.

  2. X

   > 측정 또는 기록되어 있는 변수 값입니다. Database의 칼럼에 해당하는 값이라 보시면 됩니다.

   > Regression 만의 이야기는 아니지만, X 항목의 개수만큼의 차원에 가장 근사치의 직선을 주~욱 긋는다고 생각하시면 됩니다.

  3. a 또는 b

   > 통계 모듈(혹은 통계 엔진)이 구해주는 값입니다. 임의의 숫자를 부여해서 그 숫자를 근간으로 시작할 수도 있으나, 컴퓨터가 계산하여 구해주는 값이라는 사실은 변하지 않습니다.

   > 상황에 따라 b를 특정 값으로 강제해 놓고, a를 구하기도 합니다.

  4. Residual (오차값)

   > 학습을 시키고 나면 출력되는 결과입니다. "맞추는 데까지 맞춰봤지만 요정도 오차가 있어요..."라는 정도로 보시면 됩니다. 즉, 상황에 따라 다를 수 있지만 오차 값의 합계는 작을수록 좋습니다.


1.2 그래서?? 무슨 의미가 있고, 어떤 문제가 있으며, 어떻게 사용하나??

- Regression의 수식에서 개인적으로 가장 주목할 부분은 바로 '등호(=)'입니다.

 실전 데이터에서는 정확한 등호가 아니라 근사치에 가깝지만, 그래도 가장 등호에 가깝다는 겁니다.

 즉, "X 항목 들에 이리저리 곱하고 더하고 나면 Y는 아마 요럴걸요?"라는 겁니다.


- 무협지 식으로 치자면, 제가 받은 Regression의 느낌은 '검(劍)'입니다.

 누구나 손쉽게 쓸 수 있고, 라이브러리가 제작되면 가장 먼저 작성되며, 엑셀에도 들어있고, 무척 사용하기 쉽고, 무척 표현 및 이해하기 좋으며, 블라블라...

 그리고, 잘 사용하기 어렵고 잘 작동하게 하기 위한 데이터 전처리가 까다롭습니다.


- 간단한 추정이나, 다른 기법의 보조적 장치 또는 변수 적정성 검증 등에 주로 사용합니다.

 예를 들자면, 특정 X의 계수 a 가 다른 a 들보다 압도적으로 크게 나오면, '음.... X의 값이 너무 작은가? 아니면 Y를 구성하는데 영향력이 거의 없나?? 그 반대인가???'와 같은 질문 또는 추정이 일어나게 됩니다.

 그러면, 그 X를 제외하거나 값을 노멀 라이즈(Normalize)등으로 혹은 그룹화하여 변형하여 다시 살펴보게 됩니다. 그렇게 변수(X 값) 각각에 대해 살펴보기에 용이합니다.

 아예 a가 0으로 나오면 연산의 효율성을 위해 그 변수는 제거합니다.

 또한, 상관계수를 대체하는 효과를 낼 수도 있습니다.

 2개의 변수를 대상으로 각각을 X와 Y에 위치시킨 후 Regression을 수행한 후 a와 b의 값 그리고 오차값을 확인하면 두 변수의 연관성을 추정하는 것이 가능합니다.


2. Regression의 종류

2.1 Linear Regression

- 말 그대로 선긋기입니다. 실제 데이터의 분포에서 가장 오차가 작은 선을 긋는 행위입니다.

 누군가의 말처럼 세상은 단순하지 않기 때문에, 실제 데이터 그대로 선을 그어서는 과적합(overfitting)이 발생하기 쉬우며, 모형의 예측력이 낮아지게 됩니다.

  이 기법은 단독으로 최종 결과가 되기보다는 사전검사 또는 다른 기법과의 조합으로 주로 사용됩니다.

- 모형이 얼마나 잘 학습하였는지는 실제 데이터와의 오차에 대해 제곱합을 구하여 측정합니다.

Linear regression 예시 (출처: 위키피디아)

2.2 Logistic Regression

- 예측하려는 결과가 '여부'와 같은 2개의 값인 경우에 사용합니다. (고객 구매 여부 등등)

- 2.1의 linear regression을 사용하여 선형 구간에서 특정 위치를 예측하는 것은 그 결과를 보고 의사결정을 내리는 것이 쉽지 않다 보니, Y값(Target)을 특정 기준점을 설정하여 0,1로 변형하여 예측합니다.

  이렇게 예측 결과가 나오면 다음 행위를 하기가 쉬워집니다.

  즉, 고객이 구매할 확률로 값이 나오는 것보다 구매할 것으로 예상되는 고객 목록이 나오면 다음에 취할 행동을 선택하기가 쉬워집니다.

  추가로 모든 기법에서는 아니지만, 확률 값이 같이 나오기 때문에 구해지는 예측 결과와 별도로 확률 값을 설정하여 예측 결과를 다르게 가져갈 수도 있습니다.

- 모형이 얼마나 잘 학습하였는지는 실제 결과와 정오표를 작성하여 측정합니다.

  정탐(실제:True-예측:True), 오탐(실제:False-예측:True), 미탐(실제:True-예측:False),

  정탐 대기(실제:False-예측:False)의 4개로 구분하여 확인합니다.

  오탐과 미탐에 대해서는 업무 성격에 따라 어느 쪽의 정확도에 치중할지 결정하게 되는데, 리스크/컴플라이언스/보안/장애 등 사건의 중요도가 높으며, 사람이 추가로 확인하는 절차가 있는 경우는 오탐이 다소 발생하더라도 미탐을 줄이는 방향으로 모형의 결과를 유도하며, 마케팅/주식 등 잘못 예측했을 때 손해가 발생하는 경우에는 미탐보다는 오탐을 줄이는 방향으로 설정하게 됩니다.

   단, 정탐+정탐 대기 가 어느 정도의(개인적으로 판단하는 기준은 80% 이상) 정확도가 있고 나서의 이야기입니다.

Logistic Regression 예시 (출처: 위키피디아)


2.3 Penalize Regression

- Ridge / LASSO / Elastic Net 의 기법이 있으며 각 기법에 대해서는 데이터 사이언스 스쿨에 잘 설명되어 있습니다.

- 제가 아는 용도는 '가중치 부여'입니다.

  여러 개의 모형을 학습시켜 예측 결과가 도출되었는데, 그 결과를 직접 사용할 수가 없고 조합을 하려 할 때 각 항목에 대해 어떻게 가중치를 부여할 것인가... 이때 사용하는 것이 좋습니다. 그중 어떤 기법을 사용하는 것이 좋은 가에 대해서야 정답이 없지만, 주변에 통계를 잘 하는 사람이 평가 방법을 정의하고 경우의 수를 다 수행해서 결정하는 것이 좋습니다. (수행하는데 며칠이 걸리더라도 말입니다;;;)

Ridge 모형과 Lasso 모형의 차이 (출처: 데이터 사이언스 스쿨)


3. 마치며

- 본문에 쓴 것처럼 회귀 분석은 '검'과 같아서 '잘 사용하기'가 쉽지 않지만, 잘만 사용하면 간단명료하고 강력한 도구라 생각합니다. 일반적인 추정 외에도 다른 모형의 부분 요소로 활용되거나 후처리 등등에서 종종 사용하므로 개인적으로 잘 정리하여 본인의 것으로 만드는 것도 좋을 듯합니다.

- 여기까지 선형 회귀에 대한 정리를 마치며 다음에는 의사결정 나무(Decision Tree) 분석에 대해 이야기하겠습니다.


매거진의 이전글 통계 모형 기법 선택 및 변수 선정
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari