Autocorrelation, sometimes known as serial correlation in the discrete time case, is the correlation of a signal with a delayed copy of itself as a function of delay. Informally, it is the similarity between observations of a random variable as a function of the time lag between them. The analysis of autocorrelation is a mathematical tool for finding repeating patterns, such as the presence of a periodic signal obscured by noise, or identifying the missing fundamental frequency in a signal implied by its harmonic frequencies. It is often used in signal processing for analyzing functions or series of values, such as time domain signals.

Above: A plot of a series of 100 random numbers concealing a sine function. Below: The sine function revealed in a correlogram produced by autocorrelation.
Visual comparison of convolution, cross-correlation, and autocorrelation. For the operations involving function f, and assuming the height of f is 1.0, the value of the result at 5 different points is indicated by the shaded area below each point. Also, the symmetry of f is the reason and are identical in this example.

Different fields of study define autocorrelation differently, and not all of these definitions are equivalent. In some fields, the term is used interchangeably with autocovariance.

Unit root processes, trend-stationary processes, autoregressive processes, and moving average processes are specific forms of processes with autocorrelation.

Auto-correlation of stochastic processes


In statistics, the autocorrelation of a real or complex random process is the Pearson correlation between values of the process at different times, as a function of the two times or of the time lag. Let   be a random process, and   be any point in time (  may be an integer for a discrete-time process or a real number for a continuous-time process). Then   is the value (or realization) produced by a given run of the process at time  . Suppose that the process has mean   and variance   at time  , for each  . Then the definition of the auto-correlation function between times   and   is[1]: p.388 [2]: p.165 


where   is the expected value operator and the bar represents complex conjugation. Note that the expectation may not be well defined.

Subtracting the mean before multiplication yields the auto-covariance function between times   and  :[1]: p.392 [2]: p.168 


Note that this expression is not well defined for all time series or processes, because the mean may not exist, or the variance may be zero (for a constant process) or infinite (for processes with distribution lacking well-behaved moments, such as certain types of power law).

Definition for wide-sense stationary stochastic process


If   is a wide-sense stationary process then the mean   and the variance   are time-independent, and further the autocovariance function depends only on the lag between   and  : the autocovariance depends only on the time-distance between the pair of values but not on their position in time. This further implies that the autocovariance and auto-correlation can be expressed as a function of the time-lag, and that this would be an even function of the lag  . This gives the more familiar forms for the auto-correlation function[1]: p.395 


and the auto-covariance function:


In particular, note that




It is common practice in some disciplines (e.g. statistics and time series analysis) to normalize the autocovariance function to get a time-dependent Pearson correlation coefficient. However, in other disciplines (e.g. engineering) the normalization is usually dropped and the terms "autocorrelation" and "autocovariance" are used interchangeably.

The definition of the auto-correlation coefficient of a stochastic process is[2]: p.169 


If the function   is well defined, its value must lie in the range  , with 1 indicating perfect correlation and −1 indicating perfect anti-correlation.

For a wide-sense stationary (WSS) process, the definition is


The normalization is important both because the interpretation of the autocorrelation as a correlation provides a scale-free measure of the strength of statistical dependence, and because the normalization has an effect on the statistical properties of the estimated autocorrelations.



Symmetry property


The fact that the auto-correlation function   is an even function can be stated as[2]: p.171 

respectively for a WSS process:[2]: p.173 

Maximum at zero


For a WSS process:[2]: p.174 

Notice that   is always real.

Cauchy–Schwarz inequality


The Cauchy–Schwarz inequality, inequality for stochastic processes:[1]: p.392 


Autocorrelation of white noise


The autocorrelation of a continuous-time white noise signal will have a strong peak (represented by a Dirac delta function) at   and will be exactly   for all other  .

Wiener–Khinchin theorem


The Wiener–Khinchin theorem relates the autocorrelation function   to the power spectral density   via the Fourier transform:



For real-valued functions, the symmetric autocorrelation function has a real symmetric transform, so the Wiener–Khinchin theorem can be re-expressed in terms of real cosines only:



Auto-correlation of random vectors


