開始使用免費開始

ETS 與季節性天真法比較

在這裡,你要比較 cement 的 20 年資料中,ETS 預測與季節性天真法在 4 期前視(ahead)下、使用時間序列交叉驗證的表現。由於執行時間較長,你的工作空間已提供縮短版的 cement 序列。

tsCV() 的第二個引數必須回傳一個 forecast 物件,所以你需要一個能配適模型並回傳預測的函式。回顧:

> args(tsCV)
function (y, forecastfunction, h = 1, ...)

在本練習中,你會同時使用一個現有的預測函式,以及一個替你建立好的函式。記得,有時簡單的方法會比複雜的方法更好!

本練習屬於課程

R 的時間序列預測

檢視課程

練習說明

  • 已替你寫好一個回傳 ETS 預測的函式 fets()
  • cement 資料,在預測範圍為 4 的情況下,對 ETS 與季節性天真法都套用 tsCV()。分別使用新建立的 fets 與現有的 snaive 作為 e1e2 的預測函式引數。
  • 計算得到的 4 步誤差的 MSE,並移除遺漏值。計算 MSE 的表達式已提供,但第二個選用引數尚未填入(你先前用過它)。
  • 將最佳的 MSE 存為 bestmse。你可以直接複製上一個步驟中產生最佳 MSE 的整行程式碼。

動手互動練習

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

# Function to return ETS forecasts
fets <- function(y, h) {
  forecast(ets(y), h = h)
}

# Apply tsCV() for both methods
e1 <- tsCV(___, ___, h = ___)
e2 <- tsCV(___, ___, h = ___)

# Compute MSE of resulting errors (watch out for missing values)
mean(e1^2, ___)
mean(e2^2, ___)

# Copy the best forecast MSE
bestmse <- ___
編輯並執行程式碼