iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0

第四篇我們介紹了時間序列經典的統計預測方法 ARIMA,包含公式內的兩大模型 AR model、MA model,如何選擇參數 d, p, q,以及自動化的參數搜尋解法。
第五篇接續介紹另一個以指數平滑法(Exponential Smoothing)為基礎的統計方法 —— Holt's Model。

今日大綱:

  • Holt's Model 起源
  • Holt's Linear Trend Model
  • Holt-Winter Model
    • Additive
    • Multiplicative

Holt's Model 起源

Holt's Model 是 Charles C.Holt 於 1957 年的論文 提出,從 Exponential Smoothing 延伸而來,針對時間序列的屬性分別做指數平滑。
只針對 Level(水平)、Trend(趨勢)做指數平滑的是 Holt's Linear Trend Model;
後來 Holt 的學生 Winters 再加上了對 Seasonality(季節性)做指數平滑的預測方程,應用於有季節性的時序預測,被稱為 Holt-Winters Model。

Holt's Linear Trend Model

  • 邏輯:
    對 Level & Trend 分別做指數平滑,再做線性組合。

    • 指數平滑法:假設時間序列中,過去對未來的影響,隨時間推移,權重呈指數遞減。相比移動平均,更參考到更靠近現在的時間點的數值。
  • 公式:

    • 預測方程: https://chart.googleapis.com/chart?cht=tx&chl=%5Chat%7By%7D_%7Bt%2Bh%7Ct%7D%20%3D%20l_%7Bt%7D%20%2B%20hb_%7Bt%7D
      • 計算「level」的方程: https://chart.googleapis.com/chart?cht=tx&chl=l_%7By%7D%20%3D%20%5Calpha%20y_%7Bt%7D%20%2B%20(1-%20%5Calpha%20)(l_%7Bt-1%7D%20%2B%20b_%7Bt-1%7D)
      • 計算「Trend」的方程: https://chart.googleapis.com/chart?cht=tx&chl=b_%7Bt%7D%20%3D%20%5Cbeta%20(l_%7Bt%7D%20-%20l_%7Bt-1%7D)%20%2B%20(1-%20%5Cbeta)b_%7Bt-1%7D

Holt-Winters Model

  • 邏輯:
    在 Holt's Linear Trend Model 的基礎上,再對 Seasonality 做指數平滑;
    視時間序列的類型不同,分為 Additive Seasonality 和 Multiplicative Seasonality。

如何判斷時間序列是 Additive or Multiplicative?

使用我們第一篇講到的 decomposition plot,將 level, trend, seasonality, residual 畫出來;如果 seasonality 和 level 互相獨立,也就是 seasonality 不隨著 level 改變,則為 Additive Seasonality;若 seasonality 會隨著 level 改變,兩著有相依關係,則為 Multiplicative Seasonality。
timeseries__additive_vs_multiplicative

圖片來源

Additive

  • 公式:
    • 預測方程: https://chart.googleapis.com/chart?cht=tx&chl=%5Chat%7By%7D_%7Bt%2Bh%7Ct%7D%20%3D%20l_%7Bt%7D%2Bhb_%7Bt%7D%2Bs_%7Bt%2Bh-mk%7D
      • 計算「level」的方程: https://chart.googleapis.com/chart?cht=tx&chl=l_%7Bt%7D%20%3D%20%5Calpha%20(y_%7Bt%7D-s_%7Bt-m%7D)%20%2B%20(1%20-%20%5Calpha)(l_%7Bt-1%7D%20%2B%20b_%7Bt-1%7D)
      • 計算「Trend」的方程: https://chart.googleapis.com/chart?cht=tx&chl=b_%7Bt%7D%20%3D%20%5Cbeta(l_%7Bt%7D%20-%20l_%7Bt-1%7D)%2B(1-%20%5Cbeta)b_%7Bt-1%7D
      • 計算「Seasonality」的方程: https://chart.googleapis.com/chart?cht=tx&chl=s_%7Bt%7D%20%3D%20%5Cgamma%20(y_%7Bt%7D-l_%7Bt-1%7D-b_%7Bt-1%7D)%2B(1-%5Cgamma)s_%7Bt-m%7D

Multiplicative

  • 公式:
    • 預測方程: holt-winter_model__multiplicative
      • 計算「level」的方程: holt-winter_model__multiplicative_level
      • 計算「Trend」的方程: holt-winter_model__multiplicative_trend
      • 計算「Seasonality」的方程: holt-winter_model__multiplicative_seasonality

參考資料


上一篇
[Day4] 時間序列預測界的 OG:白話解釋 ARIMA 組成模型及步驟
下一篇
[Day6] 多變量時間序列預測的鼻祖:向量自迴歸模型 (VAR)
系列文
時間序列分析與預測方法大全13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言