Created
January 4, 2023 16:56
-
-
Save davipatti/de120c8d9d7a3b22c493f89d7ffa6c55 to your computer and use it in GitHub Desktop.
Demonstrating least absolute deviation regression #numpy #regression
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"attachments": {}, | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Least Absolute Deviation (LAD) regression" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"from scipy.optimize import minimize\n", | |
"plt.style.use(\"bmh\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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Xbv46aefePDBB83jUVdXx4QJE1i3bh3bt29n7Nix3HfffeTn5wPw1VdfERoayqJFi8jKyiI7O7vF62zYsIFFixaZH64PPvggCxYsYNeuXRbt3nnnHe644w527drF+PHjeeKJJ5rdtwYyMjI4e/YsZWVlAOzZswc/Pz+z8aDT6Th06BAZGRnNPrtgwQLuuOMOxo0bZ77H6enp5uNvvPEGCxYsYMeOHcTFxfHHP/6x1Yey0Wg0j++PP/7I2rVruXz5Mo8++miL7Vti8eLFpKWlMWfOHHN/wsLC2vzcvn37mDt3Lk888QT79u3jvffeY8WKFc0Mi7fffpspU6awe/fuZsZPA/aS5n1z6lg23zmbH+99lM+ffpnsgUMwOjriptXTt6SKUVfKiKlSItH/biRKIKFvEPc9OYRbpkUS1zsQSRdUfLUFLa3E6apqyPtyHfunPs6ujHu58I8vLPJqOHq6E37/NNK//4hR+1eT8OfHum1eDVuvNHYFttZo19sr/122l7paTdsNOxl3T2cemD+87YZWoK6ujs8//5xly5aZ997ff/99fv31V/773//y1FNPmds+99xzjBkzBoCPPvqI5ORkNmzYwJ133omXlxcSiYSgoKA2r3nfffdx5513AvDUU08xceJEnn32WcaNGwfAE088wcKFC1v8bG1tLTU1NUycOJGYmBgAevXqZT6enJxMcnKy+fVLL73Exo0byczM5I9//CO+vr44ODjg4eFBREREq8bj0qVLmTVrlvlBHB8fz+HDh1m6dCkjR440t5s1axZ33XUXAC+//DL/+te/OHLkCOPHj292zj59+uDr68uePXuYPn06e/bsYf78+Xz66acAHDlyxGzENcXDwwNXV1e0Wm2L93jBggXceuutALzwwgsMHz6cgoICi3vTwI4dOzh9+jS//fabOYXxRx99xPDhwzl69CiDBg1q8Z40xsvLCycnJ1xdXds15g288847PPPMM8yaVf/rPzo6mhdffJG//vWvPP/88+Z2d911F/fff/91z+Xi4tLu69oCk8nEsau1VCh1FA8eZn7fW60jtqIGf5XOYv45OEjoOzCMtJHRyAPqt9b0+u7zq90aREXVJz8zh7muzqRky+5Wq7mGzphI0KTRVg1z7Uwa9AkZW2u0a6OjrlaDoqbrjQ5bcunSJXQ6HUOGDDG/J5PJGDBgAOfOnbNo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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"np.random.seed(42)\n", | |
"\n", | |
"x = np.sort(np.random.rand(25, 1) * 4, axis=0)\n", | |
"b = 0.9 * x + 0.1 * np.random.randn(len(x), 1)\n", | |
"atrue = np.linalg.lstsq(x, b, rcond=None)[0]\n", | |
"\n", | |
"plt.scatter(x, b, label=\"original data\")\n", | |
"\n", | |
"# Add outlier\n", | |
"b[-1] = -2\n", | |
"acorrupt = np.linalg.lstsq(x, b, rcond=None)[0]\n", | |
"\n", | |
"plt.scatter(x, b, marker=\"x\", label=\"data with outlier\")\n", | |
"\n", | |
"def L1_norm(a):\n", | |
" return np.linalg.norm(a * x - b, ord=1)\n", | |
"\n", | |
"a0 = acorrupt\n", | |
"res = minimize(L1_norm, float(a0))\n", | |
"aL1 = res.x[0]\n", | |
"\n", | |
"xgrid = np.linspace(0, 4)\n", | |
"plt.plot(xgrid, xgrid * atrue[0] + 0.1, label=\"least sq. without outlier\")\n", | |
"plt.plot(xgrid, xgrid * acorrupt[0] + 0.1, label=\"least sq. with outlier\")\n", | |
"plt.plot(xgrid, xgrid * aL1 + 0.1, label=\"L1 optimisation with outlier\")\n", | |
"plt.legend();" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "mfsera-env", | |
"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.10.4" | |
}, | |
"orig_nbformat": 4, | |
"vscode": { | |
"interpreter": { | |
"hash": "ed59fc193463f11e277216759bb67593ab5c26b02cc19026989094e310e560a1" | |
} | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment