diff --git a/src/MATLAB/ncdVSvfmd/goEmbedCorr.m b/src/MATLAB/ncdVSvfmd/goEmbedCorr.m new file mode 100644 index 0000000000000000000000000000000000000000..3a655a3d3745c57ed5f47cca5b3419b7b3e6ff79 --- /dev/null +++ b/src/MATLAB/ncdVSvfmd/goEmbedCorr.m @@ -0,0 +1,82 @@ +load('/home/ac/git/rsf/src/MATLAB/ncdVSvfmd/results/qualYes_ncdVSvfmd_[[0.5,8,8]].mat') +r2 = []; + +for i = 1:length(dxx) +dNCD = []; +dEmbed = []; +dMD = []; + eyeBucket = dxx{i}; + for e = 1:size(eyeBucket,1) + m = dxx{i}(e,2); + n = dxx{i}(e,3); + if pData.dx(m) > pData.dx(n) + 4; + tmp = m; + m = n; + n = tmp; + end + eyeBucket(e,4) = pData.md(n) - pData.md(m); + end +% eyeBucket(eyeBucket(:,4)>0,:) = []; + if size(eyeBucket,2) < 3 + continue + end + mBase = min(eyeBucket(:,2)); + nBase = min(eyeBucket(:,3)); + base = min([mBase,nBase]); + dmd1 = []; + d = []; + for j = 1:size(eyeBucket,1) + m = eyeBucket(j,2); + n = eyeBucket(j,3); + + if pData.dx(m) > pData.dx(n) + 4; + tmp = m; + m = n; + n = tmp; + end + + mi = m - base + 1; + ni = n - base + 1; + + d(mi,ni) = eyeBucket(j,1); + d(ni,mi) = d(mi,ni); + % m and n indices into pData + + dmd1(mi,ni) = pData.md(n) - pData.md(m); + if dmd1(mi,ni) > 0 + dmd1(mi,ni) = NaN; + end + if m ~= n && pData.dx(m) == pData.dx(n) + % same date pair + dmd1(mi,ni) = NaN; + end + end + + NDIMS = 3; + if all(0==triu(d,1),'all') || size(d,1)<NDIMS + continue + end + [~,Y] = Cluster.SpectralCluster(d,NDIMS); + dY = pdist(Y); + dY = dY(:); + + for r = 1:size(d,1) + for c = r+1:size(d,2) + dNCD = [dNCD;d(r,c)]; + dMD = [dMD;dmd1(r,c)]; + end + end + dY = [dY ; diag(squareform(dY))]; + dEmbed = [dEmbed ; dY]; + dNCD = [dNCD ; diag(d)]; + dMD = [dMD;0*diag(d)]; + if length(find(abs(dMD)>0)) <1 + continue + end +% [r,p] = corr(dMD,dEmbed); + [r,p] = corr(dMD,dEmbed,'rows','pairwise'); + r2 = [r2,r^2]; + +end \ No newline at end of file