콘텐츠로 이동

평균절대오차, 평균제곱오차, 제곱근평균제곱오차

\(R^2\)는 설명된 분산의 비율을 알려주지만 예측오차가 \(Y\)의 원래 단위로 얼마나 큰지는 알려주지 않는다. MAE, MSE, RMSE 같은 오차 척도는 예측오차의 크기를 직접 수량화하여 모형 성능에 대한 보완적인 정보를 제공한다.


1. 잔차

모든 오차 척도는 잔차에서 출발한다. 잔차는 관측값과 적합값의 차이이다.

\[ e_i = y_i - \hat{y}_i, \quad i = 1, \ldots, n \]

좋은 모형은 크기가 작고 체계적 패턴이 없는 잔차를 만든다. 아래 척도들은 이 잔차들을 하나의 수치로 요약한다.


2. 평균절대오차

평균절대오차(MAE)는 절대잔차의 평균이다.

\[ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| \]

MAE는 \(Y\)와 같은 단위로 측정되므로 곧바로 해석할 수 있다. \(\text{MAE} = 3.2\)이고 \(Y\)가 달러 단위라면 예측이 평균적으로 $3.20만큼 빗나간다는 뜻이다.

성질

  • 이상점에 로버스트: MAE는 모든 오차를 선형으로 다루므로 큰 오차 하나가 척도를 지나치게 부풀리지 않는다.
  • 0에서 미분 불가능: 절댓값 함수는 0에서 꺾이므로 최적화가 까다롭다. 모수 추정에서 (MSE를 최소화하는) 최소제곱이 더 흔한 이유가 여기 있다.
  • 중앙값과의 관계: \(\sum |y_i - c|\)를 \(c\)에 대해 최소화하는 값이 표본중앙값이다. \(\sum (y_i - c)^2\)을 최소화하는 값이 표본평균인 것과 짝을 이룬다.

3. 평균제곱오차

평균제곱오차(MSE)는 제곱잔차의 평균이다.

\[ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \]

MSE는 정규방정식을 통해 닫힌 형태의 해를 주므로 회귀에서 가장 흔히 쓰는 손실함수이다. 다만 단위가 \(Y\)의 원래 단위의 제곱이어서 직접 해석하기는 어렵다.

성질

  • 이상점에 민감: 잔차를 제곱하면 큰 오차가 증폭된다. \(|e_i| = 10\)인 관측값 하나가 합에 100을 보태는 반면, \(|e_i| = 1\)인 관측값 열 개는 다 합쳐도 10만 보탠다.
  • 미분 가능: MSE는 어디서나 매끄러워 기울기 기반 최적화에 잘 맞는다.
  • 분해: 확률변수의 틀에서 MSE는 편향의 제곱과 분산의 합으로 분해된다: \(\text{MSE}(\hat{\theta}) = \text{Bias}^2(\hat{\theta}) + \text{Var}(\hat{\theta})\).

MSE와 SSE

MSE와 SSE는 척도 인자만 다르다: \(\text{MSE} = \text{SSE} / n\). 어떤 문헌에서는 \(\sigma^2\)의 불편추정값을 얻기 위해 분모로 \(n\) 대신 \(n - p - 1\)을 쓴다. 이 불편 버전은 흔히 \(s^2\)이나 \(\hat{\sigma}^2\)으로 표기한다.


4. 제곱근평균제곱오차

제곱근평균제곱오차(RMSE)는 MSE의 제곱근이다.

\[ \text{RMSE} = \sqrt{\text{MSE}} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} \]

RMSE는 \(Y\)의 원래 단위를 되살려, MSE의 수학적 편리함과 MAE의 해석 가능성을 결합한다.

성질

  • \(Y\)와 같은 단위: MAE와 마찬가지로 반응변수의 척도에서 곧바로 해석할 수 있다.
  • 언제나 MAE 이상: (제곱근이 오목하므로) Jensen 부등식에 의해 \(\text{RMSE} \geq \text{MAE}\)이며, 모든 잔차의 절댓값이 같을 때만 등호가 성립한다.
  • MAE보다 이상점에 민감: 제곱근을 취하기 전에 큰 제곱오차가 더 큰 기여를 하므로 RMSE는 MSE의 이상점 민감성을 물려받는다.

5. MAE와 RMSE의 비교

MAE와 RMSE의 관계는 오차 분포에 대한 정보를 드러낸다.

\[ \text{MAE} \leq \text{RMSE} \leq \sqrt{n} \cdot \text{MAE} \]

아래쪽 경계는 모든 절대잔차가 같을 때, 위쪽 경계는 잔차 하나가 오차 전부를 차지할 때 달성된다. RMSE가 MAE보다 훨씬 크면 오차 분포에 큰 이상점이 있거나 꼬리가 두껍다는 뜻이다.