The (potentially time-dependent) auto-correlation matrix (also called second moment) of a (potentially time-dependent) random vector   is an   matrix containing as elements the autocorrelations of all pairs of elements of the random vector  . The autocorrelation matrix is used in various digital signal processing algorithms.

For a random vector   containing random elements whose expected value and variance exist, the auto-correlation matrix is defined by[3]: p.190 [1]: p.334 


where   denotes the transposed matrix of dimensions  .

Written component-wise:


If   is a complex random vector, the autocorrelation matrix is instead defined by


Here   denotes Hermitian transpose.

For example, if   is a random vector, then   is a   matrix whose  -th entry is  .

Properties of the autocorrelation matrix

  • The autocorrelation matrix is a Hermitian matrix for complex random vectors and a symmetric matrix for real random vectors.[3]: p.190 
  • The autocorrelation matrix is a positive semidefinite matrix,[3]: p.190  i.e.   for a real random vector, and respectively   in case of a complex random vector.
  • All eigenvalues of the autocorrelation matrix are real and non-negative.
  • The auto-covariance matrix is related to the autocorrelation matrix as follows:
    Respectively for complex random vectors:

Auto-correlation of deterministic signals


In signal processing, the above definition is often used without the normalization, that is, without subtracting the mean and dividing by the variance. When the autocorrelation function is normalized by mean and variance, it is sometimes referred to as the autocorrelation coefficient[4] or autocovariance function.

Auto-correlation of continuous-time signal


Given a signal  , the continuous autocorrelation   is most often defined as the continuous cross-correlation integral of   with itself, at lag  .[1]: p.411 


where   represents the complex conjugate of  . Note that the parameter   in the integral is a dummy variable and is only necessary to calculate the integral. It has no specific meaning.

Auto-correlation of discrete-time signal


The discrete autocorrelation   at lag   for a discrete-time signal   is


The above definitions work for signals that are square integrable, or square summable, that is, of finite energy. Signals that "last forever" are treated instead as random processes, in which case different definitions are needed, based on expected values. For wide-sense-stationary random processes, the autocorrelations are defined as


For processes that are not stationary, these will also be functions of  , or  .

For processes that are also ergodic, the expectation can be replaced by the limit of a time average. The autocorrelation of an ergodic process is sometimes defined as or equated to[4]


These definitions have the advantage that they give sensible well-defined single-parameter results for periodic functions, even when those functions are not the output of stationary ergodic processes.

Alternatively, signals that last forever can be treated by a short-time autocorrelation function analysis, using finite time integrals. (See short-time Fourier transform for a related process.)

Definition for periodic signals


If   is a continuous periodic function of period  , the integration from   to   is replaced by integration over any interval   of length  :


which is equivalent to




In the following, we will describe properties of one-dimensional autocorrelations only, since most properties are easily transferred from the one-dimensional case to the multi-dimensional cases. These properties hold for wide-sense stationary processes.[5]

  • A fundamental property of the autocorrelation is symmetry,  , which is easy to prove from the definition. In the continuous case,
    • the autocorrelation is an even function   when   is a real function, and
    • the autocorrelation is a Hermitian function   when   is a complex function.
  • The continuous autocorrelation function reaches its peak at the origin, where it takes a real value, i.e. for any delay  ,  .[1]: p.410  This is a consequence of the rearrangement inequality. The same result holds in the discrete case.
  • The autocorrelation of a periodic function is, itself, periodic with the same period.
  • The autocorrelation of the sum of two completely uncorrelated functions (the cross-correlation is zero for all  ) is the sum of the autocorrelations of each function separately.
  • Since autocorrelation is a specific type of cross-correlation, it maintains all the properties of cross-correlation.
  • By using the symbol   to represent convolution and   is a function which manipulates the function   and is defined as  , the definition for   may be written as:

Multi-dimensional autocorrelation


Multi-dimensional autocorrelation is defined similarly. For example, in three dimensions the autocorrelation of a square-summable discrete signal would be


When mean values are subtracted from signals before computing an autocorrelation function, the resulting function is usually called an auto-covariance function.

Efficient computation


For data expressed as a discrete sequence, it is frequently necessary to compute the autocorrelation with high computational efficiency. A brute force method based on the signal processing definition   can be used when the signal size is small. For example, to calculate the autocorrelation of the real signal sequence   (i.e.  , and   for all other values of i) by hand, we first recognize that the definition just given is the same as the "usual" multiplication, but with right shifts, where each vertical addition gives the autocorrelation for particular lag values:


