我一直在尝试开发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
}
但是当它绘制结果时(我无法在此处发布图片),它展示了观察到的系列和预测的情节,这看起来与观察到的系列相同,但是一步滞后。
任何人都可以帮助我检查我的代码和/或提供有关如何充分利用我的模型的提示吗?谢谢! (希望我的英语是可以理解的......)