성질 MAE RMSE
단위 \(Y\)와 같음 \(Y\)와 같음
이상점 민감도 낮음 높음
미분 가능성 아니오(0에서) 예
최적화 중앙값 회귀로 이어짐 OLS 회귀로 이어짐
해석 평균 절대오차 오차의 표준편차

MAE를 RMSE보다 선호할 때

이상점이 예상되고 그것이 평가를 지배해서는 안 될 때 MAE를 쓴다(예: 고급 주택 몇 채가 극단적 오차를 만드는 부동산 가격 예측). 큰 오차가 특히 바람직하지 않아 모형에 더 무거운 벌점을 주어야 할 때는 RMSE를 쓴다(예: 과소추정이 위험한 구조 하중 예측).


6. 수치 보기

관측값 \(n = 5\)개인 모형을 생각하자.

\(i\) \(y_i\) \(\hat{y}_i\) \(e_i\) \(\lvert e_i \rvert\) \(e_i^2\)
1 10 11 \(-1\) 1 1
2 20 19 1 1 1
3 30 28 2 2 4
4 40 41 \(-1\) 1 1
5 50 44 6 6 36

각 척도를 계산하면

\[ \text{MAE} = \frac{1 + 1 + 2 + 1 + 6}{5} = \frac{11}{5} = 2.2 \]
\[ \text{MSE} = \frac{1 + 1 + 4 + 1 + 36}{5} = \frac{43}{5} = 8.6 \]
\[ \text{RMSE} = \sqrt{8.6} \approx 2.93 \]

RMSE(\(2.93\))가 MAE(\(2.2\))보다 상당히 크다는 점에 주목하라. 이 격차는 큰 오차 \(e_5 = 6\) 하나가 만든 것이다. 이 오차는 MSE의 \(36/43 \approx 84\%\)를 차지하지만 전체 절대오차에서는 \(6/11 \approx 55\%\)만 차지한다. RMSE가 이상적인 잔차의 영향을 불균형하게 반영함을 보여주는 예이다.

이상점 하나가 차지하는 몫과, 오차 분포 모양별 RMSE/MAE 비

왼쪽이 그 \(84\%\)와 \(55\%\)를 눈으로 본 것이다. 위 막대는 다섯 관측값이 MAE에 기여하는 몫을, 아래 막대는 MSE에 기여하는 몫을 각각 100%로 정규화해 나눈 것이다. 같은 자료, 같은 잔차인데 5번 점(붉은 칸)의 크기가 확연히 다르다. MAE에서는 절반을 조금 넘는 \(55\%\)지만 MSE에서는 \(84\%\)를 차지해 나머지 네 점이 거의 보이지 않을 지경이 된다. 척도를 바꾸는 것은 단순히 눈금을 바꾸는 일이 아니라 어느 관측값에 얼마나 발언권을 줄지 다시 정하는 일이다.

오른쪽은 이 비 \(\text{RMSE}/\text{MAE}\)가 오차 분포의 모양을 어떻게 드러내는지를 정리한 것이다. 모든 잔차의 절댓값이 같으면 비는 정확히 \(1.000\)으로, 이것이 도달 가능한 최솟값이다. 균등분포에서 \(1.154\), 정규분포에서 \(1.254\)인데 이 값은 이론값 \(\sqrt{\pi/2} = 1.2533\)과 맞는다. 위 보기는 \(1.333\), 라플라스분포는 \(1.414\)(\(=\sqrt{2}\)), 꼬리가 두꺼운 \(t_3\) 분포는 \(1.557\)이다. 꼬리가 두꺼울수록 비가 커진다.

실무에서 쓸 수 있는 어림이 여기서 나온다. 모형의 RMSE와 MAE를 함께 계산해 비를 내 보라. \(1.25\) 근처면 잔차가 대체로 정규처럼 행동하고 있다는 신호이고, \(1.5\)를 넘으면 소수의 큰 오차가 평가를 지배하고 있다는 신호다. 후자라면 그 관측값들이 무엇인지 들여다봐야 한다. 진짜 이상점일 수도 있고, 모형이 특정 영역에서 체계적으로 실패하고 있다는 뜻일 수도 있다. 어느 쪽이든 평균적인 성능 수치 하나로는 알 수 없는 정보다.

연습문제

연습문제 1. 실제값 \(y = (3, 5, 2, 8)\)과 예측값 \(\hat{y} = (2.5, 5.5, 1.5, 7)\)에 대해 MAE, MSE, RMSE를 계산하라.

풀이

오차: \(e = (0.5, -0.5, 0.5, 1.0)\).

\[ \text{MAE} = \frac{1}{4}(|0.5| + |-0.5| + |0.5| + |1.0|) = \frac{2.5}{4} = 0.625 \]
\[ \text{MSE} = \frac{1}{4}(0.25 + 0.25 + 0.25 + 1.0) = \frac{1.75}{4} = 0.4375 \]
\[ \text{RMSE} = \sqrt{0.4375} \approx 0.6614 \]

