ARIMA用R预测 - 如何更新数据

时间:2015-02-09 22:22:22

标签: r

我一直在尝试开发ARIMA模型来预测风速值。我有一个为期四年的数据系列(从2008年1月到2011年12月)。该系列提供了10分钟的数据,这意味着在一天中我们有144个观察结果。好吧,我使用前三年(观察1到157157)来生成模型,并使用去年来验证模型。 问题是我想更新预测。换句话说,当一个预测结束时,会向数据集添加更多数据,并执行另一个预测。但结果似乎我刚刚落后于原来的系列。这是代码:

#1 - Load data:
z=read.csv('D:/Faculdade/Mestrado/Dissertação/velocidade/tudo_10m.csv', header=T, dec=".")
vel=ts(z, start=c(2008,1), frequency=52000)

# 5 - ARIMA Forecasts:
library(forecast)
n=157157
while(n<=157200){
   amostra <- vel[1:n] # Only data until 2010
   pred <- auto.arima(amostra, seasonal=TRUE,
   ic="aicc", stepwise=FALSE, trace=TRUE,
   approximation=TRUE, xreg=NULL,
   test="adf",
   allowdrift=TRUE, lambda=NULL, parallel=TRUE, num.cores=4)

   velpred <- arima(pred) # Is this step really necessary?
   velpred


   predvel<- forecast(pred, h=12) # h means the forecast steps ahead
   predvel


   plot(amostra, xlim=c(157158, n), ylim=c(0,20), col="blue", main="Previsões e Observações", type="l", lty=1)
   lines(fitted(predvel), xlim=c(157158, n), ylim=c(0,20), col="red", lty=2)


n=n+12
}

但是当它绘制结果时(我无法在此处发布图片),它展示了观察到的系列和预测的情节,这看起来与观察到的系列相同,但是一步滞后。

任何人都可以帮助我检查我的代码和/或提供有关如何充分利用我的模型的提示吗?谢谢! (希望我的英语是可以理解的......)

0 个答案:

没有答案