有没有办法从auto.arima强制季节性

时间:2016-05-04 19:45:08

标签: r time-series forecasting

使用forecast套餐,我有一个时间序列,我希望?auto.arima自动选择订单,但我想强制季节性。该函数的默认值允许seasonal参数设置为TRUE,但这只允许季节性选项而不是强制。

auto.arima(x, d=NA, D=NA, max.p=5, max.q=5,
     max.P=2, max.Q=2, max.order=5, max.d=2, max.D=1, 
     start.p=2, start.q=2, start.P=1, start.Q=1, 
     stationary=FALSE, seasonal=TRUE,
     ic=c("aicc", "aic", "bic"), stepwise=TRUE, trace=FALSE,
     approximation=(length(x)>100 | frequency(x)>12), xreg=NULL,
     test=c("kpss","adf","pp"), seasonal.test=c("ocsb","ch"),
     allowdrift=TRUE, allowmean=TRUE, lambda=NULL, biasadj=FALSE,
     parallel=FALSE, num.cores=2)

1 个答案:

答案 0 :(得分:12)

您可以将控制季节差异的D参数设置为大于零的值。 (默认NA允许auto.arima()使用或不使用季节性。)例如:

> set.seed(1)
> foo <- ts(rnorm(60),frequency=12)
> auto.arima(foo)
Series: foo 
ARIMA(0,0,0) with zero mean     

sigma^2 estimated as 0.7307:  log likelihood=-75.72
AIC=153.45   AICc=153.52   BIC=155.54
> auto.arima(foo,D=1)
Series: foo 
ARIMA(0,0,0)(1,1,0)[12]                    

Coefficients:
         sar1
      -0.3902
s.e.   0.1478

sigma^2 estimated as 1.139:  log likelihood=-72.23
AIC=148.46   AICc=148.73   BIC=152.21