{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simple Linear Regression with NumPy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In school, students are taught to draw lines like the following.\n", "\n", "$$ y = 2 x + 1$$\n", "\n", "They're taught to pick two values for $x$ and calculate the corresponding values for $y$ using the equation.\n", "Then they draw a set of axes, plot the points, and then draw a line extending through the two dots on their axes." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import matplotlib.\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Draw some axes.\n", "plt.plot([-1, 10], [0, 0], 'k-')\n", "plt.plot([0, 0], [-1, 10], 'k-')\n", "\n", "# Plot the red, blue and green lines.\n", "plt.plot([1, 1], [-1, 3], 'b:')\n", "plt.plot([-1, 1], [3, 3], 'r:')\n", "\n", "# Plot the two points (1,3) and (2,5).\n", "plt.plot([1, 2], [3, 5], 'ko')\n", "# Join them with an (extending) green lines.\n", "plt.plot([-1, 10], [-1, 21], 'g-')\n", "\n", "# Set some reasonable plot limits.\n", "plt.xlim([-1, 10])\n", "plt.ylim([-1, 10])\n", "\n", "# Show the plot.\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simple linear regression is about the opposite problem - what if you have some points and are looking for the equation?\n", "It's easy when the points are perfectly on a line already, but usually real-world data has some noise.\n", "The data might still look roughly linear, but aren't exactly so.\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example (contrived and simulated)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "![weights.png](https://github.com/ianmcloughlin/images/raw/master/weights.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Scenario\n", "Suppose you are trying to weigh your suitcase to avoid an airline's extra charges.\n", "You don't have a weighing scales, but you do have a spring and some gym-style weights of masses 7KG, 14KG and 21KG.\n", "You attach the spring to the wall hook, and mark where the bottom of it hangs.\n", "You then hang the 7KG weight on the end and mark where the bottom of the spring is.\n", "You repeat this with the 14KG weight and the 21KG weight.\n", "Finally, you place your case hanging on the spring, and the spring hangs down halfway between the 7KG mark and the 14KG mark.\n", "Is your case over the 10KG limit set by the airline?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Hypothesis\n", "When you look at the marks on the wall, it seems that the 0KG, 7KG, 14KG and 21KG marks are evenly spaced.\n", "You wonder if that means your case weighs 10.5KG.\n", "That is, you wonder if there is a *linear* relationship between the distance the spring's hook is from its resting position, and the mass on the end of it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Experiment\n", "You decide to experiment.\n", "You buy some new weights - a 1KG, a 2KG, a 3Kg, all the way up to 20KG.\n", "You place them each in turn on the spring and measure the distance the spring moves from the resting position.\n", "You tabulate the data and plot them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Analysis\n", "Here we'll import the Python libraries we need for or investigations below." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# numpy efficiently deals with numerical multi-dimensional arrays.\n", "import numpy as np\n", "\n", "# matplotlib is a plotting library, and pyplot is its easy-to-use module.\n", "import matplotlib.pyplot as plt\n", "\n", "# This just sets the default plot size to be bigger.\n", "plt.rcParams['figure.figsize'] = (8, 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ignore the next couple of lines where I fake up some data. I'll use the fact that I faked the data to explain some results later. Just pretend that w is an array containing the weight values and d are the corresponding distance measurements." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "w = np.arange(0.0, 21.0, 1.0)\n", "d = 5.0 * w + 10.0 + np.random.normal(0.0, 5.0, w.size)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.,\n", " 13., 14., 15., 16., 17., 18., 19., 20.])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's have a look at w.\n", "w" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 15.99410275, 10.9911427 , 10.53445534, 15.97058549,\n", " 27.44753565, 39.51180328, 43.06251898, 47.47682646,\n", " 52.27808676, 56.67322568, 59.16156245, 56.69603504,\n", " 67.15387974, 80.96017265, 84.50699528, 87.26011678,\n", " 90.77740446, 100.07004239, 107.93739931, 105.51085343,\n", " 118.07859596])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's have a look at d.\n", "d" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Let's have a look at the data from our experiment." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create the plot.\n", "\n", "plt.plot(w, d, 'k.')\n", "\n", "# Set some properties for the plot.\n", "plt.xlabel('Weight (KG)')\n", "plt.ylabel('Distance (CM)')\n", "\n", "# Show the plot.\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Model\n", "It looks like the data might indeed be linear.\n", "The points don't exactly fit on a straight line, but they are not far off it.\n", "We might put that down to some other factors, such as the air density, or errors, such as in our tape measure.\n", "Then we can go ahead and see what would be the best line to fit the data. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Straight lines\n", "All straight lines can be expressed in the form $y = mx + c$.\n", "The number $m$ is the slope of the line.\n", "The slope is how much $y$ increases by when $x$ is increased by 1.0.\n", "The number $c$ is the y-intercept of the line.\n", "It's the value of $y$ when $x$ is 0." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fitting the model\n", "To fit a straight line to the data, we just must pick values for $m$ and $c$.\n", "These are called the parameters of the model, and we want to pick the best values possible for the parameters.\n", "That is, the best parameter values *given* the data observed.\n", "Below we show various lines plotted over the data, with different values for $m$ and $c$." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot w versus d with black dots.\n", "plt.plot(w, d, 'k.', label=\"Data\")\n", "\n", "# Overlay some lines on the plot.\n", "x = np.arange(0.0, 21.0, 1.0)\n", "plt.plot(x, 5.0 * x + 10.0, 'r-', label=r\"$5x + 10$\")\n", "plt.plot(x, 6.0 * x + 5.0, 'g-', label=r\"$6x + 5$\")\n", "plt.plot(x, 5.0 * x + 15.0, 'b-', label=r\"$5x + 15$\")\n", "\n", "# Add a legend.\n", "plt.legend()\n", "\n", "# Add axis labels.\n", "plt.xlabel('Weight (KG)')\n", "plt.ylabel('Distance (CM)')\n", "\n", "# Show the plot.\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Calculating the cost\n", "You can see that each of these lines roughly fits the data.\n", "Which one is best, and is there another line that is better than all three?\n", "Is there a \"best\" line?\n", "\n", "It depends how you define the word best.\n", "Luckily, everyone seems to have settled on what the best means.\n", "The best line is the one that minimises the following calculated value.\n", "\n", "$$ \\sum_i (y_i - mx_i - c)^2 $$\n", "\n", "Here $(x_i, y_i)$ is the $i^{th}$ point in the data set and $\\sum_i$ means to sum over all points. \n", "The values of $m$ and $c$ are to be determined.\n", "We usually denote the above as $Cost(m, c)$.\n", "\n", "Where does the above calculation come from?\n", "It's easy to explain the part in the brackets $(y_i - mx_i - c)$.\n", "The corresponding value to $x_i$ in the dataset is $y_i$.\n", "These are the measured values.\n", "The value $m x_i + c$ is what the model says $y_i$ should have been.\n", "The difference between the value that was observed ($y_i$) and the value that the model gives ($m x_i + c$), is $y_i - mx_i - c$.\n", "\n", "Why square that value?\n", "Well note that the value could be positive or negative, and you sum over all of these values.\n", "If we allow the values to be positive or negative, then the positive could cancel the negatives.\n", "So, the natural thing to do is to take the absolute value $\\mid y_i - m x_i - c \\mid$.\n", "Well it turns out that absolute values are a pain to deal with, and instead it was decided to just square the quantity instead, as the square of a number is always positive.\n", "There are pros and cons to using the square instead of the absolute value, but the square is used.\n", "This is usually called *least squares* fitting." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost with m = 5.00 and c = 10.00: 567.04\n", "Cost with m = 6.00 and c = 5.00: 1073.18\n", "Cost with m = 5.00 and c = 15.00: 911.51\n" ] } ], "source": [ "# Calculate the cost of the lines above for the data above.\n", "cost = lambda m,c: np.sum([(d[i] - m * w[i] - c)**2 for i in range(w.size)])\n", "\n", "print(\"Cost with m = %5.2f and c = %5.2f: %8.2f\" % (5.0, 10.0, cost(5.0, 10.0)))\n", "print(\"Cost with m = %5.2f and c = %5.2f: %8.2f\" % (6.0, 5.0, cost(6.0, 5.0)))\n", "print(\"Cost with m = %5.2f and c = %5.2f: %8.2f\" % (5.0, 15.0, cost(5.0, 15.0)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Minimising the cost\n", "We want to calculate values of $m$ and $c$ that give the lowest value for the cost value above.\n", "For our given data set we can plot the cost value/function.\n", "Recall that the cost is:\n", "\n", "$$ Cost(m, c) = \\sum_i (y_i - mx_i - c)^2 $$\n", "\n", "This is a function of two variables, $m$ and $c$, so a plot of it is three dimensional.\n", "See the **Advanced** section below for the plot.\n", "\n", "In the case of fitting a two-dimensional line to a few data points, we can easily calculate exactly the best values of $m$ and $c$.\n", "Some of the details are discussed in the **Advanced** section, as they involve calculus, but the resulting code is straight-forward.\n", "We first calculate the mean (average) values of our $x$ values and that of our $y$ values.\n", "Then we subtract the mean of $x$ from each of the $x$ values, and the mean of $y$ from each of the $y$ values.\n", "Then we take the *dot product* of the new $x$ values and the new $y$ values and divide it by the dot product of the new $x$ values with themselves.\n", "That gives us $m$, and we use $m$ to calculate $c$.\n", "\n", "Remember that in our dataset $x$ is called $w$ (for weight) and $y$ is called $d$ (for distance).\n", "We calculate $m$ and $c$ below." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m is 5.395020 and c is 6.909486.\n" ] } ], "source": [ "# Calculate the best values for m and c.\n", "\n", "# First calculate the means (a.k.a. averages) of w and d.\n", "w_avg = np.mean(w)\n", "d_avg = np.mean(d)\n", "\n", "# Subtract means from w and d.\n", "w_zero = w - w_avg\n", "d_zero = d - d_avg\n", "\n", "# The best m is found by the following calculation.\n", "m = np.sum(w_zero * d_zero) / np.sum(w_zero * w_zero)\n", "# Use m from above to calculate the best c.\n", "c = d_avg - m * w_avg\n", "\n", "print(\"m is %8.6f and c is %6.6f.\" % (m, c))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that numpy has a function that will perform this calculation for us, called polyfit.\n", "It can be used to fit lines in many dimensions." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([5.39501974, 6.90948551])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.polyfit(w, d, 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Best fit line\n", "So, the best values for $m$ and $c$ given our data and using least squares fitting are about $4.95$ for $m$ and about $11.13$ for $c$.\n", "We plot this line on top of the data below." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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qYUed/Pnz6e4uJimTZty/PHH89JLL7Fu3ToAli1bxqpVq1i+fDkNGjSgW7du3HzzzcycORP443SlsajOPhWpKF4RkUz14YfQti189JHvXv/gg+RI5pDmLfSglFxDB9/KHTp0KFlZWXTu3Jl58+ZtnUavYcOGvPrqqyxatIhbbrmFOnXqULduXQYOHAhAjx49OPHEE2nRogXjx4+P6bOPPvpo+vfvT05ODn369OGcc86p9nFUFO8uu+xS7fcUEUlFGzb4gW9PPglt2sDo0X5EezLR9KkSdzonIpLKZs+G88+HuXPhuuugf3+oVy+4eCqaPlVd7iIiIuXYssV3q3fqBD/84LvbH3882GReGXW5i4iIlLF8ua/DPmYMnHYavPgiNG8edFSVUwtdRESklHfe8dfHJ03yt6aNGJH8yRzSNKGn8riAdKNzISKp4tdfoUcPOPNMX7J15ky44gowCzqy2KRdQq9Xrx4//PCDEkkScM7xww8/UC9ZLziJiER9+il06OC71nv39uVbDzgg6Ki2TdpdQ99zzz1ZunQpq1evDjoUwf+BteeeewYdhohIuYqL4YEH4M47oUULGDcO8vKCjqp60i6h161bl3333TfoMEREJMktWQIXXAAffwznnAMDB0KpubRSTtp1uYuISGYoLCykX79+FBYWbvO+r70G7dv7Cbxeftkvp3IyhzRsoYuISPorLCwkPz+fSCRCdnY2BQUFW6taVubnn+Gaa2DYMDjsMHj1VUiXTl210EVEJOWEw2EikQjFxcVEIhHC4XCV+0ya5Fvlr78Od98NEyakTzIHJXQREUlBeXl5ZGdnk5WVRXZ2NnmVjGTbtAluvx2OOgqysnxiv+MO2C7N+qjT7HBERCQThEIhCgoKCIfD5OXlVdjdvnAhdOsG06b5ym9PPgmNGiU21kRRQhcRkZQUCoUqTOTOwUsv+clUsrNh+HA466wEB5hg6nIXEZG08sMP0KULXHYZHHKIny0tlmRek1HzyUAtdBERSRtjx0L37rB6NTz4INx0E9SJoela3VHzyUQtdBERSXm//QY33wzHHQc77ghTp8Itt8SWzKF6o+aTjVroIiKS0ubOha5dYdYsuPpqeOghaNBg296jZNR8SQu9slHzyUoJXUREUpJz8MwzviXeqBG89x6cckr13ivWUfPJTAldRERSzsqVcMklMGoUnHgi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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the best fit line.\n", "plt.plot(w, d, 'k.', label='Original data')\n", "plt.plot(w, m * w + c, 'b-', label='Best fit line')\n", "\n", "# Add axis labels and a legend.\n", "plt.xlabel('Weight (KG)')\n", "plt.ylabel('Distance (CM)')\n", "plt.legend()\n", "\n", "# Show the plot.\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the $Cost$ of the best $m$ and best $c$ is not zero in this case." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost with m = 5.40 and c = 6.91: 431.37\n" ] } ], "source": [ "print(\"Cost with m = %5.2f and c = %5.2f: %8.2f\" % (m, c, cost(m, c)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Summary\n", "In this notebook we:\n", "1. Investigated the data.\n", "2. Picked a model.\n", "3. Picked a cost function.\n", "4. Estimated the model parameter values that minimised our cost function." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Advanced\n", "In the following sections we cover some of the more advanced concepts involved in fitting the line." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Simulating data\n", "Earlier in the notebook we glossed over something important: we didn't actually do the weighing and measuring - we faked the data.\n", "A better term for this is *simulation*, which is an important tool in research, especially when testing methods such as simple linear regression.\n", "\n", "We ran the following two commands to do this:\n", "\n", "```python\n", "w = np.arange(0.0, 21.0, 1.0)\n", "d = 5.0 * w + 10.0 + np.random.normal(0.0, 5.0, w.size)\n", "```\n", "\n", "The first command creates a numpy array containing all values between 1.0 and 21.0 (including 1.0 but not including 21.0) in steps of 1.0." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.,\n", " 13., 14., 15., 16., 17., 18., 19., 20.])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ " np.arange(0.0, 21.0, 1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The second command is more complex.\n", "First it takes the values in the `w` array, multiplies each by 5.0 and then adds 10.0." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 10., 15., 20., 25., 30., 35., 40., 45., 50., 55., 60.,\n", " 65., 70., 75., 80., 85., 90., 95., 100., 105., 110.])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "5.0 * w + 10.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It then adds an array of the same length containing random values.\n", "The values are taken from what is called the normal distribution with mean 0.0 and standard deviation 5.0." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 2.77924728, -7.36852008, -1.37782612, 9.98075174, 4.21995499,\n", " -2.60231604, 9.32075467, 2.83510953, -9.14550022, 6.52177982,\n", " 11.11216945, 6.69576981, 6.84188875, -3.55449951, 6.14654406,\n", " 0.97382891, -2.89697444, 3.99446255, -1.07846657, -9.81654276,\n", " -3.02725231])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.normal(0.0, 5.0, w.size)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The normal distribution follows a bell shaped curve.\n", "The curve is centred on the mean (0.0 in this case) and its general width is determined by the standard deviation (5.0 in this case)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the normal distrution.\n", "normpdf = lambda mu, s, x: (1.0 / (2.0 * np.pi * s**2)) * np.exp(-((x - mu)**2)/(2 * s**2))\n", "\n", "x = np.linspace(-20.0, 20.0, 100)\n", "y = normpdf(0.0, 5.0, x)\n", "plt.plot(x, y)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The idea here is to add a little bit of randomness to the measurements of the distance.\n", "The random values are entered around 0.0, with a greater than 99% chance they're within the range -15.0 to 15.0.\n", "The normal distribution is used because of the [Central Limit Theorem](https://en.wikipedia.org/wiki/Central_limit_theorem) which basically states that when a bunch of random effects happen together the outcome looks roughly like the normal distribution. (Don't quote me on that!)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plotting the cost function\n", "We can plot the cost function for a given set of data points.\n", "Recall that the cost function involves two variables: $m$ and $c$, and that it looks like this:\n", "\n", "$$ Cost(m,c) = \\sum_i (y_i - mx_i - c)^2 $$\n", "\n", "To plot a function of two variables we need a 3D plot.\n", "It can be difficult to get the viewing angle right in 3D plots, but below you can just about make out that there is a low point on the graph around the $(m, c) = (\\approx 5.0, \\approx 10.0)$ point. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# This code is a little bit involved - don't worry about it.\n", "# Just look at the plot below.\n", "\n", "from mpl_toolkits.mplot3d import Axes3D\n", "\n", "# Ask pyplot a 3D set of axes.\n", "ax = plt.figure().gca(projection='3d')\n", "\n", "# Make data.\n", "mvals = np.linspace(4.5, 5.5, 100)\n", "cvals = np.linspace(0.0, 20.0, 100)\n", "\n", "# Fill the grid.\n", "mvals, cvals = np.meshgrid(mvals, cvals)\n", "\n", "# Flatten the meshes for convenience.\n", "mflat = np.ravel(mvals)\n", "cflat = np.ravel(cvals)\n", "\n", "# Calculate the cost of each point on the grid.\n", "C = [np.sum([(d[i] - m * w[i] - c)**2 for i in range(w.size)]) for m, c in zip(mflat, cflat)]\n", "C = np.array(C).reshape(mvals.shape)\n", "\n", "# Plot the surface.\n", "surf = ax.plot_surface(mvals, cvals, C)\n", "\n", "# Set the axis labels.\n", "ax.set_xlabel('$m$', fontsize=16)\n", "ax.set_ylabel('$c$', fontsize=16)\n", "ax.set_zlabel('$Cost$', fontsize=16)\n", "\n", "# Show the plot.\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Coefficient of determination\n", "Earlier we used a cost function to determine the best line to fit the data.\n", "Usually the data do not perfectly fit on the best fit line, and so the cost is greater than 0.\n", "A quantity closely related to the cost is the *coefficient of determination*, also known as the *R-squared* value.\n", "The purpose of the R-squared value is to measure how much of the variance in $y$ is determined by $x$.\n", "\n", "For instance, in our example the main thing that affects the distance the spring is hanging down is the weight on the end.\n", "It's not the only thing that affects it though.\n", "The room temperature and density of the air at the time of measurment probably affect it a little.\n", "The age of the spring, and how many times it has been stretched previously probably also have a small affect.\n", "There are probably lots of unknown factors affecting the measurment.\n", "\n", "The R-squared value estimates how much of the changes in the $y$ value is due to the changes in the $x$ value compared to all of the other factors affecting the $y$ value.\n", "It is calculated as follows:\n", "\n", "$$ R^2 = 1 - \\frac{\\sum_i (y_i - m x_i - c)^2}{\\sum_i (y_i - \\bar{y})^2} $$\n", "\n", "Note that sometimes the [*Pearson correlation coefficient*](https://en.wikipedia.org/wiki/Pearson_correlation_coefficient) is used instead of the R-squared value.\n", "You can just square the Pearson coefficient to get the R-squred value." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The R-squared value is 0.9811\n" ] } ], "source": [ "# Calculate the R-squared value for our data set.\n", "rsq = 1.0 - (np.sum((d - m * w - c)**2)/np.sum((d - d_avg)**2))\n", "\n", "print(\"The R-squared value is %6.4f\" % rsq)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9811159849088361" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The same value using numpy.\n", "np.corrcoef(w, d)[0][1]**2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### The minimisation calculations\n", "Earlier we used the following calculation to calculate $m$ and $c$ for the line of best fit.\n", "The code was:\n", "\n", "```python\n", "w_zero = w - np.mean(w)\n", "d_zero = d - np.mean(d)\n", "\n", "m = np.sum(w_zero * d_zero) / np.sum(w_zero * w_zero)\n", "c = np.mean(d) - m * np.mean(w)\n", "```\n", "\n", "In mathematical notation we write this as:\n", "\n", "$$ m = \\frac{\\sum_i (x_i - \\bar{x}) (y_i - \\bar{y})}{\\sum_i (x_i - \\bar{x})^2} \\qquad \\textrm{and} \\qquad c = \\bar{y} - m \\bar{x} $$\n", "\n", "where $\\bar{x}$ is the mean of $x$ and $\\bar{y}$ that of $y$.\n", "\n", "Where did these equations come from?\n", "They were derived using calculus.\n", "We'll give a brief overview of it here, but feel free to gloss over this section if it's not for you.\n", "If you can understand the first part, where we calculate the partial derivatives, then great!\n", "\n", "The calculations look complex, but if you know basic differentiation, including the chain rule, you can easily derive them.\n", "First, we differentiate the cost function with respect to $m$ while treating $c$ as a constant, called a partial derivative.\n", "We write this as $\\frac{\\partial m}{ \\partial Cost}$, using $\\delta$ as opposed to $d$ to signify that we are treating the other variable as a constant.\n", "We then do the same with respect to $c$ while treating $m$ as a constant.\n", "We set both equal to zero, and then solve them as two simultaneous equations in two variables.\n", "\n", "###### Calculate the partial derivatives\n", "$$\n", "\\begin{align}\n", "Cost(m, c) &= \\sum_i (y_i - mx_i - c)^2 \\\\[1cm]\n", "\\frac{\\partial Cost}{\\partial m} &= \\sum 2(y_i - m x_i -c)(-x_i) \\\\\n", " &= -2 \\sum x_i (y_i - m x_i -c) \\\\[0.5cm]\n", "\\frac{\\partial Cost}{\\partial c} & = \\sum 2(y_i - m x_i -c)(-1) \\\\\n", " & = -2 \\sum (y_i - m x_i -c) \\\\\n", "\\end{align}\n", "$$\n", "\n", "###### Set to zero\n", "$$\n", "\\begin{align}\n", "& \\frac{\\partial Cost}{\\partial m} = 0 \\\\[0.2cm]\n", "& \\Rightarrow -2 \\sum x_i (y_i - m x_i -c) = 0 \\\\\n", "& \\Rightarrow \\sum (x_i y_i - m x_i x_i - x_i c) = 0 \\\\\n", "& \\Rightarrow \\sum x_i y_i - \\sum_i m x_i x_i - \\sum x_i c = 0 \\\\\n", "& \\Rightarrow m \\sum x_i x_i = \\sum x_i y_i - c \\sum x_i \\\\[0.2cm]\n", "& \\Rightarrow m = \\frac{\\sum x_i y_i - c \\sum x_i}{\\sum x_i x_i} \\\\[0.5cm]\n", "& \\frac{\\partial Cost}{\\partial c} = 0 \\\\[0.2cm]\n", "& \\Rightarrow -2 \\sum (y_i - m x_i - c) = 0 \\\\\n", "& \\Rightarrow \\sum y_i - \\sum_i m x_i - \\sum c = 0 \\\\\n", "& \\Rightarrow \\sum y_i - m \\sum_i x_i = c \\sum 1 \\\\\n", "& \\Rightarrow c = \\frac{\\sum y_i - m \\sum x_i}{\\sum 1} \\\\\n", "& \\Rightarrow c = \\frac{\\sum y_i}{\\sum 1} - m \\frac{\\sum x_i}{\\sum 1} \\\\[0.2cm]\n", "& \\Rightarrow c = \\bar{y} - m \\bar{x} \\\\\n", "\\end{align}\n", "$$\n", "\n", "###### Solve the simultaneous equations\n", "Here we let $n$ be the length of $x$, which is also the length of $y$.\n", "\n", "$$\n", "\\begin{align}\n", "& m = \\frac{\\sum_i x_i y_i - c \\sum_i x_i}{\\sum_i x_i x_i} \\\\[0.2cm]\n", "& \\Rightarrow m = \\frac{\\sum x_i y_i - (\\bar{y} - m \\bar{x}) \\sum x_i}{\\sum x_i x_i} \\\\\n", "& \\Rightarrow m \\sum x_i x_i = \\sum x_i y_i - \\bar{y} \\sum x_i + m \\bar{x} \\sum x_i \\\\\n", "& \\Rightarrow m \\sum x_i x_i - m \\bar{x} \\sum x_i = \\sum x_i y_i - \\bar{y} \\sum x_i \\\\[0.3cm]\n", "& \\Rightarrow m = \\frac{\\sum x_i y_i - \\bar{y} \\sum x_i}{\\sum x_i x_i - \\bar{x} \\sum x_i} \\\\[0.2cm]\n", "& \\Rightarrow m = \\frac{\\sum (x_i y_i) - n \\bar{y} \\bar{x}}{\\sum (x_i x_i) - n \\bar{x} \\bar{x}} \\\\\n", "& \\Rightarrow m = \\frac{\\sum (x_i y_i) - n \\bar{y} \\bar{x} - n \\bar{y} \\bar{x} + n \\bar{y} \\bar{x}}{\\sum (x_i x_i) - n \\bar{x} \\bar{x} - n \\bar{x} \\bar{x} + n \\bar{x} \\bar{x}} \\\\\n", "& \\Rightarrow m = \\frac{\\sum (x_i y_i) - \\sum y_i \\bar{x} - \\sum \\bar{y} x_i + n \\bar{y} \\bar{x}}{\\sum (x_i x_i) - \\sum x_i \\bar{x} - \\sum \\bar{x} x_i + n \\bar{x} \\bar{x}} \\\\\n", "& \\Rightarrow m = \\frac{\\sum_i (x_i - \\bar{x}) (y_i - \\bar{y})}{\\sum_i (x_i - \\bar{x})^2} \\\\\n", "\\end{align}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Using sklearn neural networks\n", "\n", "***" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 15.99410275, 15.99136402],\n", " [ 10.9911427 , 10.99025661],\n", " [ 10.53445534, 9.83175482],\n", " [ 15.97058549, 18.21173347],\n", " [ 27.44753565, 26.74674379],\n", " [ 39.51180328, 35.26744107],\n", " [ 43.06251898, 40.53315812],\n", " [ 47.47682646, 45.79886552],\n", " [ 52.27808676, 51.06457291],\n", " [ 56.67322568, 56.33028031],\n", " [ 59.16156245, 61.5959877 ],\n", " [ 56.69603504, 66.86169509],\n", " [ 67.15387974, 72.12740249],\n", " [ 80.96017265, 77.39310988],\n", " [ 84.50699528, 82.65881728],\n", " [ 87.26011678, 87.92452467],\n", " [ 90.77740446, 93.19023207],\n", " [100.07004239, 98.45593946],\n", " [107.93739931, 103.72164686],\n", " [105.51085343, 108.98735425],\n", " [118.07859596, 114.25306165]])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sklearn.neural_network as sknn\n", "\n", "# Expects a 2D array of inputs.\n", "w2d = w.reshape(-1, 1)\n", "\n", "# Train the neural network.\n", "regr = sknn.MLPRegressor(max_iter=10000).fit(w2d, d)\n", "\n", "# Show the predictions.\n", "np.array([d, regr.predict(w2d)]).T" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9895666755071412" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The score.\n", "regr.score(w2d, d)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "#### End" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 2 }