开始使用免费开始使用

SES 与 naive 对比

在本练习中,您将运用第 2 章中学习的训练集与测试集、subset() 函数以及 accuracy() 函数的知识,来比较 marathon 数据的 SES 与朴素法(naive)预测。

您之前在练习"评估非季节性方法的预测准确性"中做过非常类似的比较(naive 与 mean 预测)。

让我们回顾一下流程:

  1. 首先,导入并加载数据。确定要分配多少数据用于训练,多少用于测试;两者不应有重叠。
  2. 使用子集化创建训练集,以便作为您的预测函数参数。可选地,您也可以创建稍后使用的测试集。
  3. 使用您选择的预测函数对训练集进行预测,并将 h 设为您希望预测的数量,这也等于测试集的长度。
  4. 若要查看结果,使用 accuracy() 函数,将预测对象作为第一个参数,原始数据(或测试集)作为第二个参数。
  5. 在输出中选择一个度量(例如 RMSE 或 MAE)来评估预测;误差越小,准确度越高。

marathon 数据已加载到您的工作区。

本练习是课程的一部分

R 中的预测

查看课程

练习说明

  • 使用 subset()marathon 创建训练集,包含除最后 20 年之外的所有数据,最后 20 年留作测试。
  • 计算该训练集的 SES 和朴素法(naive)预测,分别保存为 fcsesfcnaive
  • 在控制台中使用 accuracy() 函数计算两组预测的准确性度量。
  • 基于 RMSE 选择更优的预测(fcsesfcnaive),并将其赋给 fcbest

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)

# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)

# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)

# Save the best forecasts as fcbest
fcbest <- ___
编辑并运行代码