筆記說明
在datacamp網站上學習“Time Series with R ”track
“Forecasting Using R”課程 做的對應筆記。
學識有限,錯誤難免,還請不吝賜教。
學習的課程為“Forecasting Using R”,主要用forecast包。
課程參考教材Forecasting: Principles and Practice
課程中數據可在fpp2包得到
本次筆記也參考了其他人的簡書文章:指數平滑方法簡介
在Holt's linear trend method的基礎上添加季節性成分便得到三指數模型——Holt-Winters'模型,他有加法模型和乘法模型兩種形式。
Holt-Winters' additive method
預測值:
平滑值:
趨勢:
季節項:
-
為季節項
- 平滑參數:
- m為季節周期值,例如以季度為周期則m=4
- 季節項的均值為0
Holt-Winters' multiplicative method
預測值:
平滑值:
趨勢:
季節項:
-
為季節項
- 平滑參數:
- m為季節周期值,例如以季度為周期則m=4
- 季節項的均值為1
一般來說,如果時間序列數據的方差有隨時間增大的趨勢,那么更推薦使用乘法模型。
R實現
可以用forecast包的hw(data, seasonal = "additive",h=)
進行三指數模型的擬合。seasonal=
選項可選擇“additive”或“multiplicative”
實例數據a10記錄了澳大利亞1991-2008年間每月抗糖尿病藥物的銷售量。
# Plot the data
autoplot(a10)
# Produce 3 year forecasts
fc <- hw(a10, seasonal = "multiplicative", h = 36)
# Check if residuals look like white noise
checkresiduals(fc)
# Plot forecasts
autoplot(fc)
autoplot(a10)的輸出省略,看一下殘差分析結果和預測結果:
雖然對殘差的Ljung-Box檢驗顯示殘差不符合白噪聲(檢驗結果省略),但該模型計算的預測值還是能提供一些有用的信息。