Mean Squared Logarithmic Error

Mean Squared Logarithmic Error (MSLE)

MSLE의 정의는 다음과 같다.

  • $t$ : time index, \(t\in \{ 0,....,T \}\) 또는 sample index
  • $y_t$ : 실측값
  • $f_t$ : 예측값
     
MSLE \(\frac{1}{T}\sum_{t=1}^T(log(y_t+1)-log(f_t+1))^2\) 실제와 예측의 로그값의 오차 제곱의 평균값.

MSLE의 성질.

  1. 큰 $y_t$ 값에서 발생하는 오차의 영향을 줄여줌.
    ex. \(y_t+1=100, f_t+1=110\) 일 때와 \(y_t+1=1, f_t+1=11\) 일때 모두 squared error \((y_t-f_t)^2=100\)이지만
    squared logarithmic error는 각각 0.0017, 1.08임.
    즉 $y_t$ 값이 클때 허용되는 절대적인 오차의 범위가 커짐. 이는 위 수식이 $y_t-f_t$인 residual 형태로 보이지만 실질적으로는 mape처럼 비율 기반의 오차이기때문.

    Absolute Percentage Error가 $|\frac{e}{y_t}|$ 형태라면 ($e=y_t-f_t$) \(log(\frac{y_t+1}{f_t+1})=log(\frac{y_t^*}{f_t^*})=log(1+\frac{e}{f_t^*})\)

  2. Underestimate (실측값보다 작게 예측) 보다 overforecast (실측값보다 크게 예측) 더 큰 오차를 갖는다.
    MAPE 가 underestimate 되는 것과 반대로 MSLE는 overestimate.
    Why? log 를 합치면 \(log(y_t+1/f_t+1)\)의 분수꼴이 나옴. \(a = \frac{y_t+1}{f_t+1}\) 일 때, Underestimate 케이스의 경우 \(a\geq1\), overestimate 케이스의 경우 \(a<1\).
    \((log(a))^2\) 그래프를 그려보면 \(a<1\) 구간의 값이 더 큰 것을 확인할 수 있음.
    따라서 overestimate가 더 큰 패널티를 갖음.

MSLE
squared log(x) 그래프 개형

댓글남기기