訓練集與測試集

R 的時間序列預測

Rob J. Hyndman

Professor of Statistics at Monash University

訓練集與測試集

ch2_vid3_slides.003.png

R 的時間序列預測

訓練集與測試集

ch2_vid3_slides.004.png

R 的時間序列預測

訓練集與測試集

ch2_vid3_slides.005.png

  • 測試集不可用於任何與計算預測相關的步驟
  • 訓練集建立預測
  • 在訓練資料上貼合良好的模型,不一定預測表現好
R 的時間序列預測

範例:沙烏地阿拉伯原油產量

training <- window(oil, end = 2003)
test <- window(oil, start = 2004)
fc <- naive(training, h = 10)
autoplot(fc) + autolayer(test, series = "Test data")

ch2_vid3_saudi_oil_forecast.png

R 的時間序列預測

預測誤差

預測「誤差」=測試集中,觀測值與其預測值的差。
$\neq$ 殘差
  • 殘差是訓練集上的誤差(相對於測試集
  • 殘差基於一步預測(相對於多步

用測試資料的預測誤差來計算準確度

R 的時間序列預測

預測準確度衡量

  • 觀測值:$y_t$
  • 預測值:$\hat{y}_t$
  • 預測誤差:$e_t = y_t - \hat{y}_t$
準確度量 計算方式
平均絕對誤差 $\text{MAE} = avg(\mid e_t \mid)$
平均平方誤差 $\text{MSE} = avg(e_t^2)$
平均絕對百分比誤差 $\text{MAPE} = 100 \times avg(\mid \frac{e_t}{y_t} \mid )$
平均絕對尺度化誤差 $\text{MASE} = \frac{\text{MAE}}{Q}$,其中 $Q$ 是尺度常數
R 的時間序列預測

accuracy() 指令

accuracy(fc, test)
                  ME   RMSE    MAE    MPE    MAPE    MASE    ACF1  Theil's U
Training set   9.874  52.56  39.43  2.507  12.571  1.0000  0.1802         NA
Test set      21.602  35.10  29.98  3.964   5.778  0.7603  0.4030      1.185
R 的時間序列預測

一起來練習吧!

R 的時間序列預測

Preparing Video For Download...