How to estimate the auto-correlation function value r(k)=E[X(n)X(n-k)]
8 views (last 30 days)
Show older comments
If X(n) is an available time series, I want to estimate the auto-correlation function value of r(k). The definition of r(k) is r(k)=E[X(n)X(n-k)]. Should I use the command "xcorr(x)"? But I will obtain a sequence, how could I get a value? Is this way right? I define y(n)=x(n-k), and use the xcorr(x,y)? But still I need a value and how to do the time delay process y(n)=x(n-k)?
0 Comments
Accepted Answer
Nirmal Gunaseelan
on 12 Jul 2011
XCORR will return the autocorrelation values and the associated lags at which these values were calculated. The examples section has one:
ww = randn(1000,1);
[c_ww,lags] = xcorr(ww,10,'coeff');
stem(lags,c_ww)
What do you mean by just one value representing ACF? The sequence of values represent correlation between values at different lag indices (time) and a single value does not make sense.
4 Comments
Nirmal Gunaseelan
on 15 Jul 2011
Option depends on what you want - the document clearly gives the various options and default (none) should work for most cases.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!