/PrivRaschPuplish

EduTech implemented Differential private Rasch model, with functionally feedback system

Primary LanguageMATLAB

PrivRaschPuplish

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

File setup:

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

Authors:

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)

Attribution:

When citing this workflow. Please link the paper above and this .git repository