{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# How to visualize an optimization problem\n", "\n", "Plotting the criterion function of an optimization problem can answer important questions\n", "- Is the function smooth?\n", "- Is the function flat in some directions?\n", "- Should the optimization problem be scaled?\n", "- Is a candidate optimum a global one?\n", "\n", "Below we show how to make a slice plot of the criterion function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The simple sphere function (again)\n", "\n", "Let's look at the simple sphere function again. This time, we specify params as dictionary, but of course, any other params format (recall [pytrees](https://jax.readthedocs.io/en/latest/pytrees.html)) would work just as well. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "import estimagic as em" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def sphere(params):\n", " x = np.array(list(params.values()))\n", " return x @ x" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "params = {\"alpha\": 0, \"beta\": 0, \"gamma\": 0, \"delta\": 0}\n", "lower_bounds = {name: -5 for name in params}\n", "upper_bounds = {name: i + 2 for i, name in enumerate(params)}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating a simple slice plot" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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U/+WsN1yWioniuIPwkQC4hskZnli8ih2/GLa2r59e9MFNOFI24bApEmTcPr06ZfM34sWLap8y5gSRoACJGG8dP20MwkQsecWAeLi4hI9JvJlU6JDmS1dv35dnWhJ5I1cuXKp0MPFixc3Wzdf6Y8zjTEFiP2ms/h9jB8/Hjdv3kTOnDkxfPhwZeLGRAJRBCTqldwFIveAvP/++2qORN0bQ0okEJOA+CSKv4eExBcfkHr16ik/s+TJkxNUAglQgCQQGB8nARIgARIgARIgARIgARKwnAAFiOXsmJMESIAESIAESIAESIAESCCBBChAEgiMj5MACZAACZAACZAACZAACVhOgALEcnbMSQIkQAIkQAIkQAIkQAIkkEACFCAJBMbHSYAESIAESIAESIAESIAELCdAAWI5O+YkARIgARIgARIgARIgARJIIAEKkAQC4+MkQAIkQAIkQAIkQAIkQAKWE6AAsZwdc5IACZAACZAACZAACZAACSSQAAVIAoHxcRIgARIgARIgARIgARIgAcsJUIBYzo45SYAESIAESIAESIAESIAEEkiAAiSBwPg4CZAACZAACZAACZAACZCA5QQoQCxnx5wkQAIkQAIkQAIkQAIkQAIJJEABkkBgfJwESIAESIAESIAESIAESMByAhQglrNjThIgARIgARIgARIgARIggQQSoABJIDA+TgIkQAIkQAIkQAIkQAIkYDkBChDL2TEnCZAACZAACZAACZAACZBAAglQgCQQGB8nARIgARIgARIgARIgARKwnAAFiOXsmJMESIAESIAESEDnBIYMGYIUKVJgzJgxcbZ07NixuHnzJqZNmxbns3yABEjAcgIUIJazY04SIAESIAESIAGdE7BUgDx+/BirV69Gu3btdN5DNo8EjEeAAsR4Y8YWkwAJkAAJkAAJxJOApQJk3759mDBhAlatWhXPmvgYCZBAfAlQgMSXFJ9zKgKLFy/GnDlzEBwcjLZt20K+hD179gzjx49HREQEJk6cqL6M3b9/H/ny5cPw4cPh5eWlGLVo0QJNmzaFbF7nzp1DunTpMHnyZMybNw8HDhzA8+fPMW7cOFSpUgWhoaEoVaoUpkyZgp9++glXr15FmTJl8OWXX2LkyJHw8/NDpkyZlDlAtmzZ4qzbqQaJnSUBEiCB1xCQ9Xv27Nl4+PAh3n33XbWOp0qVKtoEa+HChfj5558RFBSEvHnz4qOPPkLNmjVVSVEmWO3bt0ePHj0QHh6OZMmSYeXKlWqtf9vaz8EgARKIPwEKkPiz4pNOQuD48eNo3bo1pk+fjho1aqiNav78+WjYsKHawJYtW4ZJkyZBNrkcOXJANjPZ7Pbv3w9XV1e0atVKbXzy8wwZMqBTp05KSEydOhWVKlVSYmTbtm3466+/8PTpUxQvXhyNGjVSZYaEhKB27drIkiWLqjNjxozo0qULihYtii+++CLOup1kiNhNEiABEngtgfPnz6NZs2ZqTZaPPLLOyrotQkT+vXPnTnz++efqg0+RIkWwa9cuDBw4EOvXr0fu3LmjBYh89JGPRvKhKeoEJK61n0NCAiQQfwIUIPFnxSedhIAIATmp+OOPP1SPIyMjUbduXVSuXFltYCIaHj16hPTp06vfy1c0T09PbNy4Efnz51cCpHz58vjss8/U7+UIXza9devWqf+Xk5G+ffvixIkT0QJETltq1aqlfi/5S5YsiREjRqj///7779VJijwTV91OMkTsJgmQAAm8loB86BFRsXz58ujfN2nSBGXLllXrd/fu3dX6KqIjKn3wwQcoXbq0+llMJ/TYAoTrLycdCdiOAAWI7ViyJJMQ+OSTT5SZlLz4RyXZmNKmTas2MDG7kt8dPHhQmWZJunHjhvpSVqxYMSUgZMPr1q2b+p2YVx07dkx9TZN05MgRdOzYEfKlLuoEJCqv/F5+vwAXXwAABURJREFUV61aNfTu3Vs9LycxUtevv/4aZ90mGQJ2gwRIgAQsIiDmsPKBSE6ao1K/fv3UByNZv+vVq4fLly+/UraYzn733XdvFSBxrf0WNZiZSMBJCVCAOOnAs9tvJjB06FB16iEnIVFp0KBBSJMmjdrA5PdXrlxRwkD8M8RsSvw23iZAxKxr7ty58RYg1atXR69evV4RIHHVzXElARIgAWcmIGuk+OvJh5+oJB9zxJxV1u8GDRqoqFZRH4his3rbCQjXX2eeWey7rQlQgNiaKMszPIFvvvlGmUctXbo0ui9igiVO5rKBiY+GbGht2rRRv/f29lZ+GloIkLjqNjx8doAESIAErCAgJq9yYhzTBKt+/fqoWLGiWr979uypfPMkoEhUun79uvK7c3FxeesJCNdfKwaGWUkgFgEKEE4JEohFYM+ePcpO+JdfflGblvxbHMLl6F42MDGRypo1qzquv3TpEkSwiF/HzJkzVSSV15lg2eoEJK66OZgkQAIk4MwEDh06pAJ/zJgxQwX9kOhVP/zwg4pMGOWEPmDAAHWCLU7qPj4+SpSIU7r47sU8AZGPUPKcOLKnTJkS4ivytrXfmbmz7ySQUAIUIAklxuedgoA4Mi5ZskT5gnTu3FmFx5WbdEePHo2TJ09i2LBhkK9mHh4eSoDIJrV582YVMUu+rMX2AbGVAImr7nLlyjnF+LCTJEACJPAmAuJvJyavEo3wvffeU+u4hNONOvVYsGCB+n1gYKAKb96nTx+0bNlSFRdTgMgaL2JGAo1IEJCkSZO+de3n+ss5SQLxJ0ABEn9WfNKJCIhzefLkyaN73LVrV3UaItGrmEiABEiABEiABEiABCwnQAFiOTvmNCkBubOjcePGyqSqatWqyrxKoqiITbGceDCRAAmQAAmQAAmQAAlYToACxHJ2zGliAnIHyKxZs3Dz5k112aCcfDRv3tzEPWbXSIAESIAESIAESEAbAhQg2nBmLSRAAiRAAiRAAiRAAiRAAgAoQDgNSIAESIAESIAESIAESIAENCNAAaIZalZEAiRAAiRAAiRAAiRAAiRAAcI5QAIkQAIkQAIkQAIkQAIkoBkBChDNULMiEiABEiABEiABEiABEiABChDOARIgARIgARIgARIgARIgAc0IUIBohpoVkQAJkAAJkAAJkAAJkAAJUIBwDpAACZAACZAACZAACZAACWhGgAJEM9SsiARIgARIgARIgARIgARIgAKEc4AESIAESIAESIAESIAESEAzAhQgmqFmRSRAAiRAAiRAAiRAAiRAAhQgnAMkQAIkQAIkQAIkQAIkQAKaEaAA0Qw1KyIBEiABEiABEiABEiABEqAA4RwgARIgARIgARIgARIgARLQjAAFiGaoWREJkAAJkAAJkAAJkAAJkAAFCOcACZAACZAACZAACZAACZCAZgQoQDRDzYpIgARIgARIgARIgARIgAQoQDgHSIAESIAESIAESIAESIAENCNAAaIZalZEAiRAAiRAAiRAAiRAAiRAAcI5QAIkQAIkQAIkQAIkQAIkoBkBChDNULMiEiABEiABEiABEiABEiABChDOARIgARIgARIgARIgARIgAc0IUIBohpoVkQAJkAAJkAAJkAAJkAAJUIBwDpAACZAACZAACZAACZAACWhGgAJEM9SsiARIgARIgARIgARIgARIgAKEc4AESIAESIAESIAESIAESEAzAhQgmqFmRSRAAiRAAiRAAiRAAiRAAhQgnAMkQAIkQAIkQAIkQAIkQAKaEaAA0Qw1KyIBEiABEiABEiABEiABEvh/Disr1/DhvcYAAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = em.slice_plot(\n", " func=sphere,\n", " params=params,\n", " lower_bounds=lower_bounds,\n", " upper_bounds=upper_bounds,\n", ")\n", "fig.show(renderer=\"png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpreting the plot\n", "\n", "The plot gives us the following insights:\n", " \n", "- There is no sign of local optima. \n", "- There is no sign of noise or non-differentiablities (careful, grid might not be fine enough).\n", "- The problem seems to be convex.\n", "\n", "-> We would expect almost any derivative based optimizer to work well here (which we know to be correct in that case)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using advanced options" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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QMGdIVhRUVFm1Si9hgYauuSs/v+yZcvMTuK6dK/uj/Gf//wn1Xxor4F+oHenB0QvqJsFavChPRA62V4/8OtEcl29S4dL6R4dqaWb7QOS8viUy/BqL4suw6uriOkKYBpEaW+T9u7oHBBH0lW+1FTnmuiSwizF6/kvHldAAAEEEEAAAQSCVcDvA5BgqZiLFy+aoubMmTOxyBoAzZkzx8xvISGAAAIIIIAAAgggEAgCBCB+UIu667oOgdIVurSXQodg6SpeOpxMe1x040USAggggAACCCCAAAKBIEAA4ie1uHv3bjMZXOd76CaBuoyuzrnQyfE6FIuEAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAAAggggEAgCBCABEItUgYEEEAAAQQQQAABBGwiQABik4oimwgggAACCCCAAAIIBIIAAUgg1CJlQAABBBBAAAEEEEDAJgIEIDapKLKJAAIIIIAA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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = em.slice_plot(\n", " func=sphere,\n", " params=params,\n", " lower_bounds=lower_bounds,\n", " upper_bounds=upper_bounds,\n", " # selecting a subset of params\n", " selector=lambda x: [x[\"alpha\"], x[\"beta\"]],\n", " # evaluate func in parallel\n", " n_cores=4,\n", " # rename the parameters\n", " param_names={\"alpha\": \"Alpha\", \"beta\": \"Beta\"},\n", " title=\"Amazing Plot\",\n", ")\n", "fig.show(renderer=\"png\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.13" } }, "nbformat": 4, "nbformat_minor": 4 }