预测"中的simulate()和forecast()之间的差异。包

时间:2016-12-02 04:34:50

标签: r time-series forecasting

我正致力于构建时间序列模型。

但是,我无法理解simulate函数与forecast包中的forecast函数之间的区别。

假设我构建了一个arima模型,并希望用它来模拟未来的值长达10年。数据是每小时一次,我们有一年的数据。

当使用forecast预测接下来的1000步预测时,我得到了以下图表。

使用预测方法

enter image description here

然后我使用simulate函数来模拟接下来的1000个模拟值并获得以下图表。

使用模拟方法

enter image description here

红线后的数据点是模拟数据点。

在后一个例子中,我使用以下代码来模拟未来的值。

simulate(arima1, nsim=1000, future=TRUE, bootstrap=TRUE))

其中arima1是我训练过的arima模型,使用自举残差,因为模型残差不是很正常。

forecast包中的每个定义,future=TRUE表示我们正在根据历史数据模拟未来的值。

谁能告诉我这两种方法有什么区别?为什么simulate()给出了更加真实的结果,但forecast()的预测值在几次迭代后收敛到一个常数(simulate()的结果没有太大的波动)?

0 个答案:

没有答案