[R] Cross-correlation between two time series data
spencer.graves at pdf.com
Tue Sep 5 01:00:44 CEST 2006
This will produce a "permutation distribution" for the correlation
under the null hypothesis of zero correlation between the variables.
This is a reasonable thing to do, and would probably produce limits more
accurate than the dashed red lines on the 'ccf' plot. However, they
would NOT be confidence interval(s).
For a confidence interval on cross correlation, you'd have to
hypothesize some cross correlation pattern between x and y, preferably
parameterized parsimoniously, then somehow determine an appropriate
range of values consistent with the data. By the time you've done all
that, you've effectively fit some model and constructed confidence
intervals on the parameter(s).
Andrew Robinson wrote:
> If your interest is to estimate the correlation and either a
> confidence interval or a test for no correlation, then you might try
> to proceed as follows. This is a Monte-Carlo significance test, and a
> useful strategy.
> 1) use ccf() to compute the cross-correlation between x and y.
> 2) repeat the following steps, say, 1000 times.
> 2a) randomly reorder the values of one of the time series, say x.
> Call the randomly reordered series x'.
> 2b) use ccf() to compute the cross-correlation between x' and y.
> Store that cross-correlation.
> 3) the 1000 cross-correlation estimates computed in step 2 are all
> estimating cross-correlation 0, conditional on the data. A
> two-tailed test then is: if the cross-correlation computed in step
> 1 is outside the (0.025, 0.975) quantiles of the empirical
> distribution of the cross-correlations computed in step 2, then,
> reject the null hypothesis that x and y are uncorrelated, with size
> I hope that this helps.
> Juni Joshi wrote:
>> Hi all,
>> I have two time series data (say x and y). I am interested to
>> calculate the correlation between them and its confidence interval (or
>> to test no correlation). Function cor.test(x,y) does the test of no
>> correlation. But this test probably is wrong because of autocorrelated
>> ccf() calculates the correlation between two series data. But it does
>> not provide the confidence intervals of cross correlation. Is there
>> any function that calculates the confidence interval of correlation
>> between two time series data or performs the test of no correlation
>> between two time series data.
>> R-help at stat.math.ethz.ch mailing list
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help