From b3f853386456882617f8adbb3d60a5bb7681643e Mon Sep 17 00:00:00 2001
From: udlbook <110402648+udlbook@users.noreply.github.com>
Date: Wed, 25 Oct 2023 15:08:28 +0100
Subject: [PATCH] Created using Colaboratory
---
Notebooks/Chap21/21_1_Bias_Mitigation.ipynb | 544 ++++++++++++++++++++
1 file changed, 544 insertions(+)
create mode 100644 Notebooks/Chap21/21_1_Bias_Mitigation.ipynb
diff --git a/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb b/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb
new file mode 100644
index 0000000..9da58c2
--- /dev/null
+++ b/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb
@@ -0,0 +1,544 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "authorship_tag": "ABX9TyPz0X4nKJUCBhv5l4Z/xUVo",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# **Notebook 21.1: Bias mitigation**\n",
+ "\n",
+ "This notebook investigates a post-processing method for bias mitigation (see figure 21.2 in the book). It based on this [blog](https://www.borealisai.com/research-blogs/tutorial1-bias-and-fairness-ai/) that I wrote for Borealis AI in 2019, which itself was derirved from [this blog](https://research.google.com/bigpicture/attacking-discrimination-in-ml/) by Wattenberg, Viégas, and Hardt.\n",
+ "\n",
+ "Work through the cells below, running each cell in turn. In various places you will see the words \"TO DO\". Follow the instructions at these places and make predictions about what is going to happen or write code to complete the functions.\n",
+ "\n",
+ "Contact me at udlbookmail@gmail.com if you find any mistakes or have any suggestions.\n"
+ ],
+ "metadata": {
+ "id": "t9vk9Elugvmi"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt"
+ ],
+ "metadata": {
+ "id": "yC_LpiJqZXEL"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Worked example: loans\n",
+ "\n",
+ "Consider the example of an algorithm $c=\\mbox{f}[\\mathbf{x},\\boldsymbol\\phi]$ that predicts credit rating scores $c$ for loan decisions. There are two pools of loan applicants identified by the variable $p\\in\\{0,1\\}$ that we’ll describe as the blue and yellow populations. We assume that we are given historical data, so we know both the credit rating and whether the applicant actually defaulted on the loan ($y=0$) or\n",
+ " repaid it ($y=1).\n",
+ "\n",
+ "We can now think of four groups of data corresponding to (i) the blue and yellow populations and (ii) whether they did or did not repay the loan. For each of these four groups we have a distribution of credit ratings (figure 1). In an ideal world, the two distributions for the yellow population would be exactly the same as those for the blue population. However, as figure 1 shows, this is clearly not the case here."
+ ],
+ "metadata": {
+ "id": "2FYo1dWGZXgg"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Class that can describe interesting curve shapes based on the input parameters\n",
+ "# Details dont' matter\n",
+ "class FreqCurve:\n",
+ " def __init__(self, weight, mean1, mean2, sigma1, sigma2, prop):\n",
+ " self.mean1 = mean1\n",
+ " self.mean2 = mean2\n",
+ " self.sigma1 = sigma1\n",
+ " self.sigma2 = sigma2\n",
+ " self.prop = prop\n",
+ " self.weight = weight\n",
+ "\n",
+ " def freq(self, x):\n",
+ " return self.weight * self.prop * np.exp(-0.5 * (x-self.mean1) * (x-self.mean1) / (self.sigma1 * self.sigma1)) \\\n",
+ " * 1.0 / np.sqrt(2*np.pi*self.sigma1*self.sigma1) \\\n",
+ " + self.weight * (1-self.prop) * np.exp(-0.5 * (x-self.mean2) * (x-self.mean2) / (self.sigma2 * self.sigma2)) \\\n",
+ " * 1.0 / np.sqrt(2*np.pi*self.sigma2*self.sigma2)\n"
+ ],
+ "metadata": {
+ "id": "O_0gGH9hZcjo"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "credit_scores = np.arange(-4,4,0.01)\n",
+ "freq_y0_p0 = FreqCurve(800, -1.5, -2.5, 0.8, 0.6, 0.6).freq(credit_scores)\n",
+ "freq_y1_p0 = FreqCurve(500, 0.1, 0.7, 1.5, 0.8, 0.4 ).freq(credit_scores)\n",
+ "freq_y0_p1 = FreqCurve(400, 0.2, -0.1, 0.8, 0.6, 0.3).freq(credit_scores)\n",
+ "freq_y1_p1 = FreqCurve(650, 0.6, 1.6, 1.2, 0.7, 0.6 ).freq(credit_scores)\n"
+ ],
+ "metadata": {
+ "id": "Bkp7vffBbrNW"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "\n",
+ "fig = plt.figure\n",
+ "ax = plt.subplot(2,2,1)\n",
+ "plt.tight_layout()\n",
+ "ax.plot(credit_scores, freq_y0_p0, 'b--', label='y=0 (defaulted)')\n",
+ "ax.plot(credit_scores, freq_y1_p0, 'b-', label='y=1 (repaid)')\n",
+ "ax.set_xlim(-4,4)\n",
+ "ax.set_ylim(0,500)\n",
+ "ax.set_xlabel('Credit score, $c$')\n",
+ "ax.set_ylabel('Frequency')\n",
+ "ax.set_title('Population p=0')\n",
+ "ax.legend()\n",
+ "\n",
+ "ax = plt.subplot(2,2,2)\n",
+ "plt.tight_layout()\n",
+ "ax.plot(credit_scores, freq_y0_p1, 'y--', label='y=0 (defaulted)')\n",
+ "ax.plot(credit_scores, freq_y1_p1, 'y-', label='y=1 (repaid)')\n",
+ "ax.set_xlim(-4,4)\n",
+ "ax.set_ylim(0,500)\n",
+ "ax.set_xlabel('Credit score, $c$')\n",
+ "ax.set_ylabel('Frequency')\n",
+ "ax.set_title('Population p=1')\n",
+ "ax.legend()\n",
+ "\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 288
+ },
+ "id": "Jf7uqyRyhVdS",
+ "outputId": "d697064e-3bbd-4de9-85a3-160d01228040"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Why might the distributions for blue and yellow populations be different? It could be that the behaviour of the populations is identical, but the credit rating algorithm is biased; it may favor one population over another or simply be more noisy for one group. Alternatively, it could be that that the populations genuinely behave differently. In practice, the differences in blue and yellow distributions are probably attributable to a combination of these factors.\n",
+ "\n",
+ "Let’s assume that we can’t retrain the credit score prediction algorithm; our job is to adjudicate whether each individual is refused the loan ($\\hat{y}=0$)\n",
+ " or granted it ($\\hat{y}=1$). Since we only have the credit score\n",
+ " to go on, the best we can do is to assign different thresholds $\\tau_{1}$\n",
+ " and $\\tau_{2}$\n",
+ " for the blue and yellow populations so that the loan is granted if the credit score $c$ generated by the model exceeds $\\tau_0$ for the blue population and $\\tau_1$ for the yellow population."
+ ],
+ "metadata": {
+ "id": "CfZ-srQtmff2"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Now let's investiate how to set these thresholds to fulfil different criteria."
+ ],
+ "metadata": {
+ "id": "569oU1OtoFz8"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Blindness to protected attribute\n",
+ "\n",
+ "We'll first do the simplest possible thing. We'll choose the same threshold for both blue and yellow populations so that $\\tau_0$ = $\\tau_1$. Basically, we'll ingore what we know about the group membership. Let's see what the ramifications of that."
+ ],
+ "metadata": {
+ "id": "bE7yPyuWoSUy"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Set the thresholds\n",
+ "tau0 = tau1 = 0.0"
+ ],
+ "metadata": {
+ "id": "WIG8I-LvoFBY"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def compute_probability_get_loan(credit_scores, frequencies, threshold):\n",
+ " # TODO - Write this function\n",
+ " # Return the probability that somemone from this group loan based on the frequencies of each\n",
+ " # credit score for this group\n",
+ " # Replace this line:\n",
+ " prob = 0.5\n",
+ "\n",
+ "\n",
+ " return prob"
+ ],
+ "metadata": {
+ "id": "2EvkCvVBiCBn"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "First let's see what the overall probability of getting the loan is for the yellow and blue populations."
+ ],
+ "metadata": {
+ "id": "AGT40q6_qfpv"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "pr_get_loan_p0 = compute_probability_get_loan(credit_scores, freq_y0_p0+freq_y1_p0, tau0)\n",
+ "pr_get_loan_p1 = compute_probability_get_loan(credit_scores, freq_y0_p1+freq_y1_p1, tau1)\n",
+ "print(\"Probability blue group gets loan = %3.3f\"%(pr_get_loan_p0))\n",
+ "print(\"Probability yellow group gets loan = %3.3f\"%(pr_get_loan_p1))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "4nI-PR_wqWj6",
+ "outputId": "e1170ef2-6103-4704-e751-4d99237b8994"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Probability blue group gets loan = 0.278\n",
+ "Probability yellow group gets loan = 0.684\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Now let's plot a receiver operating characteristic (ROC) curve. This shows the rate of true positives $Pr(\\hat{y}=1|y=1)$ (people who got loan and paid it back) and false alarms $Pr(\\hat{y}=1|y=0)$ (people who got the loan but didn't pay it back) for all possible thresholds."
+ ],
+ "metadata": {
+ "id": "G2pEa6h6sIyu"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def plot_roc(credit_scores, freq_y0_p0, freq_y1_p0, freq_y0_p1, freq_y1_p1, tau0, tau1):\n",
+ " true_positives_p0 = np.zeros_like(credit_scores)\n",
+ " false_alarms_p0 = np.zeros_like(credit_scores)\n",
+ " true_positives_p1 = np.zeros_like(credit_scores)\n",
+ " false_alarms_p1 = np.zeros_like(credit_scores)\n",
+ " for i in range(len(credit_scores)):\n",
+ " true_positives_p0[i] = compute_probability_get_loan(credit_scores, freq_y1_p0, credit_scores[i])\n",
+ " true_positives_p1[i] = compute_probability_get_loan(credit_scores, freq_y1_p1, credit_scores[i])\n",
+ " false_alarms_p0[i] = compute_probability_get_loan(credit_scores, freq_y0_p0, credit_scores[i])\n",
+ " false_alarms_p1[i] = compute_probability_get_loan(credit_scores, freq_y0_p1, credit_scores[i])\n",
+ "\n",
+ " true_positives_p0_tau0 = compute_probability_get_loan(credit_scores, freq_y1_p0, tau0)\n",
+ " true_positives_p1_tau1 = compute_probability_get_loan(credit_scores, freq_y1_p1, tau1)\n",
+ " false_alarms_p0_tau0 = compute_probability_get_loan(credit_scores, freq_y0_p0, tau0)\n",
+ " false_alarms_p1_tau1 = compute_probability_get_loan(credit_scores, freq_y0_p1, tau1)\n",
+ "\n",
+ " fig, ax = plt.subplots()\n",
+ " ax.plot(false_alarms_p0, true_positives_p0, 'b-')\n",
+ " ax.plot(false_alarms_p1, true_positives_p1, 'y-')\n",
+ " ax.plot(false_alarms_p0_tau0, true_positives_p0_tau0,'bo')\n",
+ " ax.plot(false_alarms_p1_tau1, true_positives_p1_tau1,'yo')\n",
+ " ax.set_xlim(0,1)\n",
+ " ax.set_ylim(0,1)\n",
+ " ax.set_xlabel('False alarms $Pr(\\hat{y}=1|y=0)$')\n",
+ " ax.set_ylabel('True positives $Pr(\\hat{y}=1|y=1)$')\n",
+ " ax.set_aspect('equal')\n",
+ "\n",
+ " plt.show()"
+ ],
+ "metadata": {
+ "id": "2C7kNt3hqwiu"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plot_roc(credit_scores, freq_y0_p0, freq_y1_p0, freq_y0_p1, freq_y1_p1, tau0, tau1)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 461
+ },
+ "id": "h3OOQeTsv8uS",
+ "outputId": "483df1c9-70e5-4269-a7c9-555303d0c5c4"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "On this plot, the true positive and false alarm rate for the particular thresholds ($\\tau_0=\\tau_{1}=0$) that we chose are indicated by the circles.\n",
+ "\n",
+ "This criterion is clearly not great. The blue and yellow groups get given loans at different rates overall, and (for this threshold), the false alarms and true positives are also different, so it's not even fair when we consider whether the loans really were paid back. \n",
+ "\n",
+ "TODO -- investigate setting a different threshols $\\tau_{0}=\\tau_{1}$. Is it possible to make the overall rates that loans are given the same? Is it possible to make the false alarm rates the same? Is it possible to make the true positive rates the same?"
+ ],
+ "metadata": {
+ "id": "UCObTsa57uuC"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Equality of odds\n",
+ "\n",
+ "This definition of fairness proposes that the false positive and true positive rates should be the same for both populations. This also sounds reasonable, but the ROC curve shows that it is not possible for this example. There is no combination of thresholds that can achieve this because the ROC curves do not intersect. Even if they did, we would be stuck giving loans based on the particular false positive and true positive rates at the intersection which might not be desirable."
+ ],
+ "metadata": {
+ "id": "Yhrxv5AQ-PWA"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Demographic parity\n",
+ "\n",
+ "The thresholds can be chosen so that the same proportion of each group are classified as $\\hat{y}=1$ and given loans. We make an equal number of loans to each group despite the different tendencies of each to repay. This has the disadvantage that the true positive and false positive rates might be completely different in different populations. From the perspective of the lender, it is desirable to give loans in proportion to people’s ability to pay them back. From the perspective of an individual in a more reliable group, it may seem unfair that the other group gets offered the same number of loans despite the fact they are less reliable."
+ ],
+ "metadata": {
+ "id": "l6yb8vjX-gdi"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# TO DO -- try to change the two thresholds so the overall probability of getting the loan is 0.6 for each group\n",
+ "# Change the values in these lines\n",
+ "tau0 = 0.3\n",
+ "tau1 = -0.1\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Compute overall probability of getting loan\n",
+ "pr_get_loan_p0 = compute_probability_get_loan(credit_scores, freq_y0_p0+freq_y1_p0, tau0)\n",
+ "pr_get_loan_p1 = compute_probability_get_loan(credit_scores, freq_y0_p1+freq_y1_p1, tau1)\n",
+ "print(\"Probability blue group gets loan = %3.3f\"%(pr_get_loan_p0))\n",
+ "print(\"Probability yellow group gets loan = %3.3f\"%(pr_get_loan_p1))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "syjZ2fn5wC9-",
+ "outputId": "aeddab02-b7a9-4757-b2e0-54d13686ff0d"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Probability blue group gets loan = 0.599\n",
+ "Probability yellow group gets loan = 0.600\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "This is good, because now both groups get roughly the same amount of loans. But hold on... let's look at the ROC curve:"
+ ],
+ "metadata": {
+ "id": "5QrtvZZlHCJy"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plot_roc(credit_scores, freq_y0_p0, freq_y1_p0, freq_y0_p1, freq_y1_p1, tau0, tau1)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 461
+ },
+ "id": "VApyl_58GUQb",
+ "outputId": "cf18cb3a-9b4d-48d4-a952-5035141f29ee"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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rFkjtG7dWqioqLBWiTahrt/TzJkzhUceecRgWUxMjPDggw82aJ22pDZB+eqrrwqdO3c2WDZu3DghOjq6TsdqFqdedbftioqK0i+rzW27qm4PiLftqmn7pqA+39O9SktLoVarLT57vy2p7/f01ltvwc/PD1OnTrVGmZKrz/f0008/oV+/fpg5cyb8/f3RpUsXLF++HBqNxlplW119vqf+/fvjxIkT+tOz169fx44dOzjByj0s9XvcZqewsyRr3barsavP93Sv1157DUFBQdX+cTYl9fmeDh48iPXr1+PUqVNWqNA21Od7un79On777Tc899xz2LFjBxISEvC3v/0NarUaS5YssUbZVlef7+nZZ59FdnY2BgwYAEEQUFlZiZdeegmvv/66NUpuNGr6PV5YWIiysjI4OjrWaj/NokVJ1vHuu+9i06ZN2Lp1KxwcHKQux2YUFRVh/PjxWLduHXx8fKQux6ZptVr4+fnhs88+Q3h4OMaNG4dFixZh7dq1UpdmU/bv34/ly5fj008/RXx8PLZs2YLt27fj7bfflrq0JqlZtCh5267aqc/3pPPBBx/g3Xffxa+//opu3bo1ZJmSq+v3dO3aNSQlJWHEiBH6ZVqtFgBgZ2eHy5cvo02bNg1btATq8+8pMDAQ9vb2UCgU+mUdO3ZEeno6KioqoFQqG7RmKdTne1q8eDHGjx+PadOmAQC6du2KkpISvPDCC1i0aJHF78fYWNX0e9zNza3WrUmgmbQoeduu2qnP9wQA7733Ht5++23s3LkTvXv3tkapkqrr99ShQwecPXsWp06d0j9GjhyJwYMH49SpUwgJCbFm+VZTn39PDz74IBISEvR/SADAlStXEBgY2CRDEqjf91RaWlotDHV/XAicvlvPYr/H69bPqPHatGmToFKphC+//FK4cOGC8MILLwgeHh5Cenq6IAiCMH78eGHBggX67f/880/Bzs5O+OCDD4SLFy8KS5YsaTbDQ+ryPb377ruCUqkUfvjhByEtLU3/KCoqkupHsIq6fk/3ai69Xuv6PaWkpAiurq7Cyy+/LFy+fFn4+eefBT8/P2HZsmVS/QhWUdfvacmSJYKrq6vw7bffCtevXxd2794ttGnTRnjqqaek+hGsoqioSDh58qRw8uRJAYCwYsUK4eTJk0JycrIgCIKwYMECYfz48frtdcND5s+fL1y8eFFYvXo1h4fcz6pVq4SWLVsKSqVSiIiIEP73v//p1w0aNEiYOHGiwfbfffed8MADDwhKpVLo3LmzsH37ditXLI26fE+hoaECgGqPJUuWWL9wK6vrv6eqmktQCkLdv6dDhw4JkZGRgkqlElq3bi288847QmVlpZWrtr66fE9qtVp48803hTZt2ggODg5CSEiI8Le//U3Iy8uzfuFWtG/fPqO/b3TfzcSJE4VBgwZV+0yPHj0EpVIptG7dWvjiiy/qfFzeZouIiMiEZnGNkoiIqL4YlERERCYwKImIiExgUBIREZnAoCQiIjKBQUlERGQCg5KIiMgEBiUREZEJDEoiMkteXh6WLl2KtLQ0qUshahCcmYeIzDJhwgTk5OTA3t4e27Ztk7ocIotji5KI6m379u0oKirC9u3b4eHhgW+++Ubqkogsji1KarQefvhh9OjRAytXrmzWNVhDTk4OOnbsiKNHjyIsLEzqcvT279+PSZMmISkpSepSqnn66afRp08f/P3vf5e6FDITW5QkmUmTJkEmk1V7JCQkSF1akzVo0CD992xvb4/27dvj3//+930/984772DUqFFWDck//vgDI0aMQFBQEGQymc2d1l29ejXCwsLg4OCAyMhIHD161GD9G2+8gXfeeQcFBQUSVUiWwqAkST322GNIS0szeLRq1UrqsqymoqLCascSBAEnT55EXFwc0tLScPnyZfTr1w8TJ05EYmKi0c9UVlaitLQU69evx9SpU61WKwCUlJSge/fuWL16tVWPWxubN29GTEwMlixZgvj4eHTv3h3R0dHIzMzUb9OlSxe0adMG//rXvySslCyBQUmSUqlUCAgIMHgoFArs3LkTAwYMgIeHB7y9vfGXv/wF165dM7mvH374AV27doWjoyO8vb0RFRWFkpISAOId4+Pi4tCqVSs4Ojqie/fu+OGHH0zur6411Gb7hx9+GC+//DLmzJkDHx8fREdH65fPmjULc+bMgaenJ/z9/bFu3TqUlJRg8uTJcHV1Rdu2bfHLL7/U6uc15urVqygqKsKAAQMQEBCA1q1bY+HChaisrMSZM2eQlJQEmUyG7777DgMHDoRKpcJPP/2EHTt2QKVSoW/fvvp9tWjRAp9++qnB/g8dOgQnJyckJyeb/F5ra9iwYVi2bBmeeOKJOn3OGrWtWLEC06dPx+TJk9GpUyesXbsWTk5O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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "The blue dot is waaay above the yellow dot. The proportion of people who are given a load and do pay it back from the blue population is much higher than that from the yellow population. From another perspective, that's unfair... it seems like the yellow population are 'allowed' to default more often than the blue. This leads to another possibility."
+ ],
+ "metadata": {
+ "id": "_GgX_b6yIE4W"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Equal opportunity:\n",
+ "\n",
+ "The thresholds are chosen so that so that the true positive rate is is the same for both population. Of the people who pay back the loan, the same proportion are offered credit in each group. In terms of the two ROC curves, it means choosing thresholds so that the vertical position on each curve is the same without regard for the horizontal position."
+ ],
+ "metadata": {
+ "id": "WDnaqetXHhlv"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# TO DO -- try to change the two thresholds so the true positive are 0.8 for each group\n",
+ "# Change the values in these lines so that both points on the curves have a height of 0.8\n",
+ "tau0 = -0.1\n",
+ "tau1 = -0.7\n",
+ "\n",
+ "\n",
+ "plot_roc(credit_scores, freq_y0_p0, freq_y1_p0, freq_y0_p1, freq_y1_p1, tau0, tau1)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 461
+ },
+ "id": "zEN6HGJ7HJAZ",
+ "outputId": "7753c99d-a193-4e09-86bf-0bdb9d437d62"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "This seems fair -- people who are given loans default at the same rate (20%) for both groups. But hold on... let's look at the overall loan rate between the two populations:"
+ ],
+ "metadata": {
+ "id": "JsyW0pBGJ24b"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Compute overall probability of getting loan\n",
+ "pr_get_loan_p0 = compute_probability_get_loan(credit_scores, freq_y0_p0+freq_y1_p0, tau0)\n",
+ "pr_get_loan_p1 = compute_probability_get_loan(credit_scores, freq_y0_p1+freq_y1_p1, tau1)\n",
+ "print(\"Probability blue group gets loan = %3.3f\"%(pr_get_loan_p0))\n",
+ "print(\"Probability yellow group gets loan = %3.3f\"%(pr_get_loan_p1))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "2a5PXHeNJDjg",
+ "outputId": "c45b1eaa-7abb-4b24-f514-1c76a3adf403"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Probability blue group gets loan = 0.336\n",
+ "Probability yellow group gets loan = 0.663\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "The conclusion from all this is that (i) definitions of fairness are quite subtle and (ii) it's not possible to satisfy them all simultaneously."
+ ],
+ "metadata": {
+ "id": "tZTM7N6jKC7q"
+ }
+ }
+ ]
+}
\ No newline at end of file