Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save tflores/07faf0e5d31b0f153f4a760c87635722 to your computer and use it in GitHub Desktop.

Select an option

Save tflores/07faf0e5d31b0f153f4a760c87635722 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://ibm.box.com/shared/static/cw2c7r3o20w9zn8gkecaeyjhgw3xdgbj.png\" width=\"400\" align=\"center\"></a>\n",
"\n",
"<h1><center>Non Linear Regression Analysis</center></h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If the data shows a curvy trend, then linear regression will not produce very accurate results when compared to a non-linear regression because, as the name implies, linear regression presumes that the data is linear. \n",
"Let's learn about non linear regressions and apply an example on python. In this notebook, we fit a non-linear model to the datapoints corrensponding to China's GDP from 1960 to 2014."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"importing_libraries\">Importing required libraries</h2>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Though Linear regression is very good to solve many problems, it cannot be used for all datasets. First recall how linear regression, could model a dataset. It models a linear relation between a dependent variable y and independent variable x. It had a simple equation, of degree 1, for example y = $2x$ + 3."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"y = 2*(x) + 3\n",
"y_noise = 2 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"#plt.figure(figsize=(8,6))\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Non-linear regressions are a relationship between independent variables $x$ and a dependent variable $y$ which result in a non-linear function modeled data. Essentially any relationship that is not linear can be termed as non-linear, and is usually represented by the polynomial of $k$ degrees (maximum power of $x$). \n",
"\n",
"$$ \\ y = a x^3 + b x^2 + c x + d \\ $$\n",
"\n",
"Non-linear functions can have elements like exponentials, logarithms, fractions, and others. For example: $$ y = \\log(x)$$\n",
" \n",
"Or even, more complicated such as :\n",
"$$ y = \\log(a x^3 + b x^2 + c x + d)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take a look at a cubic function's graph."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"y = 1*(x**3) + 1*(x**2) + 1*x + 3\n",
"y_noise = 20 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, this function has $x^3$ and $x^2$ as independent variables. Also, the graphic of this function is not a straight line over the 2D plane. So this is a non-linear function."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some other types of non-linear functions are:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Quadratic"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = X^2 $$"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"\n",
"y = np.power(x,2)\n",
"y_noise = 2 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exponential"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"An exponential function with base c is defined by $$ Y = a + b c^X$$ where b ≠0, c > 0 , c ≠1, and x is any real number. The base, c, is constant and the exponent, x, is a variable. \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"\n",
"Y= np.exp(X)\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Logarithmic\n",
"\n",
"The response $y$ is a results of applying logarithmic map from input $x$'s to output variable $y$. It is one of the simplest form of __log()__: i.e. $$ y = \\log(x)$$\n",
"\n",
"Please consider that instead of $x$, we can use $X$, which can be polynomial representation of the $x$'s. In general form it would be written as \n",
"\\begin{equation}\n",
"y = \\log(X)\n",
"\\end{equation}"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/lib/python3.6/site-packages/ipykernel_launcher.py:3: RuntimeWarning: invalid value encountered in log\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEKCAYAAAAFJbKyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl8VdW99/HPDwhzwpwAgRCGMCsoEcURFau1Tm211VavWntpn+q9vfapra192t72Dh3vc3ur1lJrHeqj1VoVh6rgPAsoM2GeQiYgkAEImX7PH3uHRpqEE5KcfZLzfb9e55U9rLPX7xwxv6y91l7L3B0REZFYdYs6ABER6VyUOEREpFWUOEREpFWUOEREpFWUOEREpFWUOEREpFWUOEREpFWUOEREpFWUOEREpFV6RB1ARxg6dKhnZ2dHHYaISKexbNmyPe4+LJayXTJxZGdns3Tp0qjDEBHpNMxse6xldatKRERaRYlDRERaRYlDRERaRYlDRERaRYlDRERaRYlDRERaRYlDRERapUs+xyEikiz2Vh5mY0klG0sqOXC4lq+eM77D61TiEBHpBPZWHmZDcSUbiivYWFLBxuJKNpVUsvdA9ZEy6am9+MrZ4zCzDo0l0sRhZvcBlwAl7j69ifNzgaeBreGhv7j7j+IXoYhIfJUdrGFDSQXriyrYUBy8NhZ/PEGk9u5BTnp/LpiawYT0/uRkpJKT3p8RA3p3eNKA6Fsc9wN3Ag+2UOZNd78kPuGIiMRHVU0dG4srWV9cwfqictYXV7KhqIKi8qojZfr36kFORn/mTckgJ6M/EzNSmZiRSkZar7gkiOZEmjjc/Q0zy44yBhGRjlRf7+woPUheUTl5RUFLYn1RBdv2HqDegzI9e3QjJ70/p48fwqThqUwcHiSIkXFqQbRW1C2OWMwxsxVAAfBNd18TdUAiIk0pO1hzJEHkFZWzrjBIEodq6gAwgzGD+zJpeCqXzhjJ5DBJZA/pR/duiZcgmpPoieNDYIy7V5rZxcBTQE5TBc1sPjAfICsrK34RikjSqa93tpceZF1h+ZHX2oJyCsr+dptpYN8UpgxP4+rZo5k8PJXJw9PIyehP356J/mv32BL6E7h7eaPt583sbjMb6u57mii7AFgAkJub63EMU0S6sKqaOtYXVbC2sJw1BWWsLQhaFAerg1ZEN4Pxw/qTmz2YKSPSmDIilSkj0khPjbYfoiMldOIws+FAsbu7mc0meGBxb8RhiUgXVXawhjWFZazZFSSJNQXlbN5deaQvon+vHkwdkcbnckcfSRATM1LpndI92sDjLOrhuI8Ac4GhZpYP/ABIAXD3e4Argf9lZrXAIeBqd1drQkTabHfFYVYXlLFmVxmrd5WzprCMnaWHjpwfMaA300am8cnpw5k6Mo2pIwYwalAfunWivoiOEvWoqmuOcf5OguG6IiLHraS8ilW7ylgVJonVu8o+Nuw1e0hfThw1kGtmZzF95ACmjUxjSP9eEUac2BL6VpWISGvtqTwcJIn8Mlbml7Fq136Kyw8Dwaim8cP6c9q4wUzPHMD0zAFMHZlGWu+UiKPuXJQ4RKTTKq+qYXV+GSvyy1iZv5+V+WXs2h/cbmpIEqePH8oJmQM4YdQApo5Io18v/dprK32DItIpVNfWs66wnOU797Ni535W5O9n8+4DR86PGdKXk8cM4sYzsjkhcwDTMgfQX0miQ+hbFZGE4x48bb18534+2rGf5Tv3s7agnOq6egCG9u/FzNEDuGJmJieOHsiJmQMY1K9nxFEnDyUOEYlc5eFaVu7cz0c79/PRjn18tGP/kUn9eqd048TMgVx/+hhmjh7EzKyBCTsVR7JQ4hCRuHJ3tu89yLLt+/hwxz6Wbd/HhuKKI89KjBvWj7mT0jl5zEBmjh7IpIxUenTXmnOJRIlDRDpUVU0dq3aVsXRbkCQ+2rHvSGsitVcPZmYN5MJpwzkpK0gUA/vqllOiU+IQkXZVeqCapdtKWbZ9H0u2lbJ619/6JsYODVoTs8YMYtaYQUxI79+pJveTgBKHiLRJ/r6DfLC1lCXbSvlga+mRkU4p3Y0TMgdw4xnZRxKFHqrrGpQ4RCRm7s7m3ZW8vzVIEku2lh6ZETa1dw9yxwzis7NGcUr2YE7IHJB0czglCyUOEWlWfb2zsaSS97fu5f0tpby/dS97KoP+iWGpvZidPZivjB3MKdmDmTQ8VbedkoQSh4gc4e5sKqnk3S17eWfTXt7fupd9B2sAGDmgN2flDOPUsYM5ddwQsof01ZDYJKXEIZLE3J1tew/y7ua9vLN5D+9tKWVPZTCvU+bAPpw3OYPTxg3mtHFDGDWojxKFAEocIkmnpLyKdzbv5a1Ne3hn054jfRQZab04c8IQ5owfwpxxQxk9WIlCmqbEIdLFVR6u5f0te3lz4x7e3rSHjSWVQLC06ZxxQ/jauUM5ffwQxg7tp0QhMVHiEOli6uqd1bvKeHPjbt7YuIcPt++jtt7pndKNU7IHc+WsUZwxYShTR6RpUSI5LkocIl1AcXkVr2/YzesbdvP2pj3sDzu0p2em8eWzxnF2zlBOHjNIw2OlXUS9dOx9wCVAibtPb+K8Ab8CLgYOAje4+4fxjVIk8VTX1rN0e2mQLNbvJq+oAoD01F7Mm5LBWTlDOXPCUD1wJx0i6hbH/QRLwz7YzPlPAjnh61TgN+FPkaRTXF7Fq3klvLq+hLc27uFAdR0p3Y1Tsgdz+ycnc87EYUwenqp+CulwUa85/oaZZbdQ5HLgQXd34D0zG2hmI9y9MC4BikSort5ZvnP/kWSxpqAcCJ6nuOKkTOZOSuf08UO0op3EXaL/i8sEdjbazw+P/V3iMLP5wHyArKysuAQn0t4OHK7lzY17WLyumFfzSth7oJru3YxZWYP49kWTOXfyMCZlqFUh0Ur0xNHU/x3eVEF3XwAsAMjNzW2yjEgiKiqrYtG6YhavLebdLXuprq0nrXcP5k5K5/wp6cydmM6AvilRhylyRKInjnxgdKP9UUBBRLGItJtNJRW8uKaYl9YUsSK/DIDsIX257rQxzJuSQW72IFK0eJEkqERPHAuBW8zsUYJO8TL1b0hn5O6syC/jhdVFvLS2iC3h1OMzRg/ktgsnceG0DMYP669bUNIpRD0c9xFgLjDUzPKBHwApAO5+D/A8wVDcTQTDcW+MJlKR1quvdz7csY/nVxXxwupCCsqq6NHNmDN+CDeens0FU4czfEDvqMMUabWoR1Vdc4zzDtwcp3BE2qyu3vlgayl/XV3IC6uLKKk4TM8e3Tg7Zxj/+xOTmDclQ/0V0ukl+q0qkYTX0LJ4dmUhz60qZHfFYXqndOPcSelcNH04501OJ7W3koV0HUocIsfB3VmZX8YzKwp4blUhhWVV9OrRjfMmp3PJiSM5d/Iw+vbU/17SNelftkgrbNldyVPLC3h6+S627z1ISnfjnInD+PZFk5k3NYP+ehhPkoD+lYscQ0lFFc+sKOTp5btYmV+GGcwZN4Sb507gwmnD1WchSUeJQ6QJVTV1vLimiCc+3MVbG3dT7zBtZBp3XDyFS2eM1GgoSWpKHCIhd2fZ9n088WE+z64opOJwLZkD+/C/5o7n0ydlMiE9NeoQRRKCEockvcKyQzyxLJ8nPtzF1j0H6JPSnU+eMJwrTx7FaeOGaLEjkaMocUhSqqmr55W8Ev60ZCevrS+h3uG0cYP52tzxfPKEEerkFmmB/u+QpLJ1zwH+tGQnf16Wz57Kw2Sk9eJrcyfwudzRZA3pG3V4Ip2CEod0eTV19SxaW8wf39vOO5v30r2bcd7kdK4+ZTTnTBxGD00mKNIqShzSZRXsP8SjH+zg0SU7Kak4TObAPtx24SSumjWK9DSNihI5Xkoc0qW4O29t2sOD727n5XXFODB34jD+87QxzJ2UTnd1dIu0mRKHdAkHq2v5y4e7uP+dbWwqqWRwv5585ZzxfGF2FqMHq+9CpD0pcUinlr/vIA+9u51HPthBeVUt0zPT+OVVM7hkxgh69egedXgiXVJMicPMxgA57r7YzPoAPdy9omNDE2nehzv2ce+bW3hhdRFmxkXThnPjGdnMGjNIiyGJdLBjJg4z+0dgPjAYGE+wfOs9wPkdG5rIx9XXOy/nlbDgjc0s2baPAX1SmH/2eK6bM4bMgX2iDk8kacTS4rgZmA28D+DuG80svT0qN7OLgF8B3YF73f0nR52/Afg5sCs8dKe739sedUvnUVVTx1Mf7eJ3b25h8+4DZA7sww8uncrnckfTTw/qicRdLP/XHXb36obmv5n1ALytFZtZd+Au4AIgH1hiZgvdfe1RRf/k7re0tT7pfCoP1/LH97Zz75tb2VN5mGkj0/jV1TP51Akj9OyFSIRiSRyvm9l3gT5mdgHwNeCZdqh7NrDJ3bcAmNmjwOXA0YlDkkzZoRruf3sb9729lbJDNZyVM5SvnjOT08cPUf+FSAKIJXHcDtwErAK+AjwPtMftokxgZ6P9fODUJsp91szOBjYAt7r7zibKSBdQeqCa37+1hQff2U7F4VrmTcnglvMmMHP0wKhDE5FGjpk43L0e+F34ak9N/el49C2wZ4BH3P2wmX0VeAA4r8mLmc0n6MQnKyurPeOUDra38jC/fWMLD727naraOi6ePoKbz53A1JFpUYcmIk1oNnGY2Spa6Mtw9xPbWHc+MLrR/iig4Kg69jba/R3w0xbiWQAsAMjNzW1zH4x0vLJDNdz75hbue2srh2rquHxmJjefO17rXogkuJZaHJd0cN1LgBwzG0swaupq4AuNC5jZCHcvDHcvA9Z1cEwSBwcO1/KHt7ey4I0tlFfV8qkTR3DrvBwlDJFOotnE4e7bG7bNbDhBZ7YDS9y9qK0Vu3utmd0CvEgwHPc+d19jZj8Clrr7QuCfzewyoBYoBW5oa70SnaqaOv743nbufm0zpQeqmTclnW9cMEm3pEQ6GXNv+a6OmX0Z+D7wCkG/xDnAj9z9vo4P7/jk5ub60qVLow5DQvX1zjMrC/jZC+vZtf8QZ+UM5RsXTOSkrEFRhyYiITNb5u65sZSNZVTVbcBJDf0NZjYEeAdI2MQhieO9LXv5j+fXsTK/jKkj0vjZlSdyxoShUYclIm0QS+LIBxrPS1XBx4fRivydTSWV/OSveSxeV8yIAb355VUz+PRJmVq/W6QLaGlU1TfCzV3A+2b2NEEfx+XAB3GITTqhsoM1/N/FG3jove30SenOty6axJfOGEvvFM1UK9JVtNTiaBjisjl8NXi648KRzqq+3nl82U5++sJ69h+s5gunZnHrvIkM6d8r6tBEpJ21NKrqX+MZiHReK3bu5/sL17Bi535yxwziXy+fzbSRA6IOS0Q6SCzTqg8DvgVMA44s1OzuTT7BLcmj9EA1P38xj0eX7GRo/17838/P4IqZmZpPSqSLi6Vz/GHgTwQPBH4VuB7Y3ZFBSWJzd574cBf/9txaKqtq+fKZY/nn83NI7Z0SdWgiEgexJI4h7v57M/u6u79OMFvu6x0dmCSmnaUH+e6Tq3hz4x5mjRnEf37mBCZm6IlvkWQSS+KoCX8WmtmnCOaTGtVxIUkiqq2r5/53tvHLlzbQzeDHl0/ji6eO0fBakSQUS+L4NzMbAPxv4NdAGnBrh0YlCWVtQTm3/2UlK/PLOH9yOj++YjojtVSrSNKKZVr1Z8PNMuDcjg1HEkltXT13v7aZ/3l5IwP7pvDra07ikhNHqPNbJMm19ADgt9z9Z2b2a5qYXt3d/7lDI5NIbd1zgFv/tJzlO/dz6YyR/OiyaQzq1zPqsEQkAbTU4miYwlyzBSYRd+eRD3by42fXktLd+NXVM7l8ZmbUYYlIAmnpAcBnzKw7MN3db4tjTBKR3RWHuf2JlbycV8IZE4bwi6tmMGKA+jJE5ONa7ONw9zozmxWvYCQ6r+QVc9vjK6k4XMv3L5nKDadna8SUiDQpllFVH5nZQuBx4EDDQXf/S4dFJXFTW1fPfy3awN2vbWbKiDQeuXqmnssQkRbFkjgGA3uBxlOMONDmxGFmFwG/IlgB8F53/8lR53sBDwKzwhg+7+7b2lqvBErKq/inRz7i/a2lXDN7ND+4dJpmsRWRY4plOO6NHVFx2H9yF3ABwZofS8xsobuvbVTsJmCfu08ws6uBnwKf74h4ks27m/fyT498ROXhGn551Qw+O0vPdIpIbGKZ5LA3wS/woyc5/FIb654NbHL3LWE9jxKs9dE4cVwO/DDc/jNwp5mZH2u9W2lWfb3zm9c388uX1pM9tB8Pf/lUJg3XrSkRiV23GMo8BAwHLgReJ5hupKLFd8Qmk4+vJJgfHmuyjLvXEjyEOKQd6k5KFVU1zH9oKT9/cT0XnzCChbecqaQhIq0WSx/HBHe/yswud/cHzOz/AS+2Q91NDdk5uiURS5mgoNl8YD5AVlZW2yLrgvL3HeSm+5eyaXclP7x0Ktefnq0nwEXkuMTS4miY5HC/mU0HBgDZ7VB3PjC60f4oggkUmyxjZj3Cukubupi7L3D3XHfPHTZsWDuE13V8uGMfV9z1NgVlh3jgxtnccMZYJQ0ROW6xJI4FZjYI+B6wkKAP4qftUPcSIMfMxppZT+Dq8PqNLSRY/wPgSuAV9W+0ztPLd3H1gvfo16sHT37tDM7MGRp1SCLSybU0V1WGuxe7+73hoTeAce1VsbvXmtktBLe9ugP3ufsaM/sRsNTdFwK/Bx4ys00ELY2r26v+rs7d+e/FG/nVyxuZnT2Ye66bxWDNNSUi7aClPo4VZrYKeAR4wt3L2rtyd38eeP6oY99vtF0FXNXe9XZ1VTV13PbnlTyzooDPnjyK//jMdHr10PMZItI+WrpVlQn8AjgL2GBmT5nZ581MkxclsIPVtXz5gaU8s6KAb100iV9cdaKShoi0q2YTh7vXufuL4QOAo4E/AFcAW83s4XgFKLErO1TDdb//gHc27+EXV83ga3MnqBNcRNpdLJ3juHs1Qaf4OqAcmNqRQUnr7ak8zDUL3mNl/n7u+sLJXKknwUWkg7T4HIeZZRFM8XEN0A94FLjc3de19D6Jr4L9h7j29+9TsP8Q915/CudM1HBkEek4LY2qeoegn+NxYL67a0GnBLRtzwG+eO/7lB+q4cEvncrssYOjDklEuriWWhzfAd7QcxOJa0NxBV+8931q6+p5ZP5pTM8cEHVIIpIEWloB8PV4BiKt09DSMOCxr8whR2toiEicxDJXlSSYorIqrv190NJ4/KtzmJCupCEi8XPMUVVmNjaWYxIfpQequfb377P/YA0PfGm2koaIxF0sw3GfaOLYn9s7EDm2iqoabvjDB+woPcjv/iGXE0cNjDokEUlCLY2qmkyweNMAM/tMo1NpNFrQSeKjqqaOLz+wlLUF5fz2ulnMGa9lSUQkGi31cUwCLgEGApc2Ol4B/GNHBiUfV1NXz80Pf8gH20r578/P5PwpGVGHJCJJrKVRVU8DT5vZHHd/N44xSSPuzrf+vJKX80r48RXTuXzm0YskiojEVyyjqjaZ2XcJFm86Ur4d1hyXGPzm9c08+dEuvnHBRK47bUzU4YiIxJQ4ngbeBBYDdR0bjjT2Sl4xP39xPZfOGMk/nTch6nBERIDYEkdfd/92h0ciH7N5dyVff2Q5U0ek8bPPnqhZbkUkYcQyHPdZM7u4wyORI8qravjHB5eS0qMbv71uFn16aj0NEUkcsSSOrxMkjyozKzezCjMrb0ulZjbYzBaZ2cbw56BmytWZ2fLwdfR65F1SXb3zL48uZ8feg9z9xZMZNahv1CGJiHzMMROHu6e6ezd37+3uaeF+WhvrvR142d1zgJfD/aYccveZ4euyNtbZKfzXovW8klfCDy6dymnj9KyGiCSeWKYcMTO71sz+T7g/2sxmt7Hey4EHwu0HCFYWTHrPrizgrlc3c83s0VyrEVQikqBiuVV1NzAH+EK4Xwnc1cZ6M9y9ECD8md5Mud5mttTM3jOzFpOLmc0Pyy7dvXt3G8OLv43FFdz2+EpmjRnEv142XZ3hIpKwYhlVdaq7n2xmHwG4+z4z63msN5nZYmB4E6fuaEV8We5eYGbjgFfMbJW7b26qoLsvABYA5Obmdqo1RGrq6rn1seX07dmd33zxZHr2iGlFXxGRSMSSOGrMrDvgAGY2DKg/1pvcfV5z58ys2MxGuHuhmY0ASpq5RkH4c4uZvQacBDSZODqzX7+yidW7yrnn2lmkp2kaMBFJbLH8afs/wJNAupn9O/AW8B9trHchcH24fT3BQ4YfY2aDzKxXuD0UOANY28Z6E86Knfu569VNfOakTC6a3lQDTUQksRyzxeHuD5vZMuB8wIAr3H1dG+v9CfCYmd0E7ACuAjCzXOCr7v5lYArwWzOrJ0hwP3H3LpU4qmrq+MZjy0lP7cUPLpsWdTgiIjFpaVr1wY12S4BHGp9z99LjrdTd9xIkoqOPLwW+HG6/A5xwvHV0Bj97YT2bdx/gjzedyoA+KVGHIyISk5ZaHMsI+jUMyAL2hdsDCVoJWgWwDd7dvJf73t7KP8wZw5k5Q6MOR0QkZs32cbj7WHcfB7wIXOruQ919CMEaHX+JV4BdUUVVDd98fAVjh/bj9k9OjjocEZFWiaVz/BR3f75hx93/CpzTcSF1fT9+di2FZYf45edm0LdnLAPbREQSRyy/tfaY2feAPxLcuroW2NuhUXVhr+QV89jSfL42dzwnZzU5RZeISEKLpcVxDTCMYEjuUwRPeV/TkUF1VYdr6/jhwrVMzOjP1+flRB2OiMhxiWU4binBDLnSRg++s50dpQd56KbZ9OqhqdJFpHM6ZuIws4nAN/n7pWPP67iwup59B6r59SsbmTtpGGflDIs6HBGR4xZLH8fjwD3AvWjp2OP2q5c3Unm4lu9ePCXqUERE2iSWxFHr7r/p8Ei6sC27K/nje9u5enYWEzNSow5HRKRNYukcf8bMvmZmI8KV+wYf9VS5HMN//jWP3induXXexKhDERFps1haHA2TEd7W6JgD49o/nK7n3c17WbS2mNsunMSw1F5RhyMi0maxjKrS1CLHqb7e+ffn15I5sA83namvUUS6hliWju1rZt8zswXhfo6ZXdLxoXV+T360i9W7yrntwkn0TtHwWxHpGmLp4/gDUA2cHu7nA//WYRF1EYeq6/j5i+uZMWoAl80YGXU4IiLtJpbEMd7dfwbUALj7IYJZcqUFv3tzC0XlVXzvkql066avS0S6jlgSR7WZ9eFvS8eOBw53aFSdXEVVDQve2MKF0zI4JVsD0ESka4klcfwAeAEYbWYPAy8D32pLpWZ2lZmtMbP6cNW/5spdZGbrzWyTmd3eljrj6bGl+VQeruWWczUflYh0PbGMqlpkZh8CpxHcovq6u+9pY72rgc8Av22ugJl1B+4CLiDoV1liZgsTffnYunrngXe2kTtmECeMGhB1OCIi7S7WxSDOAc4kuF2VQjBT7nFrWLPcrMV7/7OBTe6+JSz7KHA5kNCJ45W8EnaUHuTbF2mBJhHpmmIZjns38FVgFUFL4StmdldHBwZkAjsb7eeHxxLaH97eysgBvblwWkbUoYiIdIhYWhznANPdvaFz/AGCJNIiM1sMDG/i1B3u/nQM9TbVHPEW6psPzAfIysqK4fLtL6+onHc27+XbF02mR/dYuo9ERDqfWBLHeiAL2B7ujwZWHutN7j6vDXFB0MIY3Wh/FFDQQn0LgAUAubm5zSaYjnT/29vondKNa2aPPnZhEZFOKpY/i4cA68zsNTN7jaCPYZiZLTSzhR0Y2xIgx8zGmllP4GqgI+trk9ID1Tz50S4+fdIoBvbtGXU4IiIdJpYWx/fbu1Iz+zTwa4IlaZ8zs+XufqGZjQTudfeL3b3WzG4BXgS6A/e5+5r2jqW9PPLBDg7X1nPjGdlRhyIi0qFiGY77upmNAXLcfXH4MGAPd6843krd/UmaGJnl7gXAxY32nweeP9564qWmrp6H3t3OmROGar0NEenyYhlV9Y/An/nbMxejgKc6MqjO5q+riygqr+JLZ2ZHHYqISIeLpY/jZuAMoBzA3TcC6R0ZVGfzh7e3MnZoP+ZO1NciIl1fLInjsLtXN+yYWQ9aGBabbD7asY+Pduzn+jljNJmhiCSFWBLH62b2XaCPmV0APA4807FhdR5/eHsbqb16cGWuhuCKSHKIJXHcDuwmeOjvKwSd1d/ryKA6i+LyKp5fVchVuaPp3yvW2VtERDq3WEZV1ZvZU8BT7r47DjF1Gs+tLKS23vniadE8qS4iEoVmWxwW+KGZ7QHygPVmttvM2v25js5q8bpictL7M35Y/6hDERGJm5ZuVf0LwWiqU9x9iLsPBk4FzjCzW+MSXQIrO1jD+1tLuWCqJjMUkeTSUuL4B+Aad9/acCCc4vza8FxSe3V9CXX1zjwlDhFJMi0ljpSmFmwK+zlSOi6kzmHR2mKGpfZi5qiBUYciIhJXLSWO6uM81+Udrq3jtfUlzJuSrmc3RCTptDSqaoaZlTdx3IDeHRRPp/DellIOVNepf0NEklKzicPdu8czkM5k0doi+vbszunjh0YdiohI3GmZulZydxavLeHsnGH0TlFuFZHko8TRSqt2lVFUXqXRVCKStJQ4WmnR2mK6GZw3WTPhikhyiiRxmNlVZrbGzOrNLLeFctvMbJWZLTezpfGMsTmL1haTmz2Ywf20PKyIJKeoWhyrgc8Ab8RQ9lx3n+nuzSaYeNlZepC8ogo+odtUIpLEIpnS1d3XAZh1rmcgFq0tBtAwXBFJaonex+HAS2a2zMzmRx3MorXFTMzoz5gh/aIORUQkMh3W4jCzxcDwJk7d4e5Px3iZM9y9wMzSgUVmlufuTd7eChPLfICsrPaf5nz/wWo+2FbKV84e1+7XFhHpTDoscbj7vHa4RkH4s8TMngRm00y/iLsvABYA5ObmtvvStg2TGuo2lYgku4S9VWVm/cwstWEb+ARBp3okFq8tIT21FzM0qaGIJLmohuN+2szygTnAc2b2Ynh8pJk9HxbLAN4ysxXAB8Bz7v5CFPE2TGp4/pQMTWooIkkvqlFVTwJPNnG8ALg43N4CzIhzaE16d/NeDlTXaRiuiAgJfKsqkbyaV0Lfnt2ZM37Hf9HeAAALz0lEQVRI1KGIiEROiSMGq3aVcULmAE1qKCKCEscx1dc764sqmDIiLepQREQSghLHMeTvO8SB6jomD0+NOhQRkYSgxHEM64qCRRAnq8UhIgIocRxTXmEFZjAxo3/UoYiIJAQljmNYV1hO9pB+9O0ZychlEZGEo8RxDHlF5erfEBFpRImjBQcO17K99CCTh6t/Q0SkgRJHCzYUV+AOU0aoxSEi0kCJowV5RRUAeoZDRKQRJY4W5BWW079XDzIH9ok6FBGRhKHE0YJ1RRVMGp6qGXFFRBpR4miGu5NXqBFVIiJHU+JoRmFZFeVVtXpiXETkKEoczcgLpxqZohaHiMjHKHE0Y11hMKJqohKHiMjHRLV07M/NLM/MVprZk2bW5ELeZnaRma03s01mdns8Y1xXWM6oQX1I650Sz2pFRBJeVC2ORcB0dz8R2AB85+gCZtYduAv4JDAVuMbMpsYrwLyiCj0xLiLShEgSh7u/5O614e57wKgmis0GNrn7FnevBh4FLo9HfFU1dWzZXaknxkVEmpAIfRxfAv7axPFMYGej/fzwWIfbVFJJveuJcRGRpnTYXOFmthgY3sSpO9z96bDMHUAt8HBTl2jimLdQ33xgPkBWVlar421sXWG4eJM6xkVE/k6HJQ53n9fSeTO7HrgEON/dm0oI+cDoRvujgIIW6lsALADIzc1tNsHEIq+ogt4p3RgzpF9bLiMi0iVFNarqIuDbwGXufrCZYkuAHDMba2Y9gauBhfGIL6+onEkZqXTXVCMiIn8nqj6OO4FUYJGZLTezewDMbKSZPQ8Qdp7fArwIrAMec/c1HR2Yu7OuUCOqRESaE8l6qO4+oZnjBcDFjfafB56PV1wAuysPU3qgmskaUSUi0qREGFWVUPLCJ8bV4hARaZoSx1E0okpEpGVKHEfJK6pgeFpvBvXrGXUoIiIJSYnjKOsKy9W/ISLSAiWORqpr69m8u1JPjIuItECJo5EteyqpqXP1b4iItECJo5GGEVVqcYiINE+Jo5F1ReX07N6NsUM11YiISHOUOBrJK6xgQnp/UrrraxERaY5+QzaSV6QRVSIixxLJlCOJqKaunjMnDOOsnKFRhyIiktCUOEIp3bvxy8/NiDoMEZGEp1tVIiLSKkocIiLSKkocIiLSKkocIiLSKpF0jpvZz4FLgWpgM3Cju+9votw2oAKoA2rdPTeecYqIyN+LqsWxCJju7icCG4DvtFD2XHefqaQhIpIYIkkc7v5SuKY4wHvAqCjiEBGR1kuEPo4vAX9t5pwDL5nZMjObH8eYRESkGR3Wx2Fmi4HhTZy6w92fDsvcAdQCDzdzmTPcvcDM0oFFZpbn7m80U998oCG5VJrZ+hbCGwrsieVzdFHJ/PmT+bNDcn9+ffaWjYn1YububQvnOJnZ9cBXgfPd/WAM5X8IVLr7L9qh7qXJ3GeSzJ8/mT87JPfn12dvv88eya0qM7sI+DZwWXNJw8z6mVlqwzbwCWB1/KIUEZGmRNXHcSeQSnD7abmZ3QNgZiPN7PmwTAbwlpmtAD4AnnP3F6IJV0REGkTyHIe7T2jmeAFwcbi9BeioWQcXdNB1O4tk/vzJ/NkhuT+/Pns7iayPQ0REOqdEGI4rIiKdSNIlDjO7yMzWm9kmM7s96njiyczuM7MSM0u6QQZmNtrMXjWzdWa2xsy+HnVM8WJmvc3sAzNbEX72f406pngzs+5m9pGZPRt1LPFmZtvMbFXYn7y0Xa6ZTLeqzKw7wRQnFwD5wBLgGndfG2lgcWJmZwOVwIPuPj3qeOLJzEYAI9z9w3C03jLgimT4b29mBvRz90ozSwHeAr7u7u9FHFrcmNk3gFwgzd0viTqeeArn/Mt193Z7hiXZWhyzgU3uvsXdq4FHgcsjjiluwocnS6OOIwruXujuH4bbFcA6IDPaqOLDA5Xhbkr4Spq/GM1sFPAp4N6oY+kqki1xZAI7G+3nkyS/PORvzCwbOAl4P9pI4ie8VbMcKAEWuXvSfHbgv4FvAfVRBxKRdp+6KdkShzVxLGn+8hIws/7AE8C/uHt51PHEi7vXuftMgglFZ5tZUtyqNLNLgBJ3XxZ1LBE6w91PBj4J3Bzesm6TZEsc+cDoRvujgIKIYpE4C+/vPwE87O5/iTqeKITr3rwGXBRxKPFyBnBZeJ//UeA8M/tjtCHFV/h8HO5eAjxJcMu+TZItcSwBcsxsrJn1BK4GFkYck8RB2EH8e2Cdu/9X1PHEk5kNM7OB4XYfYB6QF21U8eHu33H3Ue6eTfD/+yvufm3EYcVNR03dlFSJI1wD5BbgRYLO0cfcfU20UcWPmT0CvAtMMrN8M7sp6pji6AzgOoK/OJeHr4ujDipORgCvmtlKgj+eFrl70g1LTVIdMnVTUg3HFRGRtkuqFoeIiLSdEoeIiLSKEoeIiLSKEoeIiLSKEoeIiLSKEockFDOrPHapj5Wf214znprZD83sm+10rfvN7MrjfO/MpoYKh2Py95rZgKOOP2Vmn2vF9Uea2Z+PUabZ7zWcbXVorPVJ16PEIZJ4ZhKuhNmYux8AXgKuaDgWJpEzgZiSp5n1cPcCdz+upCYCShySoMK/eF8zsz+bWZ6ZPRw+/d2wpkqemb0FfKbRe/qFa44sCddeuDw8foOZPW1mL4Rrsfyg0XvuCI8tBiY1Oj4+LL/MzN40s8nh8fvN7H/M7B0z29LQqrDAnWa21syeA9IbXWuWmb0eXuvFcIp3ws/303CtjA1mdlY4o8GPgM+HDyl+/qiv5hGCJ6AbfBp4wd0PmtnsMK6Pwp+TGn3+x83sGYLJ7rItXJMl3H7TzD4MX6c3unaamT0ZfqZ7zOzvfl+Y2bVh/MvN7LcWLF0gXZ2766VXwryAyvDnXKCMYD6xbgRPvJ8J9CaY4TiHYNLKx4Bnw/f8B3BtuD2QYO2VfsANQCEwBOhDMOVCLjALWAX0BdKATcA3w/e/DOSE26cSTFUBcD/weBjTVIJp+iFIYIuA7sBIYD9wJcEU5u8Aw8JynwfuC7dfA34Zbl8MLA63bwDubOb76Ukww+2QcP8F4FPhdhrQI9yeBzzR6Hr5wOBwPxtYHW73BXqH2znA0kbffxUwLvxMi4Arw3PbgKHAFOAZICU8fjfwD1H/G9Kr4189EElcH7h7PoAFU4JnEyxEtdXdN4bH/wg0TBX9CYIJ7Rr6KXoDWeH2InffG77nLwRJCOBJdz8YHl8Y/uwPnA48HjZyAHo1iuspd68H1ppZRnjsbOARd68DCszslfD4JGA6sCi8VneCJNagYbLFZeHna5G7V4dxXmlmTxDc1nopPD0AeMDMcghmfU5p9NZF7t7UWiwpwJ1mNhOoAyY2OveBu2+BI9PVnAk07hs5nyD5Lgk/Wx+CpCZdnBKHJLLDjbbr+Nu/1+bmyTHgs+6+/mMHzU5t4j0elm/qWt2A/R5MQ36suBpP1d/UtQxY4+5zjnGtxp/vWB4Bvhde+2l3rwmP/xh41d0/bcGaI681es+BZq51K1AMzCD43FWNzjX1nTVmwAPu/p0Y45YuQn0c0tnkAWPNbHy4f02jcy8C/9SoL+SkRucuMLPBFswOewXwNvAG8Gkz62PBDKKXAniwTsdWM7sqvI6Z2YxjxPUGcLUFCyaNAM4Nj68HhpnZnPBaKWY27RjXqgBSWzj/KsFtpZsJkkiDAcCucPuGY9TR+D2FYQvqOoIWUYPZFswk3Y3gFttbR733ZYKWTzpA+P2OibFe6cSUOKRTcfcqgltTz4Wd49sbnf4xwa2XlWHn748bnXsLeAhYTnDvf6kHS8n+qeEY8Gaj8l8EbrJgVtE1HHuJ4SeBjQR9Jr8BXg/jrSbo6/hpeK3lBLfBWvIqMLWZznHCX/JPEPTZvNHo1M+A/zSzt/l4AmjJ3cD1ZvYewW2qxi2Td4GfEPQJbQ0/Y+M41hK0fF6yYObdRQQz8UoXp9lxpcszsxuAXHe/JepYRLoCtThERKRV1OIQEZFWUYtDRERaRYlDRERaRYlDRERaRYlDRERaRYlDRERaRYlDRERa5f8D1gLnDMPa8/AAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"Y = np.log(X)\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sigmoidal/Logistic"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = a + \\frac{b}{1+ c^{(X-d)}}$$"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"\n",
"Y = 1-4/(1+np.power(3, X-2))\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"ref2\"></a>\n",
"# Non-Linear Regression example"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For an example, we're going to try and fit a non-linear model to the datapoints corresponding to China's GDP from 1960 to 2014. We download a dataset with two columns, the first, a year between 1960 and 2014, the second, China's corresponding annual gross domestic income in US dollars for that year. "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2019-05-26 16:12:47 URL:https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/china_gdp.csv [1218/1218] -> \"china_gdp.csv\" [1]\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Year</th>\n",
" <th>Value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1960</td>\n",
" <td>5.918412e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1961</td>\n",
" <td>4.955705e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1962</td>\n",
" <td>4.668518e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1963</td>\n",
" <td>5.009730e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1964</td>\n",
" <td>5.906225e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1965</td>\n",
" <td>6.970915e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1966</td>\n",
" <td>7.587943e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1967</td>\n",
" <td>7.205703e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1968</td>\n",
" <td>6.999350e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1969</td>\n",
" <td>7.871882e+10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Year Value\n",
"0 1960 5.918412e+10\n",
"1 1961 4.955705e+10\n",
"2 1962 4.668518e+10\n",
"3 1963 5.009730e+10\n",
"4 1964 5.906225e+10\n",
"5 1965 6.970915e+10\n",
"6 1966 7.587943e+10\n",
"7 1967 7.205703e+10\n",
"8 1968 6.999350e+10\n",
"9 1969 7.871882e+10"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"#downloading dataset\n",
"!wget -nv -O china_gdp.csv https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/china_gdp.csv\n",
" \n",
"df = pd.read_csv(\"china_gdp.csv\")\n",
"df.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Did you know?__ When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plotting the Dataset ###\n",
"This is what the datapoints look like. It kind of looks like an either logistic or exponential function. The growth starts off slow, then from 2005 on forward, the growth is very significant. And finally, it decelerate slightly in the 2010s."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,5))\n",
"x_data, y_data = (df[\"Year\"].values, df[\"Value\"].values)\n",
"plt.plot(x_data, y_data, 'ro')\n",
"plt.ylabel('GDP')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Choosing a model ###\n",
"\n",
"From an initial look at the plot, we determine that the logistic function could be a good approximation,\n",
"since it has the property of starting with a slow growth, increasing growth in the middle, and then decreasing again at the end; as illustrated below:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"Y = 1.0 / (1.0 + np.exp(-X))\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"The formula for the logistic function is the following:\n",
"\n",
"$$ \\hat{Y} = \\frac1{1+e^{\\beta_1(X-\\beta_2)}}$$\n",
"\n",
"$\\beta_1$: Controls the curve's steepness,\n",
"\n",
"$\\beta_2$: Slides the curve on the x-axis."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Building The Model ###\n",
"Now, let's build our regression model and initialize its parameters. "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"def sigmoid(x, Beta_1, Beta_2):\n",
" y = 1 / (1 + np.exp(-Beta_1*(x-Beta_2)))\n",
" return y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets look at a sample sigmoid line that might fit with the data:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fc165da04e0>]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"beta_1 = 0.10\n",
"beta_2 = 1990.0\n",
"\n",
"#logistic function\n",
"Y_pred = sigmoid(x_data, beta_1 , beta_2)\n",
"\n",
"#plot initial prediction against datapoints\n",
"plt.plot(x_data, Y_pred*15000000000000.)\n",
"plt.plot(x_data, y_data, 'ro')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our task here is to find the best parameters for our model. Lets first normalize our x and y:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# Lets normalize our data\n",
"xdata =x_data/max(x_data)\n",
"ydata =y_data/max(y_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### How we find the best parameters for our fit line?\n",
"we can use __curve_fit__ which uses non-linear least squares to fit our sigmoid function, to data. Optimal values for the parameters so that the sum of the squared residuals of sigmoid(xdata, *popt) - ydata is minimized.\n",
"\n",
"popt are our optimized parameters."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" beta_1 = 690.453017, beta_2 = 0.997207\n"
]
}
],
"source": [
"from scipy.optimize import curve_fit\n",
"popt, pcov = curve_fit(sigmoid, xdata, ydata)\n",
"#print the final parameters\n",
"print(\" beta_1 = %f, beta_2 = %f\" % (popt[0], popt[1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we plot our resulting regression model."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = np.linspace(1960, 2015, 55)\n",
"x = x/max(x)\n",
"plt.figure(figsize=(8,5))\n",
"y = sigmoid(x, *popt)\n",
"plt.plot(xdata, ydata, 'ro', label='data')\n",
"plt.plot(x,y, linewidth=3.0, label='fit')\n",
"plt.legend(loc='best')\n",
"plt.ylabel('GDP')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice\n",
"Can you calculate what is the accuracy of our model?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# write your code here\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click __here__ for the solution.\n",
"\n",
"<!-- Your answer is below:\n",
" \n",
"# split data into train/test\n",
"msk = np.random.rand(len(df)) < 0.8\n",
"train_x = xdata[msk]\n",
"test_x = xdata[~msk]\n",
"train_y = ydata[msk]\n",
"test_y = ydata[~msk]\n",
"\n",
"# build the model using train set\n",
"popt, pcov = curve_fit(sigmoid, train_x, train_y)\n",
"\n",
"# predict using test set\n",
"y_hat = sigmoid(test_x, *popt)\n",
"\n",
"# evaluation\n",
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(y_hat - test_y)))\n",
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((y_hat - test_y) ** 2))\n",
"from sklearn.metrics import r2_score\n",
"print(\"R2-score: %.2f\" % r2_score(y_hat , test_y) )\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Want to learn more?</h2>\n",
"\n",
"IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"http://cocl.us/ML0101EN-SPSSModeler\">SPSS Modeler</a>\n",
"\n",
"Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://cocl.us/ML0101EN_DSX\">Watson Studio</a>\n",
"\n",
"<h3>Thanks for completing this lesson!</h3>\n",
"\n",
"<h4>Author: <a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a></h4>\n",
"<p><a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like machine learning and statistical modelling on large datasets.</p>\n",
"\n",
"<hr>\n",
"\n",
"<p>Copyright &copy; 2018 <a href=\"https://cocl.us/DX0108EN_CC\">Cognitive Class</a>. This notebook and its source code are released under the terms of the <a href=\"https://bigdatauniversity.com/mit-license/\">MIT License</a>.</p>"
]
}
],
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment