我正在尝试使用下面的示例预测器来构建auto.arima预测。我注意到我的预测器是非静止的。所以我想知道在xreg参数中输入它之前是否应该区分预测器,就像我在下面看到的那样。真实的数据集要大得多,这只是一个例子。任何意见是极大的赞赏。
代码:
tsTrain <-tsTiTo[1:60]
tsTest <- tsTiTo[61:100]
ndiffs(ds$CustCount)
##returns 1
diffedCustCount<-diff(ds$CustCount,differences=1)
Xreg<-diffedCustCount[1:100]
##Predictor
xregTrain2 <- Xreg[1:60]
xregTest2 <- Xreg[61:100]
Arima.fit2 <- auto.arima(tsTrain, xreg = xregTrain2)
Acast2<-forecast(Arima.fit2, h=40, xreg = xregTest2)
数据:
dput(ds$CustCount[1:100])
c(3,3,1,4,1,3,2,3,2,4,1,1,5,6,8,5,2,7,7,3,2,2,2) ,1,3,2,3,1,1,2,1,1,3,2,2,3,3,5,5,8,7,3,5,6,6,8,4 ,2,1,2,1,NA,NA,4,2,2,4,11,2,8,1,4,7,11,5,3,10,7,1,1,NA,2 ,NA,NA,2,NA,NA,1,2,3,5,9,5,9,6,6,1,5,3,7,5,8,3,2,6,3,2 ,3,1)
dput(tsTiTo[1:100])
c(45,34,11,79,102,45,21,45,104,20,2,207,45,2,3,153,8,2,173,11,207,79,45 ,153,192,173,130,4,173,174,173,130,79,154,4,104,192,153,192,104,28,173,52,45,11,29,22,81 ,7,79,193,104,1,1,46,130,45,154,153,7,174,21,193,45,79,173,45,153,45,173,2,1,2 ,1,1,8,1,1,79,45,79,173,45,2,173,130,104,19,4,34,2,192,42,41,31,39,11,79 ,4,79)
答案 0 :(得分:2)
xreg
中的auto.arima
参数执行dynamic regression
,也就是说您正在执行线性回归并使用arma
进程拟合错误。
虽然auto.arima()
曾经要求在包含外部回归量时对非静态数据进行手动差分,但现在不再是这种情况了。 auto.arima()
将非平稳数据作为输入,并使用单位根测试确定差分的顺序。
有关详细信息,请参阅Rob Hyndman的Post。