데이터 스터디/Stats\ML

04-1. Regression(회귀) - 선형회귀

케이와이엠 2022. 2. 12. 02:57

❔ 회귀분석에서 '회귀'라는 말이 왜 들어가는 걸까 ❔

먼저 회귀분석이 뭔지부터 짚고 넘어가자. 회귀분석의 예제와 기법에 익숙한 사람이라면 한 번도 의문을 가지지 않았을지도 모른다. 단순히 각자가 이해한 회귀분석의 의미를 이름과 연결시켰을 테니까 말이다. 하지만 이 '회귀'라는 단어가 들어가게끔 회귀분석을 설명해보자. 단어 그대로 리터럴리하게 ! 

 

회귀라는 말은 돌아올 회, 돌아갈 귀 를 사용해 어딘가로 '되돌아간다'는 뜻이다. 회귀분석의 기원은 영국의 우생학자인 프랜시스 갤턴(Francis Galton)이 내세운 평균으로의 회귀(Regression toward the mean) 에서 왔다. 갤턴은 아버지의 키와 아들의 키 사이의 관계를 조사한 결과, 키가 큰 아버지를 둔 아들은 아버지보단 키가 작고, 키가 작은 아버지를 둔 아들은 아버지보다 키가 커진다는 것을 발견했다. 즉 세대가 거듭할 수록 평균과 가까워진다는 것이다. (만약 반대였다면, 세상에는 키가 극단적으로 크거나 극단적으로 작은 사람들이 대부분이었을것이다.) 

파란선이 기울기가 1인 선이라고 했을 때, 관찰결과는 직선의 기울기가 1보다 작은 주황선으로 나온 것. 

따라서 아버지의 키와 아들의 키가 같은 점을 기준으로 오른쪽은 키가 큰 아버지를 둔 아들이 아버지보다 키가 작다는 것을, 왼쪽에서키가 키가 작은 아버지를 둔 아들은 키가 커지는 것이다. 이렇게 되면 키는 세대를 거치면 평균에 접근해간다는 것이다. 

 

따라서 정리하자면,

  • 회귀분석의 단어적 의미는 '평균으로 돌아가려는 경향'이 있다는 가설에 대한 분석 방법
  • 회귀분석의 기능적 의미는 '변수간의 함수 관계'를 파악하여 어떤 현상을 예측하고 설명하는 분석 방법

이다. 

 

❕ 선형모형에서 '선형성(Linearity)'이란 변수간에 일차식 관계를 말하는게 아니다 ❕ 

아래 식 중에 선형모형인 식은 몇 개나 될까 ?

2학년 2학기 회귀분석 전공 첫 시간에 이 질문을 받았을 때, 나는 1번뿐이라고 생각했었다. (그리고 사실 방금도 헷갈렸다) 하지만, 2번(non-linear)을 제외하고 모두가 선형 모델이라는 사실 😏🤩  

 

'선형성'이란, 흔히들 독립 변수(x)와 종속 변수(y) 간의 관계가 일차식(직선, 1차함수)으로 표현되는 것이라고 이해하고 있을텐데 100% 맞다고 볼 수 없다. 확실하게 말하자면, '회귀 계수(regression coefficient)' / 또는 '모수'를 선형 결합으로 표현할 수 있는지를 말한다. 일반적으로 Y=b_0 + b_1*X로 표현되는데 이때 우리가 추정할 대상인 파라미터 b_0 와 b_1에 대하여 선형인 =  모수에 대하여 선형인 모형을 선형 모형이라고 한다.  

=> 회귀계수 βj, 즉 모수들의 선형관계로 해석하면 편하다 

=> 따라서 1번 식은 X에 대해 Y가 선형회귀한다고 볼 수 있고,

     2번을 제외한 모든 식은 선형모형이라고 볼 수 있다. 

 

좀 더 깊게 들어가자면 선형 모형식을 벡터를 사용해 Y=f(X,β)+ε 라고 생각했을 때, 

