for m in M: Pearson = [] Spearman = [] Pearson_p = [] Spearman_p = [] Pearson_MDS = [] Pearson_Iso = [] Pearson_MDS_p = [] Pearson_Iso_p = [] Pearson_svd = [] Spearman_svd = [] Cluster = [] Cluster_svd = [] for _ in range(iters): Phi = random_phi(m, X.shape[0]) Y, noise = get_observations(X, Phi, snr=snr, return_noise=True) pearson_dist, spearman_dist = compare_distances(X, Y, pvalues=True) #cluster_similarity = compare_clusters(X, Y) Pearson.append(pearson_dist[0]) #Spearman.append(spearman_dist[0]) #Pearson_p.append(pearson_dist[1]) #Spearman_p.append(spearman_dist[1]) #Cluster.append(cluster_similarity) #X_mds = MDS().fit_transform(X.T).T #Y_mds = MDS().fit_transform(Y.T).T #X_iso = Isomap().fit_transform(X.T).T #Y_iso = Isomap().fit_transform(Y.T).T #pearson_mds, spearman_mds = compare_distances(X_mds, Y_mds, pvalues=True) #pearson_iso, spearman_iso = compare_distances(X_iso, Y_iso, pvalues=True) #Pearson_MDS.append(pearson_mds[0]) #Pearson_Iso.append(pearson_iso[0])
import numpy as np from dl_simulation import random_phi, get_observations from analyze_predictions import * import glob,os import sys fp,snr = sys.argv[1:] snr = float(snr) iters = 15 prefix = fp[:fp.rfind('/')] X = np.load(fp) thresh = np.percentile(X,99.5) X[(X > thresh)] = thresh Cluster = [] for _ in range(iters): Phi = np.eye(X.shape[0]) Y = get_observations(X,Phi,snr=snr) cluster_similarity = compare_clusters(X,Y) Cluster.append(cluster_similarity) print(prefix,np.average(Cluster),np.std(Cluster))