이 글은
2022.05.11 - [수학의 재미] - 트렌드 직선의 비밀(선형회귀) #2
ㅏ에서 이어집니다. 잠깐 복습을 하면 $n$개의 데이터 $(x_1,y_1),\cdots, (x_n,y_n)$ 의 트렌드를 잘 설명하는 직선을 $y=ax+b$ 라 했을 때,
$$
\begin{align}
\sum_{i=1}^n x_i(y_i-(ax_i+b)) & =0 \tag{1} \\
\sum_{i=1}^n (y_i - (ax_i+b)) & =0 \tag{2}
\end{align}
$$
를 만족하는 기울기 $a$와 $y$절편 $b$를 찾으면 된다고 했고, 찾은 값은
$$
\begin{align}
a &= \frac{\rm{COV}(X,Y)}{\mathbb{V}(X)} \tag{3}\\
b & =\mathbb{E}(Y)-a\mathbb{E}(X) \tag{4}
\end{align}
$$
이었습니다.
각각의 $i$에 대해, $p_i = ax_i+b$ 라고 씁시다. 관찰된 값은 $y_i$지만, 추세선에 따라 예측되는 값이 $p_i$라는 뜻이고 prediction의 약자인 $p$를 기호로 쓰는 것입니다. 그림으로 표시하면 아래와 같습니다.
당연하게도 현실적으로 이 추세선 위에 모든 관측값이 있을 수는 없으므로 $p_i$와 $y_i$에는 차이가 납니다. 우리는 이 차이의 제곱의 합이 최소가 되게끔 직선을 찾았습니다. 즉,
$$ \sum_{i=1}^n (y_i -p_i)^2 \tag{5}$$
은 추세선과 관측값의 거리함수가 최소가 되게 찾은 것으로서, 이 값을 잔차(Residue)의 제곱합이라 부릅니다.
그런데 이 잔차 제곱의 합이 숫자로서 의미가 있을까요?
즉, 어떤 데이터셋에 대해서는 10 이 나오고, 다른 데이터셋에서는 100 이 나왔다고 했을 때, 그럼 무조건 10 나온 데이터셋이 더 설명이 잘 된 걸까요? 예컨대, 다음의 두 데이터
- 나이 vs 몸무게
- 나이 vs 연봉
이 두 데이터셋에 각각 추세선을 구해서 잔차를 계산해 본다 칩시다. 몸무게의 잔차를 따지면 기껏해야 두자리 수일거고 연봉의 잔치는 몇백, 몇천만원이 될 수도 있습니다. 그렇다고 해서 기껏해야 두 자리의 잔차를 가지는 나이vs몸무게가 분석이 항상 정확하다 라는 논리는 당연히 성립하지 않겠죠? 즉 어떤 기준을 설정하고 그 기준 대비 이 잔차제곱합이 얼만큼 최소인지 따지는 분석이 필요한 것입니다.
통계를 구하는 변수가 있을 때, 기준 역할을 할 수 있는 대표 통계량 두 가지가 있습니다. 바로 평균과 분산입니다. 그럼 이제$y_i$와 $p_i$의 평균부터 살펴봅시다.
- 평균 구하기
수식 (4)에 의하면,
$$\mathbb{E}(Y) = a\mathbb{E}(X) + b = \mathbb{E}(aX+b) = \mathbb{E}(P) $$
를 만족합니다(여기서, $P$는 예측값 $p_1,\cdots,p_n$을 대표하는 변수이름입니다.)
신기하네요. 관측값($Y$)와 추세선에 의한 예측값($P$) 의 평균은 똑같습니다.
- 분산 구하기
$Y$의 분산식은 다음과 같습니다. $Y$의 평균을 $m$이라 표기하면,
$$ \mathbb{V}(Y) = \frac1n\sum_{i=1}^n(y_i-m)^2 $$
인데 계산의 편의상, $\frac1n$은 생략하고 합계만 생각해보도록 합시다.
$$
\begin{align}
\sum_{i=1}^n(y_i-m)^2 & = \sum (y_i-p_i+p_i-m)^2 \\
& = \sum(y_i-p_i)^2 + 2\sum(y_i-p_i)(p_i-m) + \sum(p_i-m)^2 \tag{6}
\end{align}
$$
수식 (6)의 중간항을 볼까요? 중간항을 더 정리해보면 아래와 같습니다.
$$
\begin{align}
\sum(y_i-p_i)(p_i-m) &= \sum(y_i-p_i)p_i - m\sum(y_i-p_i) \\
& = \sum(y_i-p_i)p_i (\because (3)) \\
& = \sum(y_i-p_i)(ax_i+b) \\
& = a\sum ax_i(y_i-p_i) + b\sum(y_i-p_i)\\
& = 0 (\because (1),(2))
\end{align}
$$
따라서 식 (6)은 다음과 같이 간결하게 정리됩니다.
$$\sum_{i=1}^n(y_i-m)^2 = \sum_{i=}^n(y_i-p_i)^2 + \sum_{i=1}^n(p_i-m)^2 \tag{7}$$
이제 준비가 다 되었습니다. 만일 추세선($P$)이 기존의 데이터 $Y$를 아주 잘 설명한다, 다시 말해 기존 데이터 점들에서 추세선 근처에서 모두 모여 있으면 수학적으로 어떻게 될까요? $P$와 $Y$의 분산이 거의 차이가 없을 것입니다. 혹은 다른 말로 잔차 제곱의 합이 아주 작아지겠죠. 지루하더라도 수학적으로 정리해봅시다.
$$
\begin{align}
\mbox{SST: } & = \sum_{i=1}^n (y_i -m)^2 \\
\mbox{SSE: } & = \sum_{i=1}^n (p_i-m)^2 \\
\mbox{SSR: } & = \sum_{i=1}^n (y_i -p_i)^2
\end{align}
$$
라 쓰면 식(7)번은
$$ \mbox{SST} = \mbox{SSE} + \mbox{SSR} \tag{8}$$
로 쓸수 있습니다. 세 값은 모두 양수이고 SSE가 SST가 작은 값이죠. 그런데 앞에서 살펴봤듯이 $Y$와 $P$의 분산이 거의 같으면 아주 설명력 있는 추세선이 찾아진 것입니다. 따라서 우리는
$$ \frac{\mbox{SSE}}{\mbox{SST}} $$
라는 값을 계산해 보고, 이것이 1 가까운 수이면 추세선의 설명력이 높고, 1에서 멀어져서 0으로 떨어지면 추세선은 그리나 마나 한 것이다라고 얘기해 볼 수 있습니다.
바로 이값이 $R^2$ 이고, R-SQUARE라 부릅니다. 식(8)에 의해
$$R^2 = \frac{\mbox{SSE}}{\mbox{SST}} = 1-\frac{\mbox{SSR}}{\mbox{SST}} $$
라 쓸 수도 있습니다.
이렇게 해석을 하시면 됩니다.
SST는 관찰한 데이터의 퍼져 있는 정도인데, SSE만큼은 추세선(또는 회귀분석)으로 설명이 가능하고 이 차이인 SSR은 설명이 불가하니 에러(또는 잔차)로 볼 수 있다. 만일 SST와 SSE가 많은 차이가 안난다면, R-SQUARE는 1에 가까울 것이고, 우리가 찾은 추세선이 관찰된 데이터를 아주 잘 설명하고 있다는 뜻이다.
참고로
- SST : Total Sum of Square
- SSE : Explained Sum of Square
- SSR : Residual Sum of Square
를 뜻합니다.
다음 글에서 엑셀에서 직접 추세선을 찾는 몇가지 예를 다뤄볼 생각입니다.
'수학의 재미' 카테고리의 다른 글
선형회귀의 트렌드 직선과 PCA의 주성분은 서로 같을까? (1) | 2024.04.09 |
---|---|
트렌드 직선의 비밀(선형회귀) #2 (0) | 2022.05.11 |
트렌드 직선의 비밀(선형회귀) (0) | 2022.05.10 |
댓글