{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Thiel-Sen Regression\n", "This is an example of using Transformation and Measurement plugins.\n", "In this tutorial, we will be using a differentially private Theil-Sen estimator to estimate regression parameters. \n", "\n", "**NOTE**: If you actually want to use Theil-Sen, don't copy-and-paste this code!\n", "It is already implemented by the OpenDP library: see the [API Reference](../../python/opendp.extras.sklearn.linear_model.rst).\n", "\n", "The Theil-Sen estimator is a robust method to fit a line to sample points by **choosing the median of the slopes between each pair of points in the data**.\n", "\n", "Compared to ordinary least squares regression, Theil-Sen regression has\n", "\n", "- Lower sensitivity to outliers. \n", "- Higher accuracy for skewed and heteroskedastic data. \n", "\n", "Source: [Wikipedia](https://en.wikipedia.org/wiki/Theil–Sen_estimator), [Differentially Private Simple Linear Regression](https://petsymposium.org/popets/2022/popets-2022-0041.pdf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's get started! This tutorial has two parts: \n", "\n", "1. Implement the DP Thiel-Sen Estimator\n", "2. Apply the DP Thiel-Sen Estimator on synthetic data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import opendp.prelude as dp\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "dp.enable_features(\"contrib\", \"honest-but-curious\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implement Thiel-Sen Mechanism\n", "We make a slight adjustment to the Thiel-Sen algorithm that will allow us to estimate the slope and intercept simultaneously.\n", "Instead of computing the median of the pairwise slopes, we'll compute the 25th and 75th percentiles of the pairwise slopes.\n", "\n", "The entire pipeline will consist of the following three steps:\n", "1. Transformation: Pairwise prediction of the 25th and 75th percentiles\n", "2. Measurement: Privately estimate the medians of pairwise predictions\n", "3. Postprocessor: Linear transformation from medians to coefficients" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Transformation: Pairwise Prediction\n", "\n", "The pairwise predict function performs several steps, but the intuition is simple.\n", "We'll plot the intuition after implementing the function.\n", "\n", "The function matches data points together into pairs, \n", "fits a line that passes through each pair of points, \n", "and then computes the y values of each line at `x_cuts`.\n", "That is, it predicts the y values at `x_cuts`, pairwise." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def pairwise_predict(data, x_cuts):\n", " # Get an even number of rows.\n", " data = np.array(data, copy=True)[: len(data) // 2 * 2]\n", "\n", " # Shuffling the data improves the utility of results.\n", " np.random.shuffle(data)\n", "\n", " # Split data into pairs, where pair i is (p1[i], p2[i]).\n", " p1, p2 = np.array_split(data, 2)\n", "\n", " # Compute differences.\n", " dx, dy = (p2 - p1).T\n", "\n", " # Compute the midpoints of the pairs.\n", " x_bar, y_bar = (p1 + p2).T / 2\n", "\n", " # Compute y values on the pairwise slopes at x_cuts.\n", " points = dy / dx * (x_cuts[None].T - x_bar) + y_bar\n", "\n", " # Pairs where the x difference is zero are degenerate.\n", " return points.T[dx != 0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets illustrate this with some normally-distributed data that follows a simple linear relationship." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def f(x):\n", " return x * 2 + 1\n", "\n", "x = np.random.normal(size=100, loc=0, scale=1.0)\n", "y = f(x) + np.random.normal(size=100, loc=0, scale=0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll start with the assumption that `x` values range between `-3` and `3`, \n", "and choose cut points to predict `y` values at the 25th and 75th percentiles of the range, at `-1.5` and `1.5`.\n", "\n", "To visualize the `pairwise_predict` function, let's then plot the data and slopes of the first ten pairs. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x_range, x_cuts = np.array([-3, 3]), np.array([-1.5, 1.5])\n", "\n", "plt.title(\"Pairwise Fits\")\n", "plt.scatter(x, y)\n", "plt.vlines(x_cuts, *f(x_range), linestyle='--', alpha=0.2) # cut lines\n", "plt.xlim(*x_range)\n", "plt.ylim(*f(x_range))\n", "\n", "y_predictions = pairwise_predict(np.stack([x, y], axis=1), x_cuts=x_cuts)\n", "for p in y_predictions[:10]:\n", " plt.plot(x_cuts, p) # pairwise fits\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each row in the resulting dataset contains the y values on the left and right side of each line.\n", "Notice that adding one row to the input data results in the addition of up to one row in the output dataset.\n", "Therefore it would be safe to say that the function is 1-stable:\n", "adding one record results in the addition of up to one record in the output." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def make_pairwise_predict(x_cuts, runs: int = 1):\n", " return dp.t.make_user_transformation(\n", " # Outputs are Nx2 float numpy arrays.\n", " input_domain=dp.numpy.array2_domain(num_columns=2, T=float),\n", " # Neighboring input datasets differ by addition/removal of rows.\n", " input_metric=dp.symmetric_distance(),\n", " # Outputs are Nx2 float numpy arrays, but are half as long.\n", " output_domain=dp.numpy.array2_domain(num_columns=2, T=float),\n", " # Neighboring output datasets also differ by additions/removals.\n", " output_metric=dp.symmetric_distance(),\n", " # Apply the function `runs` times.\n", " function=lambda x: np.vstack(\n", " [pairwise_predict(x, x_cuts) for _ in range(runs)]\n", " ),\n", " # Each execution of pairwise predict contributes b_in records.\n", " stability_map=lambda b_in: b_in * runs,\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parameter `runs` controls how many times randomized pairwise predictions are computed. \n", "The default is 1. Increasing `runs` can improve the robustness and accuracy of the results; \n", "however, it can also increase computational cost and amount of noise needed later in the algorithm. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. Measurement: DP Medians\n", "\n", "Now we want to estimate the median of each column. \n", "We'll start with a 1-stable transformation that retrieves a column from the data." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def make_select_column(j):\n", " return dp.t.make_user_transformation(\n", " input_domain=dp.numpy.array2_domain(num_columns=2, T=float),\n", " input_metric=dp.symmetric_distance(),\n", " output_domain=dp.vector_domain(dp.atom_domain(T=float)),\n", " output_metric=dp.symmetric_distance(),\n", " function=lambda x: x[:, j],\n", " stability_map=lambda b_in: b_in)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We then use the quantile mechanism and composition combinators from OpenDP \n", "to build a new mechanism that estimates the differentially private medians of each column." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def make_private_percentile_medians(output_measure, y_bounds, scale):\n", " # this median mechanism favors candidates closest to the true median\n", " m_median = dp.m.then_private_quantile(\n", " output_measure,\n", " # 100 evenly spaced points between y_bounds\n", " candidates=np.linspace(*y_bounds, 100),\n", " alpha=0.5,\n", " scale=scale,\n", " )\n", " # apply the median mechanism to the 25th and 75th percentile columns\n", " return dp.c.make_composition([\n", " make_select_column(0) >> dp.t.then_drop_null() >> m_median,\n", " make_select_column(1) >> dp.t.then_drop_null() >> m_median,\n", " ])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. Measurement: Thiel-Sen Estimator\n", "\n", "We now put everything together, by chaining the previous steps with a postprocessor that transforms the percentile medians into regression coefficients." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def make_private_theil_sen(output_measure, x_bounds, y_bounds, scale, runs=1):\n", " # x_cuts are the 25th and 75th percentiles of x_bounds. \n", " # We'll predict y's at these x_cuts.\n", " x_cuts = x_bounds[0] + (x_bounds[1] - x_bounds[0]) * np.array([0.25, 0.75])\n", "\n", " # we want coefficients, not y values! \n", " # Luckily y values are related to coefficients via a linear system\n", " P_inv = np.linalg.inv(np.vstack([x_cuts, np.ones_like(x_cuts)]).T)\n", "\n", " return (\n", " # pairwise_predict will return a 2xN array of y values at the x_cuts.\n", " make_pairwise_predict(x_cuts, runs)\n", " # privately select median y values for each x_cut\n", " >> make_private_percentile_medians(output_measure, y_bounds, scale)\n", " # transform median y values to coefficients (slope and intercept)\n", " >> (lambda ys: P_inv @ ys)\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating and Applying the Mechanism to Synthetic Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now apply the differentially private mechanism to a dataset. First, define an instance of the mechanism. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "x_bounds = -3, 3\n", "y_bounds = -10, 10\n", "meas = make_private_theil_sen(dp.max_divergence(), x_bounds, y_bounds, scale=1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mechanism satisfies $\\epsilon = 1$, because each quantile mechanism recalibrates the scale to satisfy $\\epsilon = 0.5$." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "meas.map(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, pass the data to the mechanism to release the differentially private coefficients.\n", "We'll reuse the data from the earlier demonstration, where $y \\approx 2 \\cdot x + 1$." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAG1CAYAAADEP59MAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYzZJREFUeJzt3Xd8U/X+x/FXkm6ggbJaRqGCoAUBQcACKktBERUVJ/4AEWUqjqviQq4DEbwOVIZgUXFd4CKigggyLloBqShTBQtC2RRaVldyfn/kJnSkbTrSpO37+Xjk8eCcnPFJoJxPv+PzNRmGYSAiIiLiA2ZfByAiIiJVlxIRERER8RklIiIiIuIzSkRERETEZ5SIiIiIiM8oERERERGfUSIiIiIiPqNERERERHxGiYiIiIj4jBIRERER8RklIiIiIuIzSkSkSpk7dy4mk4k9e/b4OhSvef755zGZTBw7dqzMrunue6vs32VZfr5XX32Viy66CLvdXvrA/MiMGTOIjo4mIyPD16FIBaZERCoU58PB+QoJCaFFixaMGTOGw4cP+zo8AH788Ueef/55Tp48WWbXzPmZC3utXr26zO5ZlrZs2cKtt95KkyZNCAkJoWHDhlx99dVMmzbNJ/Hk/XeU8/Xkk08WeF5J/m7T0tKYPHkyTzzxBGaz9//L3bhxI2PGjKFVq1ZUq1aN6OhobrvtNv744w+Pr5GRkcETTzxBgwYNCA0NpXPnznz33Xf5jhsyZAiZmZnMnDmzLD+CVDEBvg5ApCT++c9/EhMTQ3p6OuvWrWP69Ol88803bN26lbCwsALPu+eee7jjjjsIDg72Wmw//vgjEydOZMiQIdSsWbNMrvnRRx/l2v7www/57rvv8u2/+OKLvZKMlOZ7+/HHH+nRowfR0dEMHz6cyMhI9u3bx08//cSbb77J2LFjyzxeTzn/HeXUunVrwP1nLsnf7fvvv092djZ33nlnmcVdmMmTJ/PDDz8wcOBA2rRpw6FDh3j77bdp3749P/30k+vzFWbIkCEsWLCAcePGceGFFzJ37lyuu+46Vq1aRbdu3VzHhYSEMHjwYP71r38xduxYTCaTNz+aVFaGSAUSHx9vAMbGjRtz7X/kkUcMwPjkk08KPPf06dPeDs8wDMOYMmWKARhJSUleu8fo0aONgn58J0yYYADG0aNHvXZ/wzj/d1HU57zuuuuMunXrGidOnMj33uHDh70TXBEK+ndUlJL83bZp08YYNGhQMSMsuR9++MHIyMjIte+PP/4wgoODjbvvvrvI89evX28AxpQpU1z7zp07ZzRr1syIi4vLd/zPP/9sAMbKlStLH7xUSeqakUqhZ8+eACQlJQHnx0ls376du+66i1q1atGtW7d8/f4LFizAZDKxZs2afNecOXMmJpOJrVu3ArB3715GjRpFy5YtCQ0NpXbt2gwcODDXGILnn3+ef/zjHwDExMS4mvtzHpOcnMy9995L/fr1CQ4OplWrVrz//vtl/p2cPHnS9Zu71Wpl6NChnD17Nt9xnsRTmvESu3fvplWrVm5bEOrVq1eieJx/v7t27fLoM5ZE3s/syd9tXklJSfz222/07t0733unTp3imWeeoUWLFoSGhhIREUFcXBwJCQmlirtLly4EBQXl2nfhhRfSqlUrduzYUeT5CxYswGKxcP/997v2hYSEMGzYMBISEti3b1+u4zt06EBERASLFy8uVdxSdalrRiqF3bt3A1C7du1c+wcOHMiFF17Iyy+/jGEY+c7r168f1atX59///jdXXXVVrvc+//xzWrVq5WrK3rhxIz/++CN33HEHjRo1Ys+ePUyfPp3u3buzfft2wsLCuPnmm/njjz/49NNPef3116lTpw4AdevWBeDw4cNcfvnlmEwmxowZQ926dVm6dCnDhg0jLS2NcePGldl3cttttxETE8OkSZNITExk9uzZ1KtXj8mTJ7uOKY94mjRpQkJCAlu3bi2yW6C48XjyGQuTmpqab1Cv8+8sr6L+bt358ccfAWjfvn2u/YZhcM0117Bt2zZGjhxJy5YtOXHiBD///DM1atQAICsri9TUVI8+R0RERKHjTwzD4PDhw7Rq1arIa/3yyy+0aNGC8PDwXPs7deoEwObNm2ncuHGu99q3b88PP/zgUawi+fi4RUakWJxN6itWrDCOHj1q7Nu3z/jss8+M2rVrG6Ghocb+/fsNwzjfPXHnnXe6PT9n0/qdd95p1KtXz8jOznbtO3jwoGE2m41//vOfrn1nz57NF09CQoIBGB9++KFrX2HN98OGDTOioqKMY8eO5dp/xx13GFar1e093PGka+bee+/NtX/AgAFG7dq1SxSPu+/N066Z5cuXGxaLxbBYLEZcXJzx+OOPG99++62RmZmZ71hP4ynOZ3TH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a/+vv/7KmTNnMJvNHDx4kKioqEKvs3nzZtef169fzxNPPMHq1atd+8LDwws9v7g8+c48vU7emTbObQ1MFZFiy86A5c/Ahv/9v9+oI9z6PtSM9m1cOVSuRKSCuO+++3jjjTdITk6md+/eNG7cuNDjS9s1k5ycTI8ePejQoQPx8fFFlvvu0KEDgYGBrFy5kltuuQWA33//nb///tvVenH27FnMZnOulgnntt1uz3W9pKQkVq1axZdfflnofcHRerFlyxauu+46176UlBSGDBnC008/zcGDB7n77rtJTEws9HM3b97c9ef9+/cTEBCQa19Z8+Q780RcXBxPP/00WVlZBAYGAvDdd9/RsmVLdcuISPEc3w0LhsLB/5VV6PIg9HoOLIG+jSuvMh0mW8aKPWumgjh58qQRFhZmBAUFGZ999plX77V//36jefPmRq9evYz9+/cbBw8edL1yHtOyZUtj/fr1rn0jRowwoqOjje+//974+eefjbi4OCMuLs71/o4dO4zg4GBj5MiRxvbt242tW7cagwYNMqxWq3HgwIFcMTzzzDNGgwYNjOzs7HzxTZw40fj222+N3bt3G5s2bTLuuOOOfDNiBg4caHTu3NnIysoyTp8+bVx44YXGqFGjPP4OSjJr5s8//zR++eUX44EHHjBatGhh/PLLL8Yvv/zims1Sku/Mk+uePHnSqF+/vnHPPfcYW7duNT777DMjLCzMmDlzpusaGRkZrvOioqKMxx57zPjll18KnK1kGBX750VESmDLQsN4qaFjVswrTQ3j92XlevvizJpRIuIj99xzj9upvGUtPj7eANy+nJKSkgzAWLVqlWvfuXPnjFGjRhm1atUywsLCjAEDBuRKXgzDMJYvX2507drVsFqtRq1atYyePXvmm6pqs9mMRo0aGU899ZTb+MaNG2dER0cbQUFBRv369Y3rrrvOSExMdL3/wQcfGNWqVTP++OMP177169cbgYGBxjfffOPRd1CSROSqq65y+50lJSUZhlHy76yo6xqGYfz6669Gt27djODgYKNhw4bGK6+8kusaznvnfV111VUFfp6K/vMiIh7KPGsYS8Y5EpAJ4YYxp49hnNxf7mEUJxExGYZhlFPjS7GlpaVhtVpJTU3N16efnp5OUlISMTExflGJs7h69epFq1ateOutt3wdilQBFf3nRUQ8cOxPmD8EDm8F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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "slope, intercept = meas(np.stack([x, y], axis=1))\n", "y_fit = slope * np.array(x_bounds) + intercept\n", "label = f'y = {slope:.4f}x + {intercept:.4f}'\n", "plt.scatter(x, y)\n", "plt.plot(x_bounds, y_fit, color=\"tab:orange\", label=label)\n", "plt.title(f\"Private Theil-Sen Fit ($\\\\epsilon$={meas.map(1)})\")\n", "plt.legend();\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The DP regression results align well with the underlying synthetic data.\n", "\n", "The DP regression pipeline is a powerful method to extract valuable information while preserving individual privacy. The methods used in this tutorial can serve as the foundation of your data science workflow and further regressions. " ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.2" } }, "nbformat": 4, "nbformat_minor": 2 }