본문 바로가기
ML&DL/Evaluation Metric

[Time series / Evaluation Metric / paper review] Another look at measures of forecast accuracy

by 거북이주인장 2023. 1. 10.

논문 링크: https://robjhyndman.com/papers/mase.pdf

Motivation


이 논문은 시계열 예측 모형에 있어서 구축한 모형을 평가하기 위한 새로운 지표를 소개한다. 기존에 M-Competition 3차까지 사용하던 지표의 실효성에 대해 의문을 제기하고 여러 상황에서도 유효한 지표에 대해 설명한다. 새로운 지표는 Mean Absolute Scaled Error (MASE)이다.

 

논문에서는 MASE에 대한 연구 필요성을 보이기 위해 이전에 쓰였던 지표들이 유효하지 않은 상황을 제시한다. 세 데이터에 대해 training data로 모델을 구축하고 test data로 예측값을 만든다. training data는 in-sample, test data는 out-of-sample이라고 하자.

위 표를 보면 일부 모형에 대해 평가지표를 계산한 값이 infinity로 나오거나 정의되지않음(Undefined)을 알 수 있다. 또한 sMAPE는 절댓값으로 정의되는데 일부가 음수값을 보임을 알 수 있다. 이런 상황들은 0으로 나누거나, 0을 0으로 나누는 등의 상황 때문에 발생한 것인데, 이런 상황에서 시계열 모형을 제대로 비교하기는 불가능하다. 바로 이런 문제점을 해결하고자 MASE가 개발되었다.

 

보통 이렇게 평가지표가 정의되지 않는 상황은 평범한 시계열에 대해서도 발생할 수 있다. 즉, 0을 종종 포함하는 demand data 또는 많은 관측치들이 음수를 포함하는 시계열에서 나타날 수 있다. 다시 말해, MASE는 0을 종종 포함하는 시계열 데이터에 적합한 평가지표이다.

Survey on previous forecasting metric


$t$ 시점의 시계열 자료를 $Y_t$라고 하고 예측값을 $F_t$라고 하자. forecast error을 $e_t = Y_t - F_t$라고 하자. out-of-sample forecasts인 $F_{n+1}, \cdots, F_{n+m}$을 training data인 $Y_1, \cdots, Y_n$에 기반하여 계산한다.

Scale-dependent measures

데이터의 스케일에 의존하는 방법이다. 하나의 데이터 세트에 대해 여러 모델을 비교한다면 적절하겠지만, 서로 다른 스케일을 가지는 데이터를 비교하는데는 적절하지 않다. 가장 많이 쓰이는 방법은 $e_t$을 제곱하거나 절댓값을 사용한다.

MSE, RMSE는 통계학에서 많이 사용되기 때문에 인기가 있었으나 outlier에 민감하다는 단점이 있다. 평균을 사용하는 지표이고 평균은 이상치에 민감하기 때문이다. 이러한 이유 때문에 MAE/MdAE가 제안되었다.

Measures based on percentage errors

percentage error는 $p_t = \dfrac{e_t}{Y_t} \times 100$으로 정의된다. 스케일로부터 자유롭기 때문에 많이 사용된다. 종류는 아래와 같다.

percentage error에 근거한 방법은 아래의 단점을 가진다.

  • $Y_t=0$이면 infinite하거나 정의되지 않는다.
  • $Y_t$가 0에 가까우면 매우 왜곡된 값을 가진다.
  • 따라서 0이 자주 등장하는 시계열에서는 이를 사용할 수 없다.

MAPE와 MdAPE는 음의 에러보다 양의 에러에 대해 더 많은 penalty를 준다는 단점이 있다. 즉, 대칭적으로 패널티를 주지 않는다는 것이다. 예시를 통해 자세히 살펴보자.

 

이를 보완하기 위해 아래의 방법들이 제안되었다.

왜 양의 에러에 더 많은 penalty을 주는지.. 그 이유를 아직 찾지 못했다.

Measures based on relative errors

또 다른 방법으로 에러를 나누어 relative error를 구하는 방법이 있다. $r_t = e_t / e^*_t$로 정의되고 여기서 $e^*_t$는 벤치마크 방법으로부터 얻은 에러이다. 보통 벤치마크 방법은 random walk으로 사용한다. (현 시점의 예측값인 $F_t$을 이전 시점의 시계열 값 $Y_{t-1}$으로 대체하는 것) relative error을 이용해서 아래의 방법이 제안되었다.

relative error을 이용한 방법의 단점은 아래와 같다.

  • $e^*_t$가 작을 수 있다. 
  • 사실 $r_t$가 infinite variance을 가지는데 그 이유는 $e^*_t$가 0 근처의 확률 분포를 가지기 때문이다.

Relative measures

relative error 대신에 relative measures을 사용할 수 있다. 예를 들어 $MAE_b$를 벤치마크 방법으로부터 얻은 MAE라면, relative MAE는 아래와 같이 정의된다.

$$ RelMAE = MAE / MAE_b $$

 

relative measures는 해석에 있어서 장점을 가진다. 예를 들어, $RelMAE < 1$이면 벤치마크 모델보다 제안된 예측 모형이 더 좋다는 뜻이다. 하지만 이 지표를 사용하기 위해서는 다수의 forecasts을 해야한다. 즉, 다른 방법은 하나의 시계열 포인트에 대해 metric이 계산되는데 relative measures는 최소 다수의 포인트들에 대한 forecasts을 해야 한다는 뜻이다. 따라서 테스트 데이터 하나에 대해 single forecast을 하고자 하는 상황에서는 이 지표를 사용할 수 없다.

Scaled errors: Mean Absolute Scaled Error


데이터의 스케일을 없애기 위한 지표 방법들로 앞서 relative error, relative measure을 살펴보았다. relative error는 infinite variance을 가진다는 단점, relative measure는 계산하기 위해 여러 포인트들에 대한 forecast가 필요하다는 단점이 있었다.

 

이런 단점을 보완하기 위해 아래와 같이 error을 스케일한 지표를 제안한다.

 

$$ q_t = \dfrac{e_t}{\dfrac{1}{n-1} \sum^n_{i=2} | Y_i - Y_{i-1} |} $$

  • naive random walk 예측 방법으로 부터 얻은 in-sample forecast에 기반하여 에러를 스케일링했다.
  • 데이터 스케일에 자유롭다.

이들의 평균을 Mean Absolute Scaled Error(MASE)로 정의한다.

$$ MASE = mean(|q_t|)$$

 

error을 스케일한 지표인 $q_t$을 어떻게 해석해야할까?

$q_t < 1$이면 in-sample로부터 계산된 average one-step naive forecast 보다 더 정확한 forecast을 한다는 뜻이다.

$q_t > 1$이면 in-sample로부터 계산된 average one-step naive forecast 보다 더 부정확한 forecast을 한다는 뜻이다.

MASE도 동일한 방식으로 해석한다.

 

한가지 더 해석할 수 있는 방법이 있다. $q_t$의 분모인 $\sum^n_{i=2}| Y_i - Y_{i-1} |$는 in-sample 기간에서의 평균 변동을 의미한다.

이 분모값이 작다는 것은 어떤 의미일까? 하나의 시점이 차이가 나는 시계열 간에 차이가 크지 않다는 것, 즉 다시 말하면 평소에 값이 크게 바뀌지 않는 기간으로 해석할 수 있다. 이는 demand 데이터와 같이 0을 자주 포함하는 데이터에서 나타나는 현상으로, 이런 데이터는 평소에 값이 크게 바뀌지 않는다. 분자 고정, 분모가 작아지면 전체적인 값은 커진다. 이를 막기 위해서 분자인 $e_t$는 더 줄어들어야 ( = 정확해야) 전체적인 $q_t$가 작아지는 것이다.

반대로 분모값이 크다는 것은 어떤 의미일까? 하나의 시점이 차이가 나는 시계열 간에 차이가 크다는 것, 즉 시계열 값이 많이 튀는 기간으로 해석할 수 있다. 이 기간에는 분모가 크므로 전체적으로 작아지고 만약에 분자가 더 작아진다면, ($e_t$가 더 줄어든다면 = 더 정확한 forecast을 한다면) $q_t$는 더욱 작아질 것이다. 그러나 이미 분모가 작기 때문에 분자가 작아지기 위해 엄청 노력하지 않아도 된다. 다시 말해, $e_t$가 조금 더 커도 되고 따라서 시계열이 많이 튀는 기간에는 조금 더 러프하게 예측하는 것을 허용하는 metric이라고 해석할 수 있다.

 

종합해보면 평소에 변동이 없는 기간이라면, 예측값도 변동이 없는 방향으로, 반대로 평소에 변동이 많은 기간이라면 오차를 더 허용하더라도 좀 더 큰 폭의 forecast을 하는 것을 허용하는 metric으로 해석할 수 있다.

Reference

댓글