I am trying to make time series analysis with SARIMA and I have a question. My dataset is a seasonal dataset. I validated that I have stationary series by KPSS test.

enter image description here

I also found the following results:

ndiffs(ts) #number of regular difference
[1] 0
nsdiffs(ts) #number of seasonal difference
[1] 1

According to the results, I took the seasonal difference of the dataset, then I drew ACF and PACF of differenced time series:

ACF of Differenced TS PACF of Differenced TS I think I couldn't make suitable model identification. I thought that following three model could fit the dataset.

SARIMA(1,0,1)(1,1,1)[12] SARIMA(1,0,2)(1,1,1)[12] SARIMA(1,0,3)(1,1,1)[12]

However, when I summary of the three model I got the following results:

1) Summary1

2) Summary3

3) Summary2

Also, I used auto.arima but I found that model is insignificant as well. I think I am missing something because I am very new to this field. Can somebody have an idea?


I also used seasonal dummy variables thanks to the advices of @richard As a result of regression, all seasonal dummies are significant and model has 95% R^2 value. When I draw the ACF and PACF functions of residuals of the regression model, I got the following plot:

ACF function of residuals of regression PACF function of residuals of regression


1 Answer 1


This looks like a case of overdifferencing; notice the high and statistically significant negative partial autocorrelation at the seasonal frequency 12. The KPSS test had the correct indication of stationarity, while the subsequent seasonal differencing assessment produced a contradicting and, I believe, misleading result. (You should have noticed the contradiction, as a series cannot be both stationary and seasonally integrated at the same time.)

The original plot shows quite clearly that the series is stationary around a seasonal pattern rather than being a combination of 12 random walks (one in each season) which would be the case if the series were seasonally integrated. Seasonal differencing is thus not warranted, and use of seasonal dummies, Fourier terms or similar should do the job.

  • 1
    $\begingroup$ This is an enlightening explanation. $\endgroup$ Nov 20, 2021 at 11:23
  • $\begingroup$ Thank you! Today, I used 11 different seasonal dummy variables and I saw them all parameters are significant. Also I drew the residual plot and applied stationary test to residuals of the estimated model. May I determine the suitable ARIMA model by looking at ACF and PACF plots? $\endgroup$
    – iloloa
    Nov 21, 2021 at 13:08
  • 1
    $\begingroup$ @iloloa, ACF and PACF help only in the simplest of cases. auto.arima applied on the original series, with the seasonal dummies in the xreg argument, would be a modern alternative. $\endgroup$ Nov 21, 2021 at 14:51
  • $\begingroup$ @richard Thank you professor. As you said, I added seasonal dummy variables on my dataset and found that all of the seasonal lags are significant. Then, I applied fit <- auto.arima(ts, xreg=seasonaldummy(ts)) to find suitable model. At this point I have a question: I did not define the linear model on the fit <- auto.arima(ts, xreg=seasonaldummy(ts)). Here, ts represents the time series data. How does auto.arima use the linear model that I found that all the seasonal lags are significant? $\endgroup$
    – iloloa
    Nov 24, 2021 at 18:38
  • 1
    $\begingroup$ @iloloa, auto.arima does a linear model of ts on seasonaldummy(ts) and then models the error term by ARMA. Thus te linear model is the first part. $\endgroup$ Nov 24, 2021 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.