{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# HIDDEN\n", "from datascience import *\n", "%matplotlib inline\n", "import matplotlib.pyplot as plots\n", "plots.style.use('fivethirtyeight')\n", "import pylab as pl\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have seen that studying the variability of an estimate involves questions such as:\n", "\n", "- Where is the empirical histogram centered?\n", "- About how far away from center could the values be?\n", "\n", "In order to discuss estimates and their variability in greater detail, it will help to quantify some basic features of distributions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The mean of a list of numbers\n", "\n", "In this course, we will use the words \"average\" and \"mean\" interchangeably.\n", "\n", "**Definition**: The *average* or *mean* of a list of numbers is the sum of all the numbers in the list, divided by the number of entries in the list.\n", "\n", "Here is the definition applied to a list of 20 numbers." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.15" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The data: a list of numbers\n", "\n", "x_list = [4, 4, 4, 5, 5, 5, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3]\n", "\n", "# The average\n", "\n", "sum(x_list)/len(x_list)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The average of the list is 3.15. \n", "\n", "You can think of taking the mean as an \"equalizing\" or \"smoothing\" operation. For example, imagine the entries in ``x_list`` being the amounts of money (in dollars) in the pockets of 20 different people. To get the mean, you first put all of the money into one big pot, and then divide it evenly among all 20 people. They had started out with different amounts of money in their pockets, but now each person has $3.15, the average amount." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Computation:** We could instead have found the mean by applying the function ``np.mean`` to the list ``x_list``. Differences in rounding lead to answers that differ very slightly." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.1499999999999999" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(x_list)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or we could have placed the list in a table, and used the Table method ``mean``:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.1499999999999999" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_table = Table().with_column('value', x_list)\n", "x_table['value'].mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The mean and the histogram\n", "\n", "Another way to calculate the mean is to first arrange the list in a distribution table. The columns contain the distinct values in the list, the count of each value, and the corresponding proportion. The sum of the column ``count`` is 20, the number of entries in the list. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value count proportion
2 6 0.3
3 8 0.4
4 3 0.15
5 3 0.15
" ], "text/plain": [ "value | count | proportion\n", "2 | 6 | 0.3\n", "3 | 8 | 0.4\n", "4 | 3 | 0.15\n", "5 | 3 | 0.15" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "values = Table(['value', 'count']).with_rows([\n", " [2, 6], \n", " [3, 8], \n", " [4, 3], \n", " [5, 3]\n", " ])\n", "counts = values.column('count') \n", "x_dist = values.with_column('proportion', counts/sum(counts))\n", "\n", "# the distribution table\n", "x_dist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The sum of the numbers in the list can be calculated by multiplying the first two columns and adding up – four 2's, five 3's, and so on – and then dividing by 20:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.1499999999999999" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(x_dist.column('value') * x_dist.column('count')) / sum(x_dist.column('count'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the same as multiplying the first and third columns – the values and their proportions – and adding up:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.1500000000000004" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(x_dist.column('value') * x_dist.column('proportion'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have **another way to think about the mean:** The mean of a list is the *weighted* average of the *distinct* values, where the *weights are the proportions* in which those values appear.\n", "\n", "Physically, this implies that **the average is the balance point of the histogram**. Here is the histogram of the distribution. Imagine that it is made out of cardboard and that you are trying to balance the cardboard figure at a point on the horizontal axis. The average of 3.15 is where the figure will balance. \n", "\n", "To understand why that is, you will have to study some physics. Balance points, or centers of gravity, can be calculated in exactly the way we calculated the mean from the distribution table." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEqCAYAAABqejW8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1UVHXCB/DvgLoIhGAMYOBIy4u85KIiaiqkuKAmoqz5\nJLpZ59nFF9zNTAP1ybOZFJDEahugPmB68h3RzZcetR7RUhCxsjSsMBZYCgHDIRmczGaePzzM08jb\nDMxw7/V+P+dwTtz7m3u//g7x5b7MXIVardaDiIhIJmyEDkBERNSbWHxERCQrLD4iIpIVFh8REckK\ni4+IiGSFxUdERLLC4iMiIlkRVfFlZmbCxcUFSUlJRstTU1MRGBiIQYMGISYmBl999ZVACYmISOpE\nU3ylpaXYsWMHHnvsMaPlGzduRE5ODjZs2IDCwkIolUrExcVBo9EIlJSIiKRMFMXX1NSEhQsXIisr\nCwMGDDBat3nzZixfvhwxMTEICAhATk4OmpubceDAAYHSEhGRlImi+F544QXExcVhwoQJRssrKytR\nV1eHSZMmGZbZ2dlh3LhxKCkp6e2YRET0AOgjdIAdO3agsrISeXl5bdbV19dDoVBAqVQaLVcqlbh+\n/XpvRSQiogeIoMV37do1rF+/HidOnICNjSgOPomI6AEnaNtcuHABjY2NGDNmDFxdXeHq6opz584h\nNzcXSqUSAwcOhF6vR0NDg9HrGhoa4ObmJlBqIiKSMkGP+GJiYjBy5EijZYmJifD19cWKFSvg6+sL\nd3d3FBYWYvjw4QAArVaL4uJipKSkCBGZiIgkTtDic3JygpOTk9Eye3t7ODs7Y+jQoQCAJUuWIDMz\nE76+vvDx8UFGRgYcHR0xe/ZsISJbVXl5Ofz8/ISO0S0ln36JzNzDQsfoFo1GAwcHB6FjdMuLf47F\nmJHBQsfoFin/vDO7tAl+c8v9FAqF0ffLli2DVqtFUlIS1Go1QkNDcfDgQcn+oiIiImGJrviOHDnS\nZllycjKSk5MFSENERA8a3kpJRESywuIjIiJZYfEREZGssPiIiEhWWHxERCQrLD4iIpIVFh8REckK\ni4+IiGSFxUdERLLC4iMiIllh8RERkayw+IiISFZYfEREJCssPiIikhUWHxERyQqLj4iIZIXFR0RE\nssLiIyIiWWHxERGRrAhafLm5uRg/fjxUKhVUKhWio6Nx8uRJw/rExES4uLgYfUVHRwuYmIiIpK6P\nkDv39PTEq6++Ch8fH+h0OuzevRvz58/HmTNnEBQUBACYNGkStm7dCr1eDwDo27evkJGJiEjiBC2+\nadOmGX3/8ssvIy8vD6WlpYbi69evH1xdXYWIR0REDyDRXOPT6XQoKChAS0sLxowZY1h+/vx5+Pn5\nYdSoUVi2bBlu3LghYEoiIpI6QY/4AKCsrAzR0dHQarVwdHTEzp07ERAQAACIiopCbGwshgwZgurq\naqxfvx6xsbE4c+YMT3kSEVG3CF58/v7+OHv2LJqamnD48GEsXrwYx44dQ0BAAOLi4gzjAgMDERIS\ngmHDhuHEiROIiYkRMDUREUmV4MXXp08feHt7AwBCQkLwySefIDs7G2+99VabsR4eHnjkkUdQUVHR\n5XbLy8stHbVXSDU3AGg0GqEjdJuUs0v5Z4bZhSHF7H5+fhbbluDFdz+dToeffvqp3XU3btxAbW0t\n3N3du9yOJSept5SXl0syNwCUfPolHBwchI7RLRqNRrLZAWn+rAPS/nlndmkTtPjWrVuH6OhoeHp6\norm5Gfn5+Th37hzy8/Oh0WiQlpaG2NhYuLu7o6qqCuvXr4ebmxtPcxIRUbcJWnx1dXVYtGgR6uvr\n4eTkhODgYBQUFGDixInQarUoKyvDvn370NTUBHd3d0RERGD79u2S/uuciIiEJWjxZWdnd7jOzs4O\nBQUFvZiGiIjkQDTv4yMiIuoNLD4iIpIVFh8REckKi4+IiGSFxUdERLLC4iMiIllh8RERkayw+IiI\nSFZYfEREJCssPiIikhUWHxERyQqLj4iIZIXFR0REssLiIyIiWWHxERGRrLD4iIhIVlh8REQkKyw+\nIiKSFZOLLz09HWVlZR2uv3r1KtLT0y0SioiIyFpMLr60tDR8+eWXHa7vTvHl5uZi/PjxUKlUUKlU\niI6OxsmTJ43GpKamIjAwEIMGDUJMTAy++uors/ZBRET0axY71dnc3Iy+ffua9RpPT0+8+uqr+Oij\nj3D69GlERERg/vz5hiPLjRs3IicnBxs2bEBhYSGUSiXi4uKg0WgsFZuIiGSmT2crr1y5gsuXLxu+\nLy4uxt27d9uMU6vV2LZtG/z8/Mza+bRp04y+f/nll5GXl4fS0lIEBQVh8+bNWL58OWJiYgAAOTk5\n8PPzw4EDB/Dss8+atS8iIiKgi+I7evSo4fSlQqHAO++8g3feeafdsc7Ozti6dWu3g+h0Ohw6dAgt\nLS0YM2YMKisrUVdXh0mTJhnG2NnZYdy4cSgpKWHxERFRt3RafM899xymTp0KvV6PyMhIrFmzBlFR\nUW3GOTg44NFHH0WfPp1url1lZWWIjo6GVquFo6Mjdu7ciYCAAFy4cAEKhQJKpdJovFKpxPXr183e\nDxEREdBF8Xl4eMDDwwMAcOTIEQwdOrRNEfWUv78/zp49i6amJhw+fBiLFy/GsWPHerzdq+X/tkC6\n3tXc/LMkc/fv3w8KhULoGEREJjH5EG3ChAnWCdCnD7y9vQEAISEh+OSTT5CdnY0XX3wRer0eDQ0N\n8PT0NIxvaGiAm5tbl9t9KWWLVfJSW1HhIzEuNFDSNx1JOXt5ebnQEbqN2YUhxezm3kPSmQ6Lb+nS\npVAoFNi0aRNsbW2xdOnSLjemUCjw9ttv9yiQTqfDTz/9BG9vb7i7u6OwsBDDhw8HAGi1WhQXFyMl\nJaXL7Tg4OPQohxA0Go0kc/fvbwdAmnMOSHfeW1nyF0JvKi8vZ3YBSDm7pXRYfB999BFsbGyg0+lg\na2uLjz76qMvTWeae7lq3bh2io6Ph6emJ5uZm5Ofn49y5c8jPzwcALFmyBJmZmfD19YWPjw8yMjLg\n6OiI2bNnm7UfIiKiVh0W36/fxtDe95ZQV1eHRYsWob6+Hk5OTggODkZBQQEmTpwIAFi2bBm0Wi2S\nkpKgVqsRGhqKgwcPSvqvcyIiEpb5t2FaUHZ2dpdjkpOTkZyc3AtpiIhIDrpVfM3NzVCr1dDr9W3W\nDR48uMehiIiIrMXk4tNqtUhPT8e7776LxsbGDsd1to6IiEhoJhffihUrsGfPHkyfPh2PP/44nJ2d\nrZmLiIjIKkwuviNHjmDBggXYuHGjNfMQERFZlclPZ1AoFAgJCbFmFiIiIqszufiefPJJnD592opR\niIiIrM/k4luxYgX+9a9/4fnnn8fFixdx/fp1NDQ0tPkiIiISM5Ov8YWFhQG490b2nTt3djiOd3US\nEZGYmVx8SUlJ/AR+IiKSPJOLb/Xq1dbMQURE1CtMvsZHRET0IDD5iC89Pb3LMQqFAklJST0KRERE\nZE0mF19aWlqH6xQKBfR6PYuPiIhEz+Tiu3nzZptlOp0O1dXVyM3NRVFREQ4cOGDRcERERJbWo2t8\nNjY28Pb2RkpKCnx8fHi0R0REomexm1vGjRuHkydPWmpzREREVmGx4vvss89gY8ObRImISNxMvsa3\nZ8+edpc3NTWhqKjI8PQGIiIiMTO5+BITEztc9/DDD2P58uW8xkdERKJncvF9/vnnbZYpFAo4Ozvj\noYce6tbOMzMzcfToUVy7dg39+vXDqFGj8Le//Q2BgYGGMYmJiW2ONsPCwng9kYiIusXk4lOpVBbf\neVFRERISEjBixAjo9Xq89tprmDVrFkpKSoye8D5p0iRs3boVer0eANC3b1+LZyEiInkwufis4f73\n/W3ZsgUqlQolJSWYMmWKYXm/fv3g6ura2/GIiOgBJKrbMG/dugWdTmd0tAcA58+fh5+fH0aNGoVl\ny5bhxo0bAiUkIiKpE/SI736rVq1CSEgIRo8ebVgWFRWF2NhYDBkyBNXV1Vi/fj1iY2Nx5swZnvIk\nIiKziab41qxZgwsXLuD48eNGz/2Li4sz/HdgYCBCQkIwbNgwnDhxAjExMR1uT6PRWDWvtUgx9+3b\nWgDSzN5KytnLy8uFjtBtzC4MKWb38/Oz2LZEUXyrV6/GP//5Txw9erTLm2g8PDzwyCOPoKKiotNx\nDg4OlozYKzQajSRz9+9vB0Cacw5Id95bWfIXQm8qLy9ndgFIObulmHSNr6WlBQMHDkRGRobFAyQn\nJ+PQoUM4cuQIfHx8uhx/48YN1NbWwt3d3eJZiIjowWfSEZ+9vT1cXV3h5ORk0Z2vXLkS+/fvx65d\nu+Dk5IT6+noA944cHBwcoNFokJaWhtjYWLi7u6Oqqgrr16+Hm5tbp6c5iYiIOmLyXZ2zZs3CoUOH\noNPpLLbzvLw8NDc3Y+bMmQgICDB8vf322wAAW1tblJWVYf78+QgLC8PSpUvh7++PkydPSvrUFBER\nCcfka3wxMTH4+OOPMXXqVCxYsADe3t7o379/m3GhoaEm77y9Z/z9mp2dHQoKCkzeHhERUVdMLr6Z\nM2ca/ru0tNTozksAhiewNzY2Wi4dERGRhZlcfFlZWdbMQURE1CtMLr558+ZZMwcREVGv6NZHln37\n7bc4f/48mpqaLJ2HiIjIqswqvvz8fDz22GMICwvDk08+iUuXLgEAfvjhB4SGhuLQoUNWCUlERGQp\nJhffe++9h4ULF8Lf3x+vvvqq4RFBwL0H0fr7+2Pv3r1WCUlERGQpJhffm2++iYkTJ+LgwYPtXu8b\nNWoUrly5YtFwRERElmZy8X3zzTedflqKUqnk44KIiEj0TC4+e3v7Tj/B/l//+hcefvhhi4QiIiKy\nFpOLLyIiArt378adO3farKutrcWOHTsQGRlp0XBERESWZvL7+NauXYvJkydj4sSJmDVrFhQKBT74\n4AMUFhZix44dsLW1RXJysjWzEhER9ZjJR3w+Pj44ceIE3N3dkZaWBr1ej6ysLGzatAnDhg3D8ePH\nMXjwYGtmJSIi6jGzHkQ7dOhQHDp0CGq1GhUVFdDpdPD29oarq6u18hEREVlUt57A7uzsjJEjR1o6\nCxERkdWZVXxqtRpZWVk4ceIEqqurAQAqlQpTpkzB0qVL4ezsbJWQRERElmLyNb6KigpMmDABGRkZ\nuHv3LsLDwxEeHo67d+8iIyMD48ePx7fffmvNrERERD1m8hHfSy+9hB9//BHvvfceIiIijNadOXMG\nzzzzDJKTk3HgwAGLhyQiIrIUk4/4iouLsXjx4jalBwBPPPEEFi1ahKKiIouGIyIisjSTi2/AgAGd\nXsNzdnbGgAEDLBKKiIjIWkwuvmeeeQY7d+7ErVu32qxramrCzp07sWDBArN2npmZicjISKhUKvj6\n+mLu3Lm4evVqm3GpqakIDAzEoEGDEBMTg6+++sqs/RAREbUy+Rqfn58fFAoFRo0ahfj4ePz2t78F\ncO+htHv37oVSqYSfn1+bZ/LFxcV1uM2ioiIkJCRgxIgR0Ov1eO211zBr1iyUlJQYji43btyInJwc\nZGdnw9fXF+np6YiLi8PFixfh4ODQnX8zERHJmMnFt3DhQsN/b9q0qc36+vp6LFy40Og5fQqFotPi\nu/9GmC1btkClUqGkpARTpkwBAGzevBnLly83PBkiJycHfn5+OHDgAJ599llT4xMREQEwo/iOHDli\nzRwAgFu3bkGn0xmO9iorK1FXV4dJkyYZxtjZ2WHcuHEoKSlh8RERkdlMLr4JEyZYMwcAYNWqVQgJ\nCcHo0aMB3DuKVCgUUCqVRuOUSiWuX79u9TxERPTg6dZHllnDmjVrcOHCBRw/fhwKhaLH2+vs2YFi\nJsXct29rAUgzeyspZy8vLxc6QrcxuzCkmN3Pz89i2xJF8a1evRr//Oc/cfToUahUKsNyNzc36PV6\nNDQ0wNPT07C8oaEBbm5unW5Tije+aDQaSebu398OgDTnHJDuvLey5C+E3lReXs7sApBydksx+e0M\n1pKcnIxDhw7hyJEj8PHxMVrn7e0Nd3d3FBYWGpZptVoUFxdj7NixvR2ViIgeAIIe8a1cuRL79+/H\nrl274OTkhPr6egD3jhxa/wJfsmQJMjMz4evrCx8fH2RkZMDR0RGzZ88WMjoREUmUoMWXl5cHhUKB\nmTNnGi1PTk42PM192bJl0Gq1SEpKglqtRmhoKA4ePCjpU1NERCQck4svPT0dM2bMQFBQULvrr169\nisOHDxsKyxQ3b940adyvi5CIiKgnTL7Gl5aWhi+//LLD9VevXkV6erpFQhEREVmLxW5uaW5uRt++\nfS21OSIiIqvo9FTnlStXcPnyZcP3xcXFuHv3bptxarUa27Ztk/0tskREJH6dFt/Ro0cNpy8VCgXe\neecdvPPOO+2OdXZ2xtatWy2fkIiIyII6Lb7nnnsOU6dOhV6vR2RkJNasWYOoqKg24xwcHPDoo4+i\nTx9RvB+eiIioQ502lYeHBzw8PADc+5DqoUOHtvncTCIiIikR1YdUExERWZtZ5yb/93//F++++y4q\nKyuhVquNnr0H3LsOeOnSJYsGJCIisiSTi++tt97CK6+8Ajc3N4wcObLDN7ITERGJmcnFt3nzZkRE\nRCA/P5/v1yMiIsky+Q3sarUaM2fOZOkREZGkmVx8oaGhknx4IRER0a+ZXHwZGRk4evQo9u/fb808\nREREVmXyNb4FCxbgzp07WLx4MZYvX45BgwbB1tbWaIxCocD58+ctHpKIiMhSTC4+V1dXKJVK+Pr6\nWjMPERGRVZlcfMeOHbNmDiIiol5hsccSERERSYFZxdfY2IiUlBRMmTIFI0eOxIULFwzL09PT8fXX\nX1slJBERkaWYfKqzqqoK06ZNQ2NjI4KCglBZWYnbt28DAAYOHIiDBw/ixo0b2LBhg9XCEhER9ZTJ\nR3x/+9vfoNfrcf78eeTn57f5nM4nn3wSZ86cMTtAUVER4uPjERQUBBcXF+zZs8dofWJiIlxcXIy+\noqOjzd4PERERYMYR3+nTp/H888/D29sbjY2NbdYPGTIE33//vdkBNBoNgoODER8fjyVLlrQ7ZtKk\nSdi6dauhbPnpMURE1F0mF99PP/0EZ2fnDtc3NTXBxsb8e2WioqIMD7dNTExsd0y/fv3g6upq9raJ\niIjuZ3JTBQYG4ty5cx2uP3bsGH73u99ZJNT9zp8/Dz8/P4waNQrLli3DjRs3rLIfIiJ68Jl8xLdk\nyRIsWrQIgYGBiIuLAwDodDp88803eOONN3Dx4kXs2rXL4gGjoqIQGxuLIUOGoLq6GuvXr0dsbCzO\nnDnDU55ERGQ2k4tvzpw5qKmpweuvv47XX38dADB79mwAgI2NDdatW4dp06ZZPGBryQL3jjpDQkIw\nbNgwnDhxAjExMR2+TqPRWDxLb5Bi7tu3tQCkmb2VVLPb2dmh5NMvhY7RbVLNPuAhR8lmB6Q572NG\nBltsW2Y9gX358uWYM2cODh8+jIqKCuh0Ojz66KOYMWMGvL29LRaqMx4eHnjkkUdQUVHR6TgHB4de\nyWNJGo1Gkrn797cDIM05B6Q77wDwY3ML3t5+VOgY3SLlef/LczGc9162L1ug4gMALy+vDm9C6Q03\nbtxAbW0t3N3dBctARETSZfLNLefPn0dmZmaH6//+978bPsnFHBqNBpcvX8YXX3wBnU6HmpoaXL58\nGTU1NdBoNFi7di1KS0tRXV2Njz/+GPPmzYObm1unpzmJiIg6YnLxpaen4/Llyx2uv3LlCtLT080O\n8NlnnyEiIgITJ06EVqtFamoqnnjiCaSmpsLW1hZlZWWYP38+wsLCsHTpUvj7++PkyZOSPFQnIiLh\nmXyq84svvsDKlSs7XB8WFoaMjAyzA0yYMAE3b97scH1BQYHZ2yQiIuqIyUd8LS0tUCgUnY5pbm7u\ncSAiIiJrMrn4fH19cerUqQ7Xf/jhh/jtb39rkVBERETWYnLxLViwAB988AGSkpKMTk02NjbipZde\nwqlTp/DMM89YJSQREZGlmHyNLyEhAZcvX8Z///d/Izc3F25ubgCA+vp66PV6zJs3r8MPmSYiIhIL\ns97H99ZbbxnewF5ZWQkA8Pb2xsyZMzFhwgRr5CMiIrIok4rvzp07KC0thYeHB8LDwxEeHm7tXERE\nRFZh0jW+Pn36YNasWZ3e3EJERCQFJhWfjY0NVCoV365ARESSZ/JdnYsXL8b27dvR0NBgzTxERERW\nZfLNLS0tLbC3t8fIkSMxffp0eHt7o3///kZjFAoFnn/+eYuHJCIishSTi++VV14x/Pe+ffvaHcPi\nIyIisTO5+D7//HNr5iAiIuoVJhefSqWyZg4iIqJeYfaDaL/99lucPXsWDQ0NmDNnDoYMGYI7d+6g\nrq4O7u7u6NevnzVyEhERWYTJxafT6bB8+XK8++670Ov1UCgUCAsLMxTf+PHj8dJLL+Gvf/2rNfMS\nERH1iMlvZ3jzzTexc+dO/Nd//Rc++OAD6PV6wzpHR0fMmDEDR48etUpIIiIiSzG5+Hbt2oU//vGP\nWLFiRbuPHwoKCsK3335r0XBERESWZnLxff/99wgNDe1wff/+/fnJLkREJHomF5+bmxuqq6s7XH/p\n0iUMHjzY7ABFRUWIj49HUFAQXFxcsGfPnjZjUlNTERgYiEGDBiEmJgZfffWV2fshIiICzCi+2NhY\nbNu2zeh0pkKhAAB88MEH2Lt3L2bNmmV2AI1Gg+DgYKSlpcHe3r7N+o0bNyInJwcbNmxAYWEhlEol\n4uLioNFozN4XERGRycW3atUqeHl5ISIiAgkJCVAoFMjMzMTvf/97PP3003jsscfw4osvmh0gKioK\nL7/8MmJjYw1F+mubN2/G8uXLERMTg4CAAOTk5KC5uRkHDhwwe19EREQmF5+TkxNOnjyJF198EfX1\n9bCzs8P58+eh0WiwatUqvP/++20+u7OnKisrUVdXh0mTJhmW2dnZYdy4cSgpKbHovoiISB7MegO7\nnZ0dVqxYgRUrVlgrj5H6+nooFAoolUqj5UqlEtevX++VDERE9GDpsvi0Wi3ef/99VFVVYeDAgZgy\nZQo8PDx6IxsREZHFdVp8tbW1ePLJJ1FVVWV4w7q9vT327t2L8PBwq4dzc3ODXq9HQ0MDPD09Dcsb\nGhrg5ubW6WulevOLFHPfvq0FIM3srZhdGMwuDClnt4ROiy8lJQXV1dVITExEREQEKioqsGHDBiQn\nJ6OoqMjq4by9veHu7o7CwkIMHz4cwL0j0OLiYqSkpHT6WgcHB6vnszSNRiPJ3P372wGQ5pwD0p33\nVlLNznkXhtTn3RI6Lb7Tp08jPj7eqGTc3Nzw5z//Gd99953RUVh3aTQaVFRUQK/XQ6fToaamBpcv\nX4aLiwu8vLywZMkSZGZmwtfXFz4+PsjIyICjoyNmz57d430TEZH8dFp8dXV1GDNmjNGysWPHQq/X\no6amxiLF99lnn2HGjBmGtzKkpqYiNTUV8fHxyMrKwrJly6DVapGUlAS1Wo3Q0FAcPHhQ9n+xEBFR\n93RafL/88gvs7OyMlrV+r9VqLRJgwoQJuHnzZqdjkpOTkZycbJH9ERGRvHV5V2dlZSU++eQTw/c/\n/vgjAKC8vByOjo5txnf2eZ5ERERC67L4Wk893i8pKcno+9Zn9DU2NlouHRERkYV1WnxZWVm9lYOI\niKhXdFp88+bN660cREREvcLkz+okIiJ6ELD4iIhIVlh8REQkKyw+IiKSFRYfERHJCouPiIhkhcVH\nRESywuIjIiJZYfEREZGssPiIiEhWWHxERCQrLD4iIpIVFh8REckKi4+IiGSFxUdERLIi+uJLS0uD\ni4uL0VdAQIDQsYiISKI6fRCtWPj7++PYsWPQ6/UAAFtbW4ETERGRVEmi+GxtbeHq6ip0DCIiegCI\n/lQnAFRVVSEwMBAhISH405/+hMrKSqEjERGRRIm++MLCwpCdnY2CggK89dZbqKurw5QpU6BWq4WO\nRkREEiT6U52TJ082+j4sLAwhISHYvXs3EhMTBUpFRERSJfriu5+9vT0CAgJQUVHR6TiNRtNLiSxL\nirlv39YCkGb2VswuDGYXhpSzW4Lkik+r1aK8vBwRERGdjnNwcOilRJaj0Wgkmbt/fzsA0pxzQLrz\n3kqq2TnvwpD6vFuC6K/xrV27FufOnUNVVRUuXryIZ599Fi0tLYiPjxc6GhERSZDoj/i+//57JCQk\n4IcffoCrqytGjRqFDz/8EF5eXkJHIyIiCRJ98eXl5QkdgYiIHiCiP9VJRERkSSw+IiKSFRYfERHJ\nCouPiIhkhcVHRESywuIjIiJZYfEREZGssPiIiEhWWHxERCQrLD4iIpIVFh8REckKi4+IiGSFxUdE\nRLLC4iMiIllh8RERkayw+IiISFZYfEREJCssPiIikhUWHxERyYpkii83NxchISHw8PDAxIkTUVxc\nLHQkIiKSIEkU38GDB7F69WqsXLkSH3/8MUaPHo05c+bgu+++EzoaERFJjCSKLzs7G3/84x/xzDPP\nwM/PD2+88Qbc3d2xbds2oaMREZHEiL74fv75Z1y6dAkTJ040Wh4ZGYmSkhJhQhERkWSJvvh++OEH\n/PLLL3BzczNarlQqUV9fL1AqIiKSqj5CB7CWfdmrhY4gO/uyA4WOIEvho4cJHUGWOO/SJfojvocf\nfhi2trZtju4aGhraHAUSERF1RfTF17dvXwwfPhynT582Wl5YWIixY8cKE4qIiCRLEqc6ly5disWL\nF2PEiBEYO3Ys8vLyUFdXh+eee07oaEREJDGSKL64uDjcvHkTb775Jurq6hAYGIj8/Hx4eXkJHY2I\niCRGoVar9UKHICIi6i2iv8bXqqioCPHx8QgKCoKLiwv27NnT6fjq6mq4uLgYfQ0cOBCnTp3qpcT/\nLzMzE5GRkVCpVPD19cXcuXNx9erVLl9XVlaG6dOnY9CgQQgODsYbb7zRC2mNdSe7WOY+NzcX48eP\nh0qlgkqlQnR0NE6ePNnpa8Qw54D52cUy5/fLzMyEi4sLkpKSOh0nlnn/NVOyi2ne09LS2mQJCAjo\n9DVimXc2Z7UfAAAJz0lEQVRzs/d03iVxqhMANBoNgoODER8fjyVLlpj0GoVCgYMHDyI4ONiwzMXF\nxVoRO1RUVISEhASMGDECer0er732GmbNmoWSkhI4Ozu3+5pbt24hLi4OEyZMwOnTp/H1119j6dKl\ncHBwwNKlS0WdHRDH3Ht6euLVV1+Fj48PdDoddu/ejfnz5+PMmTMICgpqM14sc96d7IA45vzXSktL\nsWPHDjz22GOdjhPTvLcyNTsgrnn39/fHsWPHoNffO5Fna2vb4Vixzbs52YGezbtkii8qKgpRUVEA\ngMTERJNeo9fr4ezsDKVSac1oXTpw4IDR91u2bIFKpUJJSQmmTJnS7mv279+P27dvIycnB/369cPQ\noUPxzTffIDs7u1d/KLuTHRDH3E+bNs3o+5dffhl5eXkoLS1ttzzEMueA+dkBccx5q6amJixcuBBZ\nWVlIS0vrdKyY5h0wLzsgrnm3tbWFq6urSWPFNu/mZAd6Nu+SOdXZXa2f7zl16lS89957QscBcO8v\nLZ1O1+kRU2lpKR5//HH069fPsGzy5Mmora1FdXV1b8RslynZW4lp7nU6HQoKCtDS0oLRo0e3O0as\nc25K9lZimfMXXnjBcDTRFbHNuznZW4ll3quqqhAYGIiQkBD86U9/QmVlZYdjxTbv5mRv1d15l8wR\nn7kcHR2RkpKCsWPHwtbWFu+//z7+8z//E5s3b8acOXMEzbZq1SqEhIR0+kusvr4enp6eRsuUSiX0\nej3q6+uhUqmsHbNdpmQX09yXlZUhOjoaWq0Wjo6O2LlzJwID2/+EGbHNuTnZxTTnO3bsQGVlJfLy\n8kwaL6Z5Nze7mOY9LCwM2dnZ8PPzQ0NDAzZs2IApU6Z0eFlCTPNubvaezvsDW3wDBw40OlwfPnw4\nbt68iU2bNglafGvWrMGFCxdw/PhxKBQKwXJ0h6nZxTT3/v7+OHv2LJqamnD48GEsXrwYx44d6/Ki\nvxiYk10sc37t2jWsX78eJ06cgI2NtE4odSe7WOYduHe09mthYWEICQnB7t27Tb48JBRzs/d03qX1\nk9lDI0eOREVFhWD7X716NQ4dOoQjR450+deUm5tbux/TplAoBPmoNnOyt0eoue/Tpw+8vb0REhKC\ntWvXYtiwYcjOzm53rNjm3Jzs7RFizi9cuIDGxkaMGTMGrq6ucHV1xblz55CbmwulUomff/65zWvE\nMu/dyd4eoX/PtLK3t0dAQECHWcQy7+3pKnt7zJl3WRXfF198AXd3d0H2nZycbCgOHx+fLsePHj0a\nxcXFuHPnjmHZqVOnMGjQoF4/5WZu9vYIOfe/ptPp8NNPP7W7Tkxz3p7OsrdHiDmPiYlBUVERzp49\na/gaMWIEnnrqKZw9exZ9+/Zt8xqxzHt3srdHLD/rWq0W5eXlHWYRy7y3p6vs7TFn3iVzqlOj0aCi\nogJ6vR46nQ41NTW4fPkyXFxc4OXlhXXr1uHTTz81XODcs2cP+vbti9/97newsbHB//zP/2Dbtm1Y\nt25dr2dfuXIl9u/fj127dsHJycnwV5aDgwMcHBwAoE3+p556Cm+88QYSExOxYsUKlJeXY9OmTVi1\napXos4tl7tetW4fo6Gh4enqiubkZ+fn5OHfuHPLz89vNLZY57052scy5k5MTnJycjJbZ29vD2dkZ\nQ4cObTe7WOa9O9nFMu8AsHbtWkydOhVeXl6G62QtLS2Ij49vN7tY5r072Xs675Ipvs8++wwzZsww\nXFtKTU1Famoq4uPjkZWVhbq6OlRVVRm9JiMjAzU1NbCxsYGvry+ysrLw1FNP9Xr2vLw8KBQKzJw5\n02h5cnIykpOTAaBNficnJxw6dAgrV65EZGQknJ2d8de//rXXz9V3Jzsgjrmvq6vDokWLUF9fDycn\nJwQHB6OgoMDwUGOxznl3sgPimPP23H89WMzzfr+usgPimffvv/8eCQkJ+OGHH+Dq6opRo0bhww8/\nNHy0o5jn3dzsQM/mnR9ZRkREsiKra3xEREQsPiIikhUWHxERyQqLj4iIZIXFR0REssLiIyIiWWHx\nERGRrLD4iCSm9enTe/bsEToKkSSx+IiISFZYfEREJCssPqJe8N5778HFxQVlZWVt1s2ZMwfh4eEA\ngK1btyI6OhqPPvoohgwZgqioKJw8ebLL7U+fPh0zZsxos3zYsGFGzy0D7j3pOiEhAb6+vnB3d0d4\neDiOHj3azX8ZkfSw+Ih6wdSpU+Hk5IT9+/cbLW9oaEBhYaHhU+j//e9/Y/78+di+fTu2b9+OESNG\nYO7cuTh16lSn2+/owcD3L//uu+8wefJkfPnll0hLS8PevXsxfPhwLFiwAMePH+/Bv5BIOiTzdAYi\nKfvNb36DWbNm4cCBA3jllVcMy/Pz86FQKAyfKr9+/XrDOr1ej4iICFy7dg15eXmIjIzscY7U1FQo\nFAq8//77cHZ2BgBMmjQJNTU1eP311zF16tQe74NI7HjER9RL5s6di++++w5nzpwxLNu/fz+eeOIJ\nwxOvL126hKeffhr+/v54+OGH4erqisLCQly7ds0iGU6dOoWoqCg89NBD+OWXX/DLL7/g7t27iIyM\nxJUrV9Dc3GyR/RCJGY/4iHrJ448/DpVKhX379uGJJ57A119/jc8//xy5ubkA7p2GnDlzJgIDA7Fh\nwwZ4eXnB1tYWr732Gr755huLZGhoaMDevXvbfSuEjY0NGhsb4ejoaJF9EYkVi4+oF/3Hf/wHtmzZ\ngszMTOzbtw8PPfQQpk+fDgD48MMPcevWLWzfvh0eHh6G17S0tHS5XTs7u3aP1tRqtdH3AwcOxLhx\n4/DCCy9Ar2/7KM5BgwaZ+08ikhwWH1Evmjt3Lt58800cPnwY+fn5iImJgZ2dHQDg9u3bAIA+ff7/\nf8tr166hpKQEnp6enW538ODBOHLkCO7evWt4/blz53Dr1i2jcZMnT8bFixcREBCA3/zmN5b8pxFJ\nBouPqBf5+PggNDQU69atQ21tLebOnWtYN3HiRNja2mLRokX4y1/+gtraWqSlpWHw4MHQ6XSdbvcP\nf/gDduzYgcTERMyfPx+VlZXIzs7GgAEDjMatWbMGv//97zFt2jQkJCRApVJBrVbj6tWrqKqqwj/+\n8Q+r/LuJxIQ3txD1sqeffhq1tbV45JFHEBERYVgeEBCA3Nxc1NTUYN68eXj77bexbt06PP744222\ncf/bFMLDw/H3v/8dn376KeLj47Fnzx5s3boVAwYMMBrr5eWFwsJCDBs2DCkpKfjDH/6AlStXoqio\nyCgL0YNMoVar257oJyIiekDxiI+IiGSFxUdERLLC4iMiIllh8RERkayw+IiISFZYfEREJCssPiIi\nkhUWHxERyQqLj4iIZOX/AJs1fSpdFqW9AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x_dist.select(['value', 'proportion']).hist(counts='value', bins=np.arange(1.5, 5.6, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the mean of a list depends only on the distinct values and their proportions; you do not need to know how many entries there are in the list. \n", "\n", "In other words, the average is a property of the histogram. If two lists have the same histogram, they will also have the same average.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The mean and the median\n", "\n", "If a student's score on a test is below average, does that imply that the student is in the bottom half of the class on that test?\n", "\n", "Happily for the student, the answer is, \"Not necessarily.\" The reason has to do with the relation between the average, which is the balance point of the histogram, and the median, which is the \"half-way point\" of the data.\n", "\n", "Let's compare the balance point of the histogram to the point that has 50% of the area of the histogram on either side of it.\n", "\n", "The relationship is easy to see in a simple example. Here is the list 1, 2, 2, 3, represented as a distribution table called ``sym`` for \"symmetric\"." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value dist
1 0.25
2 0.5
3 0.25
" ], "text/plain": [ "value | dist\n", "1 | 0.25\n", "2 | 0.5\n", "3 | 0.25" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sym = Table().with_columns([\n", " 'value', [1,2,3],\n", " 'dist', [0.25,0.5,0.25]\n", " ])\n", "sym" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The histogram (or a calculation) shows that the average and median are both 2." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nfaX9+/dr2bJlkn46xTh27FjFx8dr/vz5ioiIUMuWLfXcc8/p6NGjHslgs9m0bt26K9620KJFC507\nd06BgYEe2RbQlFB2QCP6p3/6J7366qvKycnR+vXrdd111+nOO++UJH344Ye6ePGiVq1apbCwMOcy\nFRUVv7pePz+/Kx6V2e32Gl+3bdtW/fv318MPPyyHo/arLDt06FDfXQJ8AmUHNKKJEydqwYIFevvt\nt7Vx40YlJibKz89PkvTjjz9Kklq1+r//lseOHdPu3bsVHh5e53o7duyobdu26fLly87lP/vsM128\neLHGfMOGDdO+ffsUFxen3/72t57cNaBJo+yARhQdHa2EhATNnTtXZ8+e1cSJE53TBg8erJYtW2ra\ntGn613/9V509e1bz5s1Tx44dVV1dXed677rrLq1evVozZszQPffco+LiYuXm5qp169Y15pszZ45u\nv/12jR49WsnJyYqMjJTdbtfhw4d18uRJvfzyy17Zb8BoXKACNLK7775bZ8+e1T/8wz9o0KBBzvG4\nuDgtW7ZMp0+f1uTJk/XKK69o7ty56tevX611/P0tBQMHDtTChQv13//935o0aZLWrl2rpUuXqnXr\n1jXmjYiIUH5+vrp166aMjAzdddddevTRR1VQUFAjC2A2FrvdXvvEPQAAJsKRHQDA9Cg7AIDpUXYA\nANOj7AAApkfZAQBMj7IDAJgeZQcAMD3KDgBgepQdAMD0/j/k9G4xQZQ8IwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sym.hist(counts='value', bins=np.arange(0.5, 10.6, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general, for **symmetric distributions**, the mean and the median are equal.\n", "\n", "What if the distribution is not symmetric? We will explore this by making a change in the histogram above: we will take the bar at the value 3 and slide it over to the value 10." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value dist1 dist2
1 0.25 0.25
2 0.5 0.5
3 0.25 0
10 0 0.25
" ], "text/plain": [ "value | dist1 | dist2\n", "1 | 0.25 | 0.25\n", "2 | 0.5 | 0.5\n", "3 | 0.25 | 0\n", "10 | 0 | 0.25" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Average versus median:\n", "# Balance point versus 50% point\n", "\n", "slide = Table().with_columns([\n", " 'value', [1,2,3,10], \n", " 'dist1',[0.25, 0.5, 0.25, 0], \n", " 'dist2',[0.25, 0.5, 0, 0.25] \n", " ])\n", "slide" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nw4YNq8GRGFheRo4cqb59+9o/22w2zZgxQ6GhoXrssccUEhKigIAApaWlqVevXpKkc+fOaceOHVq0\naFGl23XFb/Si4wfk1tStxutbS601Xt+tqZtL/ptdlJOT49L5a6qxHrfEsTfWY0ftWK1WpaWlacSI\nEeVOCISEhOiWW27RRx99VOm6Xl5eOnr0qL7++mv17t271lmSkpL073//W0lJSWrTpk2NtmFYefHy\n8io3IlmS3N3d5eXlpbCwMEnStGnTlJSUJLPZrJCQECUmJsrT01PR0dFGRAYAwCWdPHlS586dU+fO\nnSvMCwkJ0ZYtWypdd9asWfr0008VGRmpTp06aejQoYqKitLgwYOrnWP9+vV65plnNGHCBE2aNKna\n619k+N1Gv3fpdbaZM2eqpKREMTExKigoUL9+/bR+/Xp5eHgYmBIAgMajS5cu2rlzp7Zs2aK0tDRt\n3rxZK1eu1EMPPaQlS5Y4vJ1PPvlEjzzyiIYPH66//e1vtcpUr8rL5e73jo2NVWxsrAFpAABoGHx9\nfeXu7q79+/dXmLd///4r3gjj7u6u0aNHa/To0bJarZo2bZpSU1P1+OOPq127dlfc/xdffKH77rtP\nffv21apVq6r9HJlLObx2XFycvv/++0rn79mzR/Hx8bUKAwAA6p6bm5siIyP14Ycf6siRI/bpP/74\no7Zu3VrluqdPn66wra5du0qS/Ym6F6+I5OfnV1h/3759+u///m917NhRr7/+upo3b16rY5GqceYl\nPj5eISEh9sCX+v777xUfH6+5c+fWOhQAAKhb8+bN09atWzVixAhNnjxZVqtVqampCgsL0+7du+3L\nXfrIkqioKPn7+2vgwIHy9/fXgQMH9OKLL6p79+667rrrJEl9+vSRJC1cuFB33323rrnmGt10001q\n3ry57r77bhUWFmrmzJn68MMPy227c+fOl30OzJXU2WWjoqIiNW1ar65CAQBQZ8qa+umc31NGx/jt\n9QA10K1bN61bt05//vOfZbFYFBQUpNjYWB07dqzclZVLLyFNmjRJb731lp5//nmdOXNGgYGBuu++\n+8q9SLlXr15asGCBUlNT9eijj8pms2nTpk1q3769jh49KpPJpL/+9a8VMo0bN67uy8uuXbv03Xff\n2VtYRkaGSktLKyyXn5+vl19+mVv4AAANV1N/pz6W/2qIiIjQJ598UmH678eWZmdnl5v3wAMP6IEH\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "slide.hist(counts='value', bins=np.arange(0.5, 10.6, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The blue histogram represents the original distribution; the gold histogram starts out the same as the blue at the left end, but its rightmost bar has slid over to the value 10. The brown part is where the two histograms overlap.\n", "\n", "The median and mean of the blue distribution are both equal to 2. The median of the gold distribution is also equal to 2; the area on either side of 2 is still 50%, though the right half is distributed differently from the left. \n", "\n", "But the mean of the gold distribution is not 2: the gold histogram would not balance at 2. The balance point has shifted to the right, to 3.75." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.75" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(slide['value']*slide['dist2'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the gold distribution, 3 out of 4 entries (75%) are below average. The student with a below average score can therefore take heart. He or she might be in the majority of the class." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**The mean, the median, and skewed distributions:** In general, if the histogram has a tail on one side (the formal term is \"skewed\"), then the mean is pulled away from the median in the direction of the tail." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Example: Flight Delays.** The Bureau of Transportation Statistics provides data on departures and arrivals of flights in the United States. The table ``ua`` contains the departure delay times, in minutes, of about 37,500 United Airlines flights over the past few years. A negative delay means that the flight left earlier than scheduled. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Carrier Departure Delay Arrival Delay
AA -1 -1
AA -1 -1
AA -1 -1
\n", "

... (457010 rows omitted)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ontime = Table.read_table('airline_ontime.csv')\n", "ontime.show(3)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Departure Delay
-1
-1
-1
\n", "

... (37360 rows omitted)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ua = ontime.where('Carrier', 'UA').select(1)\n", "ua.show(3)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbcAAAEqCAYAAACWbx52AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYVGX/P/D3ACoCEiOrgoAJCoqSIrhCZipqopj5GOb2\nWLg+mYoilmYuhStmplYCoqLhI4m7KeaKuGBXlJkp4QOmIosswpAiML8//DFfxgE8AzPM4vt1XVyX\nc58z53zuAXlzzrnPuUWFhYVSEBER6REDTRdARESkagw3IiLSOww3IiLSOww3IiLSOww3IiLSOww3\nIiLSOww3IiLSOxoNty5dukAsFit8jRkzRpNlERGRjjPS5M7PnDmDiooK2eusrCz069cPb7/9tgar\nIiIiXafRcGvZsqXc6+3bt8Pc3ByBgYEaqoiIiPSBVl1zi42NxZgxY9CsWTNNl0JERDpMa8Lt1KlT\nuHPnDiZOnKjpUoiISMdpTbht374d3bp1Q8eOHTVdChER6TitCLe8vDwcO3aMR21ERKQSWhFuu3bt\ngrGxMUaNGqXpUoiISA9oRbjt3LkTo0aNgomJiaZL0Yi0tDRNl6By+tgngP3SNfrYL33skzpoPNzO\nnz+P27dv85QkERGpjEbvcwMAX19f5Ofna7oMIiLSIxo/ciMiIlI1hhsREekdhhsREekdhhsREekd\nhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsR\nEekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekdhhsREekd\njYdbdnY2pk+fDhcXF9jZ2aFXr15ITk7WdFlERKTDjDS586KiIvj7+6N3796Ij49Hy5YtkZGRAWtr\na02WRUREOk6j4bZhwwa0atUKmzdvlrU5OjpqsCIiItIHGj0tefToUXh5eWHy5MlwdXWFr68vtm7d\nqsmSiIhID2g03DIyMhAVFYW2bdti3759mD59OpYuXYrIyEhNlkVERDpOo6clKysr4eXlhcWLFwMA\nOnfujPT0dERGRuKDDz7QZGkqlZ1bgLyCR3JtVmJz2FqLNVQREZF+02i42draon379nJt7du3x7ff\nflvn+9LS0tRZlsrlF5dh+Ybv5doWfxSER4V5ste61ich9LFPAPula/SxX/rWJ1dXV5VvU6Ph1rNn\n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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ua_bins = np.arange(-15, 121, 2)\n", "ua.hist(bins=ua_bins, unit='minute')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The histogram of the delay times is right-skewed: it has a long right hand tail." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mean gets pulled away from the median in the direction of the tail. So we expect the mean delay to be larger than the median, and that is indeed the case:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "13.885555228434548" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(ua['Departure Delay'])" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.0" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.median(ua['Departure Delay'])" ] } ], "metadata": { "kernelspec": { "display_name": "Python [Root]", "language": "python", "name": "Python [Root]" }, "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.2" } }, "nbformat": 4, "nbformat_minor": 0 }