Thus the required autocorrelation sequence is  , where     and   the autocorrelation for other lag values being zero. In this calculation we do not perform the carry-over operation during addition as is usual in normal multiplication. Note that we can halve the number of operations required by exploiting the inherent symmetry of the autocorrelation. If the signal happens to be periodic, i.e.   then we get a circular autocorrelation (similar to circular convolution) where the left and right tails of the previous autocorrelation sequence will overlap and give   which has the same period as the signal sequence   The procedure can be regarded as an application of the convolution property of Z-transform of a discrete signal.

While the brute force algorithm is order n2, several efficient algorithms exist which can compute the autocorrelation in order n log(n). For example, the Wiener–Khinchin theorem allows computing the autocorrelation from the raw data X(t) with two fast Fourier transforms (FFT):[6][page needed]


where IFFT denotes the inverse fast Fourier transform. The asterisk denotes complex conjugate.

Alternatively, a multiple τ correlation can be performed by using brute force calculation for low τ values, and then progressively binning the X(t) data with a logarithmic density to compute higher values, resulting in the same n log(n) efficiency, but with lower memory requirements.[7][8]



For a discrete process with known mean and variance for which we observe   observations  , an estimate of the autocorrelation coefficient may be obtained as


for any positive integer  . When the true mean   and variance   are known, this estimate is unbiased. If the true mean and variance of the process are not known there are several possibilities:

  • If   and   are replaced by the standard formulae for sample mean and sample variance, then this is a biased estimate.
  • A periodogram-based estimate replaces   in the above formula with  . This estimate is always biased; however, it usually has a smaller mean squared error.[9][10]
  • Other possibilities derive from treating the two portions of data   and   separately and calculating separate sample means and/or sample variances for use in defining the estimate.[citation needed]

The advantage of estimates of the last type is that the set of estimated autocorrelations, as a function of  , then form a function which is a valid autocorrelation in the sense that it is possible to define a theoretical process having exactly that autocorrelation. Other estimates can suffer from the problem that, if they are used to calculate the variance of a linear combination of the  's, the variance calculated may turn out to be negative.[11]

Regression analysis


In regression analysis using time series data, autocorrelation in a variable of interest is typically modeled either with an autoregressive model (AR), a moving average model (MA), their combination as an autoregressive-moving-average model (ARMA), or an extension of the latter called an autoregressive integrated moving average model (ARIMA). With multiple interrelated data series, vector autoregression (VAR) or its extensions are used.

In ordinary least squares (OLS), the adequacy of a model specification can be checked in part by establishing whether there is autocorrelation of the regression residuals. Problematic autocorrelation of the errors, which themselves are unobserved, can generally be detected because it produces autocorrelation in the observable residuals. (Errors are also known as "error terms" in econometrics.) Autocorrelation of the errors violates the ordinary least squares assumption that the error terms are uncorrelated, meaning that the Gauss Markov theorem does not apply, and that OLS estimators are no longer the Best Linear Unbiased Estimators (BLUE). While it does not bias the OLS coefficient estimates, the standard errors tend to be underestimated (and the t-scores overestimated) when the autocorrelations of the errors at low lags are positive.

The traditional test for the presence of first-order autocorrelation is the Durbin–Watson statistic or, if the explanatory variables include a lagged dependent variable, Durbin's h statistic. The Durbin-Watson can be linearly mapped however to the Pearson correlation between values and their lags.[12] A more flexible test, covering autocorrelation of higher orders and applicable whether or not the regressors include lags of the dependent variable, is the Breusch–Godfrey test. This involves an auxiliary regression, wherein the residuals obtained from estimating the model of interest are regressed on (a) the original regressors and (b) k lags of the residuals, where 'k' is the order of the test. The simplest version of the test statistic from this auxiliary regression is TR2, where T is the sample size and R2 is the coefficient of determination. Under the null hypothesis of no autocorrelation, this statistic is asymptotically distributed as   with k degrees of freedom.

