, and autocorrelation. For the operations involving function , and assuming the height of 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 is the reason and are identical in this example.
]]
Autocorrelation, sometimes known as serial correlation in the discrete time case, measures the correlation of a signal with a delayed copy of itself. Essentially, it quantifies the similarity between observations of a random variable at different points in time. The analysis of autocorrelation is a mathematical tool for identifying repeating patterns or hidden periodicities within a signal obscured by noise. Autocorrelation is widely used in signal processing, time domain and time series analysis to understand the behavior of data over time.
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.
Various time series models incorporate autocorrelation, such as unit root processes, trend-stationary processes, autoregressive processes, and moving average processes.
Autocorrelation 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
autocorrelation function between times
and
is
[Kun Il Park, Fundamentals of Probability and Stochastic Processes with Applications to Communications, Springer, 2018, ]
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 :[
]
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 autocorrelation 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 autocorrelation function[
]
and the auto-covariance function:
In particular, note that
Normalization
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 autocorrelation coefficient of a stochastic process is[
]
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.
Properties
Symmetry property
The fact that the autocorrelation function is an even function can be stated as[
respectively for a WSS process:][
]
Maximum at zero
For a WSS process:[
Notice that is always real.
]
Cauchy–Schwarz inequality
The Cauchy–Schwarz inequality, inequality for stochastic processes:[
]
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 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:
Autocorrelation of random vectors
The (potentially time-dependent) autocorrelation 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 whose expected value and variance exist, the autocorrelation matrix is defined by[Papoulis, Athanasius, Probability, Random variables and Stochastic processes, McGraw-Hill, 1991][
]
\triangleq\ \operatorname{E} \left[ \mathbf{X} \mathbf{X}^{\rm T} \right]
|cellpadding= 6
|border
|border colour = #0073CF
where denotes the 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.
-
The autocorrelation matrix is a positive semidefinite matrix,
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:
Autocorrelation 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 or autocovariance function.
Autocorrelation 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 .[
]
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.
Autocorrelation 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 process, 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
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
Properties
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.
-
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 , .
[ 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- 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 signal 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 ) 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 , several efficient algorithms exist which can compute the autocorrelation in order . For example, the Wiener–Khinchin theorem allows computing the autocorrelation from the raw data with two fast Fourier transforms (FFT):
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 data with a density to compute higher values, resulting in the same efficiency, but with lower memory requirements.
Estimation
For a Discrete signal 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