預測來電預約量
另一個具有多重季節性的時間序列是 calls,其中包含某北美大型銀行連續 20 天、每 5 分鐘的來電量資料。每個工作天共有 169 個 5 分鐘時段,因此每週的季節性頻率為 5 x 169 = 845。每週季節性相對較弱,所以這裡只建模每日季節性。calls 已預先載入到你的工作環境中。
在這個例子中,殘差仍未通過白噪音檢定,但它們的自相關非常小,儘管在統計上顯著。這是因為序列很長。對如此長的序列來說,要讓殘差通過所有檢定往往不切實際。剩餘相關性對預測的影響可以忽略不計。
本練習屬於課程
R 的時間序列預測
練習說明
- 繪製
calls資料,觀察強烈的每日季節性與較弱的每週季節性。 - 使用每日季節性階數
10、每週季節性階數0來建立xreg矩陣。注意:如果向量指定錯誤,你的工作階段可能會過期! - 使用
auto.arima()、設定seasonal = FALSE與stationary = TRUE,擬合名為fit的動態迴歸模型。 - 檢查已擬合模型的殘差。
- 建立往後 10 個工作天的預測為
fc,並繪圖。正確的h值可參考練習說明中的提示。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Plot the calls data
___
# Set up the xreg matrix
xreg <- fourier(___, K = ___)
# Fit a dynamic regression model
fit <- auto.arima(___, xreg = ___, ___, ___)
# Check the residuals
___
# Plot forecasts for 10 working days ahead
fc <- forecast(fit, xreg = fourier(calls, c(10, 0), h = ___))
___