Mean Squared Logarithmic Error

Mean Squared Logarithmic Error (MSLE)

MSLE의 정의는 다음과 같다.

  • tt : time index, t{0,....,T}t{0,....,T} 또는 sample index
  • ytyt : 실측값
  • ftft : 예측값
     
MSLE 1TTt=1(log(yt+1)log(ft+1))21TTt=1(log(yt+1)log(ft+1))2 실제와 예측의 로그값의 오차 제곱의 평균값.

MSLE의 성질.

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

    Absolute Percentage Error가 |eyt||eyt| 형태라면 (e=ytfte=ytft) log(yt+1ft+1)=log(ytft)=log(1+eft)log(yt+1ft+1)=log(ytft)=log(1+eft)

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

MSLE
squared log(x) 그래프 개형

댓글남기기