对模拟 ARIMA 进行预测
现在您已经熟练掌握了 ARIMA 模型的拟合,可以把这些技能用于预测。首先,您将使用模拟数据。
我们从一个 ARIMA(1,1,0) 模型(AR 参数为 0.9)生成了 120 个观测值。完整数据在 y 中,前 100 个观测在 x 中。这些观测已为您绘制好。您将对 x 中的数据拟合一个 ARIMA(1,1,0) 模型,并验证模型拟合良好。然后使用 astsa 包中的 sarima.for() 将数据向前预测 20 个时间点。接着,您将把预测与 y 中的实际数据进行比较。
预测的基本语法是 sarima.for(data, n.ahead, p, d, q),其中 n.ahead 是一个正整数,表示预测区间的长度。函数会打印预测值及其标准误,图中以黑色绘制数据、红色绘制预测,并以蓝色虚线给出 2 个均方预测误差界限。
astsa 包已预加载,数据(x)及其差分数据(diff(x))也已绘制。
本练习是课程的一部分
R 中的 ARIMA 模型
练习说明
- 绘制差分数据的样本 ACF 和 PACF,用于判定模型。
- 使用
sarima()对数据拟合 ARIMA(1,1,0)。查看sarima()命令的输出,以评估拟合效果和模型诊断。 - 使用
sarima.for()将数据向前预测 20 个时间点。将其与实际值进行比较。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Plot P/ACF pair of differenced data
# Fit model - check t-table and diagnostics
# Forecast the data 20 time periods ahead
sarima.for(x, n.ahead = ___, p = ___, d = ___, q = ___)
lines(y)