Journal (PAP18) paper - http://kdd.di.unito.it/pap2018/papers/PAP_2018_paper_1.pdf
This is the puplic code for a epsilon-differential private Rasch model
MATLAB/main.m
setup and plots for each experiment
MATLAB/Experiment#.m
Workflow for specific setups
MATLAB/raschModel.m
input -> (rasch_beta, rasch_delta) ; output -> [N,I] probability matrix
MATLAB/rasch_neglog_likelihood.m
input -> (weights, data, lambda) ; output -> [likelihood, weight_gradient]
MATLAB/rasch_neglog_likelihood_private.m
input -> (weights, data, lambda, error_vector) ; output -> [likelihood, weight_gradient]
MATLAB/rasch_negloglik_grad_priv_suff.m
input -> (weights, privateized Xd*, privatized Xn*, lambda) ; output -> [negative_log_likelihood, gradient]
* Xd or Xm; the sufficient statistics parameters
MATLAB/single_beta.m
input(single beta value, global delta, lambda) output -> [likelihood, beta_gradient]
MATLAB/suff_stat_parameter_est.m
input(data, lambda, epsilon, N, I, options) , output -> [privatized beta, privatized delta]
MATLAB/ItalianNetherlandData/
Public example dataset
MSc Student - Teresa Anna Steiner (s170063@student.dtu.dk)
MSc Student - David Enslev Nyrnberg (s123997@student.dtu.dk)
Professor - Lars Kai Hansen (lkai@dtu.dk)
When citing this workflow. Please link the paper above and this .git repository