How to estimate the Statistical Significance of a Correlation When the Data Are Serially Correlated in matlab?

40 views (last 30 days)
I want to calculate the statistical significance of a computed correlation coefficient when serial correlation is a concern.
I have two variables (var1 and var2). Data is attached.
I have computed lag correlation between the two time series following the standard procedure. Now I want to check whether estimated the correlation is significant or not using a matlab code.
Looking forward to your valuable suggestions.
For your better understanding on the problem you can refer to this paper

Answers (1)

Scott MacKenzie
Scott MacKenzie on 17 Mar 2022
Edited: Scott MacKenzie on 17 Mar 2022
MATLAB's corrcoef function provides the correlation (r) as well as the significance (p) of the correlation. For your data set, the correlation is not significant (p > .05):
M = readmatrix('https://www.mathworks.com/matlabcentral/answers/uploaded_files/930474/DATA.txt');
a = M(:,1);
b = M(:,2);
nanIdx = isnan(a); % seems there are a few nans in a, remove
a = a(~nanIdx);
b = b(~nanIdx);
[r, p] = corrcoef(a,b);
fprintf('r=%.4f, p=%.4f\n', r(1,2), p(1,2));
r=0.0948, p=0.1472
  2 Comments
Subhodh Sharma
Subhodh Sharma on 17 Mar 2022
Edited: Subhodh Sharma on 17 Mar 2022
@Scott Lowe Glad to see your response. Your result is not new to me.
I am looking for significance test ( for p value) on my cross correlation analysis.(xcorr in matlab)
That is significance values (p values) of my cross correlations. And am I supposed to do a t-test? or a Z-test? (or any hypothesis test)
I actually need to calculate p-value for Cross-Correlation for two time series ( with my provided data) with delay?
Hope this clears my need.
Thanks to you in advance.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!