max_ratio_errors = pd.DataFrame() min_ratio_errors = pd.DataFrame() max_distances = pd.DataFrame() min_distances = pd.DataFrame() gini_coefficients = pd.DataFrame() mean_idenratio_errors = pd.DataFrame() max_idenratio_errors = pd.DataFrame() min_idenratio_errors = pd.DataFrame() iden_gini_coefficients = pd.DataFrame() for i in range(t): print(i) c = np.random.choice(len(W_lst), size=k) Ws = W_lst[c] Wn = W_name[c] As = A_lst[c] res = error_calc(Ws, Ws, n, eps, modes, rep, As=As, Ar=As) results.append(res) names.append(Wn) total_error = OrderedDict() mean_ratio_error = OrderedDict() max_ratio_error = OrderedDict() min_ratio_error = OrderedDict() max_distance = OrderedDict() min_distance = OrderedDict() gini_coefficient = OrderedDict() mean_idenratio_error = OrderedDict() max_idenratio_error = OrderedDict() min_idenratio_error = OrderedDict() iden_gini_coefficient = OrderedDict() for mode in modes: total_error[mode] = np.sum(res[mode])
np.random.seed(seed) print(experiment_name) print('n={}, k={}, eps={}, rep={}, seed={}'.format(n,k,eps,rep,seed)) conf = OrderedDict() conf['n']=n conf['eps'] = eps conf['rep']=rep conf['seed'] =seed modes = ['ind', 'uni', 'fdiff', 'fmax', 'fsum'] W_name = ['adult', 'age1', 'age2', 'age3'] W_lst = [census.__adult(), census.__age1(), census.__age2(), census.__age3()] c = np.random.choice(len(W_lst)) Ws = [W_lst[c]] Wn = [W_name[c]] res = error_calc(Ws, Ws, n, 1/k*eps, modes, rep) analysis = pd.DataFrame() result = pd.DataFrame.from_dict(res, orient='index') result = result.set_index(result.index+'_1') results = result out_dict = dict() out_dict['res_1'] = res res_prev = res for j in range(2,k+1): outs = [] index =[] c = np.random.choice(len(W_lst)) Ws.append(W_lst[c]) Wn.append(W_name[c]) res = error_calc(Ws, Ws, n, j/k*eps, modes, rep)
'buc_qsd' ] W1 = np.zeros(n) W1[1] = 1 W1 = matrix.EkteloMatrix(W1.reshape(1, n)) W2 = workload.Total(n) Ws = [W1] for i in range(1, k): Ws.append(W2) Wr = Ws[:2] outs = [] index = [] res = error_calc(Ws, Wr, n, eps, modes, rep) res_noW1 = error_calc(Ws[1:], Wr[1:], n, eps * (k - 1) / k, modes, rep) for mode in modes[1:]: print(mode) outs.append(crossmode_analysis(res['ind'], res[mode])) outs.append(interference_analysis(res_noW1[mode], res[mode][1:])) index.extend([mode + '_ind', mode + '_inter']) analysis = pd.DataFrame(outs, index=index) results = pd.DataFrame.from_dict(res, orient='index') results_noW1 = pd.DataFrame.from_dict(res_noW1, orient='index') results_noW1 = results_noW1.set_index(results_noW1.index + '_noW1') results_noW1.insert(len(results_noW1.columns), len(results_noW1.columns), np.zeros(len(results_noW1))) results_noW1 = results_noW1.shift(1, axis=1) results = results.append(results_noW1) print(results)
conf['seed'] =seed outs =[] modes = ['ind', 'uni', 'fdiff', 'fmax', 'fsum', 'buc_eq', 'buc_con', 'buc_qeq', 'buc_qsd'] W1 = workload.Identity(n) W2 = workload.Total(n) Ws = [W1] for i in range(1,k): Ws.append(W2) Wr = Ws[:2] As = strategy_comp(Ws, n, rep) Ar = As[:2] outs = [] index =[] res = error_calc(Ws, Wr, n, eps, modes, rep, As=As, Ar=Ar) res_noW1 = error_calc(Ws[1:], Wr[1:], n, eps*(k-1)/k, modes, rep, As=As[1:], Ar=Ar[1:]) for mode in modes[1:]: print(mode) outs.append(crossmode_analysis(res['ind'], res[mode])) outs.append(interference_analysis(res_noW1[mode], res[mode][1:])) index.extend([mode+'_ind', mode+'_inter']) analysis = pd.DataFrame(outs, index=index) results = pd.DataFrame.from_dict(res, orient='index') results_noW1 = pd.DataFrame.from_dict(res_noW1, orient='index') results_noW1 = results_noW1.set_index(results_noW1.index+'_noW1') results_noW1.insert(len(results_noW1.columns), len(results_noW1.columns), np.zeros(len(results_noW1))) results_noW1 = results_noW1.shift(1,axis=1) results = results.append(results_noW1) print(results)