Holt-Winters 方法進行時間序列預測 與 評價指標

本文主要對HW方法進行簡單的特點、使用介紹。

HW方法比較適用於具有明確週期性的序列。python代碼如下:

from statsmodels.tsa.holtwinters import ExponentialSmoothing 

def hw_predict(sample_serie, s_p=4, s_index=0, e_index=10):
    hw_fit = ExponentialSmoothing(sample_serie, seasonal_periods=s_p, trend='additive', seasonal='additive').fit()
    pred   = hw_fit.predict(start=s_index, end=e_index)
    return pred

其中,seasonal_period參數爲週期長度。一般選擇加性趨勢,如果不寫趨勢的話,將默認爲線性趨勢。

預測出的序列長度=e_index-s_index.

 

預測準確率的評價標準有很多

有一些受量綱和絕對值的影響比如RMSE和MAE

計算公式分別如下:

RMSE與MAE對比:RMSE相當於L2範數,MAE相當於L1範數。次數越高,計算結果就越與較大的值有關,而忽略較小的值,所以這就是爲什麼RMSE針對異常值更敏感的原因(即有一個預測值與真實值相差很大,那麼RMSE就會很大)。所以一般情況下,會選擇使用MAE。

 

還有一種與量綱、絕對值無關,比如MAPE和SMAPE:

其python代碼如下:

import numpy as np

def smape(A, F):
    return 100/len(A) * np.sum(2 * np.abs(F - A) / (np.abs(A) + np.abs(F)))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章