在处理具有大量观察值的季节性时间序列数据时,我正在寻找一些预测建议。我所说的“大”只是指几千个——我已经习惯了在数据挖掘中被认为很小的大小,但在时间序列建模中,对于我尝试过的许多工具来说,这似乎相当笨拙。
例如,这是一个玩具数据集,每分钟记录一次观察,持续五天:
set.seed(123)
t <- 1:(5*24*60)
x <- ts(15 + 0.001*t + 10*sin(2*pi*t/(length(t)/5)) + rnorm(length(t)), freq=length(t)/5)
plot(x, type='l')
(在我的实际操作数据集中,以不规则的时间间隔观察这些值,但我已经通过先做类似的事情来规范它们x <- approx(d$t, d$x, xout=1:(5*24*60))
。也欢迎就这是否可取或替代方法提出建议。)
因此,该数据集中的季节性滞后 1,440 个观测值,这似乎超出了auto.arima()
(在forecast
包中)之类的东西会发现的范围:
m1 <- auto.arima(x)
plot(forecast(m1))
而且我不太确定如何解释ets()
这里的函数,但它似乎无法处理这个尺寸数据,而且它似乎没有适应季节性:
> m2 <- ets(x, 'MAZ')
> plot(forecast(m2))
Error in forecast.ets(m2) : Forecast horizon out of bounds
> m2$method
[1] "ETS(M,A,N)"
然后去哪儿?有什么建议么?