연습문제 2. MSE가 MAE보다 큰 오차에 더 무거운 벌점을 주는 이유를 설명하라. MAE가 선호되는 실제 상황을 하나 들어라.

풀이

MSE는 각 오차를 제곱하므로 오차 10은 합에 \(10^2 = 100\)을 보태고 오차 1은 \(1\)만 보탠다. 곧 큰 오차 하나가 MSE를 지배한다. MAE는 절댓값을 쓰므로 같은 오차들이 각각 10과 1을 보태어 100:1이 아닌 10:1의 비가 된다.

MAE가 선호되는 경우: 이상점이 예상되며 그것이 모형 평가에 불균형하게 영향을 주어서는 안 될 때이다. 예를 들어 부동산 가격 예측에서 예측오차가 큰 고급 주택 몇 채가 모형 품질 평가를 지배해서는 안 된다. MAE는 "전형적인" 오차 크기를 평가하고, MSE는 "최악의 경우에 벌점을 준" 오차를 평가한다.

연습문제 3. \(\sum(y_i - c)^2\)을 최소화하는 \(c\)가 평균 \(\bar{y}\)이고, \(\sum|y_i - c|\)를 최소화하는 값이 중앙값임을 보여라.

풀이

MSE 최소화(평균): \(f(c) = \sum(y_i - c)^2\)을 \(c\)에 대해 미분하면

\[ f'(c) = -2\sum(y_i - c) = -2(n\bar{y} - nc) = 0 \implies c = \bar{y} \]

MAE 최소화(중앙값): 함수 \(g(c) = \sum|y_i - c|\)는 조각별 선형이고 볼록이다. 그 도함수는 \(g'(c) = -\#\{y_i > c\} + \#\{y_i < c\}\)이다. \(g'(c) = 0\)이 되려면 \(c\)의 위와 아래에 있는 관측값의 개수가 같아야 하며, 이것이 곧 중앙값의 정의이다.

이 관계는 MSE로 최적화한 모형(예: OLS)이 조건부 평균을 예측하고, MAE로 최적화한 모형(예: \(\tau = 0.5\)의 분위수 회귀)이 조건부 중앙값을 예측하는 이유를 설명해 준다. \(\square\)

연습문제 4. 모형 성능을 보고할 때 MSE보다 RMSE가 선호되는 이유는 무엇인가? RMSE의 단위는 무엇인가?

풀이

RMSE \(= \sqrt{\text{MSE}}\)가 선호되는 이유는 반응변수 \(y\)와 같은 단위를 가져 곧바로 해석할 수 있기 때문이다. \(y\)가 달러 단위라면 RMSE도 달러 단위이며 "전형적인" 예측오차의 크기를 나타낸다. MSE는 달러의 제곱 단위여서 직관적이지 않다.

RMSE에는 통계적 해석도 있다. 오차가 정규분포를 따르는 모형에서 예측의 약 68%가 실제값의 \(\pm\) RMSE 안에 들어오고 약 95%가 \(\pm 2 \cdot\) RMSE 안에 들어온다.

다만 RMSE는 MSE의 단조변환이므로 MSE의 이상점 민감성을 그대로 갖는다. 로버스트한 평가를 위해서는 RMSE와 MAE를 함께 보고하는 것이 좋다.


정리하며

오차 척도는 \(Y\) 의 원래 단위로 예측오차를 잰다.

정의 성격
MAE \(\frac1n\sum\lvert e_i\rvert\) 이상치에 강건, 해석이 직관적
MSE \(\frac1n\sum e_i^2\) 큰 오차에 중벌, 단위가 제곱
RMSE \(\sqrt{\text{MSE}}\) 단위 회복, 여전히 이상치에 민감
  • RMSE \(\ge\) MAE 가 언제나 성립한다. 두 값의 격차가 클수록 오차의 분포가 고르지 않다는 뜻이며, 그 비 자체가 진단 정보다.
  • 무엇을 최소화할지가 곧 무엇을 중요하게 보는지다. 큰 오차가 치명적이면 MSE, 모든 오차가 똑같이 나쁘면 MAE 다.
  • 최소제곱은 MSE 를 최소화한다. 그래서 이상치에 끌리며, MAE 를 최소화하는 것이 분위수 회귀(중앙값 회귀)다.
  • \(R^2\) 와 상보적이다. \(R^2\) 는 상대적 설명력을, RMSE 는 절대적 오차 크기를 말한다. 함께 보고해야 한다.
  • 훈련자료에서 계산하면 낙관적이다. 교차검증이나 남겨 둔 자료에서 재야 한다.

다음 절 상대 척도로 넘어간다.