Responses to nonzero autocorrelation include generalized least squares and the Newey–West HAC estimator (Heteroskedasticity and Autocorrelation Consistent).[13]

In the estimation of a moving average model (MA), the autocorrelation function is used to determine the appropriate number of lagged error terms to be included. This is based on the fact that for an MA process of order q, we have  , for  , and  , for  .



Autocorrelation's ability to find repeating patterns in data yields many applications, including:

  • Autocorrelation analysis is used heavily in fluorescence correlation spectroscopy[14] to provide quantitative insight into molecular-level diffusion and chemical reactions.[15]
  • Another application of autocorrelation is the measurement of optical spectra and the measurement of very-short-duration light pulses produced by lasers, both using optical autocorrelators.
  • Autocorrelation is used to analyze dynamic light scattering data, which notably enables determination of the particle size distributions of nanometer-sized particles or micelles suspended in a fluid. A laser shining into the mixture produces a speckle pattern that results from the motion of the particles. Autocorrelation of the signal can be analyzed in terms of the diffusion of the particles. From this, knowing the viscosity of the fluid, the sizes of the particles can be calculated.
  • Utilized in the GPS system to correct for the propagation delay, or time shift, between the point of time at the transmission of the carrier signal at the satellites, and the point of time at the receiver on the ground. This is done by the receiver generating a replica signal of the 1,023-bit C/A (Coarse/Acquisition) code, and generating lines of code chips [-1,1] in packets of ten at a time, or 10,230 chips (1,023 × 10), shifting slightly as it goes along in order to accommodate for the doppler shift in the incoming satellite signal, until the receiver replica signal and the satellite signal codes match up.[16]
  • The small-angle X-ray scattering intensity of a nanostructured system is the Fourier transform of the spatial autocorrelation function of the electron density.
  • In surface science and scanning probe microscopy, autocorrelation is used to establish a link between surface morphology and functional characteristics.[17]
  • In optics, normalized autocorrelations and cross-correlations give the degree of coherence of an electromagnetic field.
  • In astronomy, autocorrelation can determine the frequency of pulsars.
  • In music, autocorrelation (when applied at time scales smaller than a second) is used as a pitch detection algorithm for both instrument tuners and "Auto Tune" (used as a distortion effect or to fix intonation).[18] When applied at time scales larger than a second, autocorrelation can identify the musical beat, for example to determine tempo.
  • Autocorrelation in space rather than time, via the Patterson function, is used by X-ray diffractionists to help recover the "Fourier phase information" on atom positions not available through diffraction alone.
  • In statistics, spatial autocorrelation between sample locations also helps one estimate mean value uncertainties when sampling a heterogeneous population.
  • The SEQUEST algorithm for analyzing mass spectra makes use of autocorrelation in conjunction with cross-correlation to score the similarity of an observed spectrum to an idealized spectrum representing a peptide.
  • In astrophysics, autocorrelation is used to study and characterize the spatial distribution of galaxies in the universe and in multi-wavelength observations of low mass X-ray binaries.
  • In panel data, spatial autocorrelation refers to correlation of a variable with itself through space.
  • In analysis of Markov chain Monte Carlo data, autocorrelation must be taken into account for correct error determination.
  • In geosciences (specifically in geophysics) it can be used to compute an autocorrelation seismic attribute, out of a 3D seismic survey of the underground.
  • In medical ultrasound imaging, autocorrelation is used to visualize blood flow.
  • In intertemporal portfolio choice, the presence or absence of autocorrelation in an asset's rate of return can affect the optimal portion of the portfolio to hold in that asset.
  • In numerical relays, autocorrelation has been used to accurately measure power system frequency.[19]

Serial dependence


Serial dependence is closely linked to the notion of autocorrelation, but represents a distinct concept (see Correlation and dependence). In particular, it is possible to have serial dependence but no (linear) correlation. In some fields however, the two terms are used as synonyms.

A time series of a random variable has serial dependence if the value at some time   in the series is statistically dependent on the value at another time  . A series is serially independent if there is no dependence between any pair.

If a time series   is stationary, then statistical dependence between the pair   would imply that there is statistical dependence between all pairs of values at the same lag  .

