[단순선형회귀] SST = SSR + SSE 성립 조건과 증명

신현호·2022년 4월 30일
2

Machine Learning

목록 보기
3/8
post-custom-banner

지난 포스팅에서는 회귀계수와 상관계수 사이의 관계를 알아보았습니다.
https://velog.io/@shh0422/%EB%8B%A8%EC%88%9C%EC%84%A0%ED%98%95%ED%9A%8C%EA%B7%80-%ED%9A%8C%EA%B7%80%EA%B3%84%EC%88%98%EC%99%80-%EC%83%81%EA%B4%80%EA%B3%84%EC%88%98%EC%9D%98-%EA%B4%80%EA%B3%84

이번 포스팅부터는 회귀모델의 평가지표인 R2R^2 과 상관계수 rr 사이의 관계를 알아보겠습니다.

하지만 그 전에 다음 공식을 먼저 이해해야 합니다.

SST=SSR+SSE\qquad SST = SSR + SSE


SST,SSR,SSESST, SSR, SSE 란?

ii번째 실제값을 yi,y_i, ii번째 예측값을 yi^,\hat{y_i}, yiy_i들의 평균을 yˉ\bar{y} 라고 표현했을 때,

SST=(yiyˉ)2\qquad SST = \sum{(y_i - \bar{y})^2}

SSR=(yiyi^)2\qquad SSR = \sum{(y_i - \hat{y_i})^2}

SSE=(yi^yˉ)2\qquad SSE = \sum{(\hat{y_i} - \bar{y})^2}

입니다. (책마다 SSR,SSESSR, SSE 를 서로 바꾸어 쓰는 경우도 있으니 주의)

각 값의 의미를 살펴보면 다음과 같습니다.

SSTSST : (실제값 - 평균)2^2 의 합   \space \rightarrow \space 실제값의 분산과 유사
SSRSSR : (실제값 - 예측값)2^2 의 합   \space \rightarrow \space 잔차의 분산과 유사
SSESSE : (예측값 - 평균)2^2 의 합   \space \rightarrow \space 예측값의 분산과 유사(예측값의 평균이 실제값의 평균과 같다는 가정 하에)

각 값의 의미를 조금 더 직관적으로 설명해보고 싶었으나 아직 좋은 설명을 찾지 못했습니다. 혹시 좋은 설명을 알고 계신분은 댓글로 달아주세요

여기서는 SST=SSR+SSESST = SSR + SSE 를 증명해볼 건데요. 식의 형태를 봤을 때 전혀 성립할 것 같지가 않은 등식입니다.
당연히 일반적인 상황에서는 성립하지 않고 특수한 상황에서만 성립합니다.

특수한 상황의 대표주자가 바로

yi^\hat{y_i}이 최소제곱법으로 구한 선형회귀모델의 yiy_i의 예측값일 때

인데요. 지금부터 증명을 시작해보도록 하겠습니다.


SST=SSR+SSESST = SSR + SSE 증명

증명은 SSTSST 에서 SSRSSRSSESSE 를 모두 뺀 후 이것이 0이 되는 것을 확인하는 방식으로 진행됩니다.
위에서 언급한 대로 yi^\hat{y_i}이 최소제곱법으로 구한 선형회귀모델의 yiy_i의 예측값이라는 조건이 필요합니다.

SSTSSRSSE\qquad SST - SSR - SSE

=(yiyˉ)2(yiyi^)2(yi^yˉ)2\qquad = \sum{(y_i - \bar{y})^2} - \sum{(y_i - \hat{y_i})^2} - \sum{(\hat{y_i} - \bar{y})^2}

=(yiyˉ)2(yiyi^)2(yi^yˉ)2\qquad = \sum{(y_i - \bar{y})^2 - (y_i - \hat{y_i})^2 - (\hat{y_i} - \bar{y})^2}

={(yi22yiyˉ+yˉ2)(yi22yiyi^+yi^2)(yi^22yi^yˉ+yˉ2)}\qquad = \sum{ \{ (y_i^2 - 2y_i\bar{y} + \bar{y}^2 ) - (y_i^2 - 2y_i\hat{y_i} + \hat{y_i}^2) - (\hat{y_i}^2 - 2\hat{y_i}\bar{y} + \bar{y}^2) } \}

=(2yi^22yiyˉ+2yiyi^+2yi^yˉ)\qquad = \sum{(-2\hat{y_i}^2 - 2y_i\bar{y} + 2y_i\hat{y_i} + 2\hat{y_i}\bar{y})}

이것이 0인지 여부가 중요하므로 식을 -2로 나누어도 상관없겠죠?

(yi^2+yiyˉyiyi^yi^yˉ)\qquad \sum{(\hat{y_i}^2 + y_i\bar{y} - y_i\hat{y_i} - \hat{y_i}\bar{y})}

=(yi^2yiyi^+yiyˉyi^yˉ)\qquad = \sum{(\hat{y_i}^2 - y_i\hat{y_i} + y_i\bar{y} - \hat{y_i}\bar{y})}

