def compute_pvalues_for_processes(self,U_matrix,chane_prob, num_bootstrapped_stats=100): N = U_matrix.shape[0] bootsraped_stats = np.zeros(num_bootstrapped_stats) # orsetinW = simulate(N,num_bootstrapped_stats,corr) for proc in range(num_bootstrapped_stats): # W = np.sign(orsetinW[:,proc]) W = simulatepm(N,chane_prob) WW = np.outer(W, W) st = np.mean(U_matrix * WW) bootsraped_stats[proc] = N * st stat = N*np.mean(U_matrix) return float(np.sum(bootsraped_stats > stat)) / num_bootstrapped_stats
def compute_stats_for_processes(self,samples,chane_prob): U,stat = self.get_statistic_multiple(samples) N = samples.shape[0] W = simulatepm(N,chane_prob) WW = np.outer(W, W) st = np.mean(U * WW) bootsraped_stat = N * st stat = N*np.mean(U) return stat,bootsraped_stat