소프트웨어 공부/수학

선형 회귀 모델(linear regression model)

야곰야곰+책벌레 2021. 10. 19. 16:28
728x90
반응형

  통계학에서 선형 회귀(linear regression)는 종속 변수 y와 한 개 이상의 독립 변수 (또는 설명 변수) x와의 선형 상관관계를 모델링하는 회귀분석 기법이다. 한 개의 설명 변수에 기반한 경우에는 단순 선형 회귀(simple linear regression), 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀라고 한다.

 

  선형 회귀는 선형 예측 함수를 사용해 회귀식을 모델링하며, 알려지지 않은 파라미터는 데이터로부터 추정한다. 이렇게 만들어진 회귀식을 선형 모델이라고 한다.

선형 회귀 모델 이해

  데이터의 개수가 많아지면 모든 점을 동시에 지나가는 직선을 하나로 정하기는 어려워진다. 이 경우, 좌표평면 위에 표현된 데이터를 바탕으로 데이터 간의 관계를 가장 잘 대표할 수 있는 직선의 함수를 찾는데, 이것이 바로 선형 회귀이다. 선형 회귀 과정은 입력 변수와 출력 변수 사이의 관계를 직선으로 나타낼 수 있는 함수의 y절편과 기울기를 찾아가는 과정이라고 볼 수 있다. 선형 회귀를 통해 얻게 되는 일차식의 꼴을 갖는 함수 f를 선형 회귀 모델이라고 한다.

  우리가 가진 데이터는 좌표평면 위에 순서쌍 (X, Y)로 표현할 수 있다. 모든 점을 지나는 직선 f가 존재한다면 가장 이상적인 선형회귀 모델이 될 것이다. 그러나 현실적으로 불가능하므로, 우리는 가장 좋은 직선을 찾아야 한다.


평균제곱근오차(RMSE)

  여러 데이터에서 입력 변수 X와 출력 변수 Y의 관계를 가장 잘 표현하는 직선의 기울기와 Y 절편을 찾는 기준은 무엇일까? 좋은 직선, 즉 좋은 선형 회귀 모델 f는 입력 변수에 따른 출력 변수의 예측값이 f(X)가 실제 출력 값 Y에 가장 가까운 값이 되도록 하는 모델이라고 할 수 있다. 따라서 입력 변수에 따른 출력 변수의 예측값 f(X)와 실제 출력값 Y의 차이를 가장 작게 만드는 직선을 찾는 것이 중요하다.

  예를 들어, 위의 표와 같은 데이터가 주어졌다고 하면, 많지 않은 데이터지만 모든 순서쌍(X, Y)을 지나는 직선을 찾는 것은 쉬운 일이 아니다. 따라서 표의 데이터를 바탕으로 만든 선형 회귀 모델 f₁(X)=2X+5가 오른쪽 표의 데이터를 잘 나타내는지 평가해보자. 첫 번째 데이터를 예를 들면 아래와 같다.

 

오차 = 실제값(Y) - 예측값(f₁(X)) = 16 - (2 x 5 + 5) = 1

 

  같은 방법으로 다른 데이터로 계산해볼 수 있다.

  위의 표를 보면 직선은 네 점을 동시에 지나가지 않지만 꽤 근접하게 지나갈 수 있음을 예상할 수 있다. 이때, 오차들의 합을 살펴보면 1 + (-2) + (-4) + 5 = 0이 되므로, 가장 좋은 직선을 찾아내는 기준을 오차들의 합이 0이 되는 것으로 두어도 될까? 하지만 선형 회귀 모델을 f₃(X) = -2X+55로 두어도 오차들의 합은 0이 되는 것을 확인할 수 있다.

  단순히 오차의 합을 구하게 되면 부호가 반대인 오차들끼리 서로 상쇄될 수 있다는 문제점이 발생한다. 이를 해결하기 위해서 평균제곱근오차를 사용하게 된다. 평균제곱근오차는 오차들의 제곱들의 평균을 구한 후, 이 값의 제곱근을 계산한 것이다.

  평균제곱근오차와 같이 좋은 직선을 찾기 위해 크기를 최소화해야 하는 값에 대한 함수를 선형 회귀 모델의 비용함수(Cost Function)라고 한다.

이때, B0는 선형회귀 모델 f의 y절편, B1은 선형회귀 모델 f의 기울기를 의미한다.

따라서 좋은 직선을 찾는다는 것은 선형회귀 모델 f에 따른 예측값(f(X))과 실제 출력 값(Y)의 평균제곱근오차가 최소가 되도록 하는 두 수 B0, B1을 구하는 것이다.

최소제곱법(LSM)

  평균제곱근오차가 가장 작은 선형 회귀 모델은 어떻게 찾을 수 있을까? 증가함수의 성질에 의해 평균제곱근오차가 최소이면 ((오차) ²들의 합)이 최소가 되어야 한다. 따라서 ((오차)²들의 합)이 최소가 되는 선형회귀 모델을 찾으면 된다. 선형회귀 모델 f를 찾는다는 것은 f(X)=B1X + B0의 기울기 B1과 y절편 B0를 구하는 것과 같다. 이렇게 실제 데이터 선형회귀 모델식에 의한 데이터 사이의 ((오차)²들의 합)을 최소화하여 평균제곱근오차를 최소화하고, 실제 데이터의 분포를 가장 잘 나타내는 선형 회귀 모델을 구하는 방법을 최소제곱법이라고 한다.

728x90
반응형

'소프트웨어 공부 > 수학' 카테고리의 다른 글

회전 행렬 유도  (0) 2023.11.01
베르누이 확률분포 (bernoulli distribution)  (0) 2021.10.25
상관 분석(Correlation analysis)  (0) 2021.10.19