={yi^(yi^yi)+yˉ(yiyi^)}\qquad = \sum{ \{ \hat{y_i}(\hat{y_i} - y_i) + \bar{y}(y_i - \hat{y_i}) \} }

=yi^(yi^yi)+yˉ(yiyi^)\qquad = \sum{\hat{y_i}(\hat{y_i} - y_i)} + \sum{\bar{y}(y_i - \hat{y_i})}

=yi^(yi^yi)+yˉ(yiyi^)\qquad = \sum{\hat{y_i}(\hat{y_i} - y_i)} + \bar{y}\sum{(y_i - \hat{y_i})}

두 항의 합으로 정리가 되는데요, 결과를 먼저 말씀드리면 두 항 모두 0이 되어 더한 것도 0이 됩니다.

먼저 뒤의 항이 0이 되는 것부터 증명해보겠습니다.

여기가 바로 yi^\hat{y_i}이 최소제곱법으로 구한 선형회귀모델의 yiy_i의 예측값이라는 조건이 등장할 타이밍입니다.

이 조건 아래에서는 실제값들의 평균과 예측값들의 평균이 서로 같아집니다.

즉, 다음이 성립합니다.

yin=yi^n\qquad \dfrac{\sum{y_i}}{n} = \dfrac{\sum{\hat{y_i}}}{n}

yi=yi^\qquad \Rightarrow \sum{y_i} = \sum{\hat{y_i}}

(yiyi^)=0\qquad \Rightarrow \sum{(y_i - \hat{y_i})} = 0

따라서 yˉ(yiyi^)\bar{y}\sum{(y_i - \hat{y_i})}의 값도 0이 됩니다.


이제 yi^(yi^yi)\sum{\hat{y_i}(\hat{y_i} - y_i)} 이 0이 되는 것만 보이면 증명이 마무리됩니다.

yi^yi=ei\hat{y_i} - y_i = e_i 로 바꾸어쓰면

yi^(yi^yi)\qquad \sum{\hat{y_i}(\hat{y_i} - y_i)}

=yi^ei\qquad = \sum{\hat{y_i}e_i}

yi^=β0+β1xi\hat{y_i} = \beta_0 + \beta_1x_i 로 바꾸어쓰면

=(β0+β1xi)ei\qquad = \sum{(\beta_0 + \beta_1x_i)e_i}

=(β0ei+β1xiei)\qquad = \sum{(\beta_0e_i + \beta_1x_ie_i)}

=β0ei+β1xiei\qquad = \beta_0\sum{e_i} + \beta_1\sum{x_ie_i}

위에서 실제값과 예측값의 평균이 같다는 사실로부터 ei=(yi^yi)=0\sum{e_i} = \sum{(\hat{y_i} - y_i)} = 0이라는 것을 보였으므로

=β1xiei\qquad = \beta_1\sum{x_ie_i}

다시 ei=yi^yi=β0+β1xiyie_i = \hat{y_i} - y_i = \beta_0 + \beta_1x_i - y_i 로 풀어쓰면

=β1xi(β0+β1xiyi)\qquad = \beta_1\sum{x_i(\beta_0 + \beta_1x_i - y_i)}

=β1(xiyi+β0xi+β1xi2)\qquad = \beta_1\sum{(-x_iy_i + \beta_0x_i + \beta_1x_i^2)}

=β1(xiyiβ0xiβ1xi2)\qquad = -\beta_1\sum{(x_iy_i - \beta_0x_i - \beta_1x_i^2)}

식이 매우 복잡합니다. 그런데 이런 형태의 식을 어디서 본 것 같지 않나요?

바로 β0,β1\beta_0, \beta_1 의 값을 구하기 위해 세웠던 정규방정식에서 봤었죠...!

우리는 잔차 제곱의 합

(yiβ0β1xi)2\qquad \sum(y_i - \beta_0 - \beta_1x_i)^2

을 최소로 만드는 β0,β1\beta_0, \beta_1 의 값을 찾기 위해 잔차 제곱의 합을 각각 β0,β1\beta_0, \beta_1 로 편미분한 식을 0으로 놓고 풀었죠.

현재 값이 0인지 궁금한 식

(xiyiβ0xiβ1xi2)\qquad \sum{(x_iy_i - \beta_0x_i - \beta_1x_i^2)}

은 잔차 제곱의 합을 β1\beta_1 로 편미분했을 때 등장한 형태였습니다.

따라서 이 식의 값은 0이 됩니다.


다음 포스팅에서는 본격적으로 결정계수 R2R^2 과 상관계수 rr 사이의 관계를 알아보겠습니다.

감사합니다.


다음 포스팅
https://velog.io/@shh0422/%EB%8B%A8%EC%88%9C%EC%84%A0%ED%98%95%ED%9A%8C%EA%B7%80-%EA%B2%B0%EC%A0%95%EA%B3%84%EC%88%98-%EC%83%81%EA%B4%80%EA%B3%84%EC%88%982-%EC%A6%9D%EB%AA%85

profile
수학요정니모
post-custom-banner

0개의 댓글