MATLAB implementation of the differentially private robust mean estimator for high dimensions.
- MATLAB package for Fast SVD and PCA for eigenvalue computation on larger matrices
The dpCode
directory contains the implementation code of various differentially private mean estimation algorithms.
dpFilterGaussianMean.m
: Primary implementation of the novel proposed differentially private algorithm in the paperfilterGaussianMean.m
: Implementation of robust mean estimation by filtering taken from the original authors and described in their paper Being Robust (in High Dimensions) Can Be Practical from ICML 2017dpWinsorizedMean.m
: Implementation of the differentially private Widened Winsorized Mean (Algorithm 1) from "Privacy-preserving Statistical Estimation with Optimal Convergence Rates"privateQuantile.m
: Utility function containing the implementation of theprivateQuantile
algorithm (Algorithm 2) from "Privacy-preserving Statistical Estimation with Optimal Convergence Rates"laplaceSample.m
: Utility function that draws a noise sample from the Laplace distribution by inverse CDF sampling
Only the first two files are needed for our algorithm, while the following two are for the DP Winsorized mean reference algorithm from "Privacy-preserving Statistical Estimation with Optimal Convergence Rates". The last file (laplaceSample.m
) is a utility implementation for the Laplace mechanism used in both algorithms.
compareDPMeanEstimators.m
contains all the evaluation code for reproducing all figures in the paper. compareDPMeanEstimatorsFunctional.m
contains experimental code on using corruption values that are a function of data set size.