我正在研究使用 ARIMA 进行预测的数据集,我离最后一步很近,但我遇到了错误,无法找到参考来弄清楚我错过了什么。
当我执行以下命令时,我不断收到错误消息:
ForcastData<-forecast(fitModel,testData)
Error in rep(1, n.ahead) : invalid 'times' argument
我将简要介绍我所做的工作,其中我将数据集从数据框架更改为时间序列,并进行了所有测试以检查波动性,并检测数据是否静止。
然后我将 DataAsStationary 作为应用 ARIMA 的良好干净数据,但由于我想在训练数据上训练模型并在数据的另一部分进行测试,我将数据集分为 70% 的训练和 30% 的测试:
ind <-sample(2, nrow(DataAsStationary), replace = TRUE, prob = c(0.7,0.3))
traingData<- DataStationary1[ind==1,]
testData<- DataStationary1[ind==2,]
我使用了自动选择算法,发现 Arima(2,0,3) 是最好的。
autoARIMAFastTrain1<- auto.arima(traingData, trace= TRUE, ic ="aicc", approximation = FALSE, stepwise = FALSE)
我不得不提到我确实检查了残差是否不相关(白噪声)并处理它。
library(tseries)
library(astsa)
library(forecast)
之后,我使用训练数据集来拟合模型:
fitModel <- Arima(traingData, order=c(2,0,3))
fitted(fitModel)
ForcastData<-forecast(fitModel,testData)
output <- cbind(testData, ForcastData)
accuracy(testData, ForcastData)
plot(outp)
找不到有关该错误的任何资源:
rep(1, n.ahead) 中的错误:无效的“次”参数
有什么建议么!!真的
我试过了
ForcastData<-forecast.Arima(fitModel,testData)
但我得到错误
预测.Arima 没有找到!
知道为什么我会收到错误吗?