선형 회귀분석에서 회귀 계수(모수) 추정하는 방법 : 최소제곱법, 최소자승법
Linear Regression은 x(독립변수)로 y(종속변수)를 가장 잘 설명할 수 있는 선형식을 찾아 y값을 예측할 수 있는 모델을 만드는 기법이다.
x변수의 갯수가 n개라 할 때 추정되는 선형식은 다음과같다.
$$\hat{y}=\beta_0+\beta_1x_1+\beta_2x_2+...+\beta_nx_n$$
이 때 저 $\beta$들을 회귀 계수라 부르며, 이를 추정하는 방법을 최소제곱법(=최소자승법=Least Square Method)이라 한다.
최소제곱법의 기본 원리는 잔차(관측값과 예측값의 차이) 제곱 합을 최소화 하는 회귀계수를 찾는 것이다.
$x$변수가 1개인 단순 선형 회귀라 가정 할 때 아래 식을 최소화하는 $\beta$를 찾으면 된다.
$$\sum(y-\hat{y})^2=\sum(y-(\beta_0+\beta_1x_1))^2$$
그냥 더하는게 아니라 제곱을 해서 더하는 이유는 어떤 잔차는 0보다 크고, 어떤 잔차는 0보다 작을 텐데 이를 그냥 다 더해버리면 오히려 0에 가까운 값이 나올 수도 있기 때문이다.
2차식에서 최솟값은 미분해서 0이되는 값이다.
예를 들어
$y=x^2$ 에서 $y$를 최소화시키는 $x$값은 위의 식을 $x$로 미분해서 0이되는 값을 찾는것이다.
즉, 기울기가 0이되는 값이 최솟값이다.
이 원리 그대로
$$\sum(y-\hat{y})^2=\sum(y-(\beta_0+\beta_1x_1))^2$$
식이 최솟값이 되는 $\beta_0$와 $\beta_1$을 찾으려면 먼저 $\beta_0$에 대해 편미분 해서 위의 식이 0이되는 $\beta_0$값을 찾고, 다음으로 $\beta_1$으로 편미분해서 위의 식이 0이되는 $\beta_1$값을 찾으면 된다.
1. $\beta_0$
위의 식을 $\beta_0$로 편미분하면
$\frac{\sum_{i=0}^{n-1}(y_i-(\beta_0+\beta_1x_i))^2}{\partial \beta_0}$
$=\sum_{i=0}^{n-1}-2(y_i-(\beta_0+\beta_1x_i))$
$=-2\sum_{i=0}^{n-1}(y_i-\beta_0-\beta_1x_i)$
이다.
이 식이 0이 되도록 다음 식을 풀면
$\sum_{i=0}^{n-1}(y_i-\beta_0-\beta_1x_i)=0$
-> $\sum_{i=0}^{n-1}y_i=n\beta_0+\beta_1\sum_{i=0}^{n-1}x_i$
이다.
양 변을 n으로 나누면
$\bar{y}=\beta_0+\beta1\bar{x}$
가 되며, 이를 $\beta_0$에 대해 정리하면
$$\beta_0=\bar{y}-\beta_1\bar{x}$$
가 된다.
2. $\beta_1$
이번엔 $\beta_1$에 대해 편미분하면
$\frac{\sum_{i=0}^{n-1}(y_i-(\beta_0+\beta_1x_i))^2}{\partial \beta_1}$
$=\sum_{i=0}^{n-1}2(y_i-(\beta_0+\beta_1x_i))(-x_i)$
$=-2\sum_{i=0}^{n-1}x_i(y_i-\beta_0-\beta_1x_i)$
이 식이 0이 되도록 다음 식을 풀면
$\sum_{i=0}^{n-1}x_iy_i=\beta_0\sum_{i=0}^{n-1}x_i+\beta_1\sum_{i=0}^{n-1}x^2$
이다.
이 식에 위에서 구한 $\beta_0=\bar{y}-\beta_1\bar{x}$ 를 대입하면
$\sum_{i=0}^{n-1}x_iy_i=(\bar{y}-\beta_1\bar{x})\sum_{i=0}^{n-1}x_i+\beta_1\sum_{i=0}^{n-1}x_i^2=\bar{y}\sum x_i-\beta_1\bar{x}\sum x_i+\beta_1\sum x_i^2$
이다.
$\sum x_i = n\bar{x}$ 이므로 대입하면
$\sum x_iy_i=n\bar{y}\bar{x}-\beta_1n\bar{x}^2+\beta_1\sum x_i^2$
를 $\beta_1$에 대해 풀면
$\beta1(\sum x_i^2-n\bar{x}^2)=\sum x_iy_i-n\bar{y}\bar{x}$
-> $\beta_1=\frac{\sum x_iy_i-n\bar{y}\bar{x}}{\sum x_i^2-n\bar{x}^2}$
이다.
분자, 분모를 모두 $n-1$로 나누면
$$\beta_1=\frac{\sum(x_i-\bar{x})(y_i-\bar{y})}{\sum(x_i-\bar{x})^2}$$
가 된다.
이렇게 계산한 $\beta_1$을 다시 위에 $\beta_0=\bar{y}-\beta_1\bar{x}$ 식에 대입하면 $\beta_0$값도 추정할 수 있다.
'AI > Regression_Classification' 카테고리의 다른 글
Linear Regression 기본 가정 네가지 :: 선형성, 다중공선성, 등분산성, 정규성 (3) | 2024.09.02 |
---|---|
로지스틱 회귀분석이란? What is Logistic Regression? (2) | 2020.03.27 |