【发布时间】:2015-07-08 01:29:40
【问题描述】:
我正在使用时间序列模型在 R 中进行预测。
我使用 auto.arima 函数为我的数据集(它是一个 ts 对象)查找模型。
fit<-auto.arima(data)
然后我可以使用预测函数绘制以下 20 个日期的预测结果:
plot(forecast(fit,h=20))
但是我想添加外部变量,但我无法使用预测来完成,因为它对我来说是一个黑盒子,因为我是 R 新手。
所以我试图通过使用 arima.sim 函数来模仿它,但出现了一个问题:
如何初始化这个功能?
我通过设置model=as.list(coef(fit)) 得到了模型,但其他参数对我来说仍然是模糊的。
我浏览了数百页,包括在 stackoverflow 中,但似乎没有人真正知道发生了什么。
它是如何计算的?就像为什么 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 以获得与预测完全相同的限制?
谢谢你的帮助!!!
【问题讨论】:
-
格式化您的问题,以便阅读?
-
对不起,这实际上是我在 Stack 上的第一篇文章,所以初学者错误!
-
请帮我解决我的问题:[我需要帮助,我需要在 R 中模拟 arima][1] [1]:stackoverflow.com/questions/32918632/…
标签: r math statistics time-series forecasting