From 63fd33f05ae5aa98302ab3b6a46199ecf8858c0d Mon Sep 17 00:00:00 2001 From: Manos Katsomallos Date: Tue, 5 Oct 2021 23:40:15 +0200 Subject: [PATCH] expt_lmdk_sel: Testing the Pareto principle --- code/expt/expt_lmdk_sel-pareto.py | 107 ++++++++++++++++++ code/lib/exp_mech.py | 41 +++++++ .../Bimodal landmark distribution.pdf | Bin 0 -> 14587 bytes .../Left-skewed landmark distribution.pdf | Bin 0 -> 14865 bytes .../Right-skewed landmark distribution.pdf | Bin 0 -> 14863 bytes .../Symmetric landmark distribution.pdf | Bin 0 -> 14852 bytes .../Uniform landmark distribution.pdf | Bin 0 -> 14583 bytes 7 files changed, 148 insertions(+) create mode 100644 code/expt/expt_lmdk_sel-pareto.py create mode 100644 rslt/lmdk_sel-pareto/Bimodal landmark distribution.pdf create mode 100644 rslt/lmdk_sel-pareto/Left-skewed landmark distribution.pdf create mode 100644 rslt/lmdk_sel-pareto/Right-skewed landmark distribution.pdf create mode 100644 rslt/lmdk_sel-pareto/Symmetric landmark distribution.pdf create mode 100644 rslt/lmdk_sel-pareto/Uniform landmark distribution.pdf diff --git a/code/expt/expt_lmdk_sel-pareto.py b/code/expt/expt_lmdk_sel-pareto.py new file mode 100644 index 0000000..0bc4ff7 --- /dev/null +++ b/code/expt/expt_lmdk_sel-pareto.py @@ -0,0 +1,107 @@ +#!/usr/bin/env python3 + +import sys +sys.path.insert(1, '../lib') +import argparse +import lmdk_lib +import lmdk_sel +import exp_mech +import numpy as np +import os +from matplotlib import pyplot as plt +import time + + +def main(args): + # Privacy goal + epsilon = [.001, .01, .1, 1.0, 10.0, 100.0] + # Number of timestamps + seq = lmdk_lib.get_seq(1, args.time) + # Distribution type + dist_type = np.array(range(-1, 4)) + # Number of landmarks + lmdk_n = np.array(range(int(.2*args.time), args.time, int(args.time/5))) + # Width of bars + bar_width = 1/(len(epsilon) + 1) + # The x axis + x_i = np.arange(len(lmdk_n)) + x_margin = bar_width*(len(epsilon)/2 + 1) + for d_i, d in enumerate(dist_type): + # Logging + title = lmdk_lib.dist_type_to_str(d) + ' landmark distribution' + print('(%d/%d) %s... ' %(d_i + 1, len(dist_type), title), end='', flush=True) + # Initialize plot + lmdk_lib.plot_init() + # The x axis + plt.xticks(x_i, ((lmdk_n/len(seq))*100).astype(int)) + plt.xlabel('Landmarks (%)') # Set x axis label. + plt.xlim(x_i.min() - x_margin, x_i.max() + x_margin) + # The y axis + plt.ylabel('Mean absolute error') # Set y axis label. + # plt.ylim(0, len(seq)*1.5) + # Bar offset + x_offset = -(bar_width/2)*(len(epsilon) - 1) + for e_i, e in enumerate(epsilon): + mae = np.zeros(len(lmdk_n)) + for n_i, n in enumerate(lmdk_n): + for r in range(args.reps): + lmdks = lmdk_lib.get_lmdks(seq, n, d) + hist, h = lmdk_lib.get_hist(seq, lmdks) + opts = lmdk_sel.get_opts_from_top_h(seq, lmdks) + delta = 1.0 + res, _ = exp_mech.exponential_pareto(hist, opts, exp_mech.score, delta, e) + mae[n_i] += lmdk_lib.get_norm(hist, res)/args.reps + # Plot bar for current epsilon + plt.bar( + x_i + x_offset, + mae, + bar_width, + label=u'\u03B5 = ' + str("{:.0e}".format(e)), + linewidth=lmdk_lib.line_width + ) + # Change offset for next bar + x_offset += bar_width + path = str('../../rslt/lmdk_sel-pareto/' + title) + # Plot legend + lmdk_lib.plot_legend() + # Show plot + # plt.show() + # Save plot + lmdk_lib.save_plot(path + '.pdf') + print('[OK]', flush=True) + + +''' + Parse arguments. + + Optional: + reps - The number of repetitions. + time - The time limit of the sequence. +''' +def parse_args(): + # Create argument parser. + parser = argparse.ArgumentParser() + + # Mandatory arguments. + + # Optional arguments. + parser.add_argument('-r', '--reps', help='The number of repetitions.', type=int, default=1) + parser.add_argument('-t', '--time', help='The time limit of the sequence.', type=int, default=100) + + # Parse arguments. + args = parser.parse_args() + + return args + + +if __name__ == '__main__': + try: + start_time = time.time() + main(parse_args()) + end_time = time.time() + print('##############################') + print('Time elapsed: %s' % (time.strftime('%H:%M:%S', time.gmtime(end_time - start_time)))) + print('##############################') + except KeyboardInterrupt: + print('Interrupted by user.') + exit() diff --git a/code/lib/exp_mech.py b/code/lib/exp_mech.py index 25c7ea5..cd298fb 100644 --- a/code/lib/exp_mech.py +++ b/code/lib/exp_mech.py @@ -62,6 +62,47 @@ def exponential(x, R, u, delta, epsilon): return np.array([]), pr +''' + The exponential mechanism. + + Parameters: + x - The data. + R - The possible outputs. + u - The scoring function. + delta - The sensitivity of the scoring function. + epsilon - The privacy budget. + Returns: + res - A randomly sampled output. + pr - The PDF of all possible outputs. +''' +def exponential_pareto(x, R, u, delta, epsilon): + # Calculate the score for each element of R + scores = [u(x, r) for r in R] + # Keep the top 20% + n = int(len(scores)*.2) + scores = np.sort(scores)[-n : ] + # Normalize the scores between 0 and 1 + # (the higher, the better the utility) + scores = 1 - (scores - np.min(scores))/(np.max(scores) - np.min(scores)) + + # Calculate the probability for each element, based on its score + pr = [np.exp(epsilon*score/(2*delta)) for score in scores] + + # Normalize the probabilities so that they sum to 1 + pr = pr/np.linalg.norm(pr, ord = 1) + + # Debugging + # print(R[np.argmax(pr)], pr.max(), scores[np.argmax(pr)]) + # print(R[np.argmin(pr)], pr.min(), scores[np.argmin(pr)]) + # print(abs(pr.max() - pr.min()), abs(scores[np.argmax(pr)] - scores[np.argmin(pr)])) + + # Choose an element from R based on the probabilities + if len(pr) > 0: + return R[np.random.choice(range(n), 1, p = pr)[0]], pr + else: + return np.array([]), pr + + def main(): start, end = 1.0, 10.0 scale = 1.0 diff --git a/rslt/lmdk_sel-pareto/Bimodal landmark distribution.pdf b/rslt/lmdk_sel-pareto/Bimodal landmark distribution.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b166c238378c87ec3dbb12630a2dee169337925b GIT binary patch literal 14587 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 literal 0 HcmV?d00001 diff --git a/rslt/lmdk_sel-pareto/Left-skewed landmark distribution.pdf b/rslt/lmdk_sel-pareto/Left-skewed landmark distribution.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aed67686ff46fda803fb61460d8051105bc2ca6f GIT binary patch literal 14865 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 literal 0 HcmV?d00001 diff --git a/rslt/lmdk_sel-pareto/Symmetric landmark distribution.pdf b/rslt/lmdk_sel-pareto/Symmetric landmark distribution.pdf new file mode 100644 index 0000000000000000000000000000000000000000..12063e3b47e1e72dbb82b46f1cb0b442582cdeb5 GIT binary patch literal 14852 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 literal 0 HcmV?d00001 diff --git a/rslt/lmdk_sel-pareto/Uniform landmark distribution.pdf b/rslt/lmdk_sel-pareto/Uniform landmark distribution.pdf new file mode 100644 index 0000000000000000000000000000000000000000..43f2dc02e56522c40aa05210d3249b66d0265706 GIT binary patch literal 14583 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 ia0#Q-b!|L=ZxGiqA8{lyWl2Dw&`1