{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"\n",
"
\n",
"\n",
"*This notebook contains an excerpt from the [Python Data Science Handbook](http://shop.oreilly.com/product/0636920034919.do) by Jake VanderPlas; the content is available [on GitHub](https://github.com/jakevdp/PythonDataScienceHandbook).*\n",
"\n",
"*The text is released under the [CC-BY-NC-ND license](https://creativecommons.org/licenses/by-nc-nd/3.0/us/legalcode), and code is released under the [MIT license](https://opensource.org/licenses/MIT). If you find this content useful, please consider supporting the work by [buying the book](http://shop.oreilly.com/product/0636920034919.do)!*"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"\n",
"< [In Depth: Naive Bayes Classification](05.05-Naive-Bayes.ipynb) | [Contents](Index.ipynb) | [In-Depth: Support Vector Machines](05.07-Support-Vector-Machines.ipynb) >\n",
"\n",
"
\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# In Depth: Linear Regression"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Just as naive Bayes (discussed earlier in [In Depth: Naive Bayes Classification](05.05-Naive-Bayes.ipynb)) is a good starting point for classification tasks, linear regression models are a good starting point for regression tasks.\n",
"Such models are popular because they can be fit very quickly, and are very interpretable.\n",
"You are probably familiar with the simplest form of a linear regression model (i.e., fitting a straight line to data) but such models can be extended to model more complicated data behavior.\n",
"\n",
"In this section we will start with a quick intuitive walk-through of the mathematics behind this well-known problem, before seeing how before moving on to see how linear models can be generalized to account for more complicated patterns in data.\n",
"\n",
"We begin with the standard imports:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns; sns.set()\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Simple Linear Regression\n",
"\n",
"We will start with the most familiar linear regression, a straight-line fit to data.\n",
"A straight-line fit is a model of the form\n",
"$$\n",
"y = ax + b\n",
"$$\n",
"where $a$ is commonly known as the *slope*, and $b$ is commonly known as the *intercept*.\n",
"\n",
"Consider the following data, which is scattered about a line with a slope of 2 and an intercept of -5:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rng = np.random.RandomState(1)\n",
"x = 10 * rng.rand(50)\n",
"y = 2 * x - 5 + rng.randn(50)\n",
"plt.scatter(x, y);"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can use Scikit-Learn's ``LinearRegression`` estimator to fit this data and construct the best-fit line:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAFVCAYAAAAg8ayaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VOXd9/HvTPaVBAg7DBDIggvIJi4gIEuCba0tVZTN\nVO1ifT0WrcRqLe7c5vbVPq/nLnqjvooQVGhdirYsgiAooCwKCJKENSxBCGRfSDIz5/kjgICBbMOc\nMzOf919OnDnndxHIN9c517l+NsMwDAEAAEuym10AAAC4NIIaAAALI6gBALAwghoAAAsjqAEAsDCC\nGgAACwtuyYecTqeeeOIJHT16VHV1dfrNb36jPn366PHHH5fdblffvn01a9YsT9cKAEDAaVFQf/jh\nh4qPj1dWVpbKysp0++23KyUlRY888ogGDx6sWbNmadWqVRozZoyn6wUAIKC06NJ3enq6Hn74YUmS\ny+VSUFCQvv32Ww0ePFiSNGLECG3cuNFzVQIAEKBaFNQRERGKjIxURUWFHn74Yc2YMUPnb3AWFRWl\n8vJyjxUJAECgavFismPHjmn69Om64447dNttt8lu//5QlZWVio2NbfQY7F4KAMDltege9cmTJ3Xf\nfffpz3/+s4YNGyZJSk1N1ebNmzVkyBCtW7fu3Ncvx2azqbAwcGfeCQkxjJ/xm12GKQJ57BLjZ/wx\nzXp/i4J67ty5Kisr0yuvvKI5c+bIZrPpySef1PPPP6+6ujolJiYqLS2tJYcGAADnsZndPSvQf6ti\n/Iw/EAXy2CXGz/ibN6NmwxMAACyMoAYAwMIIagAALIygBgDAwghqAAAsjKAGAMDCCGoAACyMoAYA\nwMIIagAALIygBgDAwghqAAAsjKAGAMDCCGoAACyMoAYAwMIIagAALIygBgDAwghqAAAsjKAGAMDC\nCGoAACyMoAYAwMIIagAALIygBgDAwghqAAAsjKAGAMDCCGoAACyMoAYAwMIIagAALIygBgDAwghq\nAAAsjKAGAMDCCGoAACyMoAYAwMIIagAALIygBgDAwghqAAAsjKAGAMDCCGoAACyMoAYAwMIIagAA\nLIygBgDAwghqAAAsjKAGAMDCCGoAACysVUG9fft2TZ06VZK0e/dujRgxQtOmTdO0adO0bNkyjxQI\nAPAPTpdbH28+rI3fFJhdik8JbukH33jjDS1ZskRRUVGSpJ07d+qXv/yl7r33Xk/VBgDwE/sLyjRv\n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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"model = LinearRegression(fit_intercept=True)\n",
"\n",
"model.fit(x[:, np.newaxis], y)\n",
"\n",
"xfit = np.linspace(0, 10, 1000)\n",
"yfit = model.predict(xfit[:, np.newaxis])\n",
"\n",
"plt.scatter(x, y)\n",
"plt.plot(xfit, yfit);"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The slope and intercept of the data are contained in the model's fit parameters, which in Scikit-Learn are always marked by a trailing underscore.\n",
"Here the relevant parameters are ``coef_`` and ``intercept_``:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model slope: 2.02720881036\n",
"Model intercept: -4.99857708555\n"
]
}
],
"source": [
"print(\"Model slope: \", model.coef_[0])\n",
"print(\"Model intercept:\", model.intercept_)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We see that the results are very close to the inputs, as we might hope."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The ``LinearRegression`` estimator is much more capable than this, however—in addition to simple straight-line fits, it can also handle multidimensional linear models of the form\n",
"$$\n",
"y = a_0 + a_1 x_1 + a_2 x_2 + \\cdots\n",
"$$\n",
"where there are multiple $x$ values.\n",
"Geometrically, this is akin to fitting a plane to points in three dimensions, or fitting a hyper-plane to points in higher dimensions.\n",
"\n",
"The multidimensional nature of such regressions makes them more difficult to visualize, but we can see one of these fits in action by building some example data, using NumPy's matrix multiplication operator:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.5\n",
"[ 1.5 -2. 1. ]\n"
]
}
],
"source": [
"rng = np.random.RandomState(1)\n",
"X = 10 * rng.rand(100, 3)\n",
"y = 0.5 + np.dot(X, [1.5, -2., 1.])\n",
"\n",
"model.fit(X, y)\n",
"print(model.intercept_)\n",
"print(model.coef_)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Here the $y$ data is constructed from three random $x$ values, and the linear regression recovers the coefficients used to construct the data.\n",
"\n",
"In this way, we can use the single ``LinearRegression`` estimator to fit lines, planes, or hyperplanes to our data.\n",
"It still appears that this approach would be limited to strictly linear relationships between variables, but it turns out we can relax this as well."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Basis Function Regression\n",
"\n",
"One trick you can use to adapt linear regression to nonlinear relationships between variables is to transform the data according to *basis functions*.\n",
"We have seen one version of this before, in the ``PolynomialRegression`` pipeline used in [Hyperparameters and Model Validation](05.03-Hyperparameters-and-Model-Validation.ipynb) and [Feature Engineering](05.04-Feature-Engineering.ipynb).\n",
"The idea is to take our multidimensional linear model:\n",
"$$\n",
"y = a_0 + a_1 x_1 + a_2 x_2 + a_3 x_3 + \\cdots\n",
"$$\n",
"and build the $x_1, x_2, x_3,$ and so on, from our single-dimensional input $x$.\n",
"That is, we let $x_n = f_n(x)$, where $f_n()$ is some function that transforms our data.\n",
"\n",
"For example, if $f_n(x) = x^n$, our model becomes a polynomial regression:\n",
"$$\n",
"y = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + \\cdots\n",
"$$\n",
"Notice that this is *still a linear model*—the linearity refers to the fact that the coefficients $a_n$ never multiply or divide each other.\n",
"What we have effectively done is taken our one-dimensional $x$ values and projected them into a higher dimension, so that a linear fit can fit more complicated relationships between $x$ and $y$."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Polynomial basis functions\n",
"\n",
"This polynomial projection is useful enough that it is built into Scikit-Learn, using the ``PolynomialFeatures`` transformer:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 2., 4., 8.],\n",
" [ 3., 9., 27.],\n",
" [ 4., 16., 64.]])"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.preprocessing import PolynomialFeatures\n",
"x = np.array([2, 3, 4])\n",
"poly = PolynomialFeatures(3, include_bias=False)\n",
"poly.fit_transform(x[:, None])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We see here that the transformer has converted our one-dimensional array into a three-dimensional array by taking the exponent of each value.\n",
"This new, higher-dimensional data representation can then be plugged into a linear regression.\n",
"\n",
"As we saw in [Feature Engineering](05.04-Feature-Engineering.ipynb), the cleanest way to accomplish this is to use a pipeline.\n",
"Let's make a 7th-degree polynomial model in this way:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn.pipeline import make_pipeline\n",
"poly_model = make_pipeline(PolynomialFeatures(7),\n",
" LinearRegression())"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"With this transform in place, we can use the linear model to fit much more complicated relationships between $x$ and $y$. \n",
"For example, here is a sine wave with noise:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAe0AAAFVCAYAAADCLbfjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcW9eZP/7P1cIqFgECsxiBMWCDN8D7bifO6tpxY7d2\nEpNJppk2bWbaJlN70s40zfSXuKWT6SzfJI2dzjghnTpxNhJnT0yceAWDsQ1mMZjNgNn3XdL9/SGE\ndwNC0tWVPu/Xq69XLVnSc4LRc89zz3mOIIqiCCIiInJ6CqkDICIiovFh0iYiIpIJJm0iIiKZYNIm\nIiKSCSZtIiIimWDSJiIikolJJe3Tp09j+/bt1z2+d+9erF+/Hunp6UhPT0dVVdVkPoaIiIgAqKx9\n4auvvoqsrCz4+vpe91xRUREyMjKQlJQ0qeCIiIjoMqtn2nq9Hi+++OINnysqKsIrr7yCBx54ALt3\n77Y6OCIiIrrM6qS9bt06KJXKGz5377334tlnn8Xrr7+OvLw8HDp0yOoAiYiIyMwuC9EefvhhBAYG\nQqVSYdWqVTh37tyYr2E3VSIioluz+p62xbXJtqenB+vXr8cnn3wCLy8vHD9+HJs3bx7zfQRBQHNz\n92TDkS2dzo/jd9Pxu/PYAY6f43ff8et0fhN+zaSTtiAIAIADBw6gv78fW7ZswZNPPont27fD09MT\nS5YswcqVKyf7MURERG5PcKZTvtz1agtw76tNwL3H785jBzh+jt99x2/NTJvNVYiIiGSCSZuIiEgm\nmLSJiIhkgkmbiIhIJpi0iYiIZIJJm4iISCaYtImIiGSCSZuIiEgmmLSJiIhkgkmbiIhIJpi0iYiI\nZIJJm4iISCaYtImIiGSCSZuIiEgmmLSJiIhkgkmbiIhIJpi0iYiIZIJJm4iISCaYtImIiGSCSZuI\niEgmmLSJiIhkgkmbiIhIJpi0iYiIZIJJm4iISCaYtImIiGSCSZuIiEgmmLSJiIhkgkmbiIhIJpi0\niYiIZIJJm4iISCaYtImIiGSCSZuIiEgmVFIHQO6jra0DO3dmo7raH3p9JzIy1kKrDZQ6LCIi2WDS\nJofZuTMbWVnbAQgoKBABZGLPnk1Sh0VEJBssj5PDVFf7AxBG/iSM/JmIiMaLSZscRq/vBCCO/EmE\nXt8lZThERLLD8jg5TEbGWgCZI/e0u5CRsUbqkIiIZIVJmxxGqw3kPWwioklgeZyIiEgmmLSJiIhk\n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\nIiKZYNImIiKSCSZtIiIimWDSJiIikgkmbSIiIplg0iYiIpIJJm0iIiKZYNImIiKSCSZtIiIimWDS\nJiIikgkmbSIiIplg0iYiIpIJJm0iIiKZYNImIiKSCSZtIiIimWDSJiIikgkmbSIiIplg0iYiIpIJ\nJm0iIiKZYNImIiKSCSZtIiIimWDSJiIikgkmbSIiIplg0iYiIpIJJm0iIiKZYNImIiKSCdVkXvzF\nF1/g008/xQsvvHDdc8899xzy8/Ph6+sLAHjppZeg0Wgm83FERERuzeqk/dxzz+HIkSOYOXPmDZ8v\nKirCn//8ZwQGBlodHBEREV1mdXk8NTUVv/nNb274nCiKqK6uxq9//Wts27YN77zzjrUfQ0RERCPG\nnGm//fbbeO211656bNeuXbj77ruRk5Nzw9f09fVh+/bteOSRR2AwGJCeno7Zs2cjISHBNlETERG5\nIUEURdHaF+fk5ODNN9+87p62yWRCf3//6P3sP/zhD0hMTMSGDRsmFy0REZEbs8vq8crKSmzbtg2i\nKGJ4eBh5eXlITk62x0cRERG5jUmtHr/W3r17odfrsWbNGtx3333YsmUL1Go1Nm3ahLi4OFt+FBER\nkduZVHmciIiIHIfNVYiIiGSCSZuIiEgmmLSJiIhkgkmbiIhIJpwmaff09OBHP/oRtm/fjq1bt6Kg\noEDqkOxOFEU888wz2Lp1K9LT01FbWyt1SA5lMBiwY8cOPPjgg/je976HgwcPSh2SJFpbW7F69WpU\nVlZKHYrD7d69G1u3bsX999/vVp0TDQYDnnrqKWzduhUPPfSQW/3sT58+je3btwMAampq8MADD+Ch\nhx7Cs88+K3FkjnHl+IuLi/Hggw8iPT0dP/jBD9DW1jbm650maf/v//4vli5diszMTOzatQv/+q//\nKnVIdvfll19iaGgI+/btw1NPPYVdu3ZJHZJDffDBB9BqtfjLX/6CPXv24Le//a3UITmcwWDAM888\nAy8vL6lDcbicnBycOnUK+/btQ2ZmJhoaGqQOyWEOHToEk8mEffv24cc//jH++Mc/Sh2SQ7z66qv4\n53/+ZwwPDwMwd9d88skn8cYbb8BkMuHLL7+UOEL7unb8zz//PH7961/j9ddfx7p167B79+4x38Np\nkvYjjzyCrVu3AjB/kXl6ekockf3l5eVhxYoVAIC5c+eisLBQ4ogc6+6778ZPf/pTAOYueiqVTdsG\nyMLvf/97bNu2DaGhoVKH4nCHDx9GQkICfvzjH+Pxxx/HmjVrpA7JYWJiYmA0GiGKIrq7u6FWq6UO\nyYhDGt4AAAMPSURBVCH0ej1efPHF0T8XFRVh/vz5AICVK1fi2LFjUoXmENeO/49//CMSExMBjD/v\nSfItebN+5rNmzUJzczN27NiBX/3qV1KE5lA9PT3w8/Mb/bNKpYLJZIJC4TTXUnbl7e0NwPzf4ac/\n/Sl+/vOfSxyRY7377rsIDg7GsmXL8Kc//UnqcByuvb0d9fX1eOWVV1BbW4vHH38cn376qdRhOYSv\nry8uXryIu+66Cx0dHXjllVekDskh1q1bh7q6utE/X9kmxNfXF93d3VKE5TDXjj8kJAQAkJ+fj//7\nv//DG2+8MeZ7SJK0N2/ejM2bN1/3eGlpKf7xH/8RO3fuHL36cmUajQa9vb2jf3anhG3R0NCAJ554\nAg899BDuueceqcNxqHfffReCIODIkSMoKSnBzp078fLLLyM4OFjq0BwiMDAQcXFxUKlUiI2Nhaen\nJ9ra2hAUFCR1aHa3d+9erFixAj//+c/R2NiI9PR0fPjhh/Dw8JA6NIe68vuut7cX/v7+EkYjjY8/\n/hivvPIKdu/eDa1WO+bfd5oMUV5ejp/97Gf4t3/7NyxfvlzqcBwiNTUVhw4dAgAUFBS43SloLS0t\n+Nu//Vv84he/wKZNm6QOx+HeeOMNZGZmIjMzEzNmzMDvf/97t0nYAJCWloZvv/0WANDY2IiBgYFx\nfWm5goCAAGg0GgCAn58fDAYDTCaTxFE5XlJSEnJzcwEA33zzDdLS0iSOyLGysrLwl7/8BZmZmYiM\njBzXa5zmJuK///u/Y2hoCM899xxEUYS/v/9VtX9XtG7dOhw5cmT0Xr67LUR75ZVX0NXVhZdeegkv\nvvgiBEHAq6++6nazDQAQBEHqEBxu9erVOHnyJDZv3jy6k8Jd/js8/PDD+OUvf4kHH3xwdCW5Oy5G\n3LlzJ/7lX/4Fw8PDiIuLw1133SV1SA5jMpnw/PPPIyIiAj/5yU8gCAIWLlyIJ5544pavY+9xIiIi\nmXCa8jgRERHdGpM2ERGRTDBpExERyQSTNhERkUwwaRMREckEkzYREZFMMGkTERHJxP8P44QmI47k\n5koAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rng = np.random.RandomState(1)\n",
"x = 10 * rng.rand(50)\n",
"y = np.sin(x) + 0.1 * rng.randn(50)\n",
"\n",
"poly_model.fit(x[:, np.newaxis], y)\n",
"yfit = poly_model.predict(xfit[:, np.newaxis])\n",
"\n",
"plt.scatter(x, y)\n",
"plt.plot(xfit, yfit);"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Our linear model, through the use of 7th-order polynomial basis functions, can provide an excellent fit to this non-linear data!"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Gaussian basis functions\n",
"\n",
"Of course, other basis functions are possible.\n",
"For example, one useful pattern is to fit a model that is not a sum of polynomial bases, but a sum of Gaussian bases.\n",
"The result might look something like the following figure:"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"\n",
"[figure source in Appendix](#Gaussian-Basis)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The shaded regions in the plot are the scaled basis functions, and when added together they reproduce the smooth curve through the data.\n",
"These Gaussian basis functions are not built into Scikit-Learn, but we can write a custom transformer that will create them, as shown here and illustrated in the following figure (Scikit-Learn transformers are implemented as Python classes; reading Scikit-Learn's source is a good way to see how they can be created):"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\nC2FzAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.base import BaseEstimator, TransformerMixin\n",
"\n",
"class GaussianFeatures(BaseEstimator, TransformerMixin):\n",
" \"\"\"Uniformly spaced Gaussian features for one-dimensional input\"\"\"\n",
" \n",
" def __init__(self, N, width_factor=2.0):\n",
" self.N = N\n",
" self.width_factor = width_factor\n",
" \n",
" @staticmethod\n",
" def _gauss_basis(x, y, width, axis=None):\n",
" arg = (x - y) / width\n",
" return np.exp(-0.5 * np.sum(arg ** 2, axis))\n",
" \n",
" def fit(self, X, y=None):\n",
" # create N centers spread along the data range\n",
" self.centers_ = np.linspace(X.min(), X.max(), self.N)\n",
" self.width_ = self.width_factor * (self.centers_[1] - self.centers_[0])\n",
" return self\n",
" \n",
" def transform(self, X):\n",
" return self._gauss_basis(X[:, :, np.newaxis], self.centers_,\n",
" self.width_, axis=1)\n",
" \n",
"gauss_model = make_pipeline(GaussianFeatures(20),\n",
" LinearRegression())\n",
"gauss_model.fit(x[:, np.newaxis], y)\n",
"yfit = gauss_model.predict(xfit[:, np.newaxis])\n",
"\n",
"plt.scatter(x, y)\n",
"plt.plot(xfit, yfit)\n",
"plt.xlim(0, 10);"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We put this example here just to make clear that there is nothing magic about polynomial basis functions: if you have some sort of intuition into the generating process of your data that makes you think one basis or another might be appropriate, you can use them as well."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Regularization\n",
"\n",
"The introduction of basis functions into our linear regression makes the model much more flexible, but it also can very quickly lead to over-fitting (refer back to [Hyperparameters and Model Validation](05.03-Hyperparameters-and-Model-Validation.ipynb) for a discussion of this).\n",
"For example, if we choose too many Gaussian basis functions, we end up with results that don't look so good:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model = make_pipeline(GaussianFeatures(30),\n",
" LinearRegression())\n",
"model.fit(x[:, np.newaxis], y)\n",
"\n",
"plt.scatter(x, y)\n",
"plt.plot(xfit, model.predict(xfit[:, np.newaxis]))\n",
"\n",
"plt.xlim(0, 10)\n",
"plt.ylim(-1.5, 1.5);"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"With the data projected to the 30-dimensional basis, the model has far too much flexibility and goes to extreme values between locations where it is constrained by data.\n",
"We can see the reason for this if we plot the coefficients of the Gaussian bases with respect to their locations:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def basis_plot(model, title=None):\n",
" fig, ax = plt.subplots(2, sharex=True)\n",
" model.fit(x[:, np.newaxis], y)\n",
" ax[0].scatter(x, y)\n",
" ax[0].plot(xfit, model.predict(xfit[:, np.newaxis]))\n",
" ax[0].set(xlabel='x', ylabel='y', ylim=(-1.5, 1.5))\n",
" \n",
" if title:\n",
" ax[0].set_title(title)\n",
"\n",
" ax[1].plot(model.steps[0][1].centers_,\n",
" model.steps[1][1].coef_)\n",
" ax[1].set(xlabel='basis location',\n",
" ylabel='coefficient',\n",
" xlim=(0, 10))\n",
" \n",
"model = make_pipeline(GaussianFeatures(30), LinearRegression())\n",
"basis_plot(model)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The lower panel of this figure shows the amplitude of the basis function at each location.\n",
"This is typical over-fitting behavior when basis functions overlap: the coefficients of adjacent basis functions blow up and cancel each other out.\n",
"We know that such behavior is problematic, and it would be nice if we could limit such spikes expliticly in the model by penalizing large values of the model parameters.\n",
"Such a penalty is known as *regularization*, and comes in several forms."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Ridge regression ($L_2$ Regularization)\n",
"\n",
"Perhaps the most common form of regularization is known as *ridge regression* or $L_2$ *regularization*, sometimes also called *Tikhonov regularization*.\n",
"This proceeds by penalizing the sum of squares (2-norms) of the model coefficients; in this case, the penalty on the model fit would be \n",
"$$\n",
"P = \\alpha\\sum_{n=1}^N \\theta_n^2\n",
"$$\n",
"where $\\alpha$ is a free parameter that controls the strength of the penalty.\n",
"This type of penalized model is built into Scikit-Learn with the ``Ridge`` estimator:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.linear_model import Ridge\n",
"model = make_pipeline(GaussianFeatures(30), Ridge(alpha=0.1))\n",
"basis_plot(model, title='Ridge Regression')"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The $\\alpha$ parameter is essentially a knob controlling the complexity of the resulting model.\n",
"In the limit $\\alpha \\to 0$, we recover the standard linear regression result; in the limit $\\alpha \\to \\infty$, all model responses will be suppressed.\n",
"One advantage of ridge regression in particular is that it can be computed very efficiently—at hardly more computational cost than the original linear regression model."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Lasso regression ($L_1$ regularization)\n",
"\n",
"Another very common type of regularization is known as lasso, and involves penalizing the sum of absolute values (1-norms) of regression coefficients:\n",
"$$\n",
"P = \\alpha\\sum_{n=1}^N |\\theta_n|\n",
"$$\n",
"Though this is conceptually very similar to ridge regression, the results can differ surprisingly: for example, due to geometric reasons lasso regression tends to favor *sparse models* where possible: that is, it preferentially sets model coefficients to exactly zero.\n",
"\n",
"We can see this behavior in duplicating the ridge regression figure, but using L1-normalized coefficients:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\nBfu69H6OtHaZNdAWVTbT1a0y2939tcL83Vhxx0T+/k0Bf/r8FK+lJuAoM3wuBHMbcPxILpczbdo0\n0tLSiI6OxtXVlWnTphEdHU1iYqKp+mjRtAHfyEP6vW0YdsFN1tVUuomRPgY5nqEkRvrg5ebAgZOV\nNCksLw2oIBiSNuCbaGdKiIUM62uG880xf9+fpJhxzE8IoLK+jb/uzh+Rqb51mjA6d+4cixcv5qmn\nnqK2tpbbb7+dgwcPGrtvFq93wV4zXlf3yRubduGeAfbjl9cqKK1RMGW8Jy4GGC0wJBuplDtnBKPs\nUfHD8bLBXyAIVqyoshm5ox3eRigL2x9LWalfUNoIWE7AB3jw9nAigz3IvVDH1weKzN0dg9Mp4P/3\nf/83H330Ea6urvj4+LB9+3befvttY/fN4l1p7qSlrdvo8/camgU3hph/s6TFev25dYofbs72ZJyo\nMHrRIEEwl5a2LmobOwgZa9iy2gMJNvBIoT66lSouVDQR4C23qBsOG6mUJ++Nxtvdgd2HijleMLKq\neOoU8FUqFd7e3trvw8PDjdYha2KsCnk34+FimAU3KpWaw/nVOMpsiQ33NFDvDMvO1oaFiYF0dPXw\n44kKc3dHEAyqqbWLA6cu89fdvYnGQk0wJajh4SLDxcnOrEP6ly430a1UMcmC7u415I52PHN/DDI7\nGz74Zz5lNQpzd8lgdAr4fn5+ZGRkIJFIaG5u5r333mPcuHF6NahWq1m3bh0pKSmkpqZSVtZ3yHbv\n3r0sWbKElJQUPvvsM73aMJViEyTcuV6onysNLZ3DmtsuKG2goaWTaZN8LDq71G1x/jjJbPnXsTI6\nu3rM3R1B0Jtaraa0uoXdh4r5/T+O8+KfD/L3bwrIK7qC3xgnk66j0ZTcrmvqQNFuntGzc1eH8ycF\nm3/BXn8CvOU89ovJdHWr+PMXp2hp6zJ3lwxCp2WIv/vd73jzzTeprKxkwYIFTJ8+nd/97nd6NZie\nnk5XVxdpaWmcPHmSjRs3agvlKJVK3nrrLXbu3IlMJmPZsmXMmzdPWzLX0mgCfrAJA36Inwu5F+oo\nrmohNly/VJSWPpyv4SizZd7UAHYfKmb/ycssmBZo7i4Jgs66lT2cLWnk5MU6Tl2oo7659yJdKpEw\nMcidmDAv4iZ44WeGLbHBvi7kXbpCSXULUWaoXVFQ2oAEy5q/v97Uid4svjWUrw8W8d5Xebz4YBy2\n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\nKaSmplJWVmbuLo04SqWSl19+meXLl7N06VL27t1r7i6NWPX19dx2220UFRWZuysj0v/+7/+SkpLC\n/fffzxdffGHu7oxISqWSl156iZSUFB5++GHxXjawkydPsmLFCgBKS0t56KGHePjhh1m/fr1Or7fq\ngJ+enk5XVxdpaWm89NJLbNy40dxdGnF27dqFh4cHO3bs4K9//SsbNmwwd5dGJKVSybp163BwcDB3\nV0ako0ePkpOTQ1paGtu2baOystLcXRqR9u3bh0qlIi0tjaeeeop33nnH3F0aMT744ANee+01uru7\nAdi4cSMvvvgi27dvR6VSkZ6ePugxrDrgZ2dnk5SUBEBsbCx5eXlm7tHIc+edd/Lcc88BoFKpsLU1\neb2lUWHTpk0sW7YMHx8fc3dlRDp48CARERE89dRTPPnkk8ydO9fcXRqRQkJC6OnpQa1W09LSgp2d\nnbm7NGIEBwezZcsW7fdnzpzR5rHpL019f6z601uhUPTJ1Gdra4tKpUIqterrGIvi6OgI9J7r5557\njhdeeMHMPRp5du7ciaenJ7Nnz+Yvf/mLubszIjU0NHD58mXef/99ysrKePLJJ/nuu+/M3a0Rx9nZ\nmfLychYtWkRjYyPvv/++ubs0YixYsICKigrt99fuqHd2dqalpWXQY1h1ZJTL5do0vYAI9kZSWVnJ\nypUrue+++7jrrrvM3Z0RZ+fOnWRmZrJixQoKCgpYvXo19fX15u7WiOLu7k5SUhK2traEhoYik8m4\ncuWKubs14mzdupWkpCS+//57du3axerVq+nq6jJ3t0aka2Nda2srrq6ug7/GmB0ytmvT9Obm5hIR\nEWHmHo08dXV1PProo6xatYr77rvP3N0ZkbZv3862bdvYtm0bkyZNYtOmTXh6epq7WyPK1KlTOXDg\nAADV1dV0dHSIKpxG4Obmpi2O5uLiglKpRKVSmblXI9PkyZM5duwYAPv372fq1KmDvsaqh/QXLFhA\nZmYmKSkpAGLRnhG8//77NDc38+6777JlyxYkEgkffPAB9vb25u7aiCSRSMzdhRHptttu4/jx4yxZ\nskS7u0eca8NbuXIlr7zyCsuXL9eu2BcLUY1j9erVvP7663R3dxMWFsaiRYsGfY1IrSsIgiAIo4BV\nD+kLgiAIgqAbEfAFQRAEYRQQAV8QBEEQRgER8AVBEARhFBABXxAEQRBGARHwBUEQBGEUEAFfEKzU\n0aNHtZWzhiMtLY1PPvlEp+euWbOGr776athtapSXl/Pqq68CkJeXx+uvv26wYwuC0JdVJ94RhNHO\nEMljNImrzKGiokJb1jo6Opro6Giz9UUQRjoR8AXBijU0NPDYY49RXV1NXFwca9euxc7Oju3bt7Nr\n1y7a29uRSqW88847jB8/nk2bNpGVlYVUKmXevHn85je/YfPmzQA88cQTvPLKK1y4cAGAZcuW8cAD\nD9y07S+++IKtW7cikUiIiopi7dq1ODo6snv3bv7yl78glUqJjo7m97//PXV1dbz66qsoFApqamr4\nxS9+wYsvvsibb75JeXk5GzZs4I477uDPf/4z27Zto6ioiLVr19LU1ISTkxOvvfYa0dHRrFmzBrlc\nzpkzZ6iuruY3v/kNv/zlL01yrgXB2okhfUGwYuXl5axbt47du3ejUChIS0tDoVCwd+9etm/fzu7d\nu5k3bx4fffQRly9f5sCBA3z11VekpaVRUlLSp7BJTk4OTU1N7Ny5k7/97W+cOHHipu2eP3+e999/\nnx07drBr1y4cHR3ZvHkz1dXVvPXWW/z9739n9+7dqFQqfvrpJ7755ht+8YtfkJaWxq5du9ixYweN\njY3aQK4ZyteMWLz88susXLmSXbt2sWbNGp599lltHfDq6mo++ugj3nvvPTZt2mTEsysII4u4wxcE\nKzZt2jQCAwMBuOeee/jyyy9ZsWIFf/jDH9izZw/FxcUcOHCAyMhIfH19cXBwYNmyZcydO5fnn3++\nT02ECRMmUFxczKOPPsqcOXNYtWrVTds9duwYt99+u7ZC19KlS3nllVeIiYlh6tSp+Pj4APQJyEeO\nHOFvf/sbhYWFKJVK2tvb+z12W1sbpaWlzJ8/H4DY2Fjc3d0pKioCYPbs2QBERETQ3Nys76kThFFH\n3OELghWzsbHRfq1Wq7G1taWqqooHH3yQlpYWkpOTue+++1Cr1djY2PDpp5/y/PPP09jYyNKlSykp\nKdG+3t3dnd27d5OamkpRURH33nsvCoWi33ZVKhXXl+Ho6enBzs6uz+NXrlzhypUrvPXWW2zfvp2A\ngACefPJJ3N3db3j9QMdWqVT09PQAIJPJhnaSBEEARMAXBKuWnZ1NVVUVKpWKr776ilmzZnH69GmC\ng4NZuXIlMTEx7N+/H5VKxdmzZ3n44YeZNm0aL7/8MhMmTNDeNQPs3buXVatWMWfOHF599VWcnZ2p\nrKzst93ExEQyMjK0d9iffvopM2bMIDo6mlOnTlFfXw/0VrD88ccfycrK4tFHH2XhwoVcvnyZmpoa\nenp6sLGx0QZyDblcTlBQEOnp6UBv6eu6ujomTJhwQz9E7S9B0J0Y0hcEKzZhwgReeeUVamtrmT59\nOkuWLKG9vZ2PP/6Yu+++G5lMRkxMDIWFhURGRhIXF8fdd9+No6MjUVFRJCcnk5eXB8CcOXP4/vvv\nta9buHBhv0EWYOLEifzHf/wHy5cvp6enh6ioKNavX4+TkxOvvvoqjzzyCCqViltuuYUlS5bg5OTE\nqlWrcHV1xcvLi+joaMrLy4mMjKS5uZnVq1dz//33a4//9ttvs27dOv74xz8ik8nYsmULtrY3flyJ\nEreCoDtRHlcQBEEQRgExpC8IgiAIo4AI+IIgCIIwCoiALwiCIAijgAj4giAIgjAKiIAvCIIgCKOA\nCPiCIAiCMAqIgC8IgiAIo4AI+IIgCIIwCvx/LtUSu+NQwFoAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.linear_model import Lasso\n",
"model = make_pipeline(GaussianFeatures(30), Lasso(alpha=0.001))\n",
"basis_plot(model, title='Lasso Regression')"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"With the lasso regression penalty, the majority of the coefficients are exactly zero, with the functional behavior being modeled by a small subset of the available basis functions.\n",
"As with ridge regularization, the $\\alpha$ parameter tunes the strength of the penalty, and should be determined via, for example, cross-validation (refer back to [Hyperparameters and Model Validation](05.03-Hyperparameters-and-Model-Validation.ipynb) for a discussion of this)."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Example: Predicting Bicycle Traffic"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"source": [
"As an example, let's take a look at whether we can predict the number of bicycle trips across Seattle's Fremont Bridge based on weather, season, and other factors.\n",
"We have seen this data already in [Working With Time Series](03.11-Working-with-Time-Series.ipynb).\n",
"\n",
"In this section, we will join the bike data with another dataset, and try to determine the extent to which weather and seasonal factors—temperature, precipitation, and daylight hours—affect the volume of bicycle traffic through this corridor.\n",
"Fortunately, the NOAA makes available their daily [weather station data](http://www.ncdc.noaa.gov/cdo-web/search?datasetid=GHCND) (I used station ID USW00024233) and we can easily use Pandas to join the two data sources.\n",
"We will perform a simple linear regression to relate weather and other information to bicycle counts, in order to estimate how a change in any one of these parameters affects the number of riders on a given day.\n",
"\n",
"In particular, this is an example of how the tools of Scikit-Learn can be used in a statistical modeling framework, in which the parameters of the model are assumed to have interpretable meaning.\n",
"As discussed previously, this is not a standard approach within machine learning, but such interpretation is possible for some models.\n",
"\n",
"Let's start by loading the two datasets, indexing by date:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# !curl -o FremontBridge.csv https://data.seattle.gov/api/views/65db-xm6k/rows.csv?accessType=DOWNLOAD"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"counts = pd.read_csv('FremontBridge.csv', index_col='Date', parse_dates=True)\n",
"weather = pd.read_csv('data/BicycleWeather.csv', index_col='DATE', parse_dates=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Next we will compute the total daily bicycle traffic, and put this in its own dataframe:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"daily = counts.resample('d').sum()\n",
"daily['Total'] = daily.sum(axis=1)\n",
"daily = daily[['Total']] # remove other columns"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We saw previously that the patterns of use generally vary from day to day; let's account for this in our data by adding binary columns that indicate the day of the week:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']\n",
"for i in range(7):\n",
" daily[days[i]] = (daily.index.dayofweek == i).astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Similarly, we might expect riders to behave differently on holidays; let's add an indicator of this as well:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from pandas.tseries.holiday import USFederalHolidayCalendar\n",
"cal = USFederalHolidayCalendar()\n",
"holidays = cal.holidays('2012', '2016')\n",
"daily = daily.join(pd.Series(1, index=holidays, name='holiday'))\n",
"daily['holiday'].fillna(0, inplace=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We also might suspect that the hours of daylight would affect how many people ride; let's use the standard astronomical calculation to add this information:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"(8, 17)"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def hours_of_daylight(date, axis=23.44, latitude=47.61):\n",
" \"\"\"Compute the hours of daylight for the given date\"\"\"\n",
" days = (date - pd.datetime(2000, 12, 21)).days\n",
" m = (1. - np.tan(np.radians(latitude))\n",
" * np.tan(np.radians(axis) * np.cos(days * 2 * np.pi / 365.25)))\n",
" return 24. * np.degrees(np.arccos(1 - np.clip(m, 0, 2))) / 180.\n",
"\n",
"daily['daylight_hrs'] = list(map(hours_of_daylight, daily.index))\n",
"daily[['daylight_hrs']].plot()\n",
"plt.ylim(8, 17)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can also add the average temperature and total precipitation to the data.\n",
"In addition to the inches of precipitation, let's add a flag that indicates whether a day is dry (has zero precipitation):"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# temperatures are in 1/10 deg C; convert to C\n",
"weather['TMIN'] /= 10\n",
"weather['TMAX'] /= 10\n",
"weather['Temp (C)'] = 0.5 * (weather['TMIN'] + weather['TMAX'])\n",
"\n",
"# precip is in 1/10 mm; convert to inches\n",
"weather['PRCP'] /= 254\n",
"weather['dry day'] = (weather['PRCP'] == 0).astype(int)\n",
"\n",
"daily = daily.join(weather[['PRCP', 'Temp (C)', 'dry day']])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Finally, let's add a counter that increases from day 1, and measures how many years have passed.\n",
"This will let us measure any observed annual increase or decrease in daily crossings:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"daily['annual'] = (daily.index - daily.index[0]).days / 365."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Now our data is in order, and we can take a look at it:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Total | \n",
" Mon | \n",
" Tue | \n",
" Wed | \n",
" Thu | \n",
" Fri | \n",
" Sat | \n",
" Sun | \n",
" holiday | \n",
" daylight_hrs | \n",
" PRCP | \n",
" Temp (C) | \n",
" dry day | \n",
" annual | \n",
"
\n",
" \n",
" Date | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2012-10-03 | \n",
" 3521.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 11.277359 | \n",
" 0.0 | \n",
" 13.35 | \n",
" 1.0 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 2012-10-04 | \n",
" 3475.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 11.219142 | \n",
" 0.0 | \n",
" 13.60 | \n",
" 1.0 | \n",
" 0.002740 | \n",
"
\n",
" \n",
" 2012-10-05 | \n",
" 3148.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 11.161038 | \n",
" 0.0 | \n",
" 15.30 | \n",
" 1.0 | \n",
" 0.005479 | \n",
"
\n",
" \n",
" 2012-10-06 | \n",
" 2006.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 11.103056 | \n",
" 0.0 | \n",
" 15.85 | \n",
" 1.0 | \n",
" 0.008219 | \n",
"
\n",
" \n",
" 2012-10-07 | \n",
" 2142.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 11.045208 | \n",
" 0.0 | \n",
" 15.85 | \n",
" 1.0 | \n",
" 0.010959 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Total Mon Tue Wed Thu Fri Sat Sun holiday daylight_hrs \\\n",
"Date \n",
"2012-10-03 3521.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 11.277359 \n",
"2012-10-04 3475.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 11.219142 \n",
"2012-10-05 3148.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 11.161038 \n",
"2012-10-06 2006.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 11.103056 \n",
"2012-10-07 2142.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 11.045208 \n",
"\n",
" PRCP Temp (C) dry day annual \n",
"Date \n",
"2012-10-03 0.0 13.35 1.0 0.000000 \n",
"2012-10-04 0.0 13.60 1.0 0.002740 \n",
"2012-10-05 0.0 15.30 1.0 0.005479 \n",
"2012-10-06 0.0 15.85 1.0 0.008219 \n",
"2012-10-07 0.0 15.85 1.0 0.010959 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"daily.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"With this in place, we can choose the columns to use, and fit a linear regression model to our data.\n",
"We will set ``fit_intercept = False``, because the daily flags essentially operate as their own day-specific intercepts:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# Drop any rows with null values\n",
"daily.dropna(axis=0, how='any', inplace=True)\n",
"\n",
"column_names = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'holiday',\n",
" 'daylight_hrs', 'PRCP', 'dry day', 'Temp (C)', 'annual']\n",
"X = daily[column_names]\n",
"y = daily['Total']\n",
"\n",
"model = LinearRegression(fit_intercept=False)\n",
"model.fit(X, y)\n",
"daily['predicted'] = model.predict(X)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Finally, we can compare the total and predicted bicycle traffic visually:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\nfj0AAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily[['Total', 'predicted']].plot(alpha=0.5);"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"It is evident that we have missed some key features, especially during the summer time.\n",
"Either our features are not complete (i.e., people decide whether to ride to work based on more than just these) or there are some nonlinear relationships that we have failed to take into account (e.g., perhaps people ride less at both high and low temperatures).\n",
"Nevertheless, our rough approximation is enough to give us some insights, and we can take a look at the coefficients of the linear model to estimate how much each feature contributes to the daily bicycle count:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Mon 504.882756\n",
"Tue 610.233936\n",
"Wed 592.673642\n",
"Thu 482.358115\n",
"Fri 177.980345\n",
"Sat -1103.301710\n",
"Sun -1133.567246\n",
"holiday -1187.401381\n",
"daylight_hrs 128.851511\n",
"PRCP -664.834882\n",
"dry day 547.698592\n",
"Temp (C) 65.162791\n",
"annual 26.942713\n",
"dtype: float64"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"params = pd.Series(model.coef_, index=X.columns)\n",
"params"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"These numbers are difficult to interpret without some measure of their uncertainty.\n",
"We can compute these uncertainties quickly using bootstrap resamplings of the data:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn.utils import resample\n",
"np.random.seed(1)\n",
"err = np.std([model.fit(*resample(X, y)).coef_\n",
" for i in range(1000)], 0)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"With these errors estimated, let's again look at the results:"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" effect error\n",
"Mon 505.0 86.0\n",
"Tue 610.0 83.0\n",
"Wed 593.0 83.0\n",
"Thu 482.0 85.0\n",
"Fri 178.0 81.0\n",
"Sat -1103.0 80.0\n",
"Sun -1134.0 83.0\n",
"holiday -1187.0 163.0\n",
"daylight_hrs 129.0 9.0\n",
"PRCP -665.0 62.0\n",
"dry day 548.0 33.0\n",
"Temp (C) 65.0 4.0\n",
"annual 27.0 18.0\n"
]
}
],
"source": [
"print(pd.DataFrame({'effect': params.round(0),\n",
" 'error': err.round(0)}))"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We first see that there is a relatively stable trend in the weekly baseline: there are many more riders on weekdays than on weekends and holidays.\n",
"We see that for each additional hour of daylight, 129 ± 9 more people choose to ride; a temperature increase of one degree Celsius encourages 65 ± 4 people to grab their bicycle; a dry day means an average of 548 ± 33 more riders, and each inch of precipitation means 665 ± 62 more people leave their bike at home.\n",
"Once all these effects are accounted for, we see a modest increase of 27 ± 18 new daily riders each year.\n",
"\n",
"Our model is almost certainly missing some relevant information. For example, nonlinear effects (such as effects of precipitation *and* cold temperature) and nonlinear trends within each variable (such as disinclination to ride at very cold and very hot temperatures) cannot be accounted for in this model.\n",
"Additionally, we have thrown away some of the finer-grained information (such as the difference between a rainy morning and a rainy afternoon), and we have ignored correlations between days (such as the possible effect of a rainy Tuesday on Wednesday's numbers, or the effect of an unexpected sunny day after a streak of rainy days).\n",
"These are all potentially interesting effects, and you now have the tools to begin exploring them if you wish!"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"\n",
"< [In Depth: Naive Bayes Classification](05.05-Naive-Bayes.ipynb) | [Contents](Index.ipynb) | [In-Depth: Support Vector Machines](05.07-Support-Vector-Machines.ipynb) >\n",
"\n",
"
\n"
]
}
],
"metadata": {
"anaconda-cloud": {},
"jupytext": {
"formats": "ipynb,md"
},
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}