From d69ea616119b57c58ec1600b601ef88eecf2e082 Mon Sep 17 00:00:00 2001 From: Riku-Laine <28960190+Riku-Laine@users.noreply.github.com> Date: Mon, 3 Jun 2019 13:23:00 +0300 Subject: [PATCH] Fig 2 update --- .../Analysis_07MAY2019_new.ipynb | 528 ++++++++---------- 1 file changed, 243 insertions(+), 285 deletions(-) diff --git a/analysis_and_scripts/Analysis_07MAY2019_new.ipynb b/analysis_and_scripts/Analysis_07MAY2019_new.ipynb index 510dd0d..b8d8ae9 100644 --- a/analysis_and_scripts/Analysis_07MAY2019_new.ipynb +++ b/analysis_and_scripts/Analysis_07MAY2019_new.ipynb @@ -7,7 +7,7 @@ }, "source": [ "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n", - "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Data-sets\" data-toc-modified-id=\"Data-sets-1\"><span class=\"toc-item-num\">1 </span>Data sets</a></span><ul class=\"toc-item\"><li><span><a href=\"#Synthetic-data-with-unobservables\" data-toc-modified-id=\"Synthetic-data-with-unobservables-1.1\"><span class=\"toc-item-num\">1.1 </span>Synthetic data with unobservables</a></span></li><li><span><a href=\"#Data-without-unobservables\" data-toc-modified-id=\"Data-without-unobservables-1.2\"><span class=\"toc-item-num\">1.2 </span>Data without unobservables</a></span></li></ul></li><li><span><a href=\"#Algorithms\" data-toc-modified-id=\"Algorithms-2\"><span class=\"toc-item-num\">2 </span>Algorithms</a></span><ul class=\"toc-item\"><li><span><a href=\"#Contraction-algorithm\" data-toc-modified-id=\"Contraction-algorithm-2.1\"><span class=\"toc-item-num\">2.1 </span>Contraction algorithm</a></span></li><li><span><a href=\"#Causal-approach---metrics\" data-toc-modified-id=\"Causal-approach---metrics-2.2\"><span class=\"toc-item-num\">2.2 </span>Causal approach - metrics</a></span></li></ul></li><li><span><a href=\"#Performance-comparison\" data-toc-modified-id=\"Performance-comparison-3\"><span class=\"toc-item-num\">3 </span>Performance comparison</a></span><ul class=\"toc-item\"><li><span><a href=\"#With-unobservables-in-the-data\" data-toc-modified-id=\"With-unobservables-in-the-data-3.1\"><span class=\"toc-item-num\">3.1 </span>With unobservables in the data</a></span></li><li><span><a href=\"#Without-unobservables\" data-toc-modified-id=\"Without-unobservables-3.2\"><span class=\"toc-item-num\">3.2 </span>Without unobservables</a></span></li></ul></li></ul></div>" + "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Data-sets\" data-toc-modified-id=\"Data-sets-1\"><span class=\"toc-item-num\">1 </span>Data sets</a></span><ul class=\"toc-item\"><li><span><a href=\"#Data-without-unobservables\" data-toc-modified-id=\"Data-without-unobservables-1.1\"><span class=\"toc-item-num\">1.1 </span>Data without unobservables</a></span></li><li><span><a href=\"#Synthetic-data-with-unobservables\" data-toc-modified-id=\"Synthetic-data-with-unobservables-1.2\"><span class=\"toc-item-num\">1.2 </span>Synthetic data with unobservables</a></span></li></ul></li><li><span><a href=\"#Algorithms\" data-toc-modified-id=\"Algorithms-2\"><span class=\"toc-item-num\">2 </span>Algorithms</a></span><ul class=\"toc-item\"><li><span><a href=\"#Contraction-algorithm\" data-toc-modified-id=\"Contraction-algorithm-2.1\"><span class=\"toc-item-num\">2.1 </span>Contraction algorithm</a></span></li><li><span><a href=\"#Causal-approach---metrics\" data-toc-modified-id=\"Causal-approach---metrics-2.2\"><span class=\"toc-item-num\">2.2 </span>Causal approach - metrics</a></span></li></ul></li><li><span><a href=\"#Performance-comparison\" data-toc-modified-id=\"Performance-comparison-3\"><span class=\"toc-item-num\">3 </span>Performance comparison</a></span><ul class=\"toc-item\"><li><span><a href=\"#Without-unobservables-in-the-data\" data-toc-modified-id=\"Without-unobservables-in-the-data-3.1\"><span class=\"toc-item-num\">3.1 </span>Without unobservables in the data</a></span></li><li><span><a href=\"#With-unobservables-in-the-data\" data-toc-modified-id=\"With-unobservables-in-the-data-3.2\"><span class=\"toc-item-num\">3.2 </span>With unobservables in the data</a></span></li></ul></li></ul></div>" ] }, { @@ -102,46 +102,35 @@ "source": [ "## Data sets\n", "\n", - "### Synthetic data with unobservables\n", + "### Data without unobservables\n", "\n", - "In the chunk below, we generate the synthetic data as described by Lakkaraju et al. The default values and definitions of $Y$ and $T$ values follow their description.\n", + "In the chunk below, we generate a simplified data. The default values and definitions of $Y$ and $T$ values follow the previous description.\n", "\n", "**Parameters**\n", "\n", "* M = `nJudges_M`, number of judges\n", "* N = `nSubjects_N`, number of subjects assigned to each judge\n", - "* betas $\\beta_i$ = `beta_i`, where $i \\in \\{X, Z, W\\}$ are coefficients for the respected variables\n", + "* $\\beta_X$ = `beta_X`, coefficient for $X$\n", "\n", "**Columns of the data:**\n", "\n", "* `judgeID_J` = judge IDs as running numbering from 0 to `nJudges_M - 1`\n", "* R = `acceptanceRate_R`, acceptance rates\n", - "* X = `X`, invidual's features observable to all (models and judges)\n", - "* Z = `Z`, information observable for judges only\n", - "* W = `W`, unobservable / inaccessible information\n", + "* X = `X`, invidual's features observable to all (models and judges), now $X \\sim \\mathcal{N}(0, 1)$\n", "* T = `decision_T`, bail-or-jail decisions where $T=0$ represents jail decision and $T=1$ bail decision.\n", - "* Y = `result_Y`, result variable, if $Y=0$ person will or would recidivate and if $Y=1$ person will or would not commit a crime.\n", - "\n", - "The generated data will have M\\*N rows." + "* $p_y$ = `probabilities_Y`, variable where $p_y = P(Y=0)$\n", + "* Y = `result_Y`, result variable, if $Y=0$ person will or would recidivate and if $Y=1$ person will or would not commit a crime. Here $Y \\sim \\text{Bernoulli}(\\frac{1}{1+exp\\{-X\\}})$" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "def sigmoid(x):\n", - " '''Return value of sigmoid function (inverse of logit) at x.'''\n", - "\n", - " return 1 / (1 + np.exp(-1*x))\n", - "\n", - "\n", - "def dataWithUnobservables(nJudges_M=100,\n", - " nSubjects_N=500,\n", - " beta_X=1.0,\n", - " beta_Z=1.0,\n", - " beta_W=0.2):\n", + "def dataWithoutUnobservables(nJudges_M=100,\n", + " nSubjects_N=500,\n", + " sigma=0.0):\n", "\n", " df = pd.DataFrame()\n", "\n", @@ -155,36 +144,35 @@ " # Replicate the rates so they can be attached to the corresponding judge ID.\n", " df = df.assign(acceptanceRate_R=np.repeat(acceptance_rates, nSubjects_N))\n", "\n", - " # Sample the variables from standard Gaussian distributions.\n", + " # Sample feature X from standard Gaussian distribution, N(0, 1).\n", " df = df.assign(X=npr.normal(size=nJudges_M * nSubjects_N))\n", - " df = df.assign(Z=npr.normal(size=nJudges_M * nSubjects_N))\n", - " df = df.assign(W=npr.normal(size=nJudges_M * nSubjects_N))\n", "\n", - " # Calculate P(Y=0|X, Z, W)\n", - " probabilities_Y = sigmoid(beta_X * df.X + beta_Z * df.Z + beta_W * df.W)\n", + " # Calculate P(Y=0|X=x) = 1 / (1 + exp(-X)) = sigmoid(X)\n", + " df = df.assign(probabilities_Y=sigmoid(df.X))\n", "\n", - " df = df.assign(probabilities_Y=probabilities_Y)\n", + " # Draw Y ~ Bernoulli(1 - sigmoid(X))\n", + " # Note: P(Y=1|X=x) = 1 - P(Y=0|X=x) = 1 - sigmoid(X)\n", + " results = npr.binomial(n=1, p=1 - df.probabilities_Y,\n", + " size=nJudges_M * nSubjects_N)\n", "\n", - " # Result is 0 if P(Y = 0| X = x; Z = z; W = w) >= 0.5 , 1 otherwise\n", - " df = df.assign(result_Y=np.where(df.probabilities_Y >= 0.5, 0, 1))\n", + " df = df.assign(result_Y=results)\n", "\n", - " # For the conditional probabilities of T we add noise ~ N(0, 0.1)\n", - " probabilities_T = sigmoid(beta_X * df.X + beta_Z * df.Z)\n", - " probabilities_T += np.sqrt(0.1) * npr.normal(size=nJudges_M * nSubjects_N)\n", + " # Assign the prediction probabilities and add some Gaussian noise\n", + " # if sigma is set to != 0.\n", + " df = df.assign(probabilities_T=df.probabilities_Y)\n", "\n", - " df = df.assign(probabilities_T=probabilities_T)\n", + " df.probabilities_T += npr.normal(size=nJudges_M * nSubjects_N) * sigma\n", "\n", " # Sort by judges then probabilities in decreasing order\n", - " # Most dangerous for each judge are at the top.\n", + " # I.e. the most dangerous for each judge are first.\n", " df.sort_values(by=[\"judgeID_J\", \"probabilities_T\"],\n", " ascending=False,\n", " inplace=True)\n", "\n", - " # Iterate over the data. Subject will be given a negative decision\n", - " # if they are in the top (1-r)*100% of the individuals the judge will judge.\n", - " # I.e. if their within-judge-index is under 1 - acceptance threshold times\n", - " # the number of subjects assigned to each judge they will receive a\n", - " # negative decision.\n", + " # Iterate over the data. Subject is in the top (1-r)*100% if\n", + " # his within-judge-index is over acceptance threshold times\n", + " # the number of subjects assigned to each judge. If subject\n", + " # is over the limit they are assigned a zero, else one.\n", " df.reset_index(drop=True, inplace=True)\n", "\n", " df['decision_T'] = np.where((df.index.values % nSubjects_N) <\n", @@ -208,35 +196,46 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Data without unobservables\n", + "### Synthetic data with unobservables\n", "\n", - "In the chunk below, we generate a simplified data. The default values and definitions of $Y$ and $T$ values follow the previous description.\n", + "In the chunk below, we generate the synthetic data as described by Lakkaraju et al. The default values and definitions of $Y$ and $T$ values follow their description.\n", "\n", "**Parameters**\n", "\n", "* M = `nJudges_M`, number of judges\n", "* N = `nSubjects_N`, number of subjects assigned to each judge\n", - "* $\\beta_X$ = `beta_X`, coefficient for $X$\n", + "* betas $\\beta_i$ = `beta_i`, where $i \\in \\{X, Z, W\\}$ are coefficients for the respected variables\n", "\n", "**Columns of the data:**\n", "\n", "* `judgeID_J` = judge IDs as running numbering from 0 to `nJudges_M - 1`\n", "* R = `acceptanceRate_R`, acceptance rates\n", - "* X = `X`, invidual's features observable to all (models and judges), now $X \\sim \\mathcal{N}(0, 1)$\n", + "* X = `X`, invidual's features observable to all (models and judges)\n", + "* Z = `Z`, information observable for judges only\n", + "* W = `W`, unobservable / inaccessible information\n", "* T = `decision_T`, bail-or-jail decisions where $T=0$ represents jail decision and $T=1$ bail decision.\n", - "* $p_y$ = `probabilities_Y`, variable where $p_y = P(Y=0)$\n", - "* Y = `result_Y`, result variable, if $Y=0$ person will or would recidivate and if $Y=1$ person will or would not commit a crime. Here $Y \\sim \\text{Bernoulli}(\\frac{1}{1+exp\\{-\\beta_X \\cdot X\\}})$" + "* Y = `result_Y`, result variable, if $Y=0$ person will or would recidivate and if $Y=1$ person will or would not commit a crime.\n", + "\n", + "The generated data will have M\\*N rows." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "def dataWithoutUnobservables(nJudges_M=100,\n", - " nSubjects_N=500,\n", - " sigma=0.0):\n", + "def sigmoid(x):\n", + " '''Return value of sigmoid function (inverse of logit) at x.'''\n", + "\n", + " return 1 / (1 + np.exp(-1*x))\n", + "\n", + "\n", + "def dataWithUnobservables(nJudges_M=100,\n", + " nSubjects_N=500,\n", + " beta_X=1.0,\n", + " beta_Z=1.0,\n", + " beta_W=0.2):\n", "\n", " df = pd.DataFrame()\n", "\n", @@ -250,35 +249,36 @@ " # Replicate the rates so they can be attached to the corresponding judge ID.\n", " df = df.assign(acceptanceRate_R=np.repeat(acceptance_rates, nSubjects_N))\n", "\n", - " # Sample feature X from standard Gaussian distribution, N(0, 1).\n", + " # Sample the variables from standard Gaussian distributions.\n", " df = df.assign(X=npr.normal(size=nJudges_M * nSubjects_N))\n", + " df = df.assign(Z=npr.normal(size=nJudges_M * nSubjects_N))\n", + " df = df.assign(W=npr.normal(size=nJudges_M * nSubjects_N))\n", "\n", - " # Calculate P(Y=0|X=x) = 1 / (1 + exp(-X)) = sigmoid(X)\n", - " df = df.assign(probabilities_Y=sigmoid(df.X))\n", + " # Calculate P(Y=0|X, Z, W)\n", + " probabilities_Y = sigmoid(beta_X * df.X + beta_Z * df.Z + beta_W * df.W)\n", "\n", - " # Draw Y ~ Bernoulli(1 - sigmoid(X))\n", - " # Note: P(Y=1|X=x) = 1 - P(Y=0|X=x) = 1 - sigmoid(X)\n", - " results = npr.binomial(n=1, p=1 - df.probabilities_Y,\n", - " size=nJudges_M * nSubjects_N)\n", + " df = df.assign(probabilities_Y=probabilities_Y)\n", "\n", - " df = df.assign(result_Y=results)\n", + " # Result is 0 if P(Y = 0| X = x; Z = z; W = w) >= 0.5 , 1 otherwise\n", + " df = df.assign(result_Y=np.where(df.probabilities_Y >= 0.5, 0, 1))\n", "\n", - " # Assign the prediction probabilities and add some Gaussian noise\n", - " # if sigma is set to != 0.\n", - " df = df.assign(probabilities_T=df.probabilities_Y)\n", + " # For the conditional probabilities of T we add noise ~ N(0, 0.1)\n", + " probabilities_T = sigmoid(beta_X * df.X + beta_Z * df.Z)\n", + " probabilities_T += np.sqrt(0.1) * npr.normal(size=nJudges_M * nSubjects_N)\n", "\n", - " df.probabilities_T += npr.normal(size=nJudges_M * nSubjects_N) * sigma\n", + " df = df.assign(probabilities_T=probabilities_T)\n", "\n", " # Sort by judges then probabilities in decreasing order\n", - " # I.e. the most dangerous for each judge are first.\n", + " # Most dangerous for each judge are at the top.\n", " df.sort_values(by=[\"judgeID_J\", \"probabilities_T\"],\n", " ascending=False,\n", " inplace=True)\n", "\n", - " # Iterate over the data. Subject is in the top (1-r)*100% if\n", - " # his within-judge-index is over acceptance threshold times\n", - " # the number of subjects assigned to each judge. If subject\n", - " # is over the limit they are assigned a zero, else one.\n", + " # Iterate over the data. Subject will be given a negative decision\n", + " # if they are in the top (1-r)*100% of the individuals the judge will judge.\n", + " # I.e. if their within-judge-index is under 1 - acceptance threshold times\n", + " # the number of subjects assigned to each judge they will receive a\n", + " # negative decision.\n", " df.reset_index(drop=True, inplace=True)\n", "\n", " df['decision_T'] = np.where((df.index.values % nSubjects_N) <\n", @@ -646,224 +646,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### With unobservables in the data\n", - "\n", - "Lakkaraju says that they used logistic regression. We train the predictive models using only *observed observations*, i.e. observations for which labels are available. We then predict the probability of negative outcome for all observations in the test data and attach it to our data set." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1] 0 1 2 3 4 [2] 0 1 2 3 4 [3] 0 1 2 3 4 [4] 0 1 2 3 4 [5] 0 1 2 3 4 [6] 0 1 2 3 4 [7] 0 1 2 3 4 [8] 0 1 2 3 4 " - ] - }, - { - "data": { - "image/png": "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//wTgC5dujBt2jR3uYwerL59+7JkyRLCwsIYNGgQaWlpvPjii1SrVo3Q0FCGDh0KwMKFC6lRowbVqlWja9eunDp1CoBy5crRr18/6tWrR3h4OOvWrePee++lQoUKjBw5MtdzOn78OC1atKB69epUrVqVyZMn5/3ii4iIiIjkQYFO5uBV+gB5mZYwo0xkHsqGAYPzH8rdd9/NihUrMMYwatQoPvjgAz766CMAfv75Z1asWMHx48epUaMGLVq0YNOmTWzbto1Vq1ZhraV169YsXryYBg0auOucP39+tmWKFi1KTEwM69evJzU1lZo1a1KrVq2zYurVqxedOnWic+fOjB49mt69ezNz5swcz2HAgAEMHDiQuXPnAjBixAh+//131q9fj5+fH4cPHyY5OZkuXbqwcOFCKlasSKdOnRgxYgR9+vQB4KabbmL58uU899xzdOnShWXLlpGcnEyVKlXo2bNnjud04MABSpcuzTfffANwxkNlRUREREQuhqsnUfIi8fHxtGvXjr/++ouUlBTKly/v3vbAAw9QuHBhChcuTKNGjVi1ahVLly5l/vz57oenJiUlsW3btrMSpezKJCYmEhUVRZEiRQBo3bp1tjEtX76cr7/+GoCOHTvy8ssv5+ucFixYQM+ePfHzcz5SJUqUYOPGjZQvX56KFSsC0LlzZ4YPH+5OlDJiqVatGklJSQQHBxMcHExgYCBHjx7N8ZzuueceXnzxRV555RVatmzJPffck69YRURERETO5epJlPLa8xPp+jeuYMIAeOaZZ3j++edp3bo1cXFxREdHu7cZY84oa4zBWsurr77Kk08+mWOdOZUZPHjwWXXmRcY+fn5+pKenu4+RkpKS4/GzHsdam+sxAgICAPDx8XG/z1hOTU3N9bzXrl3Lt99+y6uvvkqzZs3o37//WWVERERERM6X7lHygISEBMqUKQPAuHHjztg2a9YskpOTOXToEHFxcURERHDvvfcyevRokpKSANi9ezf79+8/Y7+cyjRo0IAZM2Zw8uRJEhMTmTNnTrYx1a9fn5iYGAAmTpzI3XffDTj3Eq1du9Yd2+nTpwEIDg4mMTHRvX+zZs0YOXIkqampABw+fJg777yTnTt3sn37dgDGjx9Pw4YN83ydcjqnPXv2UKRIER5//HFefPFF1q1bl+c6RUREROTSOXQI9u4N5By/n3ulq6dHyUNOnDhB2bJl3cvPP/880dHRtG3bljJlylC3bl1+//139/batWvTokUL/vzzT/79739TunRpSpcuzdatW6lXrx7gTKgwYcIErr/+evd+zZo1y7ZMzZo1adeuHWFhYdxyyy05DlMbMmQIXbt25cMPP+S6665jzJgxAHTv3p0HHniA2rVr06RJE4oWLQpAaGgofn5+VK9enS5duvDMM8/w66+/Ehoair+/P927d6dXr16MGTOGtm3bkpqaSkREBD179szztcvpnLZv385LL72Ej48P/v7+jBgxIs91ioiIiMilsXEjbN0K/v5+nDwJrjtBLhvmXMOjLhfh4eF2zZo1Z6zbunUrlSpVyl9Fka5/4y4snsTERIKDgy+sErkgWds/Li6OyMhIzwUk2VK7eB+1iXdSu3gftYl3Urt4h/h4qFsXDh6EChUS2Lw5xNMhuRlj1lprw89VTj1KWcV5OgARERERkctXYiK0bAnHjkHVqpCaenl2zOgeJRERERERuShSU+GRR2DTJpg6FVyP4LwsKVESEREREZELZi088wx89x38979w772ejujCKFESEREREZELNnAgjBwJr7wCPXp4OpoLp0RJREREREQuyLRp8PLLzrC7d9/1dDQXhxKlrCIjnZeIiIiIiJzT8uXQsSPUrw9jx4LPFZJhXCGn4b2CstzBNnbsWHr16uWhaApGZGQkWadmz6u4uDh++ukn9/LIkSP58ssvL1ZoIiIiIlKAduyA1q2hTBmYNQsKF/Z0RBePpgcXj4qLiyMoKIj69esD5OuBtCIiIiLiOYcPQ4sWkJ4O334LJUt6OqKLSz1KHtSlSxemTZvmXs7ofYqLi6Nhw4Y88sgjVKxYkb59+zJx4kRq165NtWrV2LFjBwBz5syhTp061KhRg6ZNm7Jv3z4AoqOj6dq1K5GRkdx6660MGTIk2+PPnz+fevXqUbNmTdq2bUtSUhLz5s3jkUcecZeJi4ujVatWADz11FOEh4dTpUoV3njjjWzrzNyDNm3aNLp06ZJjrDt37mTkyJEMGjSIsLAwlixZQnR0NAMHDgRgw4YN1K1bl9DQUKKiojhy5Ajg9GC98sor1K5dm4oVK7JkyZJ8X3sREREROX+nTkFUFPz+O8ycCRUrejqii+/q6VHq0wc2bDh3uYwyeblPKSwMBg/OtcjJkycJCwtzLx8+fJjWrVufs+qNGzeydetWSpQowa233kq3bt1YtWoVn3zyCUOHDmXw4MHcfffdrFixAmMMo0aN4oMPPuCjjz4C4H//+x+xsbEkJiZyxx138NRTT+Hv7++u/+DBg7z99tssWLCAokWL8v777/Pxxx/Tr18/nnzySY4fP07RokWZPHky7dq1A+Cdd96hRIkSpKWl0aRJE37++WdCQ0PPfZ0gx1h79uxJUFAQL774IgALFy5079OpUyeGDh1Kw4YN6d+/P2+++SaDXdc7NTWVVatW8e233/Lmm2+yYMGCPMUhIiIiIhfGWujaFRYvhkmT4J57PB1Rwbh6EiUPKVy4MBsyJWhjx47N0/08ERER3HjjjQBUqFCBZs2aAVCtWjViY2MBiI+Pp127dvz111+kpKRQvnx59/4tWrQgICCAgIAArr/+evbt20fZsmXd21esWMGWLVu46667AEhJSaFevXr4+fnRvHlz5syZw8MPP8w333zDBx98AMCUKVP47LPPSE1N5a+//mLLli15TpRyizU7CQkJHD16lIYNGwLQuXNn2rZt697+4IMPAlCrVi127tyZpxhERERE5MK98YaTIL39Njz6aO5l4+IgLm4DEHkJIru4rp5E6Rw9P24ZPUlxcQUViZufnx/p6ekAWGtJSUlxbwsICHC/9/HxcS/7+PiQmpoKwDPPPMPzzz9P69atiYuLIzo6Otv9fX193ftksNbyj3/8g6+++uqsuNq1a8fw4cMpUaIEERERBAcH8/vvvzNw4EBWr15N8eLF6dKlC8nJyWfta4xxv8+8PbdYz0fG+WV3biIiIiJSMMaOhf/8x+lR6tfP09EULN2j5EHlypVj7dq1AMyaNYvTp0/na/+EhATKlCkDwLhx4/K1b926dVm2bBnbt28H4MSJE/z666+Acw/QunXr+Pzzz93D7o4dO0bRokUJCQlh3759zJs3L9t6S5UqxdatW0lPT2fGjBnnjDU4OJjExMSz6gkJCaF48eLu+4/Gjx/v7l0SERERkUtv4ULo3h2aNnUeLJvp9/ErkhIlD+revTuLFi2idu3arFy5kqJFi+Zr/+joaNq2bcs999xDyXxOM3LdddcxduxYHn30UUJDQ6lbty7/+9//AKeXpmXLlsybN4+WLVsCUL16dWrUqEGVKlXo2rWre8heVgMGDKBly5Y0btzYPXQwt1hbtWrFjBkz3JM5ZDZu3DheeuklQkND2bBhA/3798/XOYqIiIjIxbFlCzz0ENxxh/Nw2Uy3vl+xjLXW0zFcFOHh4TbrvT9bt26lUqVK+avoIg29S0xMJDg4+ILqkAuTtf3j4uKI1MOEvY7axfuoTbyT2sX7qE28k9rl4tu7F+rWdWa6W7ECbrklf/t7W5sYY9Zaa8PPVe7quUcpry7BvUkiIiIiIpeD48ehVSs4cMCZ5S6/SRKRkYQdPZq32ae9jBIlERERERE5S1oadOgAa9c6z0qqVSv/daQay+7AFIpd/PAKnBIlERERERE5y4svwqxZMGQI5OExoGcuZjUQAAAgAElEQVRJSE7gvjt+4s+iqfyScpyihfJ3P76naTIHERERERE5w9ChztN1nn0Wnnkm//v/duQ36o2qy12/pfLDBENR38CLH2QBU4+SiIiIiIi4zZkDffrAAw/ARx/lf/8lfyzhkYlt+GDmcTquhpSQa+D0afD1vfjBFiAlSllcwufNioiIiIh4lbVroX17qFkTJk7Mf24zbsM4XpncjVnT/Kmz/RTcfDMnihWjUODl16OkoXcFbO/evbRv354KFSpQuXJl7r//fveDXfNr8ODBnDhx4qLEtXPnTiZNmuReXrNmDb17974odWcWGRlJ1mnbRURERMT7/PEHtGwJ113n9Crl5xGf6TadVxe8ynujurBmjD+1/0yD8eOhfPnL9sm0SpQKkLWWqKgoIiMj2bFjB1u2bOHdd99l375951VfbolSWlpavurKmiiFh4czZMiQ84pLRERERC5vCQnQogWcPAnffAM33JD3fY+nHKft1Las/nIA68YWoowNxsTFweOPF1i8l4ISpQIUGxuLv78/PXv2dK8LCwvjnnvuwVrLSy+9RNWqValWrRqTJ08G/n4g18MPP8ydd95Jhw4dsNYyZMgQ9uzZQ6NGjWjUqBEAQUFB9O/fnzp16rB8+XLeeustIiIiqFq1Kj169CDjYcLbt2+nadOmVK9enZo1a7Jjxw769u3LkiVLCAsLY9CgQcTFxdGyZUsADh8+TJs2bQgNDaVu3br8/PPPAERHR9O1a1ciIyO59dZb851YffXVV1SrVo2qVavyyiuvuNd/8cUXVKxYkcjISLp3706vXr3O/6KLiIiISL6cPg0PPwy//ALTp0OVKnnfd/ex3TQY24BS42cwf5IPhctXxKxcCfXqOQXi4tgweHDBBF7Arpp7lPr0ydtzrjLK5OXhwWFhzmwgOdm0aRO1cphw/uuvv2bDhg1s3LiRgwcPEhERQYMGDQBYv349mzdvpnTp0tx1110sW7aM3r178/HHHxMbG0vJkiUBOH78OFWrVuWtt94CoHLlyvTv3x+Ajh07MnfuXFq1akWHDh3o27cvUVFRJCcnk56ezoABAxg4cCBz584FnAQtwxtvvEGNGjWYOXMmP/74I506dWKD68L873//IzY2lsTERO644w6eeuop/P39z3mt9uzZwyuvvMLatWspXrw4zZo1Y+bMmdSuXZv//Oc/rFu3juDgYBo3bkz16tXPWZ+IiIiIXDhroWdPWLAAxoyBJk3yvu/aPWuJmtiKvjMO8vRyCy3uh0mT4JprCi7gS0g9Sh6ydOlSHn30UXx9fSlVqhQNGzZk9erVANSuXZuyZcvi4+NDWFgYO3fuzLYOX19fHnroIfdybGwsderUoVq1avz4449s3ryZxMREdu/eTVRUFACBgYEUKVLknLF17NgRgMaNG3Po0CESEhIAaNGiBQEBAZQsWZLrr78+z8MIV69eTWRkJNdddx1+fn506NCBxYsXs2rVKho2bEiJEiXw9/enbdu2eapPRERERC7ce+/B6NHw+uvQpUve95u+ZTotRtzNl6OP8PTy0/Dcc85Dl66QJAmuoh6lvPb4XcxZ76pUqcK0adOy3ZYxLC47AQEB7ve+vr6kpqZmWy4wMBBf11QkycnJPP3006xZs4abbrqJ6OhokpOTcz1OTrLbx7huwstrbHmpM7f1IiIiIlKwvvoKXnsNHnsMXAOUzslay3tL3+Pz6a/x09TClN9/Gj79FHr0KNhgPUA9SgWocePGnDp1is8//9y9bvXq1SxatIgGDRowefJk0tLSOHDgAIsXL6Z27dq51hccHExiYmK225KTkwEoWbIkSUlJ7gTtmmuuoWzZssycOROAU6dOceLEiVzratCgARMnTgScIXklS5bkmnP8OtCkSRN2796d4/Y6deqwaNEiDh48SFpaGl999RUNGzakdu3aLFq0iCNHjpCamsr06dNzPY6IiIiIXLglS5wepAYNnB6lvExMdyr1FJ1ndubbMa+xcUwA5U8EYL7//opMkkCJUoEyxjBjxgx++OEHKlSoQJUqVYiOjqZ06dJERUURGhpK9erVady4MR98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K3g6NLkASpRERERERM7Tpv2beHB8S/pNiufoumd5jl48/8xpnu5XzNOhyQVSoiQiIiIich7mbZvHU18+wqRJp9j/W0u68jFRbSwfDvb3dGhyEShREhERERHJB2stQ1cNZeSEPiye7M/eoxE8VmgaEWE+TJgIPppX+oqgRElEREREJI9Op52m97zebJsyktXT/dhXuCqtgmIpFeLH7NlQpIinI5SLRfmuiIiIiEgeHE0+yv2T7oeRI/l+oiHllghaFl9Oii3Et99CqVKejlAuJiVKIiIiIiLnsP3wdu7+rC4PDP+REd9A2r2tefj6xWz/oxBffw2VKnk6QrnYNPRORERERCQXi3YuovO4Nnwx6ThNfk3H9nmOHocH8uOXPowbB40aeTpCKQhKlEREREREcjBm/RgGfNmDH2J8uO2ghc8+4+293Rk3GN54Azp18nSEUlCUKImIiIiIZJFu03l1wass++oDVk7z5xq/Ipj5XzNhdyP694eOHZ1ESa5cSpRERERERDJJSkni8a8f55rJs4id64PfreUwc+ay6K+KdO0KkZEwahQY4+lIpSBpMgcREREREZf4Y/E0+OJu6g6fxZczwa9BJGbFSn6xFYmKggoV4OuvoVAhT0cqBU09SiIiIiIiwOrdq2k/rhWDJh6i9RagRw/MsGHsP+LP/feDvz98+y0UL+7pSOVSUKIkIiIiIle9qZun8uq4jsyaZKnyVzoMGgTPPsvJZMMDD8CePRAXB+XLezpSuVSUKImIiIjIVctayztL3mHmhH+zYoo/JdIDMLO/hhYtSE93Jm1YuRKmTYM6dTwdrVxKSpRERERE5KqUnJpMt9ndSI6ZyLJZvhS68UbM3G+galUA+vaF6dPho4/gwQc9HKxccprMQURERESuOvuP76fJuMaUGzaRaVOhUHgdzKrV7iRp5Ej48EN4+ml47jkPByseoR4lEREREbmqbNq/iYe+bEH0hHge3Qh06IAZNQoCAwGYNw/+9S+4/3745BNNA361UqIkIiIiIleNedvm8a+xbZk8MYWIP9Lh7behXz93NrRhAzzyCFSvDpMng5++LV+1CnTonTGmuTHmF2PMdmNM32y2P2+M2WKM+dkYs9AYc0umbWnGmA2u1+yCjFNERERErmzWWoasHELfwS1YOjKFWvt9YepUeO01d5IUHw8tWkCxYjB3LgQFeTho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\n", - "text/plain": [ - "<Figure size 1008x576 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[0.005272 0.0022 0.01185422 0.00477498 0.00373072]\n", - " [0.020416 0.008216 0.02264994 0.01984985 0.01282219]\n", - " [0.0464 0.018488 0.05118037 0.04056628 0.02904038]\n", - " [0.081488 0.03168 0.08739625 0.06748708 0.05058666]\n", - " [0.12568 0.044408 0.13005694 0.11619114 0.07896761]\n", - " [0.181688 0.067952 0.18660673 0.15385259 0.12205216]\n", - " [0.24628 0.082264 0.2452843 0.23542718 0.16662356]\n", - " [0.321144 0.10956 0.32001659 0.338259 0.2292687 ]]\n", - "\n", - "Mean absolute errors:\n", - "0.08295\n", - "0.0038654443097572524\n", - "0.010773738532573306\n", - "0.04190950174490609\n" - ] - } - ], - "source": [ - "failure_rates = np.zeros((8, 5))\n", - "failure_sems = np.zeros((8, 5))\n", - "\n", - "nIter = 5\n", - "\n", - "for r in np.arange(1, 9):\n", - "\n", - " print(\"[\", r, \"]\", sep='', end=\" \")\n", - "\n", - " f_rate_true = np.zeros(nIter)\n", - " f_rate_label = np.zeros(nIter)\n", - " f_rate_human = np.zeros(nIter)\n", - " f_rate_cont = np.zeros(nIter)\n", - " f_rate_caus = np.zeros(nIter)\n", - "\n", - " for i in range(nIter):\n", - "\n", - " print(i, end=\" \")\n", - "\n", - " # Create data\n", - " train_labeled, train, test_labeled, test, df = dataWithUnobservables()\n", - "\n", - " # Fit model and calculate predictions\n", - " logreg, predictions = fitLogisticRegression(\n", - " train_labeled.dropna().X,\n", - " train_labeled.dropna().result_Y, test.X, 0)\n", - "\n", - " # Attach the predictions to data\n", - " test = test.assign(B_prob_0_logreg=predictions)\n", - "\n", - " logreg, predictions_labeled = fitLogisticRegression(\n", - " train_labeled.dropna().X,\n", - " train_labeled.dropna().result_Y, test_labeled.X, 0)\n", - "\n", - " test_labeled = test_labeled.assign(B_prob_0_logreg=predictions_labeled)\n", - "\n", - " # True evaluation\n", - " #\n", - " # Sort by failure probabilities, subjects with the smallest risk are first.\n", - " test.sort_values(by='B_prob_0_logreg', inplace=True, ascending=True)\n", - "\n", - " to_release = int(round(test.shape[0] * r / 10))\n", - "\n", - " # Calculate failure rate as the ratio of failures to those who were given a\n", - " # positive decision, i.e. those whose probability of negative outcome was\n", - " # low enough.\n", - " f_rate_true[i] = np.sum(\n", - " test.result_Y[0:to_release] == 0) / test.shape[0]\n", - "\n", - " # Labeled outcomes only\n", - " #\n", - " # Sort by failure probabilities, subjects with the smallest risk are first.\n", - " test_labeled.sort_values(by='B_prob_0_logreg',\n", - " inplace=True,\n", - " ascending=True)\n", - "\n", - " to_release = int(round(test_labeled.shape[0] * r / 10))\n", - "\n", - " f_rate_label[i] = np.sum(\n", - " test_labeled.result_Y[0:to_release] == 0) / test_labeled.shape[0]\n", - "\n", - " # Human evaluation\n", - " #\n", - " # Get judges with correct leniency as list\n", - " correct_leniency_list = test_labeled.judgeID_J[\n", - " test_labeled['acceptanceRate_R'].round(1) == r / 10].values\n", - "\n", - " # Released are the people they judged and released, T = 1\n", - " released = test_labeled[\n", - " test_labeled.judgeID_J.isin(correct_leniency_list)\n", - " & (test_labeled.decision_T == 1)]\n", - "\n", - " # Get their failure rate, aka ratio of reoffenders to number of people judged in total\n", - " f_rate_human[i] = np.sum(\n", - " released.result_Y == 0) / correct_leniency_list.shape[0]\n", - "\n", - " # Contraction, logistic regression\n", - " #\n", - " f_rate_cont[i] = contraction(test_labeled, 'judgeID_J', 'decision_T',\n", - " 'result_Y', 'B_prob_0_logreg',\n", - " 'acceptanceRate_R', r / 10)\n", - "\n", - " # Causal model - empirical performance\n", - "\n", - " released = bailIndicator(r * 10, logreg, train.X, test.X)\n", - "\n", - " #released = cdf(test.X, logreg, 0) < r / 10\n", - "\n", - " f_rate_caus[i] = np.mean(test.B_prob_0_logreg * released)\n", - "\n", - " #percentiles = estimatePercentiles(train_labeled.X, logreg, N_sample=train_labeled.shape[0])\n", - "\n", - " #def releaseProbability(x):\n", - " # return calcReleaseProbabilities(r*10, train_labeled.X, x, logreg, percentileMatrix=percentiles)\n", - "\n", - " #def integraali(x):\n", - " # p_y0 = logreg.predict_proba(x.reshape(-1, 1))[:, 0]\n", - "\n", - " # p_t1 = releaseProbability(x)\n", - "\n", - " # p_x = scs.norm.pdf(x)\n", - "\n", - " # return p_y0 * p_t1 * p_x\n", - "\n", - " #f_rate_caus[i] = si.quad(lambda x: integraali(np.ones((1, 1))*x), -10, 10)[0]\n", - "\n", - " failure_rates[r - 1, 0] = np.mean(f_rate_true)\n", - " failure_rates[r - 1, 1] = np.mean(f_rate_label)\n", - " failure_rates[r - 1, 2] = np.mean(f_rate_human)\n", - " failure_rates[r - 1, 3] = np.mean(f_rate_cont)\n", - " failure_rates[r - 1, 4] = np.mean(f_rate_caus)\n", - "\n", - " failure_sems[r - 1, 0] = scs.sem(f_rate_true)\n", - " failure_sems[r - 1, 1] = scs.sem(f_rate_label)\n", - " failure_sems[r - 1, 2] = scs.sem(f_rate_human)\n", - " failure_sems[r - 1, 3] = scs.sem(f_rate_cont)\n", - " failure_sems[r - 1, 4] = scs.sem(f_rate_caus)\n", - "\n", - "x_ax = np.arange(0.1, 0.9, 0.1)\n", - "\n", - "plt.figure(figsize=(14, 8))\n", - "plt.errorbar(x_ax,\n", - " failure_rates[:, 0],\n", - " label='True Evaluation',\n", - " c='green',\n", - " yerr=failure_sems[:, 0])\n", - "plt.errorbar(x_ax,\n", - " failure_rates[:, 1],\n", - " label='Labeled outcomes',\n", - " c='magenta',\n", - " yerr=failure_sems[:, 1])\n", - "plt.errorbar(x_ax,\n", - " failure_rates[:, 2],\n", - " label='Human evaluation',\n", - " c='red',\n", - " yerr=failure_sems[:, 2])\n", - "plt.errorbar(x_ax,\n", - " failure_rates[:, 3],\n", - " label='Contraction, log.',\n", - " c='blue',\n", - " yerr=failure_sems[:, 3])\n", - "plt.errorbar(x_ax,\n", - " failure_rates[:, 4],\n", - " label='Causal model, ep',\n", - " c='black',\n", - " yerr=failure_sems[:, 4])\n", - "\n", - "plt.title('Failure rate vs. Acceptance rate with unobservables')\n", - "plt.xlabel('Acceptance rate')\n", - "plt.ylabel('Failure rate')\n", - "plt.legend()\n", - "plt.grid()\n", - "plt.show()\n", - "\n", - "print(failure_rates)\n", - "print(\"\\nMean absolute errors:\")\n", - "for i in range(1, failure_rates.shape[1]):\n", - " print(np.mean(np.abs(failure_rates[:, 0] - failure_rates[:, i])))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Without unobservables\n", + "### Without unobservables in the data\n", "\n", "The underlying figure is attached to the preliminary paper. When conducting finalization, last analysis should be conducted with a preset random seed." ] @@ -1078,6 +861,181 @@ "for i in range(1, f_rates.shape[1]):\n", " print(np.mean(np.abs(f_rates[:, 0] - f_rates[:, i])))" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### With unobservables in the data\n", + "\n", + "Lakkaraju says that they used logistic regression. We train the predictive models using only *observed observations*, i.e. observations for which labels are available. We then predict the probability of negative outcome for all observations in the test data and attach it to our data set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "failure_rates = np.zeros((8, 5))\n", + "failure_sems = np.zeros((8, 5))\n", + "\n", + "nIter = 5\n", + "\n", + "for r in np.arange(1, 9):\n", + "\n", + " print(\"[\", r, \"]\", sep='', end=\" \")\n", + "\n", + " f_rate_true = np.zeros(nIter)\n", + " f_rate_label = np.zeros(nIter)\n", + " f_rate_human = np.zeros(nIter)\n", + " f_rate_cont = np.zeros(nIter)\n", + " f_rate_caus = np.zeros(nIter)\n", + "\n", + " for i in range(nIter):\n", + "\n", + " print(i, end=\" \")\n", + "\n", + " # Create data\n", + " train_labeled, train, test_labeled, test, df = dataWithUnobservables()\n", + "\n", + " # Fit model and calculate predictions\n", + " logreg, predictions = fitLogisticRegression(\n", + " train_labeled.dropna().X,\n", + " train_labeled.dropna().result_Y, test.X, 0)\n", + "\n", + " # Attach the predictions to data\n", + " test = test.assign(B_prob_0_logreg=predictions)\n", + "\n", + " logreg, predictions_labeled = fitLogisticRegression(\n", + " train_labeled.dropna().X,\n", + " train_labeled.dropna().result_Y, test_labeled.X, 0)\n", + "\n", + " test_labeled = test_labeled.assign(B_prob_0_logreg=predictions_labeled)\n", + "\n", + " # True evaluation\n", + " #\n", + " # Sort by failure probabilities, subjects with the smallest risk are first.\n", + " test.sort_values(by='B_prob_0_logreg', inplace=True, ascending=True)\n", + "\n", + " to_release = int(round(test.shape[0] * r / 10))\n", + "\n", + " # Calculate failure rate as the ratio of failures to those who were given a\n", + " # positive decision, i.e. those whose probability of negative outcome was\n", + " # low enough.\n", + " f_rate_true[i] = np.sum(\n", + " test.result_Y[0:to_release] == 0) / test.shape[0]\n", + "\n", + " # Labeled outcomes only\n", + " #\n", + " # Sort by failure probabilities, subjects with the smallest risk are first.\n", + " test_labeled.sort_values(by='B_prob_0_logreg',\n", + " inplace=True,\n", + " ascending=True)\n", + "\n", + " to_release = int(round(test_labeled.shape[0] * r / 10))\n", + "\n", + " f_rate_label[i] = np.sum(\n", + " test_labeled.result_Y[0:to_release] == 0) / test_labeled.shape[0]\n", + "\n", + " # Human evaluation\n", + " #\n", + " # Get judges with correct leniency as list\n", + " correct_leniency_list = test_labeled.judgeID_J[\n", + " test_labeled['acceptanceRate_R'].round(1) == r / 10].values\n", + "\n", + " # Released are the people they judged and released, T = 1\n", + " released = test_labeled[\n", + " test_labeled.judgeID_J.isin(correct_leniency_list)\n", + " & (test_labeled.decision_T == 1)]\n", + "\n", + " # Get their failure rate, aka ratio of reoffenders to number of people judged in total\n", + " f_rate_human[i] = np.sum(\n", + " released.result_Y == 0) / correct_leniency_list.shape[0]\n", + "\n", + " # Contraction, logistic regression\n", + " #\n", + " f_rate_cont[i] = contraction(test_labeled, 'judgeID_J', 'decision_T',\n", + " 'result_Y', 'B_prob_0_logreg',\n", + " 'acceptanceRate_R', r / 10)\n", + "\n", + " # Causal model - empirical performance\n", + "\n", + " released = bailIndicator(r * 10, logreg, train.X, test.X)\n", + "\n", + " #released = cdf(test.X, logreg, 0) < r / 10\n", + "\n", + " f_rate_caus[i] = np.mean(test.B_prob_0_logreg * released)\n", + "\n", + " #percentiles = estimatePercentiles(train_labeled.X, logreg, N_sample=train_labeled.shape[0])\n", + "\n", + " #def releaseProbability(x):\n", + " # return calcReleaseProbabilities(r*10, train_labeled.X, x, logreg, percentileMatrix=percentiles)\n", + "\n", + " #def integraali(x):\n", + " # p_y0 = logreg.predict_proba(x.reshape(-1, 1))[:, 0]\n", + "\n", + " # p_t1 = releaseProbability(x)\n", + "\n", + " # p_x = scs.norm.pdf(x)\n", + "\n", + " # return p_y0 * p_t1 * p_x\n", + "\n", + " #f_rate_caus[i] = si.quad(lambda x: integraali(np.ones((1, 1))*x), -10, 10)[0]\n", + "\n", + " failure_rates[r - 1, 0] = np.mean(f_rate_true)\n", + " failure_rates[r - 1, 1] = np.mean(f_rate_label)\n", + " failure_rates[r - 1, 2] = np.mean(f_rate_human)\n", + " failure_rates[r - 1, 3] = np.mean(f_rate_cont)\n", + " failure_rates[r - 1, 4] = np.mean(f_rate_caus)\n", + "\n", + " failure_sems[r - 1, 0] = scs.sem(f_rate_true)\n", + " failure_sems[r - 1, 1] = scs.sem(f_rate_label)\n", + " failure_sems[r - 1, 2] = scs.sem(f_rate_human)\n", + " failure_sems[r - 1, 3] = scs.sem(f_rate_cont)\n", + " failure_sems[r - 1, 4] = scs.sem(f_rate_caus)\n", + "\n", + "x_ax = np.arange(0.1, 0.9, 0.1)\n", + "\n", + "plt.figure(figsize=(14, 8))\n", + "plt.errorbar(x_ax,\n", + " failure_rates[:, 0],\n", + " label='True Evaluation',\n", + " c='green',\n", + " yerr=failure_sems[:, 0])\n", + "plt.errorbar(x_ax,\n", + " failure_rates[:, 1],\n", + " label='Labeled outcomes',\n", + " c='magenta',\n", + " yerr=failure_sems[:, 1])\n", + "plt.errorbar(x_ax,\n", + " failure_rates[:, 2],\n", + " label='Human evaluation',\n", + " c='red',\n", + " yerr=failure_sems[:, 2])\n", + "plt.errorbar(x_ax,\n", + " failure_rates[:, 3],\n", + " label='Contraction, log.',\n", + " c='blue',\n", + " yerr=failure_sems[:, 3])\n", + "plt.errorbar(x_ax,\n", + " failure_rates[:, 4],\n", + " label='Causal model, ep',\n", + " c='black',\n", + " yerr=failure_sems[:, 4])\n", + "\n", + "plt.title('Failure rate vs. Acceptance rate with unobservables')\n", + "plt.xlabel('Acceptance rate')\n", + "plt.ylabel('Failure rate')\n", + "plt.legend()\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "print(failure_rates)\n", + "print(\"\\nMean absolute errors:\")\n", + "for i in range(1, failure_rates.shape[1]):\n", + " print(np.mean(np.abs(failure_rates[:, 0] - failure_rates[:, i])))" + ] } ], "metadata": { -- GitLab