本文主要對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)))