Created
September 7, 2019 20:08
-
-
Save STHITAPRAJNAS/885dc62b7c47eea1a239f6eea3ea6c46 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "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, | |
| "jupyter": { | |
| "outputs_hidden": 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": 6, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "[ 0.85269199 0.67871454 2.06800632 1.24590185 -0.49244023 0.36834666\n", | |
| " -0.17401724 -0.40215707 1.44009401 -0.33475684 -0.22692469 0.69179537\n", | |
| " 1.34351178 0.3624923 1.69173328 0.12620093 0.51505799 -2.69345135\n", | |
| " 0.43640416 -1.09733305 1.11097028 -0.18776304 -0.61141941 -0.0620434\n", | |
| " 0.32977383 -0.69079044 -0.28033484 0.42349693 0.25427523 -0.04804504\n", | |
| " 0.1847526 0.25457737 0.26410213 0.72132246 -0.34739539 0.56371049\n", | |
| " 1.00905759 0.42883344 -0.11588525 0.52604761 -0.21048219 -1.38495284\n", | |
| " -0.86859222 -0.11224335 0.31092018 -0.00495832 1.17985531 0.73609311\n", | |
| " -0.27168095 -0.86926536 -0.34972692 -0.11332674 -1.71229199 -0.70095408\n", | |
| " 0.80909467 0.81790207 -0.15030556 0.46331254 -0.15951031 0.11672711\n", | |
| " -0.97056821 0.22851785 0.07414334 -0.12586073 -0.61978695 -0.76080838\n", | |
| " -0.24049454 0.94447845 -0.24642885 -1.07087044 0.01464531 -0.1772867\n", | |
| " -1.37517088 0.98551539 0.99262041 0.39807248 -0.78542803 -0.05127769\n", | |
| " -0.33788441 0.82058871 -1.60909048 0.34829764 -1.71628547 -1.46743812\n", | |
| " -0.361143 0.16590424 -1.40475737 0.78539571 0.75854916 -0.85061223\n", | |
| " -0.03046969 -0.27617765 -0.42224614 -0.69919841 0.24494447 2.23699116\n", | |
| " 2.02055283 -2.38691956 -0.74267079 -1.35200384]\n" | |
| ] | |
| }, | |
| { | |
| "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", | |
| "\n", | |
| "y_noise = 2 * np.random.normal(size=x.size)\n", | |
| "#print(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": 20, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEGCAYAAACO8lkDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXxU1f3/8dcnCRACirIpCiRo0Wq1Yk1t1W9bq7YutUXbarW41YVWUeuGFbFWS1PRVv1VrVpU3IgL7lStuC9ttTYouG9VUAQFBQUJW5LP7497ByaZmWQms8+8n4/HfczMnbt8Zia5n3vuueccc3dERESiVeQ7ABERKTxKDiIiEkPJQUREYig5iIhIDCUHERGJUZXvADJh4MCBXldXl+8wRESKyqxZsz5x90Hx3iuJ5FBXV0dTU1O+wxARKSpmNi/Re7qsJCIiMZQcREQkhpKDiIjEUHIQEZEYSg4iIhJDyUFEpAg1NkJdHVRUBI+NjZndfkncyioiUk4aG2HsWGhuDl7Pmxe8BhgzJjP7UMlBRKTITJwYJIaT+Qv783cgeD1xYub2oeQgIlJk3n8fNmIpFzCB0dzXbn6mKDmIiBSZ4cPhGK6jhpVczknt5meKkoOISJH546RWTrS/8hTf5iV2AKCmBhoaMrcPJQcRkSLz8w3vp87ncuvAkzGD2lqYMiVzldGgu5VERIrPZZfBsGFc/e5ors7SUVwlBxGRYvLKK/D44zBuHFRl7/xeyUFEpJhcfjlUV8Oxx2Z1N0oOIiLF4tNP4eabg8qFAQOyuislBxGRYjFlCqxcCaeckvVdZT05mNkwM3vCzF43s1fN7Nfh/PPM7EMzmx1O+0WtM8HM3jGzN81s72zHKCJS8NasCS4pff/7sN12Wd9dLu5WagFOd/cXzGwDYJaZPRK+d6m7/zl6YTPbFjgE+AqwGfComW3l7q05iFVEpDBNnw4LF8LUqTnZXdZLDu6+0N1fCJ8vB14HNu9kldHAbe6+2t3fA94Bds52nCIiBcsdLrkEttkG9s7NxZSc1jmYWR2wI/CfcNaJZvaSmU01s43DeZsDH0StNp84ycTMxppZk5k1LV68OItRi4jk2dNPw4svwqmngllOdpmz5GBmfYG7gFPcfRlwFbAlMApYCFwcWTTO6h4zw32Ku9e7e/2gQYOyFLWISPYkPSbDpZfCwIFw2GE5iy0nycHMehAkhkZ3vxvA3T9291Z3bwOuYf2lo/nAsKjVhwILchGniEiuRMZkmDcvuGoUGZMhJkG89RbMmAG/+hWNd/fO6gA/0XJxt5IB1wGvu/slUfOHRC12IPBK+HwGcIiZ9TKzEcBI4PlsxykikkuRMRmixR2T4eKLoWdP7hpyYnLJJENyUXLYDTgc2KPDbasXmdnLZvYS8F3gVAB3fxWYDrwGPASM051KIlJqEo29MG9eVKng44/hxhvhyCM5/aJNkksmGWLuMZfzi059fb03NTXlOwwRkaTV1QWJIJGaGnjue79l+xkN8MYbVHx5K+Idrs2gra17MZjZLHevj/eeWkiLiORBQ0OQABJqXsHQv18Jo0fDVlslHMgnkwP8RFNyEBHJgzFjgt4wamvjv380U9m4bQmMHw/ETyaZHuAnmpKDiEiejBkDc+fGJohKWjiVS2nqtSvsuuu6ZSPJJFsD/ERTchARybOOpYKDmc4WvMeK48e3Wy6STNragsdsJQZQchARybt2pQKc3/aYzGebb8t3Lv5R3mJSchARKQDrSgV/f4Bt1r7MRn/8TdDaLU+UHERECsnkyUER4tBD8xpGLrrsFhGRZDzzDPzrX8G4DT165DUUlRxERArFBRfAoEHcVnN0zvpQSkQlBxGRQvDii/CPfzD7oAaOOalmXVcZkT6UILt3J3WkkoOISCH4wx+gXz8Of25cTvtQSkTJQUQk3155Be6+G04+mVfn94u7SKKO+rJFyUFEJN8aGqBvXzjllJz3oZSIkoOISD698QbcfjuMGwf9+8ftQ8msQ1feOaDkICKST3/8I1RXw2mnAbEd8pmxrqvubA/wE03JQUQkX/73P7jlFvjVr2Dw4HWzozvk6ziGQ64qp5UcRETyZdKkoLHb+PFx305UCZ2LymklBxGRfHj7bbj5Zjj+eBgyJO4i+aycVnIQEcmRxkbWtXy+a8dJtFT1gt/8JuHyuR7gJ5qSg4hIDjQ2BpXJ8+bBSH+TA1Y08te2E2h8dJOE6+R6gJ9o5vFGrM7kDsyGATcBmwJtwBR3/4uZ9QduB+qAucDB7r40XGcCcAzQCpzs7jM720d9fb03NTVl7TOIiKSrri5IDADTGMMB3MsI3qOmdjBz5+YnJjOb5e718d7LRcmhBTjd3bcBvgmMM7NtgbOAx9x9JPBY+JrwvUOArwD7AFeaWWUO4hQRyZpIJfKXeZ1DuZUrOJHFDM55y+dkZT05uPtCd38hfL4ceB3YHBgN3BgudiNwQPh8NHCbu6929/eAd4Cdsx2niEg2RSqRf8+5rKAPf+aMdvMLTU7rHMysDtgR+A+wibsvhCCBAJGbfDcHPohabX44r+O2xppZk5k1LV68OJthi4ikraEBdq2exUHcySWcxicMylnlcnfkLDmYWV/gLuAUd1/W2aJx5sVUjLj7FHevd/f6QYMGZSpMEZGsGDMG7tjqHJZW9OdSTstp5XJ35GQ8BzPrQZAYGt397nD2x2Y2xN0XmtkQYFE4fz4wLGr1ocCCXMQpIpI1zzzDZi89BBddxGfj4/e8WkiyXnIwMwOuA15390ui3poBHBk+PxK4L2r+IWbWy8xGACOB57Mdp4hI1rjD2WcHjd3Gjct3NEnJRclhN+Bw4GUzmx3OOxuYDEw3s2OA94GDANz9VTObDrxGcKfTOHdvzUGcIiLZ8dBD8M9/wpVXxrZqK1BZb+eQC2rnICIFq7UVvvY1+OILeP116Nkz3xGtk+92DiIiZevfJ94CL73Eoe82ULdVz5yNx5AuJQcRkSy59fpVDP3bOTSxE7dzcE7HY0iXkoOISJa8c/qVDPf3+Q0X4uHhNlfjMaRLyUFEJMMaG+Grwz/jhKUNPMTePM6e7d4v1C4zoiWVHMys1sz2Cp/3NrMNshuWiEhxivS++vMPJjOAJZzF5JhlCrXLjGhdJgczOw64E/hbOGsocG82gxIRKTaRsRoOOwwGN7/HqVzKDRzJHEa1W66Qu8yIlkzJYRxBW4VlAO7+Nuv7QRIRKXvRYzUAXMAEWqlkIu2zQKF3mREtmUZwq919TdDQGcysijh9HYmIlKuJE4OKZoBv8iyHcDvncy4LovoMra0lb+M2dEcyJYenzOxsoLeZfQ+4A/h7dsMSESke6yuYnUs4jYVsyp8Yv+79YrmUFC2Z5HAWsBh4Gfgl8CBwTjaDEhHJt+jxnuvqOm+bEKlgPpjp7MJzTKSBFfQFiutSUjR1nyEi0kGkDiFyqQiCs/9EB/nGRvj1cc28sPLLLKE/OzGL6prKgk8KnXWfkTA5mNnLdFK34O5fzUx46VNyEJFMih7vOVpn9QYv/eR8vnr3eXyHp5hX+20aGgo7MUDnyaGzCun9sxSPiEhBS9RIreP8xsagMtrnvc8bdiHzvnEwTz337ewHmAMJ6xzcfV5kAlYDOwBfJbh7KU5OFREpDYkaqUXPj7599SLG4w7fn/Onoug3KRnJNII7lmCwnR8DPwWeM7Ojsx2YiEi+NDTEDrvQ8Y6jyO2r3+JpfsZ0LuQ3vLVqeFH0m5SMLiukzexNYFd3/zR8PQD4t7tvnYP4kqI6BxHJtMglo/ffD0oMHesQKiqgwlt4ga/Rj8/ZhtdZSQ1m0NaWv7hT0d06h4j5wPKo18uBDzIRmIhIoRozpvMK5eHD4YB5V/BVXuYA7mElNevml4KEycHMTguffgj8x8zuI7h7aTQa01lEytwlZyxgr5PO5UH25T5GA8XZ2C2RzkoOkZ5X/xdOEfdlLxwRkeLw42fH09pjDZMHXY4ttLiXnopZwuTg7udnYgdmNpXgtthF7r5dOO884DiCltcAZ7v7g+F7E4BjgFbgZHefmYk4REQy5okn4JZbqDz3XJ4+f8t8R5MVXdY5mNkg4EzgK0B1ZL6775HkPm4ArgBu6jD/Unf/c4d9bQscEu5rM+BRM9vK3VuT3JeISHatXg0nnAAjRsBZZ+U7mqxJpm+lRuANYARwPjAX+G+yO3D3p4ElSS4+GrjN3Ve7+3vAO8DOye5LRCTrLrwQ3ngDrrwSevfOdzRZk0xyGODu1wFr3f0pdz8a+GYG9n2imb1kZlPNbONw3ua0vxNqfjhPRCT/3nqL1kkNzKg5hIr99umyQ75ilkxyWBs+LjSzH5jZjgSjwaXjKmBLYBSwELg4nG9xlo3bEMPMxppZk5k1LV68ON4iIiKZ485HB/6KZS01jG2+FPegdfTYsaWZIJJJDn8ws37A6cAZwLXAqens1N0/dvdWd28DrmH9paP5wLCoRYcCCxJsY4q717t7/aBBg9IJR0SkazfdxKavPcFvuJCP2XTd7OZmSqZVdLQuK6Td/f7w6efAdzOxUzMb4u4Lw5cHAq+Ez2cAt5jZJQQV0iNRmwoRybePP4bTTuNf7Mq1HBvzdqKO+opZZ43gznT3i8zscuJc2nH3k5PZgZndCuwODDSz+cDvgN3NbFS43bkEgwjh7q+a2XTgNaAFGKc7lUQk704+Gb74gnM3uxZfEHvBpVRaRUfrrOTweviYVqdF7n5onNnXdbJ8A1AibQxFpOjdey9Mnw4NDRxduw3PxRkEqFRaRUfrrBHc382sEtjO3ccnWk5EpGQtXQrHHw+jRsH48YzpEczurEO+UtFpnYO7t5rZTrkKRkSkoJxxBixeDA88AD2CzNBVh3ylIpleWV80sxnAHcCKyEx3vztrUYmI5NuDD8LUqUEr6K99Ld/R5FwyyaE/8CkQ3V2GA0oOIlKaliyBY4+F7baD887LdzR5kcytrL/IRSAiIgXj5JODy0n33w+9euU7mrxIZpjQajMbZ2ZXhl1dTA17WhURKT333BM0eT7nnHWXkxoboa4uGP2tlLvMiJZMC+mbgU2BvYGnCFotL+90DRGRYvTxx/DLXwZJ4eyzgSARjB0bdJVR6l1mREsmOXzJ3X8LrHD3G4EfANtnNywRkRxzh6OPhuXL4eab192dNHFi+3YNULpdZkRLpkI60vHeZ2a2HfARUJe1iERE8uHqq4M7lC6/HLbddt3sRF1jlGKXGdGSKTlMCbvUPoeg76PXgAuzGpWISI40NsKem79B8wmn82T1PjRuNK7d+4m6xijFLjOidda30iZh76nXhrOeBrbITVgiItnX2AjjjlvDYyvHsII+HLpqKst+aWDrG7o1NAR1DOXQZUa0zkoOc8zsETM7OuyyW0SkpEycCL9dOYGdeIFjuZaPGBJTnzBmDEyZArW1YBY8TplS+q2kzT3uWDqE/SrtRTCm837As8CtwAx3X5mzCJNQX1/vTU1p9Q8oImVof3uA+9mfyziJX3PZuvlm0NaWx8ByxMxmuXt9vPcSlhzCwXhmho3ghgHXAwcA75lZid/EJSKlrLERvjH0Q67nKGazA2dyUbv33cunPUMiydythLuvMbPXCLrx3gnYtotVREQKUmMj/Oq4VmasPIzerORn3M5qqmOWi7RngNK/hBRPp3crmdlwMxtvZi8A9wOVwGh33zEn0YmIZNjEiXDmyvP4Lk8yjr/yFlsnXLYc2jMk0tndSv8GNifojXWsu+uivogUvW3n/YPf8geu5Rhu4sguly/19gyJdFZymADUufsZSgwiUgy67ANp3jwaKw5jNjtwEpe3e6uyMv42S709QyKdVUg/5YluZRIRKTBd9oG0ejUcfDB9erVwePWdrKL3unVraoJla2rab7Mc2jMkkkwLaRGRgtdlH0gnnwzPP0/Paddz1rVfimm3cOWV5dmeIZGE7RzWLWA2wt3f62peJ+tPBfYHFrn7duG8/sDtBH00zQUOdvel4XsTgGOAVuBkd5/Z1T7UzkFEKiqCEkNHZtB29ZSgt9UJE+CPf8x9cAWqW+0cotwVZ96dKez/BmCfDvPOAh5z95HAY+FrzGxbgkZ3XwnXuTJsjCci0qlEdQMHbPIsnHgi7LMPTJqU26CKWMLkYGZfNrOfAP3M7MdR01EQ56bgBNz9aWBJh9mjgRvD5zcSNK6LzL/N3VeHJZN3gJ2T3ZeIlK+Ghtg6gy2qFzBt1U9g2DC45ZbEtc4So7NGcFsTXA7aCPhh1PzlwHFp7ncTd18I4O4LzWxwOH9z4Lmo5eaH82KY2VhgLMDwcr2dQETWidQNTJwY3H661dBm/lU1mppFy+DembDxxvkNsMgkTA7ufh9wn5nt4u7P5igeixdKvAXdfQowBYI6h2wGJSLFYcyYMEm4w6FHw/RZcO+9sL3GJ0tVMt1nvGNmZxNUHq9b3t2PTmO/H5vZkLDUMARYFM6fT9CPU8RQYEEa+xGRcjRpEtx+O0yeDD/6Ub6jKUrJVEjfB/QDHgUeiJrSMQPWNU08MtxHZP4hZtbLzEYAI4Hn09yXiJST226D3/0OjjgCzjwz39EUrWRKDjXu/pvu7sDMbgV2Bwaa2Xzgd8BkYLqZHQO8DxwE4O6vmtl0gtHmWoBx7t7a3X2LSJl55hk48kj41rfgb38L7mOVbkmm5HC/me3X3R24+6HuPsTde7j7UHe/zt0/dfc93X1k+LgkavkGd9/S3bd29390d78iUmbefBNGj4YRI4J6hur2N1V22bWGtJNMcvg1QYJYZWbLzGy5mS3LdmAiUp66dRBftAj23ReqquDBB6F//5htdtq1hsToMjm4+wbuXuHu1e6+Yfh6w1wEJyLlpTsH8duvWcbLw/al+b2PGF15P43Pxg5132XXGhKjy+RggcPM7Lfh62FmpoZpIpJxqR7Eb71hNZv86kC2WTOHn3InMz7aOW4ySdTtdrl2x52MZC4rXQnsAvw8fP0F8NesRSQiZSulg3hrKxuOO4zd2x7nF1zPPwiqRuMlk0TtZNV+NrFkksM33H0csAog7CCvZ1ajEpGylPRB3B2OP54fNN/JaVzMNA5v93bHZBKva41y7o47Gckkh7Vh53cOYGaDgLasRiUiZSmpg7g7nHoqXHMNl284kUs5LWY7HZPJmDHqjjtVySSHy4B7gMFm1gD8E1CftyKScUkdxH/7W/jLX+CUU+j/10lJlwjGjIG5c6GtLXhUYuhcl43g3L3RzGYBexL0fXSAu7+e9chEpCyt6x8pnoaGYDruOLjkEsaYga3vbG/48OBtHfjT11mX3f0jE0HfR7cCtxD0i9Q/0XoiIslIuT3DpElwzjlBtxhXXbWu9bNKBNnR2WWlWUBT+LgYeAt4O3w+K/uhiUipSrk9w6RJcO653NXnCKpumkrdlpVqwJZlCZODu49w9y2AmcAP3X2guw8gGOPh7lwFKCKlJ+n2DO5w3nlw7rk0Vh7BwSum0kqlWjjnQDIV0l939wcjL8L+jr6TvZBEpNQl1Z7BHcaPh/PP544+R3FE61TaWD+Sm1o4Z1cyyeETMzvHzOrMrNbMJgKfZjswESldidozuIf1Dze3wQknwMUXc8MGJ/KzFde1SwwRauGcPckkh0OBQQS3s94LDA7niYh0S7z2DBEL5q2h6heHw9VX86eqCfxi+WV4gkPVumSiy0sZl8ytrEsIemYVEcmI6PGe581bP78vy7mTn7J368OcbRdwQctZXW4rUv8QvV1Jn7l3PvyymW0FnEHsMKF7ZDWyFNTX13tTU1O+wxCRbqioCEoAg1jEA/yAHXmR47iGG/hFStuprQ1uZZXkmdksd6+P914yI8HdAVwNXAtoVDYRyajhw6HXvDd5kP0YwkIO4F4eYH8qK6E1hSOO6h8yK5k6hxZ3v8rdn3f3WZEp65GJSFryOfJZKvu+ZsyTPMsu9OUL9uBxHmB/amqCS0XxusYYMCD+duJVcmv0tzS4e6cTcB5wAjAE6B+Zulovl9NOO+3kIrLetGnuNTXuwQWbYKqpCeZPm+ZeW+tuFjxOm5a7fce44Qb3Hj38s8228d02ezcmpnixJrv9lOIoU0CTJzr2J3pj3QLwXpzp3a7Wy+Wk5CDSXm1t+4NiZBowIPsHzET7rq2NWmjtWvfTTgve2HNP96VLU9pHMgkuqTjKXGfJocsK6Wwys7nAcoK6jBZ3rw/7bbqdoAJ8LnCwB2NIJKQKaZH2IpW8ycpkZW6ifZsF/R+xdCkccgg8/DCcdBJcfDH06JGZnacSh3RaIZ3MMKE1YSO4KeHrkWa2fwbj+667j4oK8CzgMXcfCTwWvhaRFKQ6wlkmK3M7HbBnzhz4+tfhiSfg2mvhssuykhi6jEO6lEyF9PXAGmDX8PV84A9ZiwhGAzeGz28EDsjivkRKUqJBc1KpzM30vm/9/vXwzW/CypXw5JNwzDGZ22kKcWj0t+Qkkxy2dPeLgLUA7r6SYFyHTHDgYTObZWZhMxY2cfeF4b4WErTIjmFmY82sycyaFi9enKFwREpDokFz/vKX7B8wO+5762HNzPn6sexyzdGw667w4ovBY5Zp9Lc0JaqMiEzAv4HewAvh6y2B57taL5kJ2Cx8HAzMAb4NfNZhmaVdbUcV0sUt23fPSHupft9p/T5z5rhvs02w8tlnu7e0dDtuyTzSvFvpe8BTBOM4NBJUEu/e1XqpTgS3zJ4BvAkMCecNAd7sal0lh+Kl2w0LW7d/n7Y29yuucO/Vy33TTd0feSQn8UpqOksOSd2tZGYDgG8SXE56zt0/Sau4EmyzD1Dh7svD548AvycYjvRTd59sZmcRtKk4s7Nt6W6l4lVX175vnQh1hVAYuvX7fPhhUJ8wcybsuy/ccAMMjnt1WPIsrbuVQt8hOGh/F/hWhuLaBPinmc0BngcecPeHgMnA98zsbYJSy+QM7U8KUFL9+guQn9a+qfw+jdOckwfdypKh27Py4ad5/si/wgMP0PjIYLVSLkJd9q1kZlcCXyIYQxrgl2a2l7uPS2fH7v4usEOc+Z8SJCIpA8OHxz8z1e2G7UWG1YyMnparnkiT/X3uvmIBG55yApe13sezfJMj/CYW3DGSI2vgxhtzH7dkQKLrTb6+LuBVwt5bw9cVwKtdrZfLSXUOxSvfdQ7FUhmer9a+Xf4+ra3u11zjn1s/b6baT+dPXsnadctWVuYnbkkOaVZI3w3URr2uBW7tar1cTkoO6cvnQTJf+85WYsrG5zGLf5A1y35MCdedM8d9t93cwR9nd9+St+PGmE7ckl3pJoengGbgyXBaATwKzABmdLV+LiYlh/Tk++w9X7JxNp6t7zKdWDMe0+efB/0iVVa6DxzoPnWq1w1vjRufSg6FLd3k8J3Opq7Wz8Wk5JCeUumgLNWz43TPxuPJ9HcZ+UyRuLpzgM9YTC0t7lOmuA8eHATzy1+6f/rpujjjJaDjjy/PE49ikVZyCNanFtgrfN4b2CCZ9XI1KTmkJxsHyVzrztlxNpJiJr/LeJ8psv1ULg2lHVNbm/vMme477BCs+H//597UFDfeeMm5WOp1ylG6JYfjgP8C/wtfjyToGC/vSSEy5SM5lNIffCmUHLrzGbJxCSiT32WmtpXWdv7zH/fvfjdYoa7O/fbbg2QhJSHd5DAb6Am8GDXv5a7Wy+WU6+RQqNfou9stQjqXLDIdU3d19+w40/Fl8m8jU6WQbsX0wgvuo0cHCw8a5H7ZZe6rVqX+IaSgpZsc/hM+vhg+VgEvdbVeLqdcJ4dCPNNO9QCQqUsWmYwpHV39Jlm5WydDyyeSyb+zpGN6/vn1SWGjjdx//3v3Zcu69wHSiUNyIt3kcBFwNvAGQYvle4CGrtbL5ZTr5FCI1+hTPZDkIsHlMol2NSxmd5NUPkuJOdt3W5v7Qw+tv3wUSQqffZbR3RRqibucpZscKsJ6hzuAO8Pn1tV6uZxUckg9YeUiweU6iUaflQ4YEExm6d1Ome/fOqtn2itWBHcfbbdd8KE239z9z3/OaEkhWr6/S4mVibuVBgGDklk2H5PqHIqv5JDMQa+7y8T7fbqbpPJRSsz6pZe33nIfP969f//gw+ywg/v117uvXp3hHbVXiCXuctet5EDQA+t5wCfAp8ASgm67z020Tr4m3a2UmTqHTCe4dO59Tya+RMsMGNB1YijUkkO6v0vCv8sVK9xvucV9jz2CjVZVuf/kJ+5PPZWzu49Ucig83U0OpxJ0oz0iat4WwEzg1ETr5WNSO4dAvipOU91HMgeJdJZJZirUOodMtoSuoMX37vWEv/2dY9w32CCYWVfn3tDgvmBBl9tK5m8jlb+hQixxl7vuJocXgYFx5g+Kvq21ECYlh+KSzOWFdJZJNFVW5uZupXS2mc6ll9raICH8H0/7XzjJF7CpO/hy6+t+1FHuTzwRdJSXRGzJHMS7c7AvtBJ3uetucnilO+/lY1JyKC7ZLjkMGFDYZ6idHVS7VXJYtsz9nnt8Kr/wRQx0B2+m2u/kx34Qt3sfvkgpvmRj0GWi4tfd5PBCd97Lx1TOyaEYz8TSqU9IdplC/l66qqjvMrGtXesPnv+8T97oAn+c3X0NVe7gn1s/n8bP/SBu974s6/bBOtnSiyqYi193k0MrsCzOtBxYm2i9fEzlmhyK+RpuNu9WKnRdHVQ7fqZbpq50f+YZ98mT3fff31fX9Fu30my+6hfwG9+71xN+4tjVGfl7UMmhfKR9K2uhT+WaHPL5z1mMB+VC0envtnKl+6xZ7tddF9zWVV/v3qPH+oW22sob+471g7nNB/NR3JJHur9LNuscpLAoOZSofDUyi+wj1YNCOSaUeA3zwH1DPvdRvOAHc5v/jt/5HZUH+9KhX2nfYm/DDYNWy2ee6X7vve6LFrl7bn73zn6rRI0Ny+U3LSWdJQcL3i88ZrYP8BegErjW3ScnWra+vt6bmppyFluuNDbCxInBYO7Dh0NDQzDubmR+vLF9AWprYe5cYNUqWLSIB2/6hFsv/4SWRUvYov9nHLTXUkZtsQyWLw+mFSuCZVeuDB7XroU1a4LH1lZobWX5MmfR4uAwBNBGBW1U0EolLVTRQhWtVLGanrT16MUaerJ8bTWVNdVsV19Na49qHo4cqCIAABESSURBVHqqN8tbqllBH5qpoaVnDYceXcNu3+8DNTXQp0/8qUePXH3l6XMPvs9Fi5h540fcNHkBA9d8yFDmU8s8aplHHXPZhEXrVmnDmFcxglfatmXehl9lhyN24Fsn7gAjR0JFRcwu6uri//brfvcs6jiWNQQ/3ZQpGhO6GJnZLHevj/teISYHM6sE3iLoy2k+QZfhh7r7a/GWL8XkkOif8MgjgwHbVzW3MpT5bMn/2IJ3Gc77DOd96io+YMdNF9Cv+SP47LOE22+t7EFlvw2gb9/gAFxTA717Q69e0LNnMFVVQWUlVFZyz4wKVqwI1jUcw6mgjSpaqKSVKlrowVp6soZerKYXq+nJGqpZRW9bFTx6M71ZSSVtqX0ZPXq0TxbRiaR372CqqYHq6vWve/VqP/Xo0f4zVVUFB16z4DH6JLytDVpagmnNGli9OnhcuZKXnmvm348207bsCzbts4yvf3k5w/p+BkuXwpIl8OmnQZLtYBW9eJ/hzKOWudTxDl/iHb7EJ/2+xCtrtmLJyt7tfufODrbx/jbMgtBra9efRGRDPhOTZF4xJoddgPPcfe/w9QQAd78g3vLFnBwSlQ4i/4RVrGVr3mR7XmY7XmEb3mBr3mAkb9OTteu200oFiyqHUDViGIN22ByGDIEhQzjz4k14c8lAPmEgS+jPUjbmMzZi09rqlP6ZI8fP9Dk9WEsNzfQJyxBvzW4OzraTnZqb1z+uXBk8Rp5HSkBZ/LteRS++oC/L2JAVtgGbbNWPwV/uDxtvDAMGwCabwODB7HfUYOazOQvYjE8ZQNDpQHK6OthGlx4jiSEim2fyif4OzIKcKsWlGJPDT4F93P3Y8PXhwDfc/cR4yxdrcuh4BlhBK/XVr3LZz59jztRZfI1ZbM/L9GINAC1U8g5f4g2+zJtszduM5F224D1G8CFDWeOxl18y9c+c6IwxXVk543QPzvpXr25/mWzNmuAyWaRUECkltLUFX0hkipQsKivXl6J69WLbnXrz5ge9aaMyqc+QzneW7O+T6zN5lRxKS2fJIe+VyfEm4CCCeobI68OByzssMxZoApqGDx+eibqZnNtq+Er/Nk/6uZznj7KHL6Pvuosbn1Vs5I+yh1/IeP8503x75nhPVqXcw2im7mjqbPyHRDFFT4XeMC0ZqVYEd9UBYGf9QCX7+6RbOd2dLleK/XeU9Si2u5WAXYCZUa8nABMSLV80dyu1tbnPnu1+4YXue+7pK+nlDt6K+QuM8is4wcdws3+Jt33azW0ZGbA9k//MiQ4kyRwEC71hWjK6k2i7urMn3d8nk30x6a6z8lOMyaEKeBcYQTBE6RzgK4mWz2ZySOcfYdo0962GNfv+/N0b+471FRtvtv6/cPvtfcoGp/n+zPCNWBL3H7uzg3Ehd7BXqrc3dlZ6Sudzpvs31t3kokZsUnTJIYiZ/QjuWPofMLGzZbOVHLp9MFixwp86+U6fXvkzX04fd/Bl9PW7K3/i/x57vfuHHybcvorohS3dth7ZjCnV5NJZx4WllNQlsaJMDqlM2UoOXXUJ3e5g0NLi/vDD7kcc4d43qDv4mEF+NWP9e8z0nqyKe1aWrbP6dM9GS70UkK5SOOtO6e9bSpKSQ4o66x2z47TbZu+6n3NOMMQiBK1ajznG9+Axr2RttysK042/ux3SJVt/UIpSSail0OlcV791sSU7SZ2SQwqS+YepoMV/yH0+k++FMyrc993Xffr0oG8cT7/yMp2z9HS6sk4mKZbiASPVS3ylUHJw7/pEqJiSnaROySEFnf2j9GOpn8FF/h7BQu8z1C/ud777++/HbCfVg00m6x9SHQQn+oCWzLr5GD8525XqqR7sS62+qFSSnaRGySEF8Q6Ow5nrF3PqunYIj7O7H8hdvkHvtZ0eDFK5dp/Jf85kL4nFO9jns+SQ6IAb7/bddO4SipdounOZqJRu6Sy1ZCfJUXJIQfTBcUve9uv4ha+hytdS6e/uOsb3HfJiyuMLJHPXUyavYSf6R0+mwVU+6xwSJaauGtmlElM6301X2y32RFEKn0FSo+SQgmnT3Lerfttv4jBvocKbqfa/Vp3kd/+/eUmtm8qBJ5MHp3ixJJOkEvXTn4+7lVK9HNad7ymd+phEdNYtxUrJIVkffOA+dqy3VlZ5s/X2P3O61w9dmHZr1WSmXHUvUchnh90tOaRSwuqshNbd70bX66VYKTl05fPP3SdMcK+uDkbdOukk94ULU95MOme+6RycSkUqdQ6ZLjmkcyAvhdtapTwpOSSydq37VVe5Dx4cfBWHHeY+d273tuWpXbJI9eBULomjq7uVIgfd7pawsnEJSCUHKVZKDok89ljwFXz72+7//W/3thElmcZn3Tm46Zp2e+kmykwnWv0+UqyUHDrz9NNBb6kZksyBJ9WDk85MC1+5lOyktHSWHApysJ9UFetgP8nS6Fsikg2dDfYTO3q5FJzhw1ObLyKSLiWHItDQEIwLHK2mJpgv2dHYGAyJWVERPDY25jsikdxScigCY8YEA8bX1gaXkmprszeAvKwf23vevOBy3rx5wWslCCknZZ0ciunscMyYYAD3trbgUYkheyZOhObm9vOam4P5IuWiKt8B5Evk7DByEIicHYIOvOXu/fdTmy9Sisq25KCzQ0lENwCIlHFy0NmhJKIbAETKODlk8uywmOoupGu6AUAkT8nBzM4zsw/NbHY47Rf13gQze8fM3jSzvbMVQ6bODnVnS2nSDQBS7vJZcrjU3UeF04MAZrYtcAjwFWAf4Eozq8zGzjN1dqi6CxEpRYV2t9Jo4DZ3Xw28Z2bvADsDz2ZjZ2PGpH9GqLoLESlF+Sw5nGhmL5nZVDPbOJy3OfBB1DLzw3kxzGysmTWZWdPixYuzHWtCurNFREpR1pKDmT1qZq/EmUYDVwFbAqOAhcDFkdXibCpuz4DuPsXd6929ftCgQVn5DMnQnS0iUoqydlnJ3fdKZjkzuwa4P3w5HxgW9fZQYEGGQ8uoyGWpiRODS0nDhweJQRWYIlLM8lLnYGZD3H1h+PJA4JXw+QzgFjO7BNgMGAk8n4cQU5KJugsRkUKSrwrpi8xsFMElo7nALwHc/VUzmw68BrQA49y9NU8xioiUrbwkB3c/vJP3GgBdsRcRyaOybSEtIiKJKTmIiEgMJQcREYmh5CAiIjGUHEREJIaSQ0jdbouIrFdoHe/lhYYMFRFpTyUH1O22iEhHSg6o220RkY6UHFC32yIiHSk5oG63RUQ6UnJAA8qLiHSku5VC6nZbRGQ9lRxERCSGkoOIiMRQchARkRhKDiIiEkPJQUREYpi75zuGtJnZYmBevuPohoHAJ/kOIg/K8XOX42eG8vzcxfSZa919ULw3SiI5FCsza3L3+nzHkWvl+LnL8TNDeX7uUvnMuqwkIiIxlBxERCSGkkN+Tcl3AHlSjp+7HD8zlOfnLonPrDoHERGJoZKDiIjEUHIQEZEYSg4FwszOMDM3s4H5jiUXzOxPZvaGmb1kZveY2Ub5jilbzGwfM3vTzN4xs7PyHU+2mdkwM3vCzF43s1fN7Nf5jilXzKzSzF40s/vzHUu6lBwKgJkNA74HlNPApI8A27n7V4G3gAl5jicrzKwS+CuwL7AtcKiZbZvfqLKuBTjd3bcBvgmMK4PPHPFr4PV8B5EJSg6F4VLgTKBs7g5w94fdvSV8+RwwNJ/xZNHOwDvu/q67rwFuA0bnOaascveF7v5C+Hw5wcFy8/xGlX1mNhT4AXBtvmPJBCWHPDOzHwEfuvucfMeSR0cD/8h3EFmyOfBB1Ov5lMGBMsLM6oAdgf/kN5Kc+H8EJ3lt+Q4kEzQSXA6Y2aPApnHemgicDXw/txHlRmef293vC5eZSHAZojGXseWQxZlXFiVEM+sL3AWc4u7L8h1PNpnZ/sAid59lZrvnO55MUHLIAXffK958M9seGAHMMTMILq28YGY7u/tHOQwxKxJ97ggzOxLYH9jTS7fBzXxgWNTrocCCPMWSM2bWgyAxNLr73fmOJwd2A35kZvsB1cCGZjbN3Q/Lc1zdpkZwBcTM5gL17l4sPTp2m5ntA1wCfMfdF+c7nmwxsyqCCvc9gQ+B/wI/d/dX8xpYFllwpnMjsMTdT8l3PLkWlhzOcPf98x1LOlTnIPlyBbAB8IiZzTazq/MdUDaEle4nAjMJKmanl3JiCO0GHA7sEf62s8MzaikiKjmIiEgMlRxERCSGkoOIiMRQchARkRhKDiIiEkPJQUREYig5SN6Z2RcpLr97pnq9NLPzzOyMDG3rBjP7aTfXHRXvdk8z62Nmn5pZvw7z7zWzg1PY/mZmdmcXyyT8Xs1sbrn0GCwBJQeRwjAKiEkO7r4CeBg4IDIvTBT/BySVIM2syt0XuHu3EpeUJyUHKRjhmeuTZnZnONZDY9jaNjImwhtm9k/gx1Hr9DGzqWb237Af/dHh/KPM7D4zeygcS+F3UetMDOc9CmwdNX/LcPlZZvaMmX05nH+DmV1mZv82s3cjpQMLXGFmr5nZA8DgqG3tZGZPhduaaWZDwvlPmtmFZva8mb1lZt8ys57A74GfhQ3Gftbhq7kVOCTq9YHAQ+7ebGY7h3G9GD5uHfX57zCzvwMPm1mdmb0SvlcXfr4XwmnXqG1vaMH4Gq+Z2dVmFnOMMLPDwvhnm9nfLOiWXEqNu2vSlNcJ+CJ83B34nKD/oQrgWYIz5GqCnk1HEnRkNx24P1znj8Bh4fONCLqq6AMcBSwEBgC9gVeAemAn4GWgBtgQeIegqwOAx4CR4fNvAI+Hz28A7ghj2pagC24IktQjQCWwGfAZ8FOgB/BvYFC43M+AqeHzJ4GLw+f7AY+Gz48Crkjw/fQEFgEDwtcPAT8In28IVIXP9wLuitrefKB/+LoOeCV8XgNUh89HAk1R3/8qYIvwMz0C/DR8by4wENgG+DvQI5x/JXBEvv+GNGV+Usd7Umied/f5AGY2m+Cg9gXwnru/Hc6fBowNl/8+QYdnkXqDamB4+PwRd/80XOdugkQDcI+7N4fzZ4SPfYFdgTvCwgpAr6i47nX3NuA1M9sknPdt4FZ3bwUWmNnj4fytge0IugaB4EC7MGpbkY7oZoWfr1PuviaM86dmdhfBJaiHw7f7ATea2UiC3l57RK36iLsvibPJHsAVZjYKaAW2inrveXd/F8DMbiX4zqLrKvYkSLD/DT9bb4LEJSVGyUEKzeqo562s/xtN1M+LAT9x9zfbzTT7Rpx1PFw+3rYqgM/cfVQScUV3wx1vWwa86u67dLGt6M/XlVuBc8Jt3+fua8P5k4An3P1AC8ZOeDJqnRUJtnUq8DGwA8HnXhX1XrzvLJoBN7p7SY7cJ+upzkGKwRvACDPbMnx9aNR7M4GTouomdox673tm1t/MehNU6P4LeBo40Mx6m9kGwA8BPBhv4D0zOyjcjpnZDl3E9TRwiAXjBg8BvhvOfxMYZGa7hNvqYWZf6WJbywk6IkzkCYJLQOMIEkVEP4LeXiG4lJSMfsDCsCR0OEHJJmJnMxsR1jX8DPhnh3UfIyjBDAYIv9/aJPcrRUTJQQqeu68iuIz0QFghPS/q7UkEl0leCitcJ0W990/gZmA2wbX4Jg+Gr7w9Mg94Jmr5McAxZjYHeJWuh/O8B3iboA7jKuCpMN41BHUPF4bbmk1wyaozTwDbJqiQJjyQ30VQh/J01FsXAReY2b9of5DvzJXAkWb2HMElpegSxrPAZII6mvfCzxgdx2sEJZiHzewlgnqJIUnuV4qIemWVkmRmRxGMjXFivmMRKUYqOYiISAyVHEREJIZKDiIiEkPJQUREYig5iIhIDCUHERGJoeQgIiIx/j/FI9KfeyJ7eQAAAABJRU5ErkJggg==\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) + 5*(x**2) + 6*x + 4\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": 23, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 24, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 25, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "/home/jupyterlab/conda/envs/python/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": "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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", | |
| "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": 27, | |
| "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-6/(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": null, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [], | |
| "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": null, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [], | |
| "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": null, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [], | |
| "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": null, | |
| "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": null, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [], | |
| "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": null, | |
| "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": null, | |
| "metadata": {}, | |
| "outputs": [], | |
| "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 © 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", | |
| "language": "python", | |
| "name": "conda-env-python-py" | |
| }, | |
| "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.7" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment