Autocorrelation is the crosscorrelation of a signal with itself. Informally, it is the similarity between observations as a function of the time separation between them. It is a mathematical tool for finding repeating patterns, such as the presence of a periodic signal which has been buried under 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.
Contents 
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.
In statistics, the autocorrelation of a random process describes the correlation between values of the process at different points in time, as a function of the two times or of the time difference. Let X be some repeatable process, and i be some point in time after the start of that process. (i may be an integer for a discretetime process or a real number for a continuoustime process.) Then X_{i} is the value (or realization) produced by a given run of the process at time i. Suppose that the process is further known to have defined values for mean μ_{i} and variance σ_{i}^{2} for all times i. Then the definition of the autocorrelation between any two time s and t is
where "E" is the expected value operator. Note that this expression is not welldefined for all time series or processes, because the variance may be zero (for a constant process) or infinite. If the function R is welldefined, its value must lie in the range [−1, 1], with 1 indicating perfect correlation and −1 indicating perfect anticorrelation.
If X_{t} is a secondorder stationary process then the mean μ and the variance σ^{2} are timeindependent, and further the autocorrelation depends only on the difference between t and s: the correlation depends only on the timedistance between the pair of values but not on their position in time. This further implies that the autocorrelation can be expressed as a function of the timelag, and that this would be an even function of the lag τ = t − s. This gives the more familiar form
and the fact that this is an even function can be stated as
It is common practice in some disciplines, other than statistics and time series analysis, to drop the normalization by σ^{2} and use the term "autocorrelation" interchangeably with "autocovariance". However, the normalisation is important both because the interpretation of the autocorrelation as a correlation provides a scalefree measure of the strength of statistical dependence, and because the normalisation has an effect on the statistical properties of the estimated autocorrelations.
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.^{[1]}
Given a signal f(t), the continuous autocorrelation R_{ff}(τ) is most often defined as the continuous crosscorrelation integral of f(t) with itself, at lag τ.
where represents the complex conjugate and * represents convolution. For a real function, .
The discrete autocorrelation R at lag j for a discrete signal x_{n} 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 widesensestationary random processes, the autocorrelations are defined as
For processes that are not stationary, these will also be functions of t, or n.
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^{[1]}
These definitions have the advantage that they give sensible welldefined singleparameter 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 shorttime autocorrelation function analysis, using finite time integrals. (See shorttime Fourier transform for a related process.)
Multidimensional autocorrelation is defined similarly. For example, in three dimensions the autocorrelation of a squaresummable discrete signal would be
When mean values are subtracted from signals before computing an autocorrelation function, the resulting function is usually called an autocovariance function.
In the following, we will describe properties of onedimensional autocorrelations only, since most properties are easily transferred from the onedimensional case to the multidimensional cases.
For a discrete process of length n {X_{1}, X_{2}, … X_{n}} with known mean and variance, an estimate of the autocorrelation may be obtained as
for any positive integer k < n. 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 a several possibilities:
The advantage of estimates of the last type is that the set of estimated autocorrelations, as a function of k, 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 X's, the variance calculated may turn out to be negative.
In regression analysis using time series data, autocorrelation of the residuals ("error terms", in econometrics) is a problem.
Autocorrelation violates the ordinary least squares (OLS) assumption that the error terms are uncorrelated. While it does not bias the OLS coefficient estimates, the standard errors tend to be underestimated (and the tscores overestimated) when the autocorrelations of the errors at low lags are positive.
The traditional test for the presence of firstorder autocorrelation is the Durbin–Watson statistic or, if the explanatory variables include a lagged dependent variable, Durbin's h statistic. 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 TR^{2}, where T is the sample size and R^{2} is the coefficient of determination. Under the null hypothesis of no autocorrelation, this statistic is asymptotically distributed as χ^{2} with k degrees of freedom.
Responses to nonzero autocorrelation include generalized least squares and the Newey–West HAC estimator (Heteroskedasticity and Autocorrelation Consistent).^{[4]}
