본문 바로가기

통계학 기초

회귀모델 평가를 위한 통계 오차 지표 모음(MSE, MAE, RMSE 등 5개 지표)

반응형

다양한 회귀모델이 있는데, 가장 중요한 것은 모델의 성능을 비교할 수 있는 지표가 필요하다. 이를 위해서 통계 오차를 사용하고, 대표적인 지표인 MSE, RMSE, MAE, MAPE, 그리고 sMAPE에 대해서 수식과 해석할 수 있는 가이드를 얘기해보고자 한다. 

 

목차

1. 통계 오차란 무엇이고, 회귀 모델에 왜 필요할까?

2. MSE 수식과 해석 방법

3. RMSE 수식과 해석 방법

4. MAE 수식과 해석 방법

5. MAPE 수식과 해석 방법

6. sMAPE 수식과 해석 방법

     

     

     

     

    1. 통계 오차란 무엇이고, 회귀 모델에 왜 필요할까?

     

    회귀 모델에서 왜 오차라는 지표가 필요한지에 대해 알려면, 회귀 모델에 대해서 아주 간략하게라도 이해가 필요하다. 회귀분석 모델은 X축과 Y축 모두 연속현 변수(Numeric Variable)가 오며, 데이터 Point들을 가장 잘 설명하는 선을 찾는 것이 제일 중요한 과제이다. 

     

     

    ✅ 쉬운 예시로 이해하는 회귀선의 통계 오차

     

    그러면 데이터들을 가장 잘 설명하는 회귀선이란 무엇일까? 이것은 그림으로 설명하면 이해하기 쉬울 것이다. X축을 근속연수라고 하고 Y축을 연봉이라고 가정해 보자. 

     

     

     

    왼쪽에 보이는 그래프는 회귀선 Y = 200(원) * X + 100원으로, 모든 사람들이 근속 연수가 1년 증가할 때마다 연봉 200원이 증가할 것을 알 수 있다. 이 경우 데이터 포인트는 차례대로 X1, Y1 = (1년, 300원), X2, Y2 = (2년, 500원), 그리고 X3, Y3 = (3년, 700원)으로 회귀선 수식과 딱 들어맞게 된다. 

     

    하지만 이러한 데이터는 현실 세계에서 거의 못 본다고 생각하면 된다. 짱구, 맹구, 그리고 철수의 데이터 Point가 아래와 같이 선위에 있는 것이 아니라, 회귀선과 다른 오차가 있다고 가정해보자. 이런 경우 아래의 표와 같은 데이터들이 계산이 가능하다. 

    직원 회귀선에 기반하여 받아야 할 연봉 실제 받은 연봉 연봉 오차
    짱구 200원 * 1년 + 100원 = 300원 100원 -200원
    맹구 200원 * 2년 + 100원 = 500원 600원 +100원
    철수 200원 * 3년 + 100원 = 700원 500원 -200원

     

    이 경우 왼쪽 그림과 같은 경우 모든 데이터 Point들에 대해서 오차가 0이었던 반면, 오른쪽 그림에서는 각 데이터 Point들마다 오차가 나는 것을 볼 수 있다. 회귀선 Y = 200원 * X + 100원은 데이터를 완벽하게 설명하지 못하고 오차를 내포하고 있다는 의미가 바로 이런 것이다. 

     

     

     

    🔎 이런 통계 오차는 어떻게 표현할 수 있나요? (SSE 개념 소개)

     

    이러한 통계 오류는 오차의 총합으로 표현할 수 있고, 이를 Sum of Squared Errors라고 부른다. 아주 쉽게 말해서 만약 오차가 없었다면 SSE 값은 0이 될 것이고, 반대로 오차가 크면 숫자가 커질 것이다. 수식과 설명을 보면 아주 쉽게 이해가 될 것이다. 

    SSE의 수식
    SSE의 수식

     

     

    • 수식으로 이해하는 SSE(Sum of Squared Errors)
      • N은 갖고 있는 데이터의 개수이고, i는 그 순서를 나타낸다. 
      • Yi는 각각의 데이터 Point를 얘기한다. 
      • Y^i 값은 모델이 기대하는 값이다. 
      • 따라서 구의 경우 Yi 값은 100원이고, Y^i 값은 300원이 되고, 짱구로 인한 모델 오차는 200^2 = 40,000원이 되는 것이다. 

     

    이제부터 SSE의 개념과 함께 짱구, 맹구 그리고 철수의 예시를 통해서 실제 모델에서 말하는 오차값과 어떻게 해석해야 하는지에 대해서 알아보고자 한다. 

     

     

     

    2. MSE 수식과 해석 방법

     

    회귀모델에서 오차 및 성능을 측정하는 지표 중에 하나로 Mean Squared Error(MSE, 평균 제곱 오차)가 있다. SSE의 경우 오차를 단순히 제곱해서 더하기 때문에 숫자를 어떻게 해석해야 하고, 어떤 의미로 받아들여야 하는지 애매할 때가 많다. MSE의 경우 제곱합의 평균을 나타내기 때문에 직관적이고, 해석하기 쉽다는 장점이 있다. 또한 Sample 사이즈가 커 저도 오차를 해석하는데 전혀 문제가 없다는 장점도 있다. 

     

    MSE의 수식
    MSE의 수식

     

    • MSE 모델의 특징 및 해석 예시
      • 해석이 직관적으로 가능하고, 
      • 분자 해석하는 방법
        • 짱구의 경우 오차는 40000원, 맹구의 오차는 10000원, 그리고 철수의 오차는 40000원이다. 
        • 총분모에는 100,000원의 SSE가 들어오게 된다. 
      • 분모 해석하는 방법
        • N은 총 인원을 나타내기 때문에 3명이란 숫자가 들어온다. 
      • 따라서 MSE는 33,333원이라는 오차값을 산출할 수 있는 것이다. 

     

     

     

     

     

    3. RMSE 수식과 해석 방법

     

    하지만 MSE의 경우 위의 예시와 같이 다소 난해한 해석이 아직 남아있는 단점이 있다. 다들 평균 연봉이 400원인데, 모델의 오차값이 3만 3천 원이라니, 뭔가 통계를 모르는 사람들한테 설명하기에 갑갑한 느낌이 들 것이다. 

     

    이러한 상황에서는 Rooted Mean Squared Error(RMSE, 평균 제곱근 오차)의 개념을 활용하면 굉장히 편할 것이다. 수식을 보면 바로 알겠지만, 그냥 MSE에서 루트를 씌운 형태로 해석하는 방법은 동일하다. 

     

     

    RMSE의 수식
    RMSE의 수식

     

    • RMSE 모델의 특징 및 해석 예시
      • 분자와 분모는 각각 100,000원과 3명으로 동일하고, MSE는 33,333원인 것은 위의 결과와 동일하다
      • 여기서 제곱근을 계산하면, 약 182원이다. 
    • 따라서 모델의 RMSE는 약 182원으로 사람들에게 직관적으로 설명할 수 있는 장점이 있는 것이다. 

     

     

     

     

     

     

    4. MAE 수식과 해석 방법

     

    여기서 수학을 조금이라도 아는 사람들은 의문점이 들 수도 있다. 왜냐하면 오차의 제곱으로 인해서 숫자를 해석할 때 난해한 점이 생겼기 때문에 단순히 절대값만 더해서 평균을 계산하면 되지 않을까 하는 의문이 들 수 있기 때문이다. 바로 이러한 점을 고려해서 쓴 통계 오차 개념이 MAE(Mean Absolute Error, 평균 절댓값 오차)이다. 

     

    MAE의 수식
    MAE의 수식

     

    • MAE 모델의 특징 및 해석 예시
      • 분자는 짱구 200원, 맹구 100원 그리고 철수는 200원으로 총 500원으로 계산된다. 
      • 분모는 총 데이터의 수가 3명이기 때문에 3으로 계산한다. 
      • 단순 평균을 내면 166원으로 표현할 수 있다. 
    • 이 모델은 단순해 보이지만, 사실 모델의 수식에 따라서 사용하면 안 되거나 적합하지 않은 상황이 매우 많을 수도 있다는 것이다. 

     

                  

    5. MAPE 수식과 해석 방법

     

    MAPE는 Mean Absolute Percentage Error의 약자로, 차이를 크기가 아닌 비율의 평균을 나타내어 모델의 성능을 평가하는 방법이다. 때론 이 방법이 단위로 설명할 때 굉장히 도움이 되는 방법일 수 있다. 

    MAPE의 수식
    MAPE의 수식

     

                  

    • MAPE 모델의 특징 및 해석 예시
      • 짱구의 경우 MAPE 값이 200원 / 300원으로 약 66%의 오차율을 보이고 있다.
      • 맹구의 경우 MAPE 값이 100원 / 600원으로 약 16%의 오차율을 보이고 있다. 
      • 철수의 경우 MAPE 값이 200원 / 500원으로 약 40%의 오차율을 보이고 있다. 
    • 따라서 전체 모델의 오차율은 (66 + 16 + 40) / 3 = 37%의 오차율을 보이고 있다고 평가할 수 있다. 
    • 하지만 이 모델의 아주 큰 단점은 분모값이 0인 데이터에는 전혀 쓸 수 없다는 것이다. 
      • 측정 단위 특징상 시작값이 0일 수도 있는데, 이러한 경우에는 절대 이 지표를 채택하면 안 된다. 

     

     

    6. sMAPE 수식과 해석 방법

     

    sMAPE는 Symmetric Mean Absolute Percentage Error의 약자로, 실제 데이터의 절댓값과 예측값의 절댓값을 평균으로 나타낸 오차이다. MAPE의 경우 실제 데이터가 0에 수렴할 수록 MAPE는 무한히 상승한다는 치명적인 단점도 있다. 이러한 단점을 보완하고자 나온 것이 sMAPE이고, 수식의 특징을 보면 알겠지만, sMAPE는 절대로 200%의 오차율을 초과할 수 없기 때문에 현실적으로 해석할 수 있다는 장점을 갖고 있다. 

     

     

     

    sMAPE의 수식
    sMAPE의 수식

     

    이 경우 짱구 예시가 별로 적합하지 않기 때문에 설명을 하지 않는 것이 바람직해 보인다.

    반응형