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

신현호·2022년 4월 30일

Machine Learning

목록 보기
3/8

지난 포스팅에서는 회귀계수와 상관계수 사이의 관계를 알아보았습니다.
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=∑(yi−yˉ)2\qquad SST = \sum{(y_i - \bar{y})^2}

SSR=∑(yi−yi^)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 에서 SSRSSR 과 SSESSE 를 모두 뺀 후 이것이 0이 되는 것을 확인하는 방식으로 진행됩니다.
위에서 언급한 대로 yi^\hat{y_i}이 최소제곱법으로 구한 선형회귀모델의 yiy_i의 예측값이라는 조건이 필요합니다.

SST−SSR−SSE\qquad SST - SSR - SSE

=∑(yi−yˉ)2−∑(yi−yi^)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}

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

=∑{(yi2−2yiyˉ+yˉ2)−(yi2−2yiyi^+yi^2)−(yi^2−2yi^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^2−2yiyˉ+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^2−yiyi^+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ˉ(yi−yi^)}\qquad = \sum{ \{ \hat{y_i}(\hat{y_i} - y_i) + \bar{y}(y_i - \hat{y_i}) \} }

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

=∑yi^(yi^−yi)+yˉ∑(yi−yi^)\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}}

⇒∑(yi−yi^)=0\qquad \Rightarrow \sum{(y_i - \hat{y_i})} = 0

따라서 yˉ∑(yi−yi^)\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)}

=β0∑ei+β1∑xiei\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이라는 것을 보였으므로

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

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

=β1∑xi(β0+β1xi−yi)\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
수학요정니모

1개의 댓글

comment-user-thumbnail
2026년 1월 26일

데이터 강의 들을 때 그냥 넘어가서 궁금했었는데 이렇게 증명하는군요! 자세히 설명해주셔서 도움이 되었습니다 ㅎㅎ

답글 달기