statsmodels.tsa.stattools.acf

statsmodels.tsa.stattools.acf(x, unbiased=False, nlags=40, qstat=False, fft=None, alpha=None, missing='none')[source]

Calculate the autocorrelation function.

Parameters
xarray_like

The time series data.

unbiasedbool

If True, then denominators for autocovariance are n-k, otherwise n.

nlagsint, optional

Number of lags to return autocorrelation for.

qstatbool, optional

If True, returns the Ljung-Box q statistic for each autocorrelation coefficient. See q_stat for more information.

fftbool, optional

If True, computes the ACF via FFT.

alphascalar, optional

If a number is given, the confidence intervals for the given level are returned. For instance if alpha=.05, 95 % confidence intervals are returned where the standard deviation is computed according to Bartlett’s formula.

missingstr, optional

A string in [‘none’, ‘raise’, ‘conservative’, ‘drop’] specifying how the NaNs are to be treated.

Returns
acfndarray

The autocorrelation function.

confintndarray, optional

Confidence intervals for the ACF. Returned if alpha is not None.

qstatndarray, optional

The Ljung-Box Q-Statistic. Returned if q_stat is True.

pvaluesndarray, optional

The p-values associated with the Q-statistics. Returned if q_stat is True.

Notes

The acf at lag 0 (ie., 1) is returned.

For very long time series it is recommended to use fft convolution instead. When fft is False uses a simple, direct estimator of the autocovariances that only computes the first nlag + 1 values. This can be much faster when the time series is long and only a small number of autocovariances are needed.

If unbiased is true, the denominator for the autocovariance is adjusted but the autocorrelation is not an unbiased estimator.

References

1

Parzen, E., 1963. On spectral analysis with missing observations and amplitude modulation. Sankhya: The Indian Journal of Statistics, Series A, pp.383-392.