With the forecast
package, I have a time series that I would like ?auto.arima
to automatically pick the orders but I would like to coerce seasonality. The defaults for the function allow for the seasonal
argument to be set to TRUE
, but that only allows the option for seasonality not a coercion.
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)
You can set the D
parameter, which governs seasonal differencing, to a value greater than zero. (The default NA
allows auto.arima()
to use or not use seasonality.) For example:
> 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
来源:https://stackoverflow.com/questions/37046275/is-there-a-way-to-force-seasonality-from-auto-arima