在考虑广告投入的情况下预测销售额
欢迎来到本课程的最后一章!
auto.arima() 函数会拟合带有 ARIMA 误差的动态回归模型。与此前用法相比,唯一的变化是现在要使用包含回归变量矩阵的 xreg 参数。以下是视频中的代码片段:
> fit <- auto.arima(uschange[, "Consumption"],
xreg = uschange[, "Income"])
> # rep(x, times)
> fcast <- forecast(fit, xreg = rep(0.8, 8))
您可以看到,数据取自 uschange 的 Consumption 列,而回归变量为 Income 列。此外,此处的 rep() 函数会将数值 0.8 精确复制 8 次,作为矩阵参数 xreg 的输入。
在本练习中,您将对销售数据建立以广告投入为自变量的回归模型,并使用 ARMA 误差来刻画回归残差中的序列相关性。数据已在工作区中以 advert 提供,包含某汽车零部件公司的 24 个月销售额和广告投入。图中展示了销售额与广告投入的关系。
请回顾您在本课程中学到的所有内容,在控制台中查看 advert 数据,并仔细阅读每条说明,完成这个具有挑战性的练习。
本练习是课程的一部分
R 中的预测
练习说明
- 绘制
advert中的数据。两个变量量纲不同,因此请使用facets = TRUE。 - 使用
auto.arima()对advert拟合带 ARIMA 误差的回归模型:第一个参数设为"sales"列,第二个参数xreg设为"advert"列,第三个参数stationary设为TRUE。 - 检查所拟合的模型是否为带 AR(1) 误差的回归模型。广告每增加 1 个单位,销售额增加多少?该系数是
coefficients()输出的第 3 个元素。 - 从已拟合模型进行预测,指定未来 6 个月的广告投入为每月 10 个单位,保存为
fc。要将 10 重复 6 次,请像上面的示例代码一样在xreg中使用rep()函数。 - 绘制预测结果
fc,并在给定代码中补充设置 x 轴标签为"Month",y 轴标签为"Sales"。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Time plot of both variables
autoplot(___, ___)
# Fit ARIMA model
fit <- auto.arima(___[, ___], xreg = ___[, ___], stationary = ___)
# Check model. Increase in sales for each unit increase in advertising
salesincrease <- ___(___)[___]
# Forecast fit as fc
fc <- forecast(___, xreg = ___)
# Plot fc with x and y labels
autoplot(___) + xlab(___) + ylab(___)