在預測銷售時納入廣告支出
歡迎來到本課程的最後一章!
auto.arima() 會配適帶有 ARIMA 誤差的動態迴歸模型。和你先前用法唯一的不同,是現在要使用包含自變數矩陣的 xreg 參數。以下是影片中的程式碼片段:
> fit <- auto.arima(uschange[, "Consumption"],
xreg = uschange[, "Income"])
> # rep(x, times)
> fcast <- forecast(fit, xreg = rep(0.8, 8))
你可以看到,資料設為 uschange 的 Consumption 欄,而迴歸自變數為 Income 欄。此外,這裡的 rep() 會將數值 0.8 精確重複八次,作為 xreg 的矩陣引數。
在這個練習中,你將以廣告支出為自變數來建模銷售量,並使用 ARMA 誤差來處理迴歸殘差中的序列相關。工作環境中已提供 advert 資料,內容為某汽車零件公司 24 個月的銷售與廣告支出。繪圖顯示的是銷售量相對於廣告支出。
請回顧你在課程中學到的重點,在主控台檢視 advert 資料,並仔細閱讀每個步驟說明,來完成這個有挑戰性的練習。
本練習屬於課程
R 的時間序列預測
練習說明
- 繪製
advert的資料。因為變數尺度不同,請使用facets = TRUE。 - 使用
auto.arima()對advert配適具有 ARIMA 誤差的迴歸:第一個引數指定為"sales"欄,第二個引數xreg指定為"advert"欄,第三個引數stationary設為TRUE。 - 確認配適出的模型為具 AR(1) 誤差的迴歸。每增加 1 單位的廣告支出,銷售量會增加多少?此係數是
coefficients()輸出中的第 3 個元素。 - 以配適模型進行預測,將未來 6 個月的廣告支出指定為每月 10 單位,存為
fc。要重複 10 六次,請如上述範例在xreg內使用rep()。 - 繪製預測物件
fc,並在提供的程式碼中補上 x 標籤"Month"與 y 標籤"Sales"。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Time plot of both variables
autoplot(___, ___)
# Fit ARIMA model
fit <- auto.arima(___[, ___], xreg = ___[, ___], stationary = ___)
# Check model. Increase in sales for each unit increase in advertising
salesincrease <- ___(___)[___]
# Forecast fit as fc
fc <- forecast(___, xreg = ___)
# Plot fc with x and y labels
autoplot(___) + xlab(___) + ylab(___)