Code Monkey home page Code Monkey logo

dplr's Introduction

Differentially Private Linear Regression

Paper: Differentially Private Simple Linear Regression

This repository contains algorithms for performing differentially private simple linear regression. We also provide an example usage of the main algorithms.

Families of Algorithms

There are three families of algorithms we've implemented for differentially private (DP) simple linear regression:

  1. DPGradDescent: A DP mechanism that uses differentially private gradient descent to solve the convex optimization problem that defines OLS (Ordinary Least Squares).

  2. DPTheilSen: A DP version of Theil-Sen, a robust linear regression estimator that computes the point estimate for every pair of points and outputs the median of these estimates. We consider some variants of this algorithm that use different DP median algorithms: DPExpTheilSen, DPWideTheilSen, and DPSSTheilSen.

  3. NoisyStats: A DP mechanism that perturbs the sufficient statistics for OLS. It has two main advantages: it is no less efficient than its non-private analogue, and it allows us to release DP versions of the sufficient statistics without any extra privacy cost.

Implementations

  1. DPGradDescent: link to main code file

  2. dpMedTS_exp: computes DPExpTheilSen link to main code file

  3. dpMedTS_exp_wide: computes DPWideTheilSen link to main code file

  4. dpMedTS_ss_ST_no_split: computes DPSSTheilSen with a smooth sensitivity calculation based on the student's T distribution link to main code file

  5. NoisyStats: link to main code file

Example Usage

In example.py, we show how to run each method.

Experimental Evaluation in Main Paper

  1. Opportunity Insights Data

  2. Washington, DC Bikeshare UCI Dataset

  3. Carbon Nanotubes UCI Dataset

  4. Stock Exchange UCI Dataset

  5. Synthetic Datasets

dplr's People

Contributors

anonymous-conf avatar shuqike avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.