对一对时间序列做相关性分析,包括pearson,sprearman和kendall相关分析三种。
说明针对一对长度相同的时间序列数据,既对整体序列对做相关性分析,也对分段后的序列对做相关性分析。
在分段时,设置的时间窗为60s(wintime=60),时间间隔为30s(hoptime=30),也就是每30s判断一次这一时间点前后共60s内的序列对相关性。
matlab代码中,[r,p]为整体相关性的返回值,r1, r2, r3, p1, p2, p3为三种分段后的相关性分析的返回值。
matlab代码如下 x = []; %input x herey = []; %input y here[r,p] = corr(x,y,'type','pearson')length = size(x,1);path = 60/2; % compute corr every 30 datas with length of 60t = (ceil(length/path)-1);for i = 1:t if (i==t) a = x(path*(i-1)+1:length); b = y(path*(i-1)+1:length); else a = x(path*(i-1)+1:path*(i+1)); b = y(path*(i-1)+1:path*(i+1)); end [r1(i),p1(i)] = corr(a,b,'type','pearson'); [r2(i),p2(i)] = corr(a,b,'type','spearman'); [r3(i),p3(i)] = corr(a,b,'type','kendall'); if isnan(r1(i)) r1(i) = 0; r2(i) = 0; r3(i) = 0; endendk(1,:) = r1;k(2,:) = r2;k(3,:) = r3;k(4,:) = p1;k(5,:) = p2;k(6,:) = p3;