In time series analysis, the Autocorrelation Function (ACF) and the partial autocorrelation function (PACF) plots are essential in providing the model’s orders such as p for AR and q for MA to select the best model for forecasting.
The basic guideline for interpreting the ACF and PACF plots are as follows:
Here is the basic information when looking at ACF and PACF plots.
Here are the ACF and PACF plots of the AR(1) model.
Tail-off is observed at the ACF plot. Thus, it’s an AR model. From PACF, the cut-off happens at lag 2. Thus, the order is 2. So it should be AR(2) model.
Tail off at PACF. Then we know that it’s a MA model. The cut-off is at lag 1 in ACF. Thus, it’s MA(1) model.
Not that there are some more spikes that slightly go above the threshold blue lines like around lag 2 and 4. However, we always want a simplified model. So we usually take a lower lag number and a significant spike like the one at lag 1.
ACF and PACF plots of AR and MA models are very straightforward. However, for real-life times series data set, some ACF and PACF plots are ambiguous.
Let’s look at the following plots.
In both ACF and PACF plots, it’s not clear whether they are tailing off or cutting off. That’s where ARMA comes in.
With ARMA, the orders of p and q for AR and MA can be more than one. So testing out a few p and q combinations is advised to get a better score of AIC and BIC. To get the p-value for AR for the ARMA model, we will look at PACF plots. The spikes are at 1 and 3. Thus it’s AR(1) and AR(3). To get the q value, we will look at the ACF plot. The spikes are at 1 and 3. Thus it’s MA(1) and MA(3).
We can try out several different combinations of ARMA(1,1), ARMA(1,3), ARMA(3,1), and ARMA(3,3). Don’t worry about not getting the right orders for these ARMA models because we always do diagnostics for all the models to see their performance. In addition, we also choose the best model by their AIC and BIC scores.
The same concept of ARMA is applied in the ARIMA model as well. The only difference between ARMA and ARIMA is the differencing (d) [ ARMA(p,q) vs ARIMA(p,d,q)]. Let’s say we have ARMA(1,1) model. If the time series data need differencing to attain the seasonality, then it should be differenced. Then the model will be ARIMA(1,1,1).