Autocorrelation
2724
225000349
2008-07-11T11:48:09Z
Thermochap
1078186
/* Applications */ add wikilink
[[Image:Acf.svg|thumb|right|A plot showing 100 random numbers with a "hidden" [[sine]] function, and an autocorrelation ([[correlogram]]) of the series on the bottom.]]
'''Autocorrelation''' 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 used frequently in [[signal processing]] for analyzing functions or series of values, such as [[time domain]] [[signal (information theory)|signals]].
Informally, it is the similarity between observations as a function of the time separation between them.
More precisely, it is the [[cross-correlation]] of a signal with itself.
== Definitions ==
Different definitions of autocorrelation are in use depending on the field of study which is being considered and not all of them are equivalent. In some fields, the term is used interchangeably with [[autocovariance]].
=== Statistics ===
In [[statistics]], the autocorrelation function (ACF) of a random process describes the [[correlation]] between the process at different points in time. Let ''X''<sub>''t''</sub> be the value of the process at time ''t'' (where ''t'' may be an integer for a
discrete-time process or a real number for a continuous-time process).
If ''X''<sub>''t''</sub> has [[mean]] μ and [[variance]] σ<sup>2</sup> then the definition of the ACF is
:<math>
R(t,s) = \frac{E[(X_t - \mu)(X_s - \mu)]}{\sigma^2}\, ,
</math>
where ''E'' is the [[expected value]] operator. Note that this expression is not well-defined for all time series or processes, since the variance σ<sup>2</sup> may be zero (for a constant process) or infinite. If the function ''R'' is well-defined its value must lie in the range [−1, 1], with 1 indicating perfect correlation and −1 indicating perfect anti-correlation.
If ''X''<sub>''t''</sub> is [[stationary process|second-order stationary]] then the ACF depends only on the difference between ''t'' and ''s'' and can be expressed as a function of a single variable. This gives the more familiar form
:<math>
R(k) = \frac{E[(X_i - \mu)(X_{i+k} - \mu)]}{\sigma^2}\, ,
</math>
where ''k'' is the lag, | ''t'' − ''s'' |. It is common practice in many disciplines to drop the normalization by σ<sup>2</sup> and use the term ''autocorrelation'' interchangeably with ''autocovariance''. <!--For a continuous time process, if <math>f(t)</math> is a sample path of the process (which has a known mean and variance) then an estimate may be obtained from
:<math> \hat{R}(k)=\frac{1}{\sigma^2} \int_{-\infty}^{\infty} (f(t)-\mu)(f(t+k)-\mu) dt</math>,
for <math>k \in \mathbb{R}</math>. -->
For a discrete time series of length ''n'' {''X''<sub>1</sub>, ''X''<sub>2</sub>, … ''X''<sub>''n''</sub>} with known mean and variance, an estimate of the autocorrelation may be obtained as
:<math>
\hat{R}(k)=\frac{1}{(n-k) \sigma^2} \sum_{t=1}^{n-k} [X_t-\mu][X_{t+k}-\mu]
</math>
for any positive integer ''k'' < ''n''. When the true mean μ is known, this estimate is unbiased. If the true mean and variance of the process are not known there are a several possibilities:
* If μ and σ<sup>2</sup> are replaced by the standard formulae for sample mean and sample variance, then this is a biased estimate.
* A [[periodogram]]-based estimate replaces ''n''-''k'' in the above formula with ''n''. This estimate is always biased; however, it usually has a smaller mean square error.<ref>''Spectral analysis and time series'', M.B. Priestley (London, New York : Academic Press, 1982)</ref><ref>{{cite book | last=Percival | first=Donald B. | coauthors=Andrew T. Walden | title=Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques | year=1993 | publisher=Cambridge University Press | isbn=0-521-43541-2 | pages=pp190--195}}</ref>
* Other possibilities derive from treating the two portions of data {''X''<sub>1</sub>, ''X''<sub>2</sub>, … ''X''<sub>''n''-''k''</sub>} and {''X''<sub>''k''+1</sub>, ''X''<sub>2</sub>, … ''X''<sub>''n''</sub>} separately and calculating separate sample means and/or sample variances for use in defining the estimate.
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 function in the sense that it is possible to define a theoretical process having exactly that autocorrelation function. 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.
=== Signal processing ===
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'''.<ref name="dunn">Patrick F. Dunn, ''Measurement and Data Analysis for Engineering and Science,'' New York: McGraw–Hill, 2005 ISBN 0-07-282538-3</ref>
Given a signal ''f''(''t''), the continuous autocorrelation ''R<sub>ff</sub>''(τ) is most often defined as the continuous cross-correlation integral of ''f''(''t'') with itself, at lag ''τ''.
:<math>R_{ff}(\tau) = \overline{f}(-\tau) * f(\tau) = \int_{-\infty}^{\infty} f(t+\tau)\overline{f}(t)\, dt = \int_{-\infty}^{\infty} f(t)\overline{f}(t-\tau)\, dt</math>
where <math>\bar f</math> represents the [[complex conjugate]] and <math>*</math> represents [[convolution]]. For a [[real function]], <math>\bar f = f</math>.
The discrete autocorrelation ''R'' at lag ''j'' for a discrete signal ''x<sub>n</sub>'' is
:<math>R_{xx}(j) = \sum_n x_n \overline{x}_{n-j} \ . </math>
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 [[stationary process|wide-sense-stationary random processes]], the autocorrelations are defined as
:<math>R_{ff}(\tau) = E\left[f(t)\overline{f}(t-\tau)\right]</math>
:<math>R_{xx}(j) = E\left[x_n \overline{x}_{n-j}\right].</math>
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<ref name="dunn">x</ref>
:<math>R_{ff}(\tau) = \lim_{T \rightarrow \infty} {1 \over T} \int_{0}^{T} f(t+\tau)\overline{f}(t)\, dt</math>
:<math>R_{xx}(j) = \lim_{N \rightarrow \infty} {1 \over N} \sum_{n=0}^{N-1}x_n \overline{x}_{n-j}.</math>
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.)
Multi-[[dimension]]al autocorrelation is defined similarly. For example, in [[Three-dimensional space|three dimensions]] the autocorrelation of a square-summable [[discrete signal]] would be
:<math>R(j,k,\ell) = \sum_{n,q,r} (x_{n,q,r})(x_{n-j,q-k,r-\ell}).</math>
When mean values are subtracted from signals before computing an autocorrelation function, the resulting function is usually called an auto-covariance function.
== 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.
* A fundamental property of the autocorrelation is symmetry, ''R''(''i'') = ''R''(−''i''), which is easy to prove from the definition. In the continuous case, the autocorrelation is an [[even function]]
::<math>R_f(-\tau) = R_f(\tau)\,</math>
:when ''f'' is a real function and the autocorrelation is a [[Hermitian function]]
::<math>R_f(-\tau) = R_f^*(\tau)\,</math>
:when ''f'' 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 ''τ'', <math>|R_f(\tau)| \leq R_f(0)</math>. This is a consequence of the [[Cauchy–Schwarz inequality]]. The same result holds in the discrete case.
* The autocorrelation of a [[periodic function]] is, itself, periodic with the very 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.
* The autocorrelation of a continuous-time [[white noise]] signal will have a strong peak (represented by a [[Dirac delta function]]) at τ = 0 and will be absolutely 0 for all other τ.
* The [[Wiener–Khinchin theorem]] relates the autocorrelation function to the [[spectral density|power spectral density]] via the [[Fourier transform]]:
::<math>R(\tau) = \int_{-\infty}^\infty S(f) e^{j 2 \pi f \tau} \, df</math>
::<math>S(f) = \int_{-\infty}^\infty R(\tau) e^{- j 2 \pi f \tau} \, d\tau.</math>
* 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:
::<math>R(\tau) = \int_{-\infty}^\infty S(f) \cos(2 \pi f \tau) \, df</math>
::<math>S(f) = \int_{-\infty}^\infty R(\tau) \cos(2 \pi f \tau) \, d\tau.</math>
==Regression analysis==
In [[regression analysis]] using [[time series analysis|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 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–Watson statistic#Durbin h-statistic|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''<sup>2</sup>, where ''T'' is the sample size and ''R''<sup>2</sup> is the [[coefficient of determination]]. Under the null hypothesis of no autocorrelation, this statistic is
asymptotically distributed as Χ<sup>2</sup> with ''k'' degrees of freedom.
Responses to nonzero autocorrelation include [[linear model#Generalized least squares|generalized least squares]] and [[Newey–West standard errors]].<ref>{{cite book | title = An Introduction to Modern Econometrics Using Stata | author = Christopher F. Baum | url = http://books.google.com/books?id=acxtAylXvGMC&pg=PA141&ots=ROZHFuNnkG&dq=newey-west-standard-errors+generalized-least-squares&ei=tSTBRvWGGILIoAKHrajwBQ&sig=9Ypgd9sGX42SJAFRZCnINieG8Mk#PPA141,M1 | publisher = Stata Press | year = 2006 | isbn = 1597180130}}</ref>
==Applications==
* One application of autocorrelation is the measurement of [[optical spectrum|optical spectra]] and the measurement of very-short-duration [[light]] [[ultrashort pulse|pulses]] produced by [[laser]]s, both using [[optical autocorrelation|optical autocorrelators]].
* In optics, normalized autocorrelations and cross-correlations give the [[degree of coherence]] of an electromagnetic field.
* In [[signal processing]], autocorrelation can give information about repeating events like [[music]]al [[Beat (music)|beat]]s or [[pulsar]] [[frequency|frequencies]], though it cannot tell the position in time of the beat. It can also be used to estimate the pitch of a musical tone.
* 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.
* Spatial autocorrelation between sample locations also helps one estimate [[Variance#Generalizations|mean value uncertainties]] when sampling a heterogeneous population.
==See also==
* [[Correlation function]]
* [[Cross-correlation]]
* [[Fluorescence correlation spectroscopy]]
* [[Optical autocorrelation]]
* [[Pitch detection algorithm]]
* [[Variance]]
==External links==
* {{MathWorld | urlname=Autocorrelation | title=Autocorrelation}}
* [http://www.dsprelated.com/comp.dsp/keyword/Autocorrelation.php Autocorrelation articles in Comp.DSP (DSP usenet group).]
==References==
<references/>
[[Category:Covariance and correlation]]
[[Category:Fourier analysis]]
[[Category:Regression analysis]]
[[Category:Signal processing]]
[[Category:Time series analysis]]
[[ar: ترابط تلقائي]]
[[de:Autokorrelation]]
[[es:Autocorrelación]]
[[fr:Autocorrélation]]
[[gl:Autocorrelación]]
[[it:Autocorrelazione]]
[[ja:自己相関]]
[[pl:Autokorelacja]]
[[pt:Autocorrelação]]
[[ru:Автокорреляционная функция]]
[[su:Autokorélasi]]
[[fi:Autokorrelaatio]]
[[sv:Autokorrelation]]
[[tr:Otokorelasyon]]
[[zh:自相关函数]]