開始使用免費開始

天真式(Naive)預測方法

你在影片中學到,forecast(預測)可以視為時間序列未來路徑模擬結果的平均數或中位數。

最簡單的預測方法,就是直接使用最新的一筆觀察值;這稱為 naive(天真式)預測,可由同名的函式來實作。對於許多時間序列(包含多數股價資料)而言,這已經是能做到的最佳方法。就算它不是好的預測方法,也能為其他方法提供有用的基準。

對於具有季節性的資料,類似的想法是使用上一年相同季節的觀察值。例如,你想預測下個 3 月的銷量,就使用前一年 3 月的銷量。這可透過 snaive() 函式(也就是 seasonal naive,季節性天真式)來完成。

在這兩種預測方法中,你都可以設定第二個引數 h,用來指定要預測的筆數;如下方程式碼所示,它們的預設值不同。輸出的結果是 forecast 類別的物件。這是 forecast 套件的核心物件類別,並且有許多對應的處理函式,例如 summary()autoplot()

naive(y, h = 10)
snaive(y, h = 2 * frequency(x))

你將分別在 goog 序列與 ausbeer 序列上嘗試這兩個函式。這些資料已可在你的工作空間中使用。

本練習屬於課程

R 的時間序列預測

檢視課程

練習說明

  • 使用 naive()goog 序列的未來 20 個值進行預測,並將結果存成 fcgoog
  • 使用 autoplot()summary() 繪圖並摘要這些預測。
  • 使用 snaive()ausbeer 序列的未來 16 個值進行預測,並將結果存成 fcbeer
  • 以與處理 fcgoog 相同的方式,為 fcbeer 的預測繪圖並產生摘要。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Use naive() to forecast the goog series
fcgoog <- naive(___, ___)

# Plot and summarize the forecasts
___(___)
___(___)

# Use snaive() to forecast the ausbeer series
fcbeer <- ___

# Plot and summarize the forecasts
___
___
編輯並執行程式碼