训练集与测试集

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")

沙特阿拉伯石油产量预测图

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 中的预测

Vamos praticar!

R 中的预测

Preparing Video For Download...