我是 R 编程的新手,但我一直在阅读您的博客和帖子,以便了解最新的预测包。然而,我一直在努力应对季节性的影响。
以最简单的信号为例:
train <- ts(sin((2*pi)*seq(from=0, to=10, by=0.01)))
如果我只是尝试用蛮力预测这个信号,我会得到不相关的结果:
plot(forecast(train,h=20))
但是,如果我手动将季节性检测为 100,并执行以下操作:
train <- ts(sin((2*pi)*seq(from=0, to=10, by=0.01)),frequency=100)
plot(forecast(train))
我得到了出色的预测结果。
老实说,我对这些结果感到非常困惑,这显然发生在更复杂的信号上。
最佳答案
如果我没记错的话,当您创建时间序列对象时,您必须指定它的频率。这样,预测方法将能够检测季节性模式。还有一些其他方法可以检测季节性,例如尝试使用 auto arima 函数并检查它是否选择了季节性模型。当然,除了视觉探索。
关于r - 使用 R forecast 包预测时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22128131/