使用R中的forecast()匹配“第二天”

时间:2017-07-07 22:43:25

标签: r forecasting

我正在完成“使用R预测”DataCamp课程。我完成了整个事情,除了一个特定练习的最后一部分(链接here,如果你有一个帐户),我完全迷失了。错误帮助它给我的帮助也没有帮助。我将使用我用来解决它们的代码来完成任务的各个部分:

通过facetting生成仅日常需求和最高温度的时间图。
autoplot(elec[, c("Demand", "Temperature")], facets = TRUE)
索引elec相应地设置回归量矩阵以包含MaxTemp表示最高温度,MaxTempSq表示最高温度的平方值,Workday ,按顺序。
xreg <- cbind(MaxTemp = elec[, "Temperature"], 
          MaxTempSq = elec[, "Temperature"] ^2, 
          Workday = elec[,"Workday"])
使用ARIMA错误拟合需求列的动态回归模型,并调用此fit
fit <- auto.arima(elec[,"Demand"], xreg = xreg)
如果第二天是工作日(指标为1),最高温度预测为20°C,那么预测需求是多少?在cbind()中为xreg中的forecast()参数填写适当的值。

这就是我被困住的地方。他们提供的示例代码如下所示:

forecast(___, xreg = cbind(___, ___, ___))

我设法得出第一个空白是fit,所以我正在尝试这样的代码:

forecast(fit, xreg = cbind(elec[,"Workday"]==1, elec[, "Temperature"]==20, elec[,"Demand"]))

但是这给了我错误提示“确保第二天使用说明中给出的输入进行预测。”哪...不告诉我任何有用的东西。有什么想法,我应该做什么呢?

1 个答案:

答案 0 :(得分:1)

如果提前预测,则使用elec中未包含的新数据(这是您用来模拟模型的数据集)。新问题是在问题中给出的(温度20℃和工作日1)。因此,您elec来电时不需要forecast。只需使用新数据进行预测:

forecast(fit, xreg = cbind(20, 20^2, 1))