Arima.sim R 中的问题

Arima.sim issues in R

我正在使用时间序列模型在 R 中进行预测。 我使用 auto.arima 函数为我的数据集(它是一个 ts 对象)找到了一个模型。 fit<-auto.arima(data) 然后我可以使用 forecast 函数绘制接下来 20 个日期的预测结果:

plot(forecast(fit,h=20))

但是我想添加外部变量,但我不能使用 forecast 来完成,因为它对我来说是一个黑盒子,因为我是 R 的新手。 所以我试图通过使用 arima.sim 函数来模仿它,但出现了一个问题: 如何初始化这个函数? 我通过设置 model=as.list(coef(fit)) 获得了模型,但其他参数对我来说仍然很模糊。 我浏览了数百页,包括在 Whosebug 中,但似乎没有人真正知道发生了什么。 它是如何计算的?比如为什么 n.start (老化期)必须有 ma+ar 长度而不仅仅是 max(ar,ma) 长度? start.innov 到底是什么? 我以为我理解只有 AR 部分的情况,但我无法使用 AR+MA 过滤器重现结果。 我对 AR 的理解是 start.innov 代表过滤后的零信号和真实信号之间的误差,是真的吗? 就像如果你想要一个初始条件为 (a1,a2) 的 2 阶 ar,你需要设置

start.innov[1]=a1-ar1*0-ar2*0=a1 

start.innov[2]=a2-ar1*start.innov[1]

和 innov 到 rep(0,20) 但是当面对 arima 函数时该怎么办?如何设置 innov 以获得与 forecast 完全相同的限制? 感谢您的帮助!!!

您似乎混淆了建模和仿真。你也错了 auto.arima().

auto.arima() 是否 通过 xreg 参数允许外生变量。阅读帮助文件。您可以使用 forecast.Arima() 包含未来期间的外生变量。再次阅读帮助文件。

完全不清楚您为什么在这里提到 arima.sim()。它用于模拟 ARIMA 过程,而不是用于建模或预测。