【发布时间】:2015-06-03 13:29:02
【问题描述】:
我有一个包含季节性成分、趋势和 arma 部分的数据系列。我想根据历史预测这个系列。
我可以使用程序
data_ts <- ts(data, frequency = 24)
data_deseason <- stl(data_ts, t.window=50, s.window='periodic', robust=TRUE)
f <- forecast(data_deseason, method='arima', h = N)
但在这样做时,我无法选择我想要的 Arima 部分的参数。上面似乎使用了类似 auto.arima 的东西,因为我自己选择了 arima 参数 - 但它运行得非常快,比 auto.arima 快得多 - 所以不确定会发生什么。
或者,我可以使用上述方法将数据拆分为季节、趋势和剩余部分。但那我该如何预测呢?我应该为趋势和其余部分制作一个武装模型吗?
trend_arima <- Arima(data_deseason$time.series[,'trend'], order = c(1,1,1))
remainder_arima <- Arima(data_deseason$time.series[,'remainder'], order = c(1,1,1))
然后使用 Forecast() 并添加上述两个组件和季节。或者有什么方法可以提取stl找到的趋势模型?
感谢任何提示 :) 本杰明
【问题讨论】:
-
stl'使用黄土将时间序列分解为季节性、趋势和不规则分量'(局部回归),参见?stl。因此,这不是 ARIMA 模型。如果您知道您的时间序列遵循具有季节性和趋势的 ARIMA 过程,为什么不拟合季节性 ARIMA 模型并相应地对数据进行差异化?参见例如otexts.org/fpp/8/9。如果 STL 或 ARIMA 表现更好,则取决于解释/测试。 -
谢谢,@Khl4v 我在看otexts.org/fpp/6/6,它描述了作者写道“要预测季节性调整的分量,可以使用任何非季节性预测方法。例如,随机游走使用漂移模型,或 Holt 方法(将在下一章讨论),或非季节性 ARIMA 模型”。这就是为什么我尝试使用 arima 模型对非季节性部分进行建模,然后将季节、趋势和剩余部分放在一起进行预测。但你认为这不是要走的路吗?再次感谢:)
-
好的,你已经读过了。我只是想知道为什么当您认为 ARIMA 模型是 ARIMA 过程时您不使用它。
-
感谢您的回复! :) 是的,我会同时尝试季节性 arima 和 stl+arima 方法,看看哪种方法效果最好。
标签: r stl time-series forecasting