회귀식 f(X,β) 속 각 βj에 대해 편미분한 ∂f/∂βj 식안에 다른 회귀 계수가 포함하지 않으면 회귀식 f(X,β)를 모수 βj에 대해 선형이라 한다. 그리고 회귀식 f(X,β)가 모든 βj들에 대해 선형이면 이를 선형 모형이라 한다. 

=>  모든 회귀 계수(βj) 각각에 대해 편미분한 결과에 다른 회귀계수를 포함하지 않으면 선형모형이다. 

 

+ 추가로 위 식들에 부연 설명을 덧붙이자면 회귀분석의 종류에는

  • 독립변수의 개수에 따라 => 단순회귀분석(simple linear regression) / 다중회귀분석(multiple linear regression)
  • 더미(범주형)변수의 유무에 따라 => 일반회귀분석/더미변수를 이용한 회귀분석
  • 선형성 유무에 따라 => 선형 회귀분석/비선형 회귀분석

로 다양하다. 

 

❕ 손실(MSE, MAE 등)을 줄이자 ❕ 

 

 위 그림에서 빨간 점들은 실제 관측값이고, 분홍 선은 회귀선이라고 했을 때, 빨간 관측값(y_i)와 회귀선에 놓인 예측값(y^hat)의 차이를 잔차라고 한다. 그리고 좋은 회귀모형은 이 잔차를 최소화하는 모형이다. 

선형 회귀에서는 이 잔차들을 -> 잔차의 절대값을 더하거나(MAE, Mean Absolute Error), 잔차의 제곱합 형식(RSS, Residual Sum of Square) 등과 같이 손실함수로 나타내 이들을 최소화하는 방향을 찾는다. 특히 머신러닝에서는 RSS 방식의 평균 제곱 오차(MSE, Mean Squared Error)를 주로 사용해서 MSE라는 loss function(=cost function)을 최소화시키기 위한 파라미터(모수)를 알아내는 것을 목표로 한다. 

 

 

그리고 이때 RSS(잔차의 제곱합)를 최소화하여 파라미터 값을 추정하는 방식을 OLS, 최소제곱법이라고 한다. 

여기서 얻어낸 우리의 최소제곱추정량 LSE(Least Square Estimator)은 손실을 가장 최소화한(=즉, 예측값이 실제 값과 매우 유사해지는)추정량이 되겠다. b_0hat, b_1hat식으로 표현되는 애들을 말한다. 

그리고 그 최솟값은 각각의 회귀계수 βj에 대해서 각각 편미분한 값이 0이 되는 지점일 것이다. 

❕ 만약 선형회귀모형이 정규분포를 갖는다면 LSE 랑 MLE가 같다 ❕ 

LSE는 선형결합일 때, 관측값과 예측값 사이의 오차가 가장 적은 선형 해를 구하는 것인데,

만약 선형모형이 표준정규분포 ~N(0,1) 를 따른다고 하면 

마지막에 로그를 취한 결과, 위에서 LSE(loss function, 오차가 최소가 되는 추정값)와 MLE(likelihood우도함수가 최대가 되는 추정값)가 같게 나온다는 것을 알 수 있다. 

* 여기서 likelihood란 특정 분포를 따르는 x값들을 우리가 알고 있을 때, 우리가 모르는 모수를 추정하기 위한 함수이다. 그리고 mle는 given X들을 바탕으로 모수의 추정치로서 가능성이 가장 높은 값을 최종 추정치로 선택하는 방법이다. 즉 모수에 가까운 추정치를 선택할 가능성을 최대로 만드는 방법이다. 우도함수가 최대일 때 최적의 모수를 찾았다고 한다. 

 

따라서 RSS를 최소화하는 LSE의 개념은 MLE에서부터 온 것이라 볼 수 있다. 

LSE는 MLE에 포함되는 개념이다.