CCheckpoint
CCheckpoint

Reputation: 33

auto.arima() not differencing while it should?

I am using auto.arima from forecast package to create an ARIMAX model. The dependent variable and the regressors are non-stationary. However, auto.arima() returns a model ARIMA(0,0,0).

Should I worry about this? Should I force auto.arima() to difference my time series, specifying d=1 ?

If I don't put any regressors in my model, it does detect non-stationarity, ending up with ARIMA(0,1,1).

I know the problem is similar to this topic, but my dataset is bigger (about 90 observations), thus the answer given is not satisfying.

Upvotes: 3

Views: 1609

Answers (1)

Zheyuan Li
Zheyuan Li

Reputation: 73415

auto.arima did nothing wrong. Note you have an additive model:

response = regression + time_series

When you include regressors / covariates, non-stationarity is captured by regressors / covariates, so time series component is simple. For your data, you end up with ARIMA(0,0,0), which is white noise.

When you don't have regressors / covariates, non-stationarity has to be modelled by time series, thus differencing is needed. For your data, you end up with ARIMA(0,1,1).

Of course, those two models are not the same, or even equivalent. If you really want some model selection, use the AIC values by both models. But remember, all models are wrong; some are useful. As long as a model can not be rejected at certain statistical significance, it is useful for prediction purpose.

Upvotes: 3

Related Questions