See also



  1. ^ a b c d e f g Gubner, John A. (2006). Probability and Random Processes for Electrical and Computer Engineers. Cambridge University Press. ISBN 978-0-521-86470-1.
  2. ^ a b c d e f Kun Il Park, Fundamentals of Probability and Stochastic Processes with Applications to Communications, Springer, 2018, ISBN 978-3-319-68074-3
  3. ^ a b c Papoulis, Athanasius, Probability, Random variables and Stochastic processes, McGraw-Hill, 1991
  4. ^ a b Dunn, Patrick F. (2005). Measurement and Data Analysis for Engineering and Science. New York: McGraw–Hill. ISBN 978-0-07-282538-1.
  5. ^ Proakis, John (August 31, 2001). Communication Systems Engineering (2nd Edition) (2 ed.). Pearson. p. 168. ISBN 978-0130617934.
  6. ^ Box, G. E. P.; Jenkins, G. M.; Reinsel, G. C. (1994). Time Series Analysis: Forecasting and Control (3rd ed.). Upper Saddle River, NJ: Prentice–Hall. ISBN 978-0130607744.
  7. ^ Frenkel, D.; Smit, B. (2002). "chap. 4.4.2". Understanding Molecular Simulation (2nd ed.). London: Academic Press. ISBN 978-0122673511.
  8. ^ Colberg, P.; Höfling, F. (2011). "Highly accelerated simulations of glassy dynamics using GPUs: caveats on limited floating-point precision". Comput. Phys. Commun. 182 (5): 1120–1129. arXiv:0912.3824. Bibcode:2011CoPhC.182.1120C. doi:10.1016/j.cpc.2011.01.009. S2CID 7173093.
  9. ^ Priestley, M. B. (1982). Spectral Analysis and Time Series. London, New York: Academic Press. ISBN 978-0125649018.
  10. ^ Percival, Donald B.; Andrew T. Walden (1993). Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques. Cambridge University Press. pp. 190–195. ISBN 978-0-521-43541-3.
  11. ^ Percival, Donald B. (1993). "Three Curious Properties of the Sample Variance and Autocovariance for Stationary Processes with Unknown Mean". The American Statistician. 47 (4): 274–276. doi:10.1080/00031305.1993.10475997.
  12. ^ "Serial correlation techniques". Statistical Ideas. 26 May 2014.
  13. ^ Baum, Christopher F. (2006). An Introduction to Modern Econometrics Using Stata. Stata Press. ISBN 978-1-59718-013-9.
  14. ^ Elson, Elliot L. (December 2011). "Fluorescence Correlation Spectroscopy: Past, Present, Future". Biophysical Journal. 101 (12): 2855–2870. Bibcode:2011BpJ...101.2855E. doi:10.1016/j.bpj.2011.11.012. PMC 3244056. PMID 22208184.
  15. ^ Hołyst, Robert; Poniewierski, Andrzej; Zhang, Xuzhu (2017). "Analytical form of the autocorrelation function for the fluorescence correlation spectroscopy". Soft Matter. 13 (6): 1267–1275. Bibcode:2017SMat...13.1267H. doi:10.1039/C6SM02643E. ISSN 1744-683X. PMID 28106203.
  16. ^ Van Sickle, Jan (2008). GPS for Land Surveyors (Third ed.). CRC Press. pp. 18–19. ISBN 978-0-8493-9195-8.
  17. ^ Kalvani, Payam Rajabi; Jahangiri, Ali Reza; Shapouri, Samaneh; Sari, Amirhossein; Jalili, Yousef Seyed (August 2019). "Multimode AFM analysis of aluminum-doped zinc oxide thin films sputtered under various substrate temperatures for optoelectronic applications". Superlattices and Microstructures. 132: 106173. doi:10.1016/j.spmi.2019.106173. S2CID 198468676.
  18. ^ Tyrangiel, Josh (2009-02-05). "Auto-Tune: Why Pop Music Sounds Perfect". Time. Archived from the original on February 10, 2009.
  19. ^ Kasztenny, Bogdan (March 2016). "A New Method for Fast Frequency Measurement for Protection Applications" (PDF). Schweitzer Engineering Laboratories. Archived (PDF) from the original on 2022-10-09. Retrieved 28 May 2022.

Further reading