평균 절대 오차

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.09.27
조회수
21
버전
v1

평균 절대 오

개요

평균 절대 오차(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의 제곱근, 단위가 원래 데이터와 동일
(결정계수) ( 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 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?