Skip to content
All library documents

Distinguishing the Lag-Zero ACF Spike from ARIMA Residual Autocorrelation

Article Quant Q&A · Author: Celeste

Summary

The document concerns a fitted ARMA model whose residual autocorrelation plot appears to retain a large positive spike at the first lag. The response explains that autocorrelation at lag zero is always one: a series is perfectly correlated with itself, since its lag-zero covariance equals its variance. A plot that includes lag zero will therefore show a prominent spike that does not indicate a model failure.

The suggested diagnostic is to inspect the horizontal axis and confirm whether the plotted bar is at lag zero or lag one, since software may differ in whether it displays lag zero. The exchange provides a conceptual clarification, not a detailed assessment of the model fit or residuals. If the spike is truly at lag one, the document does not supply enough evidence to diagnose its cause; other residual checks would still be needed.

Key ideas

  • Autocorrelation at lag zero equals one because a series is perfectly correlated with itself.
  • A prominent lag-zero bar is expected and does not by itself show that an ARIMA model is misspecified.
  • Check the plot’s axis because software may include or omit lag zero.
  • A genuine residual spike at lag one requires further model diagnostics.

Tags

Full text
# ARIMA model, cannot get rid of low order ACF spike


# ARIMA model, cannot get rid of low order ACF spike












I've gone through all the steps to fit a good ARIMA model - I plotted the data, I looked at the ADF tests, I looked at the ACF plot with no AR and MA terms just a constants. I came up with an ARMA(0,1,1) model as the ACF cut off after two lags (the second was negative) and the PACF decayed exponentially from the first order being negative.

The problem is I cannot get rid of a large positive spike at the first order lag in the ACF plot of the residuals once my model is fitted. I've tried increasing the number of MA terms, but the lag doesn't go away and the second term isn't significant. Given it is an MA model, I don't think further orders of differencing are need.

I've coded my model in R

Any advice?

Edit: I've included some of the graphs below. I tested my model with and without a constant, as the constant was not significant, however the AIC was lower with a constant. Theoretically thought, I think no constant makes more sense as I don't think there is a constant average trend. However, excluding the constant (with the argument include.mean=FALSE) doesn't change the ACF or PACF of ther residuals. The code I used to fit the models is:

```
ArmaOhdifc01 = armaFit( ~arma(0, 1), data=OhDiff)
ArmaOhdif01 = armaFit( ~arma(0, 1), data=OhDiff, include.mean=FALSE)
```

Below are the graphs - I didn't include the ACF and PACF of the first model becuase there is no difference to that of the second.

## Answer by Malick (score 2, accepted)

https://quant.stackexchange.com/a/15887

It is a classical misunderstanding, your model is right, you always have a acf equal to one at lag zero (and not one) since if there is no lag acf = covariance(x , x_lag 0) / variance x = variance x / variance x = 1.

So you need to pay attention to the x axis , some software displays ACF starting at lag zero and some others from 1 (which make better sense) .

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.