~고군분투 인생살이~

RMSE와 RMSLE의 차이는 무엇일까? 본문

기타/통계

RMSE와 RMSLE의 차이는 무엇일까?

소금깨 2023. 3. 30. 19:41

    bike sharing demand 캐글 필사를 진행하면서 급 궁금증이 들었다. 

    왜 여기서는 RMSLE을 평가 지표로 사용할까?! 


    우선 회귀 평가 지표에는 MAE, MSE, RMSE,  MSLE, RMSLE가 있다. 이들은 값이 적을 수록 예측값과 실제 값이 차이가 적다는 뜻으로 사용되기 때문에 해당 지표는 작을 수록 좋다. 

 

MAE (Mean Absolue Error) : 실제 값과 예측 값의 차이를 절댓값으로 변환해 평균한 것 

MSE (Mean Squared Error) : 실제 값과 예측 값의 차이를 제곱해 평균한 것

RMSE (Root Mean Squared Error) : MSE 값은 오류의 제곱을 구하므로 실제 오류 평균보다 더 과장되어 보이는 특성이 있어 MSE에 루트를 씌운 RMSE 값을 사용하기도 함.

MSLE (Mean Squared Log Error) : MSE에 로그를 적용해준 지표. 

RMSLE (Root Mean Squared Log Error) : RMSE에 로그를 적용해준 지표.


그렇다면 왜 RMSE에 다시 또 루트를 씌운 걸까? RMSLE가 가지는 장점은 무엇인가?

 

1. 아웃라이어의 영향을 덜 받는다.

RMSLE는 아웃라이어에 강건(Robust)한 장점이 있다. 

 

예측값 = 67, 78, 91                RMSE = 4.242

                                    =>   

실제값 = 60, 80, 90                RMSLE = 0.6466 

 

 

예측값 = 67, 78, 91, 102          RMSE = 374.724 

                                     => 

실제값 = 60, 80, 90, 705          RMSLE = 1.160

 

위의 예시에서 볼 수 있듯, RMSE는 아웃라이어의 영향으로 인해 값이 엄청나게 증가했지만 RMSLE의 증가는 미미합니다. RMSLE는 아웃라이어가 있더라도 변동폭이 크지 않아, 아웃라이어의 영향을 덜 받는다고 말 할 수 있다.

 

2. 상대적 Error를 측정해준다.  

예측값과 실제값에 로그를 취해주면 로그 공식에 의해 아래와 같이 상대적 비율을 구할 수 있습니다.,

예측값 = 100, 실제값 = 90일 때, RMSLE = 0.1053, RMSE = 10입니다.

예측값 = 10000, 실제값 = 90일 대, RMSLE = 0.1053, RMSE = 1000입니다.

 

이와 같이 값의 절대적 크기가 변하더라도 상대적 크기가 동일하다면 RMSLE 값도 동일합니다. 반면, 상대적 크기가 동일하더라도 절대적 크기가 변하면 RMSE 값은 변합니다. 따라서 RMSE와 달리 RMSLE는 예측값과 실제값의 상대적 Error를 측정해줍니다.

 

3. Under Estimation에 큰 패널티를 부여한다. 

RMSLE는 Over Estimation보다 Under Estimation에 더 큰 패널티를 부여한다. 즉, 예측값이 실제보다 클 때보다 예측값이 실제값보다 작을 때 더 큰 패널티를 부여한다. 

 

예측값 = 600, 실제값 = 1000일 때, RMSE = 400, RMSLE = 0.510 입니다.

예측값 = 1400, 실제값 = 1000일 때, RMSE = 400, RMSLE = 0.33 입니다. 

 

예측값과 실제값의 차이는 둘 다 400 입니다. 

Over Estimation이든, Under Estimation이든 RMSE값은 동일합니다.

하지만 RMSLE는 Under Estimation일 때 (즉, 예측값이 실제보다 작을 때) 더 큰 패널티가 주어집니다. 

 


 

 

RMSLE와 RMSE가 skewed된 오류 때문에 다르게 나오는 경우 ... - 인프런 | 질문 & 답변

안녕하세요. 잘 수강하고 있는 학생입니다. 이번 강좌 10분 47초경부터 설명하는 RMSLE(1.165)와 RMSE(약 140)가 다른 이유에 대해서  설명을 듣고 한번에 잘 이해되지 않아서 질문드립니다. 강의에서

www.inflearn.com

=> 일반적으로 RMSE가 아니라 RMSLE를 적용할 때는 평균보다 매우 높은 상위값들의 예측 오류 영향도가 너무 클 때 이를 상쇄하기 위해 적용합니다. 

Comments