R使用stl和arima预测数据的季节和趋势

Posted

技术标签:

【中文标题】R使用stl和arima预测数据的季节和趋势【英文标题】:R forecast season and trend of data using stl and arima 【发布时间】: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 方法,看看哪种方法效果最好。 【参考方案1】:

forecast.stl 函数将 auto.arima 用于其余系列。它很快,因为它不需要考虑季节性 ARIMA 模型。

您可以通过forecastfunction 参数选择具有特定参数的特定模型。例如,假设您想使用参数为 0.7 的 AR(1),下面的代码将执行此操作:

data_ts <- ts(data, frequency = 24)
data_deseason <- stl(data_ts, t.window=50, s.window='periodic', robust=TRUE) 
f <- forecast(data_deseason, h=N,
        forecastfunction=function(x,h,level)
        fit <- Arima(x, order=c(1,0,0), fixed=0.7, include.mean=FALSE)
        return(forecast(fit,h=N,level=level)))
plot(f)

如果您只想选择 ARIMA 顺序,而不是参数,请忽略 fixed 参数。

【讨论】:

非常感谢,非常感谢!一个问题:当预测函数的输入是一个stl-时间序列时,预测是否同时预测周期、趋势和余数并将三者相加? 它预测季节性项和季节性调整后的系列,并将它们相加。 谢谢一百万,罗伯! :)

以上是关于R使用stl和arima预测数据的季节和趋势的主要内容,如果未能解决你的问题,请参考以下文章

具有季节性的Excel时间序列预测

时间序列分析-ARIMA python实现

基于选定的单选按钮选项,在闪亮的R中单击提交按钮后如何显示图表和数据?

.net 用于预测的统计库

时间序列模型分析——ARIMA 模型和SARMIA模型

时间序列笔记-季节性ARIMA模型(一)