평균 절대 오차
평균 절대 오
개요
평균 절대 오차(Mean Absolute Error, MAE)는 회귀 분석에서 예 모델의 성능을 평가하는 대표적인 지표 중입니다. MAE는 예측값과 실제 관값 사이의 차이, 즉 오차(error)의 절대값을 평균한 값으로, 모델이 평균적으로 얼마나 큰 오차를 내는지를 직관적으로 나타냅니다.
회귀 분석에서는 모델이 연속형 변수를 예측하기 때문에, 예측의 정확성을 수치화하는 평가 지표가 필수적입니다. MAE는 이러한 평가 지표 중에서도 해석이 간단하고 외부 이상치에 비교적 영향을 덜 받는 특징이 있어 널리 사용됩니다.
정의와 수식
평균 절대 오차는 다음과 같이 정의됩니다:
[ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| ]
여기서: - ( n ): 관측치의 수 - ( y_i ): ( i )번째 관측된 실제값 - ( \hat{y}_i ): ( i )번째 예측값 - ( |y_i - \hat{y}_i| ): 절대 오차
즉, 각 데이터 포인트에 대해 실제값과 예측값의 차이를 절댓값으로 변환한 후, 그 평균을 구하는 방식입니다.
특징
- 단위 일치: MAE는 원래 데이터와 동일한 단위를 가지므로 해석이 용이합니다. 예를 들어, 집값을 천만 원 단위로 예측했다면 MAE도 천만 원 단위로 표현됩니다.
- 선형성: 오차의 절댓값을 사용하므로 비선형 연산이 없어 계산이 간단합니다.
- 이상치에 대한 민감도: 제곱 오차를 사용하는 MSE(Mean Squared Error)보다 이상치에 덜 민감합니다. 왜냐하면 제곱을 하지 않고 절댓값만 취하기 때문입니다.
MAE의 장점과 단점
장점
| 장점 | 설명 |
|---|---|
| 해석의 용이성 | MAE는 평균 오차를 나타내므로 "예측값이 평균적으로 X만큼 벗어난다"고 직관적으로 이해할 수 있습니다. |
| 이상치에 강함 | MSE처럼 제곱을 하지 않기 때문에 극단적인 오차 값이 전체 지표에 미치는 영향이 상대적으로 작습니다. |
| 계산 간편 | 절댓값 연산은 수학적으로 간단하며, 최적화 과정에서도 활용 가능합니다. |
단점
| 단점 | 설명 |
|---|---|
| 미분 불가능성 | 절댓값 함수는 0에서 미분이 불가능하므로, 일부 최적화 알고리즘에서는 사용에 제약이 있습니다. |
| 정보 손실 | 오차의 크기만 고려하고 방향(과대/과소 예측)은 고려하지 않기 때문에, 편향(bias) 분석에는 부적합할 수 있습니다. |
| 분산 정보 미반영 | MSE와 달리 오차의 분산을 반영하지 않아, 예측의 일관성 평가에는 한계가 있습니다. |
다른 회귀 평가 지표와의 비교
MAE는 다음과 같은 다른 주요 회귀 평가 지표들과 함께 사용되며, 각각의 특징을 비교해볼 수 있습니다.
| 지표 | 수식 | 특징 |
|---|---|---|
| MAE | ( \frac{1}{n} \sum |y_i - \hat{y}_i| ) | 직관적, 이상치에 강함 |
| MSE | ( \frac{1}{n} \sum (y_i - \hat{y}_i)^2 ) | 제곱 오차로 인해 큰 오차에 더 민감, 미분 가능 |
| RMSE | ( \sqrt{\frac{1}{n} \sum (y_i - \hat{y}_i)^2} ) | MSE의 제곱근, 단위가 원래 데이터와 동일 |
| R² (결정계수) | ( 1 - \frac{\text{잔차제곱합}}{\text{총제곱합}} ) | 설명력 지표, 1에 가까울수록 좋음 |
예를 들어, 이상치가 포함된 데이터셋에서 MAE는 MSE보다 안정적인 값을 제공할 수 있습니다. 그러나 최적화 과정에서는 MSE가 더 자주 사용되는데, 이는 미분 가능하고 경사하강법과 같은 알고리즘에 적합하기 때문입니다.
활용 예시
다음은 간단한 Python 코드를 통해 MAE를 계산하는 예시입니다. [scikit-learn](/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Python/scikit-learn) 라이브러리를 사용합니다.
from sklearn.metrics import mean_absolute_error
import numpy as np
# 실제값과 예측값
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])
# MAE 계산
mae = mean_absolute_error(y_true, y_pred)
print(f"MAE: {mae:.2f}") # 출력: MAE: 0.50
이 경우, 평균적으로 예측값이 실제값에서 0.5만큼 벗어난다는 의미입니다.
참고 자료 및 관련 문서
- Scikit-learn: Mean Absolute Error
- James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). An Introduction to Statistical Learning. Springer. Chapter 2.
- Hyndman, R. J., & Koehler, A. B. (2006). "Another look at measures of forecast accuracy". International Journal of Forecasting, 22(4), 679–688.
결론
평균 절대 오차(MAE)는 회귀 모델의 성능을 평가하는 데 있어 가장 직관적이고 실용적인 지표 중 하나입니다. 특히, 예측 오차의 크기를 실제 데이터 단위로 해석할 수 있다는 점에서 비전문가도 쉽게 이해할 수 있는 장점이 있습니다. 이상치에 강한 성질 덕분에 실무에서 자주 사용되며, 모델 비교 및 하이퍼파라미터 튜닝 시 중요한 기준이 됩니다. 다만, 최적화 과정에서는 미분 불가능성으로 인해 다른 손실 함수와 함께 사용하는 경우가 많습니다. 따라서 MAE는 모델 평가 단계에서 주로 활용되며, 전체 분석 프로세스에서 중요한 역할을 합니다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.