def main(): drones = {} drone_data = read_drone_data() for index, drone in drone_data.iterrows(): if drone['drone_id'] is not np.nan: drones[drone['drone_id']] = (drone['x_m'], drone['y_m']) for window in TIME_WINDOWS: files = get_files(window) for file_name, method, output in files: data = [] times = [] sourcemac = None with open(file_name, 'r') as f: reader = csv.DictReader(f, delimiter=';') for row in reader: data.append((float(row['x_m']), float(row['y_m']))) times.append(float(row['timestamp'])) sourcemac = row['sourcemac'] for sigma in range(1, 51): Bayesian_Philip()
def get_latex_table(): results = {} for window in TIME_WINDOWS: base_files = get_files(window) for i, base_file in enumerate(base_files): dist, std = get_performance.main(base_file[0], 'euc') try: results[base_file[1]].append(dist) except KeyError: results[base_file[1]] = [dist] print('', end=" ") for window in TIME_WINDOWS: print('& ' + str(window), end=" ") print('\\\\') print('\\hline') for key in results: print(key, end=" ") for value in results[key]: print('& ' + str(round(value, 3)), end=" ") print('\\\\') print('\\hline')
def main(): pos_diff = ACTUAL_SECOND_POS[0] - ACTUAL_FIRST_POS[0] time_diff = ACTUAL_SECOND_POS[1] - ACTUAL_FIRST_POS[1] grad = pos_diff / time_diff for window in TIME_WINDOWS: files = get_files(window) for file_name, method, output in files: data = [] times = [] sourcemac = None with open(file_name, 'r') as f: reader = csv.DictReader(f, delimiter=';') for row in reader: data.append((float(row['x_m']), float(row['y_m']))) times.append(float(row['timestamp'])) sourcemac = row['sourcemac'] act_init_pos = ACTUAL_FIRST_POS[0] + grad * (times[0] - ACTUAL_FIRST_POS[1]) init_est_error = (np.array(data[0]) - act_init_pos) P0 = np.array([[init_est_error[0]**2, 0], [0, init_est_error[1]**2]]) for q_sigma in range(1, 501): for r_sigma in range(21, 31): kalman_filter = KalmanFilter(data[0], P0, times[0], q_sigma, r_sigma) results = kalman_filter.perform_kalman_steps( data[1:], times[1:]) with open( '/media/nickyz/Data/scriptie_data/results/kalman_filter/' + output + '_{}_{}.csv'.format(q_sigma, r_sigma), 'a') as f: writer = csv.writer(f, delimiter=";") writer.writerow( ["sourcemac", "timestamp", "x_m", "y_m"]) for i, result in enumerate(results): writer.writerow([sourcemac, times[i]] + list(result))
def main(): N = len(TIME_WINDOWS) results = [] labels = ['Euclidean Distance', 'Method', 'Time Window'] methods = [] ps = [] prev_length = 0 for window in TIME_WINDOWS: base_files = get_files(window) methods = [] for i, base_file in enumerate(base_files): dists = get_performance.main(base_file[0], 'euc', False) methods.append(base_file[2]) # len_dif = # prev_length = len() for val in dists: results.append([val, base_file[1], window]) # tri_shortness = len(part_results[0]) - len(part_results[-1]) # # while tri_shortness > 0: # part_results[-1].append(None) # tri_shortness -= 1 # # part_results.append([window for _ in part_results[0]]) # # results += np.array(part_results).T.tolist() df = pd.DataFrame.from_records(results, columns=labels) g = sns.boxplot(x='Method', y='Euclidean Distance', hue='Time Window', data=df) g.set_xticklabels(labels=methods, rotation=30) axes = g.axes axes.set_ylim(0, 40) plt.show()
def main(): for window in TIME_WINDOWS: files = get_files(window) for file_name, method, output in files: data = [] times = [] sourcemac = None with open(file_name, 'r') as f: reader = csv.DictReader(f, delimiter=';') for row in reader: data.append((float(row['x_m']), float(row['y_m']))) times.append(float(row['timestamp'])) sourcemac = row['sourcemac'] # for data_window in range(0, 41): # med_filter = Median_filter(data_window) # results = med_filter.get_series(data) # # with open('../results/med_filter/' + output + '_{}.csv'.format(data_window), 'a') as f: # writer = csv.writer(f, delimiter=";") # writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) # # for j, result in enumerate(results): # writer.writerow([sourcemac, times[j]] + list(result)) # # for data_window in range(0, 41): # med_filter = Shifting_median_filter(data_window) # results = med_filter.get_series(list(zip(times, data))) # # with open('../results/shift_med_filter/' + output + '_{}.csv'.format(data_window), 'a') as f: # writer = csv.writer(f, delimiter=";") # writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) # # for j, result in enumerate(results): # writer.writerow([sourcemac, times[j]] + list(result)) # data_window = SIGMA_EST_WINDOWS[method][window] # for sigma in range(251, 301): # med_filter = Gaussian_median_filter(data_window, sigma) # results = med_filter.get_series(list(zip(times, data))) # # with open('../results/gauss_med_filter/sigma_est/' + output + '_{}.csv'.format(sigma), 'a') as f: # writer = csv.writer(f, delimiter=";") # writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) # # for j, result in enumerate(results): # writer.writerow([sourcemac, times[j]] + list(result)) sigma = WINDOW_EST_SIGMA[method][window] for data_window in range(0, 41): med_filter = Gaussian_median_filter(data_window, sigma) results = med_filter.get_series(list(zip(times, data))) with open('../results/gauss_med_filter/' + output + '_{}.csv'.format(data_window), 'a') as f: writer = csv.writer(f, delimiter=";") writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) for j, result in enumerate(results): writer.writerow([sourcemac, times[j]] + list(result))
def main(): for window in TIME_WINDOWS: files = get_files(window) for file_name, method, output in files: data = [] times = [] sourcemac = None with open(file_name, 'r') as f: reader = csv.DictReader(f, delimiter=';') for row in reader: data.append((float(row['x_m']), float(row['y_m']))) times.append(float(row['timestamp'])) sourcemac = row['sourcemac'] # for i in range(0, 101): # alpha = i / 100 # # exp_filter = Exp_mv_avg(alpha) # results = exp_filter.get_series(data) # # with open('../results/exp_filter/' + output + '_{}.csv'.format(alpha), 'a') as f: # writer = csv.writer(f, delimiter=";") # writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) # # for j, result in enumerate(results): # writer.writerow([sourcemac, times[j]] + list(result)) # for i in range(1001, 1501): # tau = i / 10 # # exp_filter = Irr_exp_mv_avg(tau) # results = exp_filter.get_series(list(zip(times, data))) # # with open('../results/irr_exp_filter/' + output + '_{}.csv'.format(tau), 'a') as f: # writer = csv.writer(f, delimiter=";") # writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) # # for j, result in enumerate(results): # writer.writerow([sourcemac, times[j]] + list(result)) # for i in range(0, 101, 5): # alpha = i / 100 # for j in range(0, 101, 5): # beta = j / 100 # # exp_filter = Double_exp_smoothing(alpha, beta) # results = exp_filter.get_series(data) # # with open('../results/dbl_exp_filter/' + output + '_{}_{}.csv'.format(alpha, beta), 'a') as f: # writer = csv.writer(f, delimiter=";") # writer.writerow(["sourcemac", "timestamp", "x_m", "y_m"]) # # for k, result in enumerate(results): # writer.writerow([sourcemac, times[k]] + list(result)) for i in range(31, 51): tau_a = float(i) for j in range(1, 31): tau_b = float(j) exp_filter = Irr_double_exp_smoothing(tau_a, tau_b) results = exp_filter.get_series(list(zip(times, data))) with open( '/media/nickyz/Data/scriptie_data/results/dbl_irr_exp_filter/' + output + '_{}_{}.csv'.format(tau_a, tau_b), 'a') as f: writer = csv.writer(f, delimiter=";") writer.writerow( ["sourcemac", "timestamp", "x_m", "y_m"]) for k, result in enumerate(results): writer.writerow([sourcemac, times[k]] + list(result))