열렬히.뛰기

2. 단순회귀 (1)

수학 & 통계 > 회귀분석 > 회귀분석 : 코드 > 2. 단순회귀 (1)

단순회귀모형

단순회귀모형의 공식은 다음과 같다.

Y = \beta_0 + \beta_1x_i + \epsilon_, \quad \epsilon \sim N(0, \sigma^2)

이때 우리가 추정하고 싶은 변수는 \beta_0\beta_1이라고 할 수 있다.

근데 왜 이게 분포와 관련이 있지? 생긴 것은 전혀 분포가 아닌데..

→ 정규분포의 선형성 때문에 이 모형 자체가 정규분포라고 할 수 있다.

Y_i | x_i \sim N(\beta_0 + \beta_1x_{i~,} \sigma^2) \\[10pt] E(Y_i | x_i) = \beta_0 + \beta_1x_i \\[5pt] Var(Y_i | x_i) = \sigma^2

각 항의 역할

Y : 확률변수. 우리의 목표라고 할 수 있다.

x : 관측값. 표본수집을 통해 알 수 있는 값들이다.

\beta_i : 회귀계수. 관측값들의 영향력을 알 수 있다.

\epsilon : beta항으로 설명하지 못하는 부분.

  • 단순회귀모형에서는 정규분포로 가정한다. (당연하지만, 가정일 뿐이다.)
  • beta항이 많아질수록 error term이 설명하는 부분은 줄어든다.

회귀계수의 추정

그럼, 인제 어떻게 \beta_0\beta_1을 추정하는지 생각해보자.

SSE, 에러의 합

  • sum of squared error의 약자이다.
  • 우리는 에러들을 전부 더한 다음, 부호를 없애주기 위해 제곱을 한다.
  • \beta를 추정한다는 것은 곧 에러를 최대한 줄이겠다는 의미라고 받아들이자.
\sum_i {\epsilon_i}^2 = \sum_i (Y_i - \{\beta_0 + \beta_1x_1\})^2

이걸 줄이는 방법은 간단하다. 편미분을 하면 된다.

단 편미분 시, beta항 만을 미분하므로 이를 SSE(\beta_0, \beta_1) 이라고 할 수 있다.

우리는 이 방법으로 beta항을 추정하는 것을 최소제곱법(least square)이라고 한다.

회귀계수의 추정량

이렇게 구한 beta의 추정량은 다음과 같다.

\begin{align*} \hat{\beta_0} &= \bar{y} - \hat{\beta_1}\bar{x} \\[10pt] \hat{\beta_1} &= \frac {\sum_i(x_i - \bar{x})(y_i - \bar{y})} {\sum_i(x_i - \bar{x})^2} \end{align*}

최소제곱법의 특징

최소제곱법과 mle

결론적으로 말하자면, 둘의 결과는 같다.

f(Y|x) = \frac{1}{\sqrt{2\pi\sigma^2}}

이때의 가능도 함수는 다음과 같다.

\begin{align*} L(y|x,\underline{\theta}) &= {f(y_{i~,}x_i)}^n \\[10pt] &= \bigg(\frac{1}{\sqrt{2\pi\sigma^2}} \bigg)^n \exp \left\{ -\frac{1}{2\sigma^2} \sum_{i=1}^n \Big( y_i - (\beta_0 + \beta_1x_i)^2 \Big) \right\} \end{align*}

자연로그를 취해보면…

l(Y|\underline{\theta}) = c - \frac{1}{2\sigma^2} \sum_{i=1}^n \Big( y_i - (\beta_0 + \beta_1x_i)^2 \Big) = 0

이를 인제 \beta_0\beta_1로 편미분하고, 이 값이 0이라고 놓고 풀면 된다.

  • least square는 error term을 최소화 하는 것에 목표를 두고 있음.
  • mle는 log-likelihood function를 최대화 하는 것에 목표를 두고 있음.

그런데, 생각해보면 log-likelihood function에서 베타가 들어간 부분은 최소제곱법에서의 error term에 {2\pi\sigma^2}를 나눴다는 것을 알 수 있다.

결과적으로 둘은 같은 결과를 도출할 수밖에 없다.

SSE의 확장: 손실함수

beta항을 구하는 방법이 SSE만 있는 것은 아니다.

우리는 SSE를 일반화할 수 있고, 이를 손실함수라고 한다. (에러를 손실로 생각했다고 보면 된다)

대표적으로, 제곱 대신 절댓값을 씌운 SAD도 생각해 볼 수 있다.

L(\beta_{0~,}~\beta_1) = \sum_{i=1}^{n}~ \big| Y_i - (\beta_0 + \beta_1x_i)\big|

또, 가중치(weight)를 넣어서 표본의 편향성(bias)를 줄인 것도 생각해볼 수 있다.

L(\beta_{0~,}~\beta_1) = \sum_{i=1}^{n}~ w_i \cdot \big\{ Y_i - (\beta_0 + \beta_1x_i)\big\}^2

그럼에도, 우리는 대표적인 손실함수로 SSE 기반의 least square을 쓴다. 왜?

최소제곱법의 장점

  1. 닫힌 함수이다 = 실수 전 영역에서 미분이 된다.
  2. error term이 정규분포를 띈다. 선형성을 가지고 있기 때문에 변수변환이 쉽다.
  3. 위의 결과에서도 알 수 있듯이, 최소제곱법은 MLE의 변형으로 생각할 수 있다. 통계에는 여러 추정법이 존재하지만, 그 중에서도 MLE는 여러가지 좋은 성질을 보유하고 있다.
    1. MLE로 추정한 모수는 점근적으로 정규분포를 따른다.
    2. 대부분의 가설검정은 정규분포 기반이기 때문에, 이를 적용하기 쉽다.