significant correlation values
显示 更早的评论
How is it possible to test whether the correlation between 2 time series is significant?
For example:
clear all
a = 1;
b = 20;
Fieldnames = {'data1','data2','data3','data4'};
data1 = a + (b-a).*rand(100,1);
data2 = a + (b-a).*rand(100,1);
data3 = a + (b-a).*rand(100,1);
data4 = a + (b-a).*rand(100,1);
NewData = [data1,data2,data3,data4];
R = nonzeros(tril(corrcoef(NewData),-1));
R_values = [Fieldnames(nchoosek(1:length(Fieldnames),2)) num2cell(R)];
How would I find if the correlation values were significant?
回答(1 个)
Wayne King
2012-4-25
You can return the p-values from corrcoef
a = 0;
b = 1;
data1 = a + (b-a).*rand(100,1);
data2 = a + (b-a).*rand(100,1);
data3 = a + (b-a).*rand(100,1);
data4 = a + (b-a).*rand(100,1);
NewData = [data1,data2,data3,data4];
[r,p] = corrcoef(NewData);
% row and column indices of significant correlations
[I,J] = find(p<0.05);
Of course this is not giving the correlation for anything but at zero lag. Often in time series analysis you assume that there may be correlation between two time series if one is lagged with respect to the other.
类别
在 帮助中心 和 File Exchange 中查找有关 Polynomials 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!