{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Using optimization routines from `scipy` and `statsmodels`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import scipy.linalg as la\n", "import numpy as np\n", "import scipy.optimize as opt\n", "import matplotlib.pyplot as plt\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "np.set_printoptions(precision=3, suppress=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using `scipy.optimize`\n", "----\n", "\n", "One of the most convenient libraries to use is `scipy.optimize`, since it is already part of the Anaconda installation and it has a fairly intuitive interface." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from scipy import optimize as opt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Minimizing a univariate function $f: \\mathbb{R} \\rightarrow \\mathbb{R}$" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def f(x):\n", " return x**4 + 3*(x-2)**3 - 15*(x)**2 + 1" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n4uI1+hwiIiLV9eSTMHkyPPZY7EpWraSkhJKSkhXOlZeXr/H7mbuvbU1rLRE6DgO6uvu3K3l+KvBv\nd7818eemhBByors/lvjzTMLg0icTbdoAk4COKxtcamaFQGlpaSmFhYW19dFERERWyh06doRGjeD1\n12NXUzNlZWUUFRUBFLl7WU1eG73Hw8wGAcXAocA8M2ueeKrc3Rcm/nsAcLmZfQ1MAfoDPwJPQxhs\namb3AbeY2WxgLnA78K5mtIiISCZ65x0YOxaeey52JekVPXgAZxAGj75R6XwvYASAu99oZo2Auwiz\nXt4Gerj7oqT2fYGlwEigIfAScGatVi4iIrKG+vWDnXaCHj1iV5Je0YOHu1drZo279wP6reb534Gz\nE4eIiEjGevNNeO01eOIJqJNR80trX559XBERkfiuugratoXDD49dSfpF7/EQERHJJ6+/Hno8nn4a\nzGJXk37q8RAREUkT99DbUVQEhxwSu5o41OMhIiKSJqNHw9tvh5ks+djbAerxEBERSYuK3o727eHA\nA6tun6vU4yEiIpIGL78MY8bAiy/mb28HqMdDRESk1i1bBpddBp06QffusauJSz0eIiIitWzECCgr\ng3ffze/eDlCPh4iISK367Te49FI47jjo3Dl2NfEpeIiIiNSi66+HX38Nj6LgISIiUmumTIGbboIL\nL4TNN49dTWZQ8BAREakll1wC668fHiXI+8Gl8+fHrkBERHLRO+/Ao4/C8OHQuHHsajJH3vd4fPtt\n7ApERCTXLF0K550XlkY/4YTY1WSWvO/x+Oab2BWIiEiuGTgQSkvD9Nl82/a+Knl/Ob7+OnYFIiKS\nS6ZMCdNnzzxT02dXJu+Dh3o8REQkVdyhTx/YYAO47rrY1WSmvL/Voh4PERFJlREj4JVX4IUXoEmT\n2NVkprzv8fj5Z5g1K3YVIiKS7aZNg759w2DSHj1iV5O58j54AHz2WewKREQk2519NtSrB7feGruS\nzJb3waNePfj009hViIhINnvsMRg5Eu68M4zvkFXL++DRurWCh4iIrLnJk+G00+Doo8Mhq5f3wWPL\nLRU8RERkzSxaFHadXX99uOcebXlfHQoeieDhHrsSERHJNpddBh99BI88AgUFsavJDnkfPLbaKmxX\nPHVq7EpERCSbPP883Hwz3HAD7LZb7GqyR94Hjy23DI+63SIiItX1449w0klw8MFhTxapvrwPHi1b\n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\n9O3bl4KCFTtGiouLKS4uTseXz0h16sChh4Zj/PiwgNebb4Ylyy+/PLSpXx8KCsLRqBFMmwYzZy5/\nj2bNYL/94K67oFs32GyzOJ9FRETWTklJCSUlJSucKy9f89/pzVO8c1hi7MYGVTT7FugKvAQ0c/d5\nSa//ErjX3W80s6uBQ9y9MOn51onX7+ru483sfqCJux+R1GYvYDSwflLvSeU6C4HS0tJSCgsLV9ZE\nKlm6FD75BD77DMrLw6yU8nKYNw+aNw/holWrcLRunXmLk4mISGqUlZVRVFQEUOTuZTV5bcp/NCTG\nbvxcVTszW5fQ+7Gs0lPLWD725D3gMjPbMGmcRzfC7ZOJSW2uNbO67r40qc0Xqwodsmbq1g0zYXbd\nNXYlIiKSrWJOp30P+BUYkViHY2sz+zfQmjDNFuBlQsB4INGmO9AfuNPdK4Y8PgQsAoaa2fZmdixw\nDnBzGj+LiIiIVEPsWS0HAI0Jt0U+BDoDh7r7hESbZcDBwFJgDDACGA5clfQ+cwg9HK2BccC/gX7u\nfl+aPoqIiIhUU9S78In7Qj2qaPMDIXysrs2nhDEjIiIiksFir1wqIiIieUTBQ0RERNJGwUNERETS\nRsFDRERE0kbBQ0RERNJGwUNERETSRsFDRERE0kbBQ0RERNJGwUNERETSRsFDRERE0kbBQ0RERNJG\nwUNERETSRsFDRERE0kbBQ0RERNJGwUNERETSRsFDRERE0kbBQ0RERNJGwUNERETSRsFDRERE0kbB\nQ0RERNJGwUNERETSRsFDRERE0kbBQ0RERNJGwUNERETSRsFDRERE0kbBQ0RERNJGwUNERETSRsFD\nRERE0kbBQ0RERNJGwUNERETSRsFDRERE0kbBQ0RERNJGwUMoKSmJXULG0LUIdB0CXYfldC0CXYe1\nV2vBw8wuM7N3zWyemf2yijatzOz5RJtpZnajmdWp1GZnM3vLzBaY2XdmdtFK3mcvMys1s4Vm9qWZ\nnVRbnysX6R/ScroWga5DoOuwnK5FoOuw9mqzx6M+8CgweGVPJgLGC0A9oCNwEnAycE1SmybAKGAy\nUAhcBPQzs1OT2rQGngNGA7sAtwH3mtn+Kf48IiIispbq1dYbu/vVAKvpfegObAvs7e6zgAlmdgVw\nvZn1c/clQE9CgOmd+PMkM9sVOB+4N/E+fwW+dfeLE3/+wsz2APoCr9TGZxMREZE1E3OMR0dgQiJ0\n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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-8, 5, 100)\n", "plt.plot(x, f(x));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [`minimize_scalar`](http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize_scalar.html#scipy.optimize.minimize_scalar) function will find the minimum, and can also be told to search within given bounds. By default, it uses the Brent algorithm, which combines a bracketing strategy with a parabolic approximation." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: -803.39553088258845\n", " nfev: 12\n", " nit: 11\n", " success: True\n", " x: -5.5288011252196627" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "opt.minimize_scalar(f, method='Brent')" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: -54.210039377127622\n", " message: 'Solution found.'\n", " nfev: 12\n", " status: 0\n", " success: True\n", " x: 2.6688651040396532" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "opt.minimize_scalar(f, method='bounded', bounds=[0, 6])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Local and global minima" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def f(x, offset):\n", " return -np.sinc(x-offset)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nsT7U1rpv+9xzVffdN/1ysZhqQYHqQw+5b9urJ5+09XTz3m6zjerf/ua+7VhMdautVG+9NfVykydb\nH6ZNc9+2quqECfa8mTOTL3PXXaotW6qWl3trW1X1mmus/5WViR8/5RTVHj1sPb2KxVT320/1gAM2\nf35Njepuu6ked5z3dh1Ll6q2a6d61ln1bb7xhuoxx9g25M9/9t+2qupHH6kWFqpeeKG11aaNarNm\nqkOGpH4/kpk+fboCUAC9NIzv/DAaSdo4cEpdODgDwO4AHgawCkCHJMvvCGA9gDsB7FYXSKoBHJ7i\ndwQKFeXlqh98oHrDDaoDBqiedJJ9KIIqL7c/vDvvtDa7drWN1F//6m0jmMjPP6tecolq//72xWnF\nMNXiYgsXQSxcqLrjjvVtitgXf9u2qr/9rWpZmf+2Fy9W7dxZdc897Q/iyivtdf/rX+333HBDsLa3\n3lr1+OM331Bcc41qUZHqV1/5a3vhQtUttlC9+OLNH6upUe3ZU/Xgg/1t4L77zjYId96Z+PE5c+x9\nePpp721PmWLPffXV5Mtcf729t8k23sk8+6y1vWBB6uW6dlUdMcJb2yNH2uck3ev5xhvWhx9/dN/2\nEUfYZ8SNNm1U//EP9217de+9Forc2HNP1Usvdd/2smX22rz4YurlNmywL6iHH3bftqr9zXbokHpb\nNneu9eH11721XVNj25xEf2+O996ztj/7zFvbqqpvv23PfeedxI8/9ZQ9/vnn3ttWVR061LZFv/yy\n+WOjRtnfu99t0ZIl9rdx8MGq1dV2X1mZ7fTsvLNqq1aq33zjrc2mFiomAxgT938BsBDA1UmWvwPA\n7Ab3lQJ4M8Xv8BUqpkxRPfBA1ebN7VVo3942Np062Zs2fryn5jYxb57q9tvXf9H3729foFdfbV+e\nf/yj/TH7sWiR7Ylvs43t3d90k+rzz6vOmqV6+OH2oXrvPX9tl5Wp7r236nbbWSD68UfVjRvtsdmz\nraJw2GH+9pqrqlR/9zvbWCSqeNx8s702b73lve3aWtXBg+19S/SHvGGD7ZH36+evGnLSSdZ2okqC\nqm00/Ww8VVVPO81ek1Sfh0GDVHv18h5aTj9ddaedUq+zE1pSBY9ETjrJ3R7/6aer9u7tre1DD1U9\n4YT0y33zjfX9gw/ct73rru5DTufO9rmMyq232hezGwMH2nbDrY8+stfmyy/TL9uzp1XLvNh///T9\nicXsi+7CC721/dZb6asntbW283POOd7ajsVsO7D//sn/njZutLZPPtlb26r1YeeJJxI/XlFhr8ng\nwd7/nmtqbMe3c+fE29D1663tAw7wtp1rMqECQPO6KsNxDe5/EsDLSZ7zEYC7G9x3FoDVKX6P51Dx\n0kv25du7t+r999sXppO4lyyxjVpBgX1he/0SmjnTvvB79rR/N3y+87v79vVeEVm2THX33e1L//vv\nN3+8okL1qKNs7+eNN7y1XVVlgaFtWxv6SGTCBNvjHzrUe7XlwgstwE2alPjx2lrVI4+0cOdlz1PV\nyuCA7YEk88knFlpGj/bWtrM3XFqafJlYTPWQQ+w99/J5mTXL+pSuxO5sZD/6yH3bS5bY6+1mT7tn\nT3tP3Vq/3oaVbr89/bKPPGJ/S24rXDU1VhVy0/bGjbaX7XaIorbWPr/33utu+Z13tipXVK65xn6H\nG0OH2s6JWw8/bK+NmwrUsGE2HOBWWZn76sall6rusIO3L9BTTrHPZLrn3HST7bStXeu+7Xfftb+l\ndDsvDz1kf5vz5rlvu6LCdvjSVS2dYVqvOyF//av9LaWqRk+caP1ONSzZUFMKFV0AxAD0bXD/HQAm\nJXnO1wCuaXDfkQBqAbRI8pxeAHTixPShIhZTvftue9FPPtk+BInU1NgHtqDAAsbixWmbVlXVTz+1\nL+V991VdsSL5ctOm2Th5167Jv8AbWrFCda+9LKV+/XXy5SorreLSvLnqK6+4azsWUz3jDNvgTpiQ\netnnnrPX76qr3LWtqvr44/ZJS7cRWrHCNkD77ee+HP/FFxaiLrss/bKXXmqB7rvv3LVdXm57+ocf\nnn4DN3WqreO//uWubVXVY49V3WWX+mpQMrGYjR///vfu277xRtvgrl6dftmbb7YvcrfVs+eft3V1\n8zrOm5c+8MWbOdOWdzuMt8suVgV04+efvW3M99rLhhmjctFFNqToxuWX21i/WyNG2JwlN0aPtrkP\nTjk9HWfOi5v33wnEbrdzq1bZ3/Pf/55+2Z9+sm3Ro4+6azsWs734Pn3S/z1XVloF0ct8o+uvt23o\n3Lnp+3Hoofb+uK36OtVQN2F7xAh7DdP1w/HCCwwVCUNFixb99Xe/O1aPPbb+Z9y4cb++cDU1toEA\nbA/BzZ72hAn2Jd6hQ/ov6Pfes723/v3d7ZX99JPqPvvYxjzdePnq1TaxcZtt3JUzN2600mSzZu6+\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-20, 20, 100)\n", "plt.plot(x, f(x, 5));" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: -0.049029624014074166\n", " nfev: 11\n", " nit: 10\n", " success: True\n", " x: -1.4843871263953001" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# note how additional function arguments are passed in\n", "sol = opt.minimize_scalar(f, args=(5,))\n", "sol" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhUAAAFkCAYAAACXcsmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xl4VOX5PvD7SSAsEUFECdZdUBGXBlSkKopU0Lq2WhUB\ntVa/7lJcq9WftbZSrRW11rrVpSLRamu17gsoLmwFBBdwAzdWWRIgJCHJPL8/njlmGGY5a2Yyc3+u\ni2vIzJk378nMnLnP877nHFFVEBEREQVVkusOEBERUWFgqCAiIqJQMFQQERFRKBgqiIiIKBQMFURE\nRBQKhgoiIiIKBUMFERERhYKhgoiIiELBUEFEREShYKggIiKiUEQeKkTkIhFZJCJ1IjJNRA7IsOxP\nReRVEVkhIjUi8p6IDIu6j0RERBRcpKFCRE4F8GcANwCoBDAXwCsi0iPNUwYDeBXA0QD6A5gM4L8i\nsl+U/SQiIqLgJMoLionINADTVXVM/GcB8A2Au1T1VpdtfAjgCVX9fWQdJSIiosAiq1SISHsAAwC8\n4dynlmBeBzDIZRsCoAuA1VH0kYiIiMLTLsK2ewAoBbA86f7lAPZw2caVAMoB/DPdAiKyNYDhAL4E\nUO+5l0RERMWrI4CdAbyiqquCNhZlqAhERE4HcD2A41V1ZYZFhwN4vHV6RUREVJBGApgYtJEoQ8VK\nAM0Aeibd3xPAskxPFJHTANwP4GRVnZzl93wJABMmTEDfvn399bSNGDt2LMaPH5/rbrSKYlnXvF/P\n+fOBUaOACROAAJ+vfF3P2lpg8GBg6FDgVlezvDLL1/UMG9ezcMyfPx+jRo0C4t+lQUUWKlS1UURm\nARgK4Dng+zkSQwHcle55IjICwIMATlXVl138qnoA6Nu3L/r37x+43/msa9euBb+OjmJZ1zaznn37\nAgH6ma/r+emndjtrFrDvvkC7gFvEfF3PsHE9C1Io0weiPk/F7QDOFZEzRGRPAPcC6AzgEQAQkXEi\n8qizcHzI41EAlwOYKSI94/+2jLifRFSEli612+pqYObM3PXjueeA9etz9/uJwhJpqFDVfwK4AsDv\nAMwBsC+A4ar6XXyRCgA7JDzlXNjkzr8CWJLw744o+0lExWnJErstLwdeeSU3fVi2DDjhBPvX0JCb\nPhCFJfIzaqrqPaq6s6p2UtVBqvq/hMd+oapHJPw8RFVLU/w7O+p+ElHxWbrUAsXRR+cuVFRX2+2k\nScDIkUBzc276QRQGXvujDRkxYkSuu9BqimVduZ65tXQp0KsXMHw4MGMGsGZNsPb8rOe6dXb7u98B\n//kPcOGFQITnJAxFvr6eYSuW9QwTQ0UbUkxv8GJZV65nbi1ZAmy3nYWKWAx4443sz8nEz3quXWu3\nI0cCDz4I3H8/cN11wfoRtXx9PcNWLOsZJoYKIipaTqVihx3sAJdcDIE4lYottwTOOgu47Tbg5puB\nOziTjNoghgoiKlpOqACAYcMsVLT20INTqejSxW4vvxy4+GLgqquAxsbW7QtRUAwVRFS0nOEPwIZA\nvvkGWLCgdfuwbh1QVgZ06NBy31FHWaD47rv0zyPKRwwVRFSUamutSuBUKg47zL7YX321dfuxdm1L\nlcJRUWG3yzKee5go/zBUEFFRck585YSKzp2BQw9t/XkV69bZfIpEPeMXN1iefDlGojzHUEFERckJ\nFc7wB2BDIG++CdS34vWOU1Uqtt3WbhkqqK1hqCCiopRcqQBssmZdHfDOO63Xj1SVirIyoHt3Dn9Q\n28NQQURFackSoFMnoGvXlvv22cdCRmsOgaSqVAA2BMJKBbU1DBVEVJScw0lFWu4TaTm0tLWkqlQA\nNlmTlQpqaxgqiKgoJZ6jItGwYcAHHwArV7ZOP1ipoELCUEFERSnxHBWJdtzRblsrVKSrVDBUUFvE\nUEFERSldpaK83G5ra1unH+kqFRz+oLaIoYKIilK+hIpMlYrVq3mqbmpbGCqIqOjU1dllzlMNf7Rm\nqIjFLFSkm1MBACtWRN8PorAwVBBR0XGGFXJdqXB+R7qjPwAOgVDbwlBBREUn1YmvHK0ZKpKvUJqI\np+qmtoihgoiKzpIldptq+KN9e/vXGqFi3Tq7TVWpcE7VzUoFtSUMFURUdJYutSuSbrVV6sfLy3Nf\nqWjfHth6a1YqqG1hqCCiorN0qc1ZSDybZqLWChWZKhUAz1VBbQ9DBREVnXQnvnLkQ6UCsFDB4Q9q\nSxgqiKjopDtHhaO1KxXpQkVFBSsV1LYwVBBRXnv/feD66wHV8NrMl1Cxdq1d5rxDh9SPc/iD2hqG\nCiLKa3//O/D73wNPPx1em/ky/JHubJoOnqqb2hqGCiLKa1On2u0VV9iZMIPauBFYtSp/KhXphj4A\nq1SsWWN9DiLMKg9RJgwVRJS3NmwA5s4Fxo61IYs//zl4m86ef1uoVIRxqu4bb7TgMmgQcP75wL33\nAtOmAc3N/tskSoehgojy1uzZQFMTcMYZwJgxwLhxwLffBmvTOfFVW6hUhHGq7rfeAnbdFejdG3j3\nXeCSSyxghBHQiJIxVBBR3po2DejcGdh7b+C664AttgB+/etgbWY6Rbcj3yoVQSZrLlgAnHgi8Nhj\nwAcfAOvXA4MHtwwrEYWJoYKI8ta0acABBwDt2gFduwI33ww8/jjw3nv+21y6tOVslenkS6Vim23s\n1m+loqbG1nfPPVvu69ABGDgQmDPHX5tEmTBUEFHemjYNOOiglp/POgvo39+GQmIxf20uWWLDCiUZ\ntn75Uqlo3x7o0cN/peKTT+w2MVQA9jf86iubsEoUJoYKIgps8mRg8eJw2/z2W2szMVSUlgJ33gn8\n739Wzvcj2zkqgPypVADBzlWxYIHd7r77pvdXVtotqxUUNoYKIgpk1SrgyCNt8t9nn4XX7rRpdjtw\n4Kb3H3IIMGQI8K9/+Wt36dLMR34AFio2brRJolHKVqkAgp2qe8ECYIcdbC5Koj597L4wQsWiRXaU\nDhHAUEFEAT37rA1FdOoEHHoo8OGH4bQ7bRqw006pqwp77w18/rm/dpcscVepAKKvVripVAQ5VfeC\nBZsPfQA29LPffnZ0TRBffAHsthvQrZu99tdfD7z+OkNGMWOoIKJAnn7ajiZ45x37Ajz8cGDWrODt\nJs+nSNSnj32h+TnXgtvhDyDaUBGL2ZEYbioVYYcKwOZVBA0Vr75qQ1K33mr9vPdeq1rtsw/Q2Bis\nbWqbGCqIisDixcBf/2pfYmFas8b2TE8+2Y5UmDzZzodwxBF2TgS/Nm60YJIuVPTubct4PWdFY6Od\nSMrN8AcQbahwXgs3cyr8DH80Nlo1J1Oo+Oyzloua+fH66zY89atfWbhcvhx44QVg4cJgr7+jsTGc\ns6hS62GoICoC114LXHyx7eH//e/hnU3xv/+1Df/PfmY/b7UV8NprwA9/CAwf7n8uwLx5QH195koF\n4H0IxNnjz4dKhXPZ82yViooKoLoaaGjw1v6iRfbapAsVlZV2+u65c72162huthD54x+33FdSAhx1\nlAWhF1/0126ic8+199SxxwIPPQSsXBm8TYoWQwVRnliyxM4rELbly4EnnrBTXQ8ZApxzju2lvvZa\n8Lafego4+OBN9/y7dLH7a2uBSZP8tTttml290zlKIdlOO1nZ3evEUDcnvgJaJ1Rku+y5w++pup0j\nP9KFir32sr+x3yGQ99+3StXQoZveX1IC/OQnVrEIorra3rfDh1sAO+cc+1sMGQLMnx+sbcAC1Ztv\n2jpQeBgqiPLAqlVAv342hPCTnwAPPBDseg+J7r/fvoCvuw6YONG+sLt0AYYNs4l1ftXU2Jj6ySdv\n/ti229qX2ZQp/tqeNs0CRbpLgrdvD+yyi/dKhXOK7nwY/vBSqQC8V30WLLDXOV2Aat/e5j74PQLk\njTfsbKfJR+cA9h7++GPgyy/9tQ0ATz5pR9/ce6+9j5Yutf8vXBjsfet4/nkLKL16AaecYiEozKN9\n6upaXuNiwlBB5NK8ecDIkbZBmzjR9vDC+tK55RYrVY8bZxuj88+3jd2RRwbbk9q4Efjb34DRo4Hu\n3e2+gQOBt98GLroIuOce/xPqnn/e2j/ppNSPDx7sP1RMnWqHqGbSu7f3ULF0qQUs50yV6eRjpcLr\nZE1nkqZI+mWCTNZ8/XV7jcvKNn/syCPtLKhBqhWPPGJDKU4o6tnThkMuvxx47rlgoVvVLrQ2aBDw\nhz/Y3+rYY4Httwf++Ef/7TpiMauw9OxpJ2ybPj3cK8Wq2mc4H4+yYaiggvLQQzZp7De/sVM633kn\n8M9/Bt8DaWqyjcNrr9mchJEjgQED7Fj/iy4K1vbixcBf/gJcdpltMCdPtr3S++6zIyr+9jf/bf/r\nX/ZFeumlm94vYuXk1avty8GPp5+2OQ877JD68cGDrUz93Xfe2l2xwvZG082ncPTp42/4I9vZNIH8\nqlRss429Xn4qFemGPhz9+1tFob7eW9sNDfbeTJxPkahrVzvE1G+omD/fqlVnnbX5YyNH2t/D78nP\nAOCll2wi8E032Wdu7lwLV8ccA1xzDTBjhv+2AdtGvP22haA337T38oABVoEMehl7ALjtNvt87bCD\nzZcK+8RzgahqpP8AXARgEYA6ANMAHJBl+cMBzAJQD+BTAGdmWb4/AJ01a5bmu4aGaNpdsUL1zTdV\nFy4Mp726OtUPPlB98UXV++9Xvf561csuU126NHjb06erHnGEamWlap8+qtttp7rllqqnnKLa1BSs\n7WeeUQVUe/dW3Wkn1R49VDt3tvtuvjlY23fcoSqiOmOG/Vxdbevy619b+9On+2/7/PNVu3e3NpOd\nc45qr17+3zsHHaQ6dGjqx2Ix1d13Vz3zzAwNzJplK5j0+Vq7VrVDB9Xbbkv/1K++sqf++9/e+vzc\nc/a8L7/MvNydd1ofmpvdt33OOar77599uVhMtaRE9d573bft1SOP2Hq6eW232Ub1979333YsprrV\nVqp/+EPm5aZNsz7MnOm+bVXVyZPteXPmpF/mtttUO3ZUra311raq6tVXW//r61M/fuqpqn372np6\nFYupHnig6sEHb/78pibVPfZQPf547+06li1T7dZN9ayzWtp84QXVY4+1bcivfuW/bVXVt95SLS1V\nveACa6tLF9V27VRHjMj8eqQza9YsBaAA+msY3/lhNJK2ceDUeDg4A8CeAO4DsBpAjzTL7wxgPYBb\nAewRDySNAI7M8DsChYraWtU33lC94QbVIUNUTz7Z3hRB1dbaB+/WW63NnXayjdRvfuNtI5jKN9+o\nXnyx6uDB9sVpxTDV8nILF0F8+63qzju3tCliX/xdu6r+8IeqNTX+216yRLWiQnXvve0DccUV9nf/\nzW/s99xwQ7C2t95a9YQTNt9QXH21almZ6scf+2v7229Vt9hC9aKLNn+sqUm1Xz/Vww7zt4H7/HPb\nINx6a+rHP/zQXofHHvPe9vTp9txnn02/zPXX22ubbuOdLlQ88YTdvWhR5j7stJPq2LFeeq167bX2\nPsn293zhBevDV1+5b/uoo+w94kaXLqp//rP7tr266y4LRW7svbfqJZe4b3v5cvvb/OtfmZfbsMG+\noO67z33bqvaZ7dEj87Zs/nzrw/PPe2u7qcm2Oak+b47XXrO233vPW9uqqi+/bM995ZXUjz/6qD3+\n/vve21ZVHTnStkXffbf5Y+PG2efd77Zo6VL7bBx2mGpjo91XU2M7Pbvuqtqpk+qnn3prs62FimkA\n7kz4WQB8C+CqNMvfAmBe0n1VAF7M8Dt8hYrp01UPOUS1fXv7K3Tvbhubnj3tRZs0yVNzm1iwQHWH\nHVq+6AcPti/Qq66yL8+f/9w+zH4sXmx74ttsY3v3N96o+tRTqnPnqh55pL2pXnvNX9s1Nar77qu6\n/fYWiL76SnXjRnts3jyrKPz4x/72mhsaVH/0I9tYpKp4/O539rd56SXvbTc3qw4fbq9bqg/yhg22\nRz5okL9qyMknW9upKgmqttH0s/FUVT39dPubZHo/DBum2r+/99AyapTqLrtkXmcntKQNHmlCxckn\nu9vjHzVKdcAA931WtUrWiSdmX+7TT61rb7zhvu3dd3cfcioq7H0ZlT/8wb6Y3Rg61LYbbr31lv1t\n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\n8f8B+ylXJVwTtDoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, f(x, 5))\n", "plt.axvline(sol.x, c='red')\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### We can try multiple random starts to find the global minimum" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": true }, "outputs": [], "source": [ "lower = np.random.uniform(-20, 20, 100)\n", "upper = lower + 1\n", "sols = [opt.minimize_scalar(f, args=(5,), bracket=(l, u)) for (l, u) in zip(lower, upper)]" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": true }, "outputs": [], "source": [ "idx = np.argmin([sol.fun for sol in sols])\n", "sol = sols[idx]" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nr3ff9tlnq+67b+rlIhHVggLVBx5w37bOnGkdd7ktevxxW9zNa9uli+rf/ua+K5GI6tZbq958c/Ll\npk61PsyY4b5tVdVJk+x5s2cnXuaOO1Rbt1atrPTWtqrqVVdZ/6ur4z9+8smqvXrZenoViajut5/q\nAQds+fy6OtXddlM99ljv7TqWLVPt2FH1jDMa2nztNdWjj7ZtyJ/+5L9tVdUPPlAtLFQ9/3xrq317\n1RYtVIcNS/56JDJz5kwFoAD6aBjf+WE0krBx4ORoODgNwO4AHgSwGkDnBMvvCGADgNsB7BYNJLUA\nDkvyOwKFispK1ffeU73uOtVBg1RPPNHeFEFVVtoH7/bbrc3u3W0j9de/etsIxvPjj6oXXaQ6cKB9\ncVoxTLW42MJFED/9pLrjjg1titgXf4cOqr/+tWpFhf+2lyxRLSlR3XNP+0Bcfrn93f/6V/s9110X\nrO1ttlE97rgtNxRXXaVaVKT6xRf+2v7pJ9V27VQvvHDLx+rqVHv3Vj34YH8buG++sQ3C7bfHf3ze\nPHsdnnzSe9vTptlzX3458TLXXmuvbaKNdyJPP21tL1qUfLnu3VVHj/bW9tVX2/sk1d/ztdesD99/\n777tww+394gb7dur/uMf7tv2GiruvttCkRt77ql68cXuu7J8uXXl+eeTL7dxo31BPfig+7ZV7TPb\nuXPybdn8+daHV1/11nZdnW1z4n3eHO+8Y21/8om3tlVV33zTnvvWW/Eff+IJe/zTT723rao6fLht\ni37+ecvHxoyxz7vfbdHSpfbZOPhg1dpau6+iwnZ6dt5ZtU0b1a++8tZmcwsVUwGMi/m/APgJwJUJ\nlr8NwNxG95UDeD3J7/AVKqZNUz3wQNWWLe2v0KmTbWy6dbMXbeJET81tZsEC1e23b/iiHzjQvkCv\nvNK+PP/wB/sw+7F4se2Jd+lie/c33KD67LOqc+aoHnaYvaneecdf2xUVqnvvrbrddhaIvv9eddMm\ne2zuXKso/Pa3/vaaa2pUf/Mb21jEq3jceKP9bd54w3vb9fWqQ4fa6xbvg7xxo+2RDxjgrxpy4onW\ndrxKgqptNP1sPFVVTz3V/ibJ3g9Dhqj26eM9tIwYobrTTsnX2QktyYJHPCee6G6Pf8QI1b59vbV9\n6KGqxx+fermvvrK+v/ee+7Z33dV9yCkpsfelax5Dxc032xezG4MH23bDrQ8+sK58/nnqZXv3tmqZ\n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\nFLhA2/Y1duEAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, f(x, 5))\n", "plt.axvline(sol.x, c='red');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Using a stochastic algorithm\n", "\n", "See documentation for the [`basinhopping`](http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.basinhopping.html) algorithm, which also works with multivariate scalar optimization. Note that this is heuristic and not guaranteed to find a global minimum." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: -1.0\n", " lowest_optimization_result: fun: -1.0\n", " hess_inv: array([[ 0.304]])\n", " jac: array([ 0.])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 15\n", " nit: 3\n", " njev: 5\n", " status: 0\n", " success: True\n", " x: array([ 5.])\n", " message: ['requested number of basinhopping iterations completed successfully']\n", " minimization_failures: 0\n", " nfev: 1848\n", " nit: 100\n", " njev: 616\n", " x: array([ 5.])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.optimize import basinhopping\n", "\n", "x0 = 0\n", "sol = basinhopping(f, x0, stepsize=1, minimizer_kwargs={'args': (5,)})\n", "sol" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nr3ff9tlnq+67b+rlIhHVggLVBx5w37bOnGkdd7ktevxxW9zNa9uli+rf/ua+K5GI6tZbq958c/Ll\npk61PsyY4b5tVdVJk+x5s2cnXuaOO1Rbt1atrPTWtqrqVVdZ/6ur4z9+8smqvXrZenoViajut5/q\nAQds+fy6OtXddlM99ljv7TqWLVPt2FH1jDMa2nztNdWjj7ZtyJ/+5L9tVdUPPlAtLFQ9/3xrq317\n1RYtVIcNS/56JDJz5kwFoAD6aBjf+WE0krBx4ORoODgNwO4AHgSwGkDnBMvvCGADgNsB7BYNJLUA\nDkvyOwKFispK1ffeU73uOtVBg1RPPNHeFEFVVtoH7/bbrc3u3W0j9de/etsIxvPjj6oXXaQ6cKB9\ncVoxTLW42MJFED/9pLrjjg1titgXf4cOqr/+tWpFhf+2lyxRLSlR3XNP+0Bcfrn93f/6V/s9110X\nrO1ttlE97rgtNxRXXaVaVKT6xRf+2v7pJ9V27VQvvHDLx+rqVHv3Vj34YH8buG++sQ3C7bfHf3ze\nPHsdnnzSe9vTptlzX3458TLXXmuvbaKNdyJPP21tL1qUfLnu3VVHj/bW9tVX2/sk1d/ztdesD99/\n777tww+394gb7dur/uMf7tv2GiruvttCkRt77ql68cXuu7J8uXXl+eeTL7dxo31BPfig+7ZV7TPb\nuXPybdn8+daHV1/11nZdnW1z4n3eHO+8Y21/8om3tlVV33zTnvvWW/Eff+IJe/zTT723rao6fLht\ni37+ecvHxoyxz7vfbdHSpfbZOPhg1dpau6+iwnZ6dt5ZtU0b1a++8tZmcwsVUwGMi/m/APgJwJUJ\nlr8NwNxG95UDeD3J7/AVKqZNUz3wQNWWLe2v0KmTbWy6dbMXbeJET81tZsEC1e23b/iiHzjQvkCv\nvNK+PP/wB/sw+7F4se2Jd+lie/c33KD67LOqc+aoHnaYvaneecdf2xUVqnvvrbrddhaIvv9eddMm\ne2zuXKso/Pa3/vaaa2pUf/Mb21jEq3jceKP9bd54w3vb9fWqQ4fa6xbvg7xxo+2RDxjgrxpy4onW\ndrxKgqptNP1sPFVVTz3V/ibJ3g9Dhqj26eM9tIwYobrTTsnX2QktyYJHPCee6G6Pf8QI1b59vbV9\n6KGqxx+fermvvrK+v/ee+7Z33dV9yCkpsfelax5Dxc032xezG4MH23bDrQ8+sK58/nnqZXv3tmqZ\n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\nFLhA2/Y1duEAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, f(x, 5))\n", "plt.axvline(sol.x, c='red');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Constrained optimization with `scipy.optimize`\n", "\n", "Many real-world optimization problems have constraints - for example, a set of parameters may have to sum to 1.0 (equality constraint), or some parameters may have to be non-negative (inequality constraint). Sometimes, the constraints can be incorporated into the function to be minimized, for example, the non-negativity constraint $p \\gt 0$ can be removed by substituting $p = e^q$ and optimizing for $q$. Using such workarounds, it may be possible to convert a constrained optimization problem into an unconstrained one, and use the methods discussed above to solve the problem.\n", "\n", "Alternatively, we can use optimization methods that allow the specification of constraints directly in the problem statement as shown in this section. Internally, constraint violation penalties, barriers and Lagrange multipliers are some of the methods used used to handle these constraints. We use the example provided in the Scipy [tutorial](http://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html) to illustrate how to set constraints.\n", "\n", "We will optimize:\n", "\n", "$$\n", "f(x) = -(2xy + 2x - x^2 -2y^2)\n", "$$\n", "subject to the constraint\n", "$$\n", "x^3 - y = 0 \\\\\n", "y - (x-1)^4 - 2 \\ge 0\n", "$$\n", "and the bounds\n", "$$\n", "0.5 \\le x \\le 1.5 \\\\\n", "1.5 \\le y \\le 2.5\n", "$$" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def f(x):\n", " return -(2*x[0]*x[1] + 2*x[0] - x[0]**2 - 2*x[1]**2)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIsAAAAUBAMAAABPB9NaAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdt3NMolEEJlUImbv\nu6sslhSsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABm0lEQVQ4EaWTMUvDUBSFT9M2MUlLaicHUREH\nFcQiDrplcbZV6qSQUUQwCIKg0IAKLkL+QbII4mJ2BTsUXRQ6CS62g3+gitRaUEOeQnvfoyBmar9z\n+/Xc11dkZ/HfR5+xsALsFg4502nxkWPK0YBJoVZcc5GMNPPY9kmsOfACwhB3lUnKzqC2mUYvI5kj\ncawFY4QwXAHLlA27eGGadB1qk8TyDUpUjSfAs8ngpqW8Mo1Rh9wiafiWX+oT2HK5wd+lSg7kBpdi\njiLlPdRkKEXcYW0u8ki80TSx5FCkhUOLeUoXxtFDA6ya5BNiDZIVpinlhUulbolGCdsIlsKdHd0b\nw4FKj1jzkaYM4dl49IjPgZobaaQqdPqDG02k26QNpoBrm8AvG7Ug0sTK6MuRNFWF9EEYBoEDyu6B\naZ/9GSawb4aXqPPRA3gZwiC5SoXeykuoDXbE2Ol/Dp3dddePHzimFIZMSN37y8cn1o8mqiH7nW3Y\naxHDBj/Hloq4zqcQMQT8YIdmj08hYkpvjSAVfbGwYdgmOyao8TcUG7W+Ae8eaSUTGCpcAAAAAElF\nTkSuQmCC\n", "text/latex": [ "$$\\left [ 0, \\quad 3, \\quad 0, \\quad 3\\right ]$$" ], "text/plain": [ "[0, 3, 0, 3]" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nURRFydD/AeFKlQMW2hTzAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 3, 100)\n", "y = np.linspace(0, 3, 100)\n", "X, Y = np.meshgrid(x, y)\n", "Z = f(np.vstack([X.ravel(), Y.ravel()])).reshape((100,100))\n", "plt.contour(X, Y, Z, np.arange(-1.99,10, 1), cmap='jet');\n", "plt.plot(x, x**3, 'k:', linewidth=1)\n", "plt.plot(x, (x-1)**4+2, 'k:', linewidth=1)\n", "plt.fill([0.5,0.5,1.5,1.5], [2.5,1.5,1.5,2.5], alpha=0.3)\n", "plt.axis([0,3,0,3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To set constraints, we pass in a dictionary with keys `type`, `fun` and `jac`. Note that the inequality constraint assumes a $C_j x \\ge 0$ form. As usual, the `jac` is optional and will be numerically estimated if not provided." ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": true }, "outputs": [], "source": [ "cons = ({'type': 'eq',\n", " 'fun' : lambda x: np.array([x[0]**3 - x[1]]),\n", " 'jac' : lambda x: np.array([3.0*(x[0]**2.0), -1.0])},\n", " {'type': 'ineq',\n", " 'fun' : lambda x: np.array([x[1] - (x[0]-1)**4 - 2])})\n", "\n", "bnds = ((0.5, 1.5), (1.5, 2.5))" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x0 = [0, 2.5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unconstrained optimization" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: -1.9999999999996365\n", " hess_inv: array([[ 0.998, 0.501],\n", " [ 0.501, 0.499]])\n", " jac: array([ 0., -0.])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 24\n", " nit: 5\n", " njev: 6\n", " status: 0\n", " success: True\n", " x: array([ 2., 1.])" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ux = opt.minimize(f, x0, constraints=None)\n", "ux" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Constrained optimization" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: 2.0499154720910759\n", " jac: array([-3.487, 5.497, 0. ])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 21\n", " nit: 5\n", " njev: 5\n", " status: 0\n", " success: True\n", " x: array([ 1.261, 2.005])" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cx = opt.minimize(f, x0, bounds=bnds, constraints=cons)\n", "cx" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nC4qiKIqiZOj/e8N5oh+feuoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 3, 100)\n", "y = np.linspace(0, 3, 100)\n", "X, Y = np.meshgrid(x, y)\n", "Z = f(np.vstack([X.ravel(), Y.ravel()])).reshape((100,100))\n", "plt.contour(X, Y, Z, np.arange(-1.99,10, 1), cmap='jet');\n", "plt.plot(x, x**3, 'k:', linewidth=1)\n", "plt.plot(x, (x-1)**4+2, 'k:', linewidth=1)\n", "plt.text(ux['x'][0], ux['x'][1], 'x', va='center', ha='center', size=20, color='blue')\n", "plt.text(cx['x'][0], cx['x'][1], 'x', va='center', ha='center', size=20, color='red')\n", "plt.fill([0.5,0.5,1.5,1.5], [2.5,1.5,1.5,2.5], alpha=0.3)\n", "plt.axis([0,3,0,3]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Some applications of optimization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding paraemeters for ODE models\n", "\n", "This is a specialized application of `curve_fit`, in which the curve to be fitted is defined implicitly by an ordinary differential equation \n", "$$\n", "\\frac{dx}{dt} = -kx\n", "$$\n", "and we want to use observed data to estimate the parameters $k$ and the initial value $x_0$. Of course this can be explicitly solved but the same approach can be used to find multiple parameters for $n$-dimensional systems of ODEs.\n", "\n", "[A more elaborate example for fitting a system of ODEs to model the zombie apocalypse](http://adventuresinpython.blogspot.com/2012/08/fitting-differential-equation-system-to.html)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from scipy.integrate import odeint\n", "\n", "def f(x, t, k):\n", " \"\"\"Simple exponential decay.\"\"\"\n", " return -k*x\n", "\n", "def x(t, k, x0):\n", " \"\"\"\n", " Solution to the ODE x'(t) = f(t,x,k) with initial condition x(0) = x0\n", " \"\"\"\n", " x = odeint(f, x0, t, args=(k,))\n", " return x.ravel()" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "k = 0.313527\n", "x0 = 9.97788\n" ] } ], "source": [ "# True parameter values\n", "x0_ = 10\n", "k_ = 0.1*np.pi\n", "\n", "# Some random data genererated from closed form solution plus Gaussian noise\n", "ts = np.sort(np.random.uniform(0, 10, 200))\n", "xs = x0_*np.exp(-k_*ts) + np.random.normal(0,0.1,200)\n", "\n", "popt, cov = curve_fit(x, ts, xs)\n", "k_opt, x0_opt = popt\n", "\n", "print(\"k = %g\" % k_opt)\n", "print(\"x0 = %g\" % x0_opt)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "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\niIgIAP8PywkyeAyxKNIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "t = np.linspace(0, 10, 100)\n", "plt.plot(ts, xs, 'r.', t, x(t, k_opt, x0_opt), '-');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Another example of fitting a system of ODEs using the `lmfit` package\n", "\n", "You may have to install the [`lmfit`](http://cars9.uchicago.edu/software/python/lmfit/index.html) package using `pip` and restart your kernel. The `lmfit` algorithm is another wrapper around `scipy.optimize.leastsq` but allows for richer model specification and more diagnostics." ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied (use --upgrade to upgrade): lmfit in /opt/conda/lib/python3.5/site-packages\n", "Requirement already satisfied (use --upgrade to upgrade): scipy in /opt/conda/lib/python3.5/site-packages (from lmfit)\n", "Requirement already satisfied (use --upgrade to upgrade): numpy in /opt/conda/lib/python3.5/site-packages (from lmfit)\n", "\u001b[33mYou are using pip version 8.1.2, however version 9.0.1 is available.\n", "You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n" ] } ], "source": [ "! pip install lmfit" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from lmfit import minimize, Parameters, Parameter, report_fit\n", "import warnings" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/conda/lib/python3.5/site-packages/ipykernel/__main__.py:4: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[[Fit Statistics]]\n", " # function evals = 147\n", " # data points = 200\n", " # variables = 6\n", " chi-square = 212.716\n", " reduced chi-square = 1.096\n", " Akaike info crit = 24.328\n", " Bayesian info crit = 44.118\n", "[[Variables]]\n", " x0: 1.02060369 +/- 0.181678 (17.80%) (init= 0)\n", " y0: 1.07048852 +/- 0.110177 (10.29%) (init= 1.997345)\n", " a: 3.54326836 +/- 0.454087 (12.82%) (init= 2)\n", " b: 1.21275230 +/- 0.148458 (12.24%) (init= 2)\n", " c: 0.84528522 +/- 0.079480 (9.40%) (init= 2)\n", " d: 0.85717177 +/- 0.085645 (9.99%) (init= 2)\n", "[[Correlations]] (unreported correlations are < 0.100)\n", " C(a, b) = 0.960 \n", " C(a, d) = -0.956 \n", " C(b, d) = -0.878 \n", " C(x0, b) = -0.759 \n", " C(x0, a) = -0.745 \n", " C(y0, c) = -0.717 \n", " C(y0, d) = -0.682 \n", " C(c, d) = 0.667 \n", " C(x0, d) = 0.578 \n", " C(a, c) = -0.532 \n", " C(y0, a) = 0.475 \n", " C(b, c) = -0.434 \n", " C(y0, b) = 0.271 \n" ] }, { "data": { "image/png": "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\n3AEGSZP5qbUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def f(xs, t, ps):\n", " \"\"\"Lotka-Volterra predator-prey model.\"\"\"\n", " try:\n", " a = ps['a'].value\n", " b = ps['b'].value\n", " c = ps['c'].value\n", " d = ps['d'].value\n", " except:\n", " a, b, c, d = ps\n", " \n", " x, y = xs\n", " return [a*x - b*x*y, c*x*y - d*y]\n", "\n", "def g(t, x0, ps):\n", " \"\"\"\n", " Solution to the ODE x'(t) = f(t,x,k) with initial condition x(0) = x0\n", " \"\"\"\n", " x = odeint(f, x0, t, args=(ps,))\n", " return x\n", "\n", "def residual(ps, ts, data):\n", " x0 = ps['x0'].value, ps['y0'].value\n", " model = g(ts, x0, ps)\n", " return (model - data).ravel()\n", "\n", "t = np.linspace(0, 10, 100)\n", "x0 = np.array([1,1])\n", "\n", "a, b, c, d = 3,1,1,1\n", "true_params = np.array((a, b, c, d))\n", "\n", "np.random.seed(123)\n", "data = g(t, x0, true_params)\n", "data += np.random.normal(size=data.shape)\n", "\n", "# set parameters incluing bounds\n", "params = Parameters()\n", "params.add('x0', value= float(data[0, 0]), min=0, max=10) \n", "params.add('y0', value=float(data[0, 1]), min=0, max=10) \n", "params.add('a', value=2.0, min=0, max=10)\n", "params.add('b', value=2.0, min=0, max=10)\n", "params.add('c', value=2.0, min=0, max=10)\n", "params.add('d', value=2.0, min=0, max=10)\n", "\n", "# fit model and find predicted values\n", "result = minimize(residual, params, args=(t, data), method='leastsq')\n", "final = data + result.residual.reshape(data.shape)\n", "\n", "# plot data and fitted curves\n", "plt.plot(t, data, 'o')\n", "plt.plot(t, final, '-', linewidth=2);\n", "\n", "# display fitted statistics\n", "report_fit(result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Optimization of graph node placement\n", "\n", "To show the many different applications of optimization, here is an example using optimization to change the layout of nodes of a graph. We use a physical analogy - nodes are connected by springs, and the springs resist deformation from their natural length $l_{ij}$. Some nodes are pinned to their initial locations while others are free to move. Because the initial configuration of nodes does not have springs at their natural length, there is tension resulting in a high potential energy $U$, given by the physics formula shown below. Optimization finds the configuration of lowest potential energy given that some nodes are fixed (set up as boundary constraints on the positions of the nodes).\n", "\n", "$$\n", "U = \\frac{1}{2}\\sum_{i,j=1}^n ka_{ij}\\left(||p_i - p_j||-l_{ij}\\right)^2\n", "$$\n", "\n", "Note that the ordination algorithm Multi-Dimensional Scaling (MDS) works on a very similar idea - take a high dimensional data set in $\\mathbb{R}^n$, and project down to a lower dimension ($\\mathbb{R}^k$) such that the sum of distances $d_n(x_i, x_j) - d_k(x_i, x_j)$, where $d_n$ and $d_k$ are some measure of distance between two points $x_i$ and $x_j$ in $n$ and $d$ dimension respectively, is minimized. MDS is often used in exploratory analysis of high-dimensional data to get some intuitive understanding of its \"structure\"." ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from scipy.spatial.distance import pdist, squareform" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- P0 is the initial location of nodes\n", "- P is the minimal energy location of nodes given constraints\n", "- A is a connectivity matrix - there is a spring between $i$ and $j$ if $A_{ij} = 1$\n", "- $L_{ij}$ is the resting length of the spring connecting $i$ and $j$\n", "- In addition, there are a number of `fixed` nodes whose positions are pinned." ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "collapsed": true }, "outputs": [], "source": [ "n = 20\n", "k = 1 # spring stiffness\n", "P0 = np.random.uniform(0, 5, (n,2)) \n", "A = np.ones((n, n))\n", "A[np.tril_indices_from(A)] = 0\n", "L = A.copy()" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L.astype('int')" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def energy(P):\n", " P = P.reshape((-1, 2))\n", " D = squareform(pdist(P))\n", " return 0.5*(k * A * (D - L)**2).sum()" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "collapsed": true }, "outputs": [], "source": [ "D0 = squareform(pdist(P0))\n", "E0 = 0.5* k * A * (D0 - L)**2" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0. , 5.039, 0.921, 1.758, 1.99 ],\n", " [ 5.039, 0. , 5.546, 3.414, 4.965],\n", " [ 0.921, 5.546, 0. , 2.133, 2.888],\n", " [ 1.758, 3.414, 2.133, 0. , 2.762],\n", " [ 1.99 , 4.965, 2.888, 2.762, 0. ]])" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D0[:5, :5]" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0. , 8.159, 0.003, 0.288, 0.49 ],\n", " [ 0. , 0. , 10.333, 2.915, 7.862],\n", " [ 0. , 0. , 0. , 0.642, 1.782],\n", " [ 0. , 0. , 0. , 0. , 1.552],\n", " [ 0. , 0. , 0. , 0. , 0. ]])" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E0[:5, :5]" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIAAAAAPBAMAAADe9tr1AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMpndu3bvImbNiRBU\nq0Qb3U6NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACU0lEQVQoFaWTS2gTURSGv6R5TDKJGVy6aS2C\nWLB1URAXhaA7n6FQRUWsUKhSaYML8bGZjSKCWEuFogtLbYsGxEFRUBeZpQiSWhAULAbBhasW0Ta1\nj/HcM0lx713cuXf+//vnzLlcgM1EutpKJZ5NbZedjJQHV0oHZVU64ZA6GWnHbut2sHsmqnVFvQ2g\nEysIgjX7LBeLhk8e8Ui2UHF5VY0OkwiCAinf3k0UvoSKehtAvI+ogDPZXrJ54e29Xz3iq+R2cY9Y\nntSTY3AdHvMWLoeKehvApVHSkHZyw6RXTAWc9tg0SHnYWjK7rJkOQcWbhOehot4GMD5qHN8p54mv\nm6UJkFFxY73mqQFrMO/PH+CReVNx1VsHrKIG5ElIBTWj1wNGyN2ZapeAG92O/VMCCtngpmv0kdBb\nB15gAtIu6QVSv42uAZGHLZTHSPjEvOR68g80j9OxLLUZRb11YFwDysLd5d2/FUw75RWiAyKwLwyw\ntj4YNNtpJ/QqkHE04Li8t3q2rBq9/guJATkHS7vScVUqmC/cwlo07UkMhF4FXqMBnUpmN04hWSS2\nKj9p1fgMT6vSg4ov1TT7qohbvTK9n5tb/IgtXZaRmtGHnEJuhVhNTkEqOAcdnnzg9psFwVxVGt4Q\n6JPGyBesfpqLjYBEnqaljPSglxbYw1HYQT/EiqqodwP4BRkJiN+3x7CXJUIqsFwqBfbz0ueCiW7y\n7TP88LgWKurVSeyTwSeS52Uxsa0KXbBzqMvlW+thOdzWD3I12mY97KlTDpFZc5lUUa9OAv7X+Atp\nl92DgEdc2QAAAABJRU5ErkJggg==\n", "text/latex": [ "$$479.136508399$$" ], "text/plain": [ "479.136508399" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "energy(P0.ravel())" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[1.191249528562059, 1.191249528562059],\n", " [4.0389554314507805, 4.0389554314507805],\n", " [4.474891439430058, 4.474891439430058],\n", " [0.216114460398234, 0.216114460398234],\n", " [1.5097341813135952, 1.5097341813135952],\n", " [4.902910992971438, 4.902910992971438],\n", " [2.6975241127686767, 2.6975241127686767],\n", " [3.1315468085492815, 3.1315468085492815],\n", " [None, None],\n", " [None, None],\n", " [None, None],\n", " [None, None]]" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fix the position of the first few nodes just to show constraints\n", "fixed = 4\n", "bounds = (np.repeat(P0[:fixed,:].ravel(), 2).reshape((-1,2)).tolist() + \n", " [[None, None]] * (2*(n-fixed)))\n", "bounds[:fixed*2+4]" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sol = opt.minimize(energy, P0.ravel(), bounds=bounds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Visualization\n", "\n", "Original placement is BLUE\n", "Optimized arrangement is RED." ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(P0[:, 0], P0[:, 1], s=25)\n", "P = sol.x.reshape((-1,2))\n", "plt.scatter(P[:, 0], P[:, 1], edgecolors='red', facecolors='none', s=30, linewidth=2);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Optimization of standard statistical models\n", "---\n", "\n", "When we solve standard statistical problems, an optimization procedure similar to the ones discussed here is performed. For example, consider multivariate logistic regression - typically, a Newton-like algorithm known as iteratively reweighted least squares (IRLS) is used to find the maximum likelihood estimate for the generalized linear model family. However, using one of the multivariate scalar minimization methods shown above will also work, for example, the BFGS minimization algorithm. \n", "\n", "The take home message is that there is nothing magic going on when Python or R fits a statistical model using a formula - all that is happening is that the objective function is set to be the negative of the log likelihood, and the minimum found using some first or second order optimization algorithm." ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import statsmodels.api as sm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Logistic regression as optimization\n", "\n", "Suppose we have a binary outcome measure $Y \\in {0,1}$ that is conditinal on some input variable (vector) $x \\in (-\\infty, +\\infty)$. Let the conditioanl probability be $p(x) = P(Y=y | X=x)$. Given some data, one simple probability model is $p(x) = \\beta_0 + x\\cdot\\beta$ - i.e. linear regression. This doesn't really work for the obvious reason that $p(x)$ must be between 0 and 1 as $x$ ranges across the real line. One simple way to fix this is to use the transformation $g(x) = \\frac{p(x)}{1 - p(x)} = \\beta_0 + x.\\beta$. Solving for $p$, we get\n", "$$\n", "p(x) = \\frac{1}{1 + e^{-(\\beta_0 + x\\cdot\\beta)}}\n", "$$\n", "As you all know very well, this is logistic regression.\n", "\n", "Suppose we have $n$ data points $(x_i, y_i)$ where $x_i$ is a vector of features and $y_i$ is an observed class (0 or 1). For each event, we either have \"success\" ($y = 1$) or \"failure\" ($Y = 0$), so the likelihood looks like the product of Bernoulli random variables. According to the logistic model, the probability of success is $p(x_i)$ if $y_i = 1$ and $1-p(x_i)$ if $y_i = 0$. So the likelihood is\n", "$$\n", "L(\\beta_0, \\beta) = \\prod_{i=1}^n p(x_i)^y(1-p(x_i))^{1-y}\n", "$$\n", "and the log-likelihood is \n", "\\begin{align}\n", "l(\\beta_0, \\beta) &= \\sum_{i=1}^{n} y_i \\log{p(x_i)} + (1-y_i)\\log{1-p(x_i)} \\\\\n", "&= \\sum_{i=1}^{n} \\log{1-p(x_i)} + \\sum_{i=1}^{n} y_i \\log{\\frac{p(x_i)}{1-p(x_i)}} \\\\\n", "&= \\sum_{i=1}^{n} -\\log 1 + e^{\\beta_0 + x_i\\cdot\\beta} + \\sum_{i=1}^{n} y_i(\\beta_0 + x_i\\cdot\\beta)\n", "\\end{align}\n", "\n", "Using the standard 'trick', if we augment the matrix $X$ with a column of 1s, we can write $\\beta_0 + x_i\\cdot\\beta$ as just $X\\beta$." ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
admitgregparank
003803.613
116603.673
218004.001
316403.194
405202.934
\n", "
" ], "text/plain": [ " admit gre gpa rank\n", "0 0 380 3.61 3\n", "1 1 660 3.67 3\n", "2 1 800 4.00 1\n", "3 1 640 3.19 4\n", "4 0 520 2.93 4" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_ = pd.read_csv(\"http://www.ats.ucla.edu/stat/data/binary.csv\")\n", "df_.head()" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
admitdummygregpa
0013803.61
1116603.67
2118004.00
3116403.19
4015202.93
\n", "
" ], "text/plain": [ " admit dummy gre gpa\n", "0 0 1 380 3.61\n", "1 1 1 660 3.67\n", "2 1 1 800 4.00\n", "3 1 1 640 3.19\n", "4 0 1 520 2.93" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We will ignore the rank categorical value\n", "\n", "cols_to_keep = ['admit', 'gre', 'gpa']\n", "df = df_[cols_to_keep]\n", "df.insert(1, 'dummy', 1)\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solving as a GLM with IRLS\n", "\n", "This is very similar to what you would do in R, only using Python's `statsmodels` package. The GLM solver uses a special variant of Newton's method known as iteratively reweighted least squares (IRLS), which will be further desribed in the lecture on multivarite and constrained optimizaiton." ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Generalized Linear Model Regression Results
Dep. Variable: admit No. Observations: 400
Model: GLM Df Residuals: 397
Model Family: Binomial Df Model: 2
Link Function: logit Scale: 1.0
Method: IRLS Log-Likelihood: -240.17
Date: Thu, 09 Mar 2017 Deviance: 480.34
Time: 20:12:11 Pearson chi2: 398.
No. Iterations: 6
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [95.0% Conf. Int.]
Intercept -4.9494 1.075 -4.604 0.000 -7.057 -2.842
gre 0.0027 0.001 2.544 0.011 0.001 0.005
gpa 0.7547 0.320 2.361 0.018 0.128 1.381
" ], "text/plain": [ "\n", "\"\"\"\n", " Generalized Linear Model Regression Results \n", "==============================================================================\n", "Dep. Variable: admit No. Observations: 400\n", "Model: GLM Df Residuals: 397\n", "Model Family: Binomial Df Model: 2\n", "Link Function: logit Scale: 1.0\n", "Method: IRLS Log-Likelihood: -240.17\n", "Date: Thu, 09 Mar 2017 Deviance: 480.34\n", "Time: 20:12:11 Pearson chi2: 398.\n", "No. Iterations: 6 \n", "==============================================================================\n", " coef std err z P>|z| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "Intercept -4.9494 1.075 -4.604 0.000 -7.057 -2.842\n", "gre 0.0027 0.001 2.544 0.011 0.001 0.005\n", "gpa 0.7547 0.320 2.361 0.018 0.128 1.381\n", "==============================================================================\n", "\"\"\"" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = sm.GLM.from_formula('admit ~ gre + gpa', \n", " data=df, family=sm.families.Binomial())\n", "fit = model.fit()\n", "fit.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Or use R" ] }, { "cell_type": "code", "execution_count": 117, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%load_ext rpy2.ipython" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "Call:\n", "glm(formula = admit ~ gre + gpa, family = \"binomial\", data = df)\n", "\n", "Deviance Residuals: \n", " Min 1Q Median 3Q Max \n", "-1.2730 -0.8988 -0.7206 1.3013 2.0620 \n", "\n", "Coefficients:\n", " Estimate Std. Error z value Pr(>|z|) \n", "(Intercept) -4.949378 1.075093 -4.604 4.15e-06 ***\n", "gre 0.002691 0.001057 2.544 0.0109 * \n", "gpa 0.754687 0.319586 2.361 0.0182 * \n", "---\n", "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", "\n", "(Dispersion parameter for binomial family taken to be 1)\n", "\n", " Null deviance: 499.98 on 399 degrees of freedom\n", "Residual deviance: 480.34 on 397 degrees of freedom\n", "AIC: 486.34\n", "\n", "Number of Fisher Scoring iterations: 4\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%R -i df\n", "m <- glm(admit ~ gre + gpa, data=df, family=\"binomial\")\n", "summary(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Home-brew logistic regression using a generic minimization function\n", "\n", "This is to show that there is no magic going on - you can write the function to minimize directly from the log-likelihood equation and run a minimizer. It will be more accurate if you also provide the derivative (+/- the Hessian for second order methods), but using just the function and numerical approximations to the derivative will also work. As usual, this is for illustration so you understand what is going on - when there is a library function available, you should probably use that instead." ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def f(beta, y, x):\n", " \"\"\"Minus log likelihood function for logistic regression.\"\"\"\n", " return -((-np.log(1 + np.exp(np.dot(x, beta)))).sum() + (y*(np.dot(x, beta))).sum())" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: 240.17199087261878\n", " hess_inv: array([[ 1.115, -0. , -0.27 ],\n", " [-0. , 0. , -0. ],\n", " [-0.27 , -0. , 0.098]])\n", " jac: array([ 0. , -0.002, -0. ])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 65\n", " nit: 8\n", " njev: 13\n", " status: 0\n", " success: True\n", " x: array([-4.949, 0.003, 0.755])" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "beta0 = np.zeros(3)\n", "opt.minimize(f, beta0, args=(df['admit'], df.ix[:, 'dummy':]), method='BFGS', options={'gtol':1e-2})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Optimization with `sklearn`\n", "\n", "There are also many optimization routines in the `scikit-learn` package, as you already know from the previous lectures. Many machine learning problems essentially boil down to the minimization of some appropriate loss function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Resources\n", "\n", "- [Scipy Optimize reference](http://docs.scipy.org/doc/scipy/reference/optimize.html)\n", "- [Scipy Optimize tutorial](http://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html)\n", "- [LMFit - a modeling interface for nonlinear least squares problems](http://cars9.uchicago.edu/software/python/lmfit/index.html)\n", "- [CVXpy- a modeling interface for convex optimization problems](https://github.com/cvxgrp/cvxpy)\n", "- [Quasi-Newton methods](http://en.wikipedia.org/wiki/Quasi-Newton_method)\n", "- [Convex optimization book by Boyd & Vandenberghe](http://stanford.edu/~boyd/cvxbook/)\n", "- [Nocedal and Wright textbook](http://www.springer.com/us/book/9780387303031)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }