Mean Squared Logarithmic Error
Mean Squared Logarithmic Error (MSLE)
MSLE의 정의는 다음과 같다.
- tt : time index, t∈{0,....,T}t∈{0,....,T} 또는 sample index
- ytyt : 실측값
- ftft : 예측값
MSLE | 1T∑Tt=1(log(yt+1)−log(ft+1))21T∑Tt=1(log(yt+1)−log(ft+1))2 | 실제와 예측의 로그값의 오차 제곱의 평균값. |
MSLE의 성질.
-
큰 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 (yt−ft)2=100(yt−ft)2=100이지만
squared logarithmic error는 각각 0.0017, 1.08임.
즉 ytyt 값이 클때 허용되는 절대적인 오차의 범위가 커짐. 이는 위 수식이 yt−ftyt−ft인 residual 형태로 보이지만 실질적으로는 mape처럼 비율 기반의 오차이기때문.
Absolute Percentage Error가 |eyt||eyt| 형태라면 (e=yt−fte=yt−ft) log(yt+1ft+1)=log(y∗tf∗t)=log(1+ef∗t)log(yt+1ft+1)=log(y∗tf∗t)=log(1+ef∗t) -
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 케이스의 경우 a≥1a≥1, overestimate 케이스의 경우 a<1a<1.
(log(a))2(log(a))2 그래프를 그려보면 a<1a<1 구간의 값이 더 큰 것을 확인할 수 있음.
따라서 overestimate가 더 큰 패널티를 갖음.
squared log(x) 그래프 개형 |
댓글남기기