{ "metadata": { "name": "week1_tutorial" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Tutorial #1: Probability distributions and error bars" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Set matplotlib to plot in the notebook\n", "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", "For more information, type 'help(pylab)'.\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: unlike MATLAB, Python has the concepts of namespaces and explicit imports.\n", "Objects from the ``numpy`` and ``matplotlib`` namespaces are availible because we are using ``pylab``,\n", "although this is fine in an interactive or notebook session it's considered proper to explicitly name them\n", "(i.e. ``import numpy as np; imoprt matplotlib.pyplot as plt``) when writing persistant code.\n", "\n", "Let's also import our plotting backend manipulator for attractive plots and some utilities to go along with the course" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "import utils\n", "import seaborn\n", "seaborn.set()\n", "colors = seaborn.color_palette()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "(1) Exploring a simple data set; one variable, one condition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simulating data is incredibly useful.\n", "\n", "The function ``randn()`` generates data\n", "containing values that are randomly drawn from a gaussian distribution\n", "with a zero mean and unit variance (a standard normal).\n", "\n", "You can also generate random gaussian values with the ``normal()`` function,\n", "which allows you to specify the mean and variance of the distribution you will sample from.\n", "\n", "Take care not to confuse ``randn()`` with ``rand()``, which draws from a uniform distribution between 0 and 1.\n", "\n", "We will be using this function regularly throughout the course.\n", "\n", "Note that if you are not using ``pylab``, both these functions are found in the ``numpy.random`` subpackage of numpy." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Start by generating a dataset and calculating some statistics\n", "d = randn(100)\n", "m = d.mean()\n", "s = d.std()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now plot a histogram of the data with 15 bins\n", "hist(d, 15)\n", "\n", "m_y = 2\n", "\n", "# Add a plot of the mean and standard deviation range\n", "plot(m, m_y, \"ko\")\n", "plot([m - s, m + s], [m_y] * 2, \"k--\");" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\njiKrt/lief8efPBBc+zYMWOMMUePHjUPPfTQLdcM9P3ry378+Mc/Ns8991znv0eNGuVaf/0R7m2t\nvb3dZGVlmZaWFjfai4izZ8/e9DXVWN23G/U2341ice+MMeajjz4y8+fPN+vXr+/x6072MCJPU+/Z\ns0dVVVXasWOH0tLSejwnXn432dzkUVZTU5OCwaAkqaGhQXv37tXChQvdbC0ibjZfLO/fjBkzVF1d\nrebmZlVXV/f4ATWxtn992Y8ZM2bo97//vRobG7V161bl5+fbaDVsfZnt4sWLnbfVP/7xj5o0aZJS\nU1Nd7zUaYnXf+irW984Yo+XLl2vixIlau3Ztj+c42sNI/JQwZswYM2LECFNUVGSKiorMqlWrjDHG\nvPvuu+azn/1s53kHDhwweXl5ZvTo0WbDhg2RKO2KP/zhDyYnJ8ekpaWZ7Oxss3DhQmNM1/lOnz5t\nJk+ebCZPnmzmzp1rXnzxRZsth6Uv8xkTu/t39epV87nPfc4MHz7clJeXm2AwaIyJ/f3raT82btxo\nNm7c2HnO008/bXJzc82UKVPMiRMnbLUatlvN9tOf/tQUFBSYyZMnm0cffdT87W9/s9luWB555BFz\nzz33mEGDBpmcnBzz4osvxs2+GXPr+WJ574wx5vDhwyYpKclMnjy5M/N27drV7z1MMiaG39YGAEAc\niPi7qQEAQHgIYwAALCOMAQCwjDAGAMAywhgAAMsIYwAALPt/JS3vG2a6Pa0AAAAASUVORK5CYII=\n" } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now let's find the medium and interquartile range\n", "med = median(d)\n", "iqr = utils.percentiles(d, [25, 75])\n", "\n", "# Plot the data with this summary\n", "hist(d, 15)\n", "plot(med, m_y, \"ko\")\n", "plot(iqr, [m_y] * 2, \"k--\");" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nDH5vS4mg0AAAAABJRU5ErkJggg==\n" } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the mean and median are very similar for these data. This is an important feature of the gaussian distribution.\n", "\n", "If data is gaussian then (1) the mean and the median will on-average approximate\n", "each other (more so, the more data you have) and (2) mean +/- 1 standard\n", "deviation spans from the 16th to the 84th percentile (i.e. 50% +/- 68%/2).\n", "\n", "Lets check this assertion by plotting these percentiles around the mean\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Let's define a function to streamline the central tendency and error bar plots from above\n", "def ctend_plot(point, ci, y, color, label):\n", " plot(ci, [y, y], \"-\", color=color, linewidth=4, label=label)\n", " plot(point, y, \"o\", color=color, markersize=10)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(d, 15)\n", "ctend_plot(m, [m - s, m + s], m_y, colors[1], \"std dev\")\n", "\n", "ci = utils.percentiles(d, [16, 84])\n", "ctend_plot(med, ci, m_y - 1, colors[2], \"68% CI\")\n", "legend();" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nYwAADCOMAQCOW736HY0ePVzJyV2UnZ2p/PwP625bv36tJk++XunpPTVlyg36+9/X19tu5MhLddVV\nV+qf/9xat7yoaI/GjBmps11U8tixMs2e/QtdfPEF6tGjsy6++ALl5T2k8vJySVJCgsfx67RLhDEA\nwGH//OdW/eIXd+j66ydpx45deuutFerWLUnStz9aMnPm7Ro16gpt2bJNI0Zcrpkzb68L2Yce+p2e\nfnqhJky4To8//kjdPn/5y7v1wAMPKyys4V90kqSKigqNHHmpCgs/0913/1KffbZXL7ywRAcO7DcS\nwN/HD0UAABy1dOlb+slPJmrSpCmSpKiojnW37dz5mY4cOaLrrrtRknTddTfq17++R4WFO9W587fX\nTu/RI1nt2rXT7373G0nSW2/9TZ07d1FW1sBG6y5Y8KRKSkr0979vVnh4uCSpZ88UzZv3P41u5wTC\nGABCSOHNk/2+z17P/cmn9d95Z7mGDRuh4cMvltvt1g033KSJE29QRESE0tL6qEOHDlq8eJGuvvoa\nvfrqK0pISFDv3qmSpLZt26qwcKc2b87XJZdcquPHvZo79zG99tpbZ6374YcfaNiwEXVB3Jo0Gsa5\nublaunSp4uPjtW3btnq3Pf7445o1a5ZKSkrUrl27Fm0SABAcjhw5os8+K5AkPfnk03K7wzV9+q2K\njj5H48dPUFhYmBYv/otyckbr7rvv1LnnevT229/9DOIDDzysOXPuV0xMjP7rv+7Vo4/O0S233KZ9\n+4p099136ZxzztGMGb9QUlL302p/9dUXGjHiJsfG6otGzxlPmTJFK1asOG35/v37tWrVKnXr1vAP\nPAMA0JCYmBhJ0oQJ1ysjo7/S0vpo0qQpev31v0r69re1f/SjK/Tccy9oz54vtWDBcxozZqQOHNgv\nScrMHKA//elFPfnk06qoKNcnn3ysiRNv0N1336W77rpbo0dfqTlz7m+wdqdOXbR5c74zA/VRo2E8\ndOhQxcXFnbb8rrvu0qOPPtpiTQEAglNERIQSE5PUps138WNZVt0Hr9ate08ZGf00bNgIRUdHa8SI\nkerbN0Nr166ptx/LsnTPPbP04IOP6vhxr4qK9ig1NU0XXTREf//7ugZrX3TREK1du0YnT55suQHa\n5PM54zfeeENdunRRv379Gt+x21X3Q9nBxu12SRLjC1CBML6amhrt2bPb5+1KS1112/u23Vc+12qu\n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\njDAGAMCw/wNyudKUGlHObAAAAABJRU5ErkJggg==\n" } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's look at the effect of an outlier. Notice that when we add\n", "outliers to the data the mean does not accurately describe the\n", "central tendency of the data and the standard deviation does not\n", "accurately reflect the spread in the data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "d1 = concatenate([d, [40, 41, 45]])\n", "m1 = d1.mean()\n", "s1 = d1.std()\n", "med1 = median(d1)\n", "ci1 = percentile(d1, [16, 84])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(d1, 15)\n", "# Find some space near the top of the plot\n", "m_y = histogram(d1, 15)[0].max() + 5\n", "ctend_plot(m1, [m1 - s1, m1 + s1], m_y, colors[1], \"std dev\")\n", "ctend_plot(med1, ci1, m_y - 2.5, colors[2], \"68% CI\")\n", "legend();" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nFi9erP3797f0lowwbdo0rVy5st5lubm5stvtKikpUVRUlPLy8lpod2Zp3769Fi5cqM2bN+u1117T\nvHnz5Ha7mddxOnTooHXr1umzzz7Tu+++q6efflolJSXM6SRycnIUFxenoKAfX23NnBoWFBSkgoIC\nffrppyoqKpLU9Fmdljg7HA7169fvhMsLCws1duxY2e12DRs2TJZlye12n44tGevn7xXv2bOn573i\nkIYOHarOnTvXu6yoqEiZmZkKDQ1VRkYGs/p/3bt316BBgyRJXbt2VXx8vIqLi5lXAzp27ChJKi8v\nV01NjUJDQ5lTA3bv3q3ly5dr+vTpsixLEv//NebYjI5p6qxa9JSRRUVFio2N9XwdExPj+SsjUJ3s\nveJo2M/n5XA4Av73pyHbtm3T5s2blZSUxLwaUFdXp4SEBEVGRuqmm26S3W5nTg245ZZblJ2dXe99\n8sypYUFBQUpNTVV6errefPNNSU2fld9eEDZq1Cj961//OuHy+fPne56fON7xf1lI8jxcAnijod8h\n/MTtdmvixIlauHChOnXqxLwa0K5dO33++ecqLS3VuHHjNGTIEOZ0nKVLl6pbt25KTExUQUGB53Lm\n1LD3339fZ599tlwul8aPH6+kpKQmz8pvcV69enWTb5OcnKw1a9Z4vt6yZYucTqe/ttQqOZ1O3Xbb\nbZ6vN2/erLFjx7bgjszmdDrlcrmUmJgol8sV8L8/P1ddXa2rrrpKU6ZMUVpamiTm1Zjo6GiNGzdO\nhYWFzOk4H3zwgd58800tX75cVVVVOnLkiKZMmcKcTuLss8+WJMXGxuryyy/XW2+91eRZnfaHtX/+\n10NSUpJWrVqlsrIyFRQUqF27dgoPDz/dWzIK7xVvmuTkZOXn56uyslL5+fl86M3/syxLmZmZ6t+/\nv+bMmeO5nHnVt3//fv373/+WJB04cEBvv/220tLSmNNx5s+fr127dmnHjh16+eWXlZqaqueff545\nNaCiosLz2ql9+/Zp1apVGjt2bNNnZZ0Gr7/+uhUVFWV16NDBioyMtMaOHev53iOPPGL17t3bio2N\ntdavX386tmO8goICy+FwWL1797ZycnJaejvGmDRpknX22WdbISEhVlRUlJWfn28dOXLEuvzyy61z\nzz3XSktLs9xud0tv0wjvvfeeFRQUZCUkJFiDBg2yBg0aZK1YsYJ5HWfTpk1WYmKiNXDgQGv06NHW\ns88+a1mWxZwaUVBQYI0fP96yLObUkK+//tpKSEiwEhISrNTUVOvpp5+2LKvpswqyLJ40AADAJC36\nam0AAHD8G56hAAAAIUlEQVQi4gwAgGGIMwAAhiHOAAAYhjgDAGAY4gwAgGH+D2MTrDJWt0/cAAAA\nAElFTkSuQmCC\n" } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that in this plot the mean is much higher than the median and the\n", "standard deviation is massive. \n", "\n", "Neither the median nor the percentiles are drastically affected by the outliers.\n", "\n", "Notice that the mean is higher than the 84th percentile. This means that the mean is higher than 84% of\n", "the values in the data.\n", "\n", "Given this distribution the mean and standard deviation are poor representations of the central tendency and spread of the data." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "(2) Probability distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The equation for a gaussian is:\n", "\n", "$$p(x) = \\frac{1}{\\sigma\\sqrt{2\\pi}}\\exp[-\\frac{1}{2}(\\frac{x - \\mu}{\\sigma})^2]$$\n", "\n", "where $\\mu$ is the mean and $\\sigma$ is the standard deviation.\n", "\n", "We can plot the gaussian function with the approriate parameters on both histograms and see how well they fit the data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# First create a vector of x values spanning the support of the histogram\n", "x = linspace(d.min(), d.max(), 1000)\n", "\n", "# Let's define a function to calculate the gaussian function for a given x, mean, and std\n", "gauss = lambda x, m, s: (1 / (s * sqrt(2 * pi)) * exp(-0.5 * ((x - m) / s) ** 2))\n", "\n", "# We could iterate through the x values and calculate a y value for each using this equation\n", "y0 = zeros_like(x)\n", "for i, x_i in enumerate(x):\n", " y0[i] = gauss(x_i, m, s)\n", "\n", "# You can also do it in one step with a vectorized computation.\n", "# In general, avoid for loops, as vectorized expressions are much faster.\n", "y = gauss(x, m, s)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "NOTE: MATLAB and Python (specifically numpy) differ here.\n", "Regular arithmetic is elementwise in numpy\n", "i.e.: x * y in python is equivalent to x *. y in MATLAB\n", "Use the dot() function or np.matrix objects for matrix operations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now plot the gaussian curve over the histogram" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Use a normed histogram to match the range of the probaiblity density function\n", "hist(d, 15, normed=True)\n", "plot(x, y);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nRK5CYII=\n" } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculate the height of the gaussian for the outlier distribution and plot\n", "x1 = linspace(d1.min(), d1.max(), 10000)\n", "y1 = gauss(x1, m1, s1)\n", "hist(d1, 15, normed=True)\n", "plot(x1, y1);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nYII=\n" } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the Gaussian is a good description of the data when the data\n", "does in fact come from a Gaussian distribution but is a poor\n", "description when the data is non-Gaussian because of the outliers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In case you were wondering, there are easier ways to generate gaussian distributions in Python.\n", "\n", "The ``scipy.stats`` package offers many distribution objects that let you evaluate pdfs, cdfs, and draw random values" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import stats\n", "x = linspace(-4, 4, 10001)\n", "hist(stats.norm(0, 1).rvs(1000), 30, normed=True, alpha=.6)\n", "plot(x, stats.norm(0, 1).pdf(x), linewidth=6)\n", "plot(x, gauss(x, 0, 1), linewidth=3);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nlr2Mbg6R0xQ5ejYU2DE5migjkSRD3rJPGn5Gx2QwLbWYvbdF4XNGjqJjfQaltT4qm/ZwprvR5ISS\nFCELtHRZ5yz70fAzZ0/v4JkjuU464q1k6VPldc/SsCEuTGHb0tJCS0sLFfHT0e1WdkyO7lln+mEf\nzoDOu4dX0dzcTEtLC4ZhmJhautXJqT6lSwrSTZNaTVFdgLQODYCwBbZPiSbaSCFBjDE5oST1n9fj\n5v0vW0lK7r3iID46l+qxJyip9ZPUpeMIC8oOedk4vYG3tm5FOe/kh0umk5gYfYWfLEk3jjyCli7p\ntKUKi673Ofe8p8iFJ9rCGL1MHj1Lw44rpu8UtrnWmSiKna0lvTfLmHzMT3y3RltcLa7YWBPTSpIs\n0NIl+KznOW+pY1qNjxh/pIvP61TZXeQiSc8lVsjrnqXhz4aTDL2Yk6PtnE2xAWARMHuvB7/aQUdU\nvbkBpVueLNBSH4YwaI45QIxPZ9pFc25vK45Gs1rJ0qebmE6Srq90YwJ2Ythc2nsUXXAmRE5jkFZX\nDR5NTgEqmUcWaKmPXef3EbC5mbvbg02PLGtJtFKT5yTNmIiTOHMDStJ1pGIlS59Gc7KN6nxnz/J5\nuz0oIsznTfJGGpJ5ZIGWenQE3HzZvIWcxiDjLrqd5KapMViUKDL1YhPTSdKNMcoYS4yRytaSmD63\noyw94mN/ZzVH20+anFC6VckCLfV45+AqtFCQ+VW9l1UdznNyNs1Otj4dK3YT00nSjaGgkKPfjt9h\nYfuU3hHbZYe8xHp1/nPfu2iGbmJC6VYlC7QEwMGWI2w/s5vph70keCI7o4BNYUtpDDFGqpzSUxrR\nosUoUo1CDoyLojUhcvWpTYd5u7s55T7Lx8c+NzmhdCuSBVoioAX4y95/kNClMf2wr2f5tpIY/A4L\nuXqFvKxKGvGy9KlYlCg2TO8dMDb2TIhxp4KsOvIZTd5mE9NJtyJZoCX++8QntHvaWbijC+uFiZOa\nRlk5WOAk3ZiISySZG1CSbgIrDrL1GTSm2jlQ0DtgbH5VN1ZfiJU172MIObOYdPNctUBv2rSJoqIi\nxo0bx5tvvnnJdZ577jny8/OZNm0aR44c6Vmem5vLlClTKC0tpays7Pqllq6b2vPH2Hx2ByW1fjLb\nIjOG6Qr8qywWG9GM1ktNTihJN0+yUUCckcnW0hi6XZHdoysomLe7m7quBjae2WZyQulWctWpPp96\n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\nAAAAAElFTkSuQmCC\n" } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note how the distributions lie directly on top of each other" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "(3) Error bars" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First lets simulate a population of 10,000 data points.\n", "Assume that for whatever we are measuring this represents the full\n", "population of measurements." ] }, { "cell_type": "code", "collapsed": false, "input": [ "s = 10000\n", "N = randn(s)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "To randomly sample from the population, we will use the ``randint`` function, which draws from a \"discrete uniform\" distibution.\n", "\n", "We will use the returned values as indices into the population array.\n", "\n", "Note that this will sample *with* replacement." ] }, { "cell_type": "code", "collapsed": false, "input": [ "sample_size = 100\n", "n = N[randint(0, s, sample_size)]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "# Get the standard error of the mean and 95% CI for the sample\n", "sem1 = n.std() / sqrt(sample_size)\n", "m1 = n.mean()\n", "ci1 = m1 - 2 * sem1, m1 + 2 * sem1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can show that the 95% confidence interval obtained from the standard\n", "error of the mean aproximates the variability in the mean that would be\n", "obtained when many independent random samples are taken from the\n", "population." ] }, { "cell_type": "code", "collapsed": false, "input": [ "n_samples = 10000\n", "mu = array([N[randint(0, s, sample_size)].mean() for i in xrange(n_samples)])\n", "sem2 = mu.std()\n", "ci2 = utils.percentiles(mu, [2.5, 97.5])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we'll visualize these results." ] }, { "cell_type": "code", "collapsed": false, "input": [ "hist(n)\n", "ctend_plot(N.mean(), ci2, 3, colors[4], \"poplation mean\")\n", "ctend_plot(n.mean(), ci1, 2, colors[2], \"sample mean\")\n", "legend(loc=\"best\");" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\np7A0cZsAAAAASUVORK5CYII=\n" } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "(4) Nonparametric approaches to error bars" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we showed above when the data is gaussian then the standard error of\n", "the mean, can be calculated with the equation sd ./ sqrt(n). \n", "\n", "In the above simulation roughly 95% of the sample means fell within the 95%\n", "confidence interval derived from the standard error. This will not be the\n", "case if the data is not gaussian.\n", "\n", "If we do not want to make the gaussian\n", "assumption we can calculate central tendency (median) and error by\n", "randomly sampling from our data with replacement." ] }, { "cell_type": "code", "collapsed": false, "input": [ "sample_size = 20\n", "s = 10000\n", "n = N[randint(0, s, sample_size)]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "n_boots = 10000\n", "\n", "# We can bootstrap the two different statistics\n", "me = zeros(n_boots)\n", "mn = zeros(n_boots)\n", "for i in xrange(n_boots):\n", " sample = n[randint(0, sample_size, sample_size)]\n", " me[i] = median(sample)\n", " mn[i] = mean(sample)\n", "\n", "# Compute the median and its confidence interval\n", "med = median(me)\n", "ci95med = utils.percentiles(me, [2.5, 97.5])\n", "\n", "# Do the same for the mean\n", "xbar = mean(mn)\n", "ci95mean = utils.percentiles(mn, [2.5, 97.5])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The MATLAB tutorial asks us to think of a good way to visualize the data.\n", "\n", "This might be one?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Define a function to streamline the central tendency and error bar plots from above\n", "def ctend_plot(point, ci, y, color, label):\n", " plot(ci, [y, y], \"-\", color=color, linewidth=4, label=label)\n", " plot(point, y, \"o\", color=color, markersize=10)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(me, 20, alpha=0.5, normed=True)\n", "hist(mn, 20, alpha=0.5, normed=True)\n", "plot_height = ylim()[1]\n", "ctend_plot(med, ci95med, plot_height * .75, colors[0], \"median\")\n", "ctend_plot(xbar, ci95mean, plot_height * .70, colors[1], \"mean\")\n", "legend(loc=\"best\");" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nMAMAYJD/D1iugJGX15PhAAAAAElFTkSuQmCC\n" } ], "prompt_number": 22 } ], "metadata": {} } ] }