ETS 与季节性朴素法对比
本练习中,您将使用 4 步前瞻的时间序列交叉验证,将 ETS 预测与季节性朴素法在 20 年的 cement 数据上进行比较。cement 包含季度水泥产量。由于运行时间较长,工作区中提供了一个缩短版本的 cement 序列。
tsCV() 的第二个参数必须返回一个 forecast 对象,因此您需要一个拟合模型并返回预测的函数。回顾:
> args(tsCV)
function (y, forecastfunction, h = 1, ...)
在本练习中,您将同时使用一个现有的预测函数以及一个为您预先编写的函数。请记住,有时简单方法的效果反而优于复杂方法!
本练习是课程的一部分
R 中的预测
练习说明
- 已为您编写了一个返回 ETS 预测的函数
fets()。 - 对
cement数据在预测视野为 4 的情况下,分别对 ETS 和季节性朴素法应用tsCV()。将新建的fets和已有的snaive函数分别作为e1和e2的预测函数参数。 - 计算得到的 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 <- ___