使R中的auto.arima搜索更宽的模型空间

时间:2016-07-04 17:02:49

标签: r time-series

我正在使用R中的auto.arima函数,但我相信它没有搜索足够宽的状态空间,我不想逐步设置为false,因为我没有相应的资源,但是有没有让算法搜索更宽的空间(即p,d和q的更多值)的方法?

当前追踪:

mod_TV_rev<-auto.arima(ts.data[,9],xreg=cbind.data.frame(xreg,fourier(ts.data[,9],K = K) )
                       ,approximation=F,parallel =T ,num.cores = 3,stepwise=T,trace=T,max.order = 12 ,stationary = T,seasonal=T)

ARIMA(2,0,2) with non-zero mean : Inf *
 ARIMA(0,0,0) with non-zero mean : 1517.568
 ARIMA(1,0,0) with non-zero mean : 1520.413
 ARIMA(0,0,1) with non-zero mean : Inf *
 ARIMA(0,0,0) with zero mean     : 1512.052
 ARIMA(1,0,0) with non-zero mean : 1520.413
 ARIMA(0,0,1) with non-zero mean : Inf *
 ARIMA(1,0,1) with non-zero mean : Inf *

 Best model: ARIMA(0,0,0) with non-zero mean 

2 个答案:

答案 0 :(得分:1)

您还可以使用max.pmax.P等设置最大季节性和非季节性AR,MA和差异订单。 - 请参阅?auto.arima

但是,除非您设置stepwise=F,否则auto.arima将贪婪地进行并在无法再改进时终止 - 并注意您的跟踪显示它无法接近默认的最大订单。 (这些默认值很有意义。你非常很少考虑高于5的订单。)

替代方案是:

  1. 设置stepwise=FALSE,您没有
  2. 的资源
  3. 修改auto.arima代码,使其在终止
  4. 之前接受其停止标准的暂时恶化
  5. 使用arima
  6. 预先决定某些模型并直接拟合它们
  7. 思考很难关于你的问题 - 如果auto.arima不想超越第2阶段,它可能有充分的理由。您希望扩大搜索空间的理由是什么?

答案 1 :(得分:0)

IEnumerator UpdatePath; { 仅在max.order =时使用。但是,当stepwise = FALSE stepwise = TRUEstart.pstart.Pstart.q允许您在逐步搜索中设置起始值时,您可以使用这些参数。您还可以指定start.Qmax.d