{ "metadata": { "name": "", "signature": "sha256:dcee4cca8bae54b401f948fcc72ae79ebe89ebe7ca620410e0158b6393e2e012" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Let's explore some math and statistics stuff today and make sense of \"statistically significant\" but small differences." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "import random" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 59 }, { "cell_type": "markdown", "metadata": {}, "source": [ "First let's play with some basic sampling functions, first with integers." ] }, { "cell_type": "code", "collapsed": false, "input": [ "random.randint(0, 100)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 61, "text": [ "24" ] } ], "prompt_number": 61 }, { "cell_type": "code", "collapsed": false, "input": [ "random_ints = [randint(0, 100) for x in range(10000)]\n", "print random_ints[:10]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[35, 14, 33, 2, 15, 23, 23, 99, 20, 47]\n" ] } ], "prompt_number": 62 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What does this look like? We need a histogram. Histograms are your friend." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pylab as mp" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 63 }, { "cell_type": "code", "collapsed": false, "input": [ "mp.hist(random_ints)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 64, "text": [ "(array([ 967., 1004., 1051., 980., 995., 1016., 973., 950.,\n", " 968., 1096.]),\n", " array([ 0., 10., 20., 30., 40., 50., 60., 70., 80.,\n", " 90., 100.]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nrkJggg==\n", "text": [ "" ] } ], "prompt_number": 64 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In case your histogram didn't appear inline, type \"show()\". Plus, this histogram by default has only 5 bars, which is not enough. Let's ask for more." ] }, { "cell_type": "code", "collapsed": false, "input": [ "mp.hist(random_ints, 101)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 65, "text": [ "(array([ 104., 98., 100., 109., 94., 95., 90., 87., 106.,\n", " 84., 90., 96., 100., 100., 105., 117., 88., 99.,\n", " 104., 105., 118., 100., 109., 101., 103., 94., 103.,\n", " 99., 117., 107., 95., 105., 88., 99., 97., 113.,\n", " 106., 91., 106., 80., 83., 82., 98., 111., 117.,\n", " 99., 111., 99., 98., 97., 92., 102., 86., 92.,\n", " 109., 96., 99., 110., 103., 127., 109., 85., 108.,\n", " 99., 105., 99., 93., 96., 93., 86., 81., 100.,\n", " 94., 105., 99., 83., 111., 80., 106., 91., 107.,\n", " 86., 92., 106., 90., 112., 84., 96., 103., 92.,\n", " 92., 88., 99., 98., 103., 103., 91., 104., 100.,\n", " 121., 97.]),\n", " array([ 0. , 0.99009901, 1.98019802, 2.97029703,\n", " 3.96039604, 4.95049505, 5.94059406, 6.93069307,\n", " 7.92079208, 8.91089109, 9.9009901 , 10.89108911,\n", " 11.88118812, 12.87128713, 13.86138614, 14.85148515,\n", " 15.84158416, 16.83168317, 17.82178218, 18.81188119,\n", " 19.8019802 , 20.79207921, 21.78217822, 22.77227723,\n", " 23.76237624, 24.75247525, 25.74257426, 26.73267327,\n", " 27.72277228, 28.71287129, 29.7029703 , 30.69306931,\n", " 31.68316832, 32.67326733, 33.66336634, 34.65346535,\n", " 35.64356436, 36.63366337, 37.62376238, 38.61386139,\n", " 39.6039604 , 40.59405941, 41.58415842, 42.57425743,\n", " 43.56435644, 44.55445545, 45.54455446, 46.53465347,\n", " 47.52475248, 48.51485149, 49.5049505 , 50.4950495 ,\n", " 51.48514851, 52.47524752, 53.46534653, 54.45544554,\n", " 55.44554455, 56.43564356, 57.42574257, 58.41584158,\n", " 59.40594059, 60.3960396 , 61.38613861, 62.37623762,\n", " 63.36633663, 64.35643564, 65.34653465, 66.33663366,\n", " 67.32673267, 68.31683168, 69.30693069, 70.2970297 ,\n", " 71.28712871, 72.27722772, 73.26732673, 74.25742574,\n", " 75.24752475, 76.23762376, 77.22772277, 78.21782178,\n", " 79.20792079, 80.1980198 , 81.18811881, 82.17821782,\n", " 83.16831683, 84.15841584, 85.14851485, 86.13861386,\n", " 87.12871287, 88.11881188, 89.10891089, 90.0990099 ,\n", " 91.08910891, 92.07920792, 93.06930693, 94.05940594,\n", " 95.04950495, 96.03960396, 97.02970297, 98.01980198,\n", " 99.00990099, 100. ]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEsZJREFUeJzt3X2MHOVhx/Hv4pc0BIxzimQMtmTHwQKiNAU1vLRBHNRQ\nFxKbqhIQBeQAzT+0DWkriI8owShS5CZKQ6WKP5oGdGmDG5cgy64cZJcwFVUiIOUlBOP6pXFjE/mI\nCgluI4Qtb/945tj13d7t3szs7sw83490uplnZ2ef53buN88+87IgSZIkSZIkSZIkSZIkSZKkgjwE\nTAAvdXjsL4GTwEhb2RiwH9gLXNv32kmSCnEFcBHTw3458DjwU1phfyHwArAAWAEcAE4bSC0lSbPq\nFsZPAW90KP9r4J4pZeuBLcBx4BAh7C/JWT9JUgGy9LzXA0eAH08pPyctn3QEODdjvSRJBZo/x+VP\nB+4Frmkra8yyfHPONZIkFW6uYb+KMB7/Yjq/DPgP4FLgVcJYPm2PvTptBatWNQ8ePDjnikpS5A4C\nH+jnC6yg89k40PkA7UJgZVqxTr3+Zp3dd999w65CX9m+aqtz++rctmaz2STnSEm3MfstwA+A1cBh\n4Lapwd02vQfYmv7+HnBn3spJkorRbRjnE10ef/+U+S+nP5KkEvE8+IKNjo4Ouwp9Zfuqrc7tq3Pb\nijDbmTT9kg4/SZJ61Wg0IEdm27OXpAgY9pIUAcNekiJg2EtSBAx7SYqAYS9JETDsJSkChr0kRcCw\nl6QIGPaSFAHDXpIiYNhLUgQMe0mKgGEvSREw7BWtRYtGaDQaNBoNFi0a6f4EqcK8n72iFe4PPrkt\nNnC7VJl5P3tJUleGvSRFwLCXpAgY9pIUAcNekiLQLewfAiaAl9rKvgq8ArwIPAac1fbYGLAf2Atc\nW1w1JUl5dAv7h4G1U8p2AR8EPgzsIwQ8wIXATenvtcCDPaxfkjQA3cL4KeCNKWW7gZPp9NPAsnR6\nPbAFOA4cAg4AlxRSS0lSLnl73rcDO9Ppc4AjbY8dAc7NuX5Jmsarn+dufo7nfh54G3hklmU6XpK4\nadOmd6ZHR0cZHR3NUQ1JsTl27A0m4+XYsWHcCKD/kiQhSZLC1tfLX2kFsAP4UFvZp4BPA78HvJWW\nbUx/b05/Pw7cRxjqaeftElQK3i6humJ874Zxu4S1wN2EMfq32sq3AzcDC4GVwHnAM1krJkkqTrdh\nnC3AlcD7gMOEnvoYIdB3p8v8ELgT2ANsTX+fSMvqv7uVpArwrpcFW7RohGPH3uDMM9/Lm2++Puzq\naBYxDgXURYzvnXe97JOsR/snDxyF38Ovz7BUrb5S3dmzn0HWnkPrecX2NqrWk6lCfatQR3UW43tn\nz16S1JVhL0kRMOwlKQKGvSRFwLCXpAgY9hHytEgpPoZ9hFo3kSr+egDVh52Ceslz10tJNRbDnSVj\nYs9ehWnvCXZbxp5iPva6NVdeQTuDOl9B26+rD6eut9Nr9Ovv083kPYuAd+5bVOWrMAdR9zL/fcpc\nt37JewWtwziKgkMSil0ph3Hq9lHfj9z9l3+bme97pFor5TDOsD7qd64Dc6pHp7oX8ZHTYZxeX7vz\neju1uZf6lpXDOOWtW794IzSpj+r2KVPxMuwrab4BNCD9+n6CQXIYUeAB2oo6QQggDzSqOw9OC2rW\ns/cjdxbTD0zaE6yurO+d/zv1V6uwz/uRu5eLgop8XpGyB3T4lND+d/N2CrMbxM4w79dizvW9q8Nw\nlWY3lLNxvvCFLwJw2WWXct11101bIOsZG3nP9Mh6dkbn5/X3bJw8r9GtnfnPROq83lOXqcbZOP06\nu6r39nR+jZke76Wds/99BtvOrMpct36p5EVVX/rSacA+Lr/82Y5hXwXtV2RK6o9OVz4rmyEN49wH\nfHI4L12Q9o/LkvrDIcXidAv7h4AJ4KW2shFgN7AP2AUsbntsDNgP7AWuLa6a9dRpXNaDo4Mwf6jH\nV+ok74Hd9u290Vjott9H3cL+YWDtlLKNhLBfDTyRzgNcCNyU/l4LPNjD+qPWqddiT2a64neAkwel\nlVfeA7unfkI+jtt+/3QL46eAqX/1dcB4Oj0O3JBOrwe2EN6xQ8AB4JJCaqmouQOU8svS815CGNoh\n/b0knT4HONK23BHg3OxVq6vWee2SNCh5z8bpdoRyhsc2Afs5fHg/SZIwOjo68LNbWq+3gPBhpGgz\njQu3DyEY+Gpti55t0k1cx1qSJCFJksLWlyXsJ4CzgaPAUuC1tPxVYHnbcsvSsg42ATtZvvwNRkdH\ngVMv6R5ECLZeb+q51kUx1NWb1ri328ns4vqfGh0dfScfAe6///5c68syjLMd2JBObwC2tZXfDCwE\nVgLnAc/kql3JDP5K2fxDPuW4DL5TO/p///hi36+Z3otB3Ae/HvfaL8e2GK9uPfstwJXA+4DDwBeB\nzcBW4A7Cgdgb02X3pOV7CLvgO6nZKQ+D/vRRRE+mHL3GTu1olfWrbsW+XzO9F/1vx2Beo//KsS3G\nayi3Swgb7k5OO+2POHnyrVMfeqda/b1dQvuyM10yP5fL6zvVvfdls79Gt0vbe7kMPs/tEqYfa8ny\n91lACLTOV0kWdbn/XN6jTn+/Xt/DuSryPRr07RKy/c+13u8g//+Dt0vobqjnwYeg9yrUwejPWUDF\nXEncfjO2Y7UYstBsWu93Mfx+h154P/toVOXgVj2GLDRIfr9DL6K6wrUMtyJWv5XjOoY6H4z0/6ia\nKhP2RVwyX7+bl5Uj2Mql6CGCbOp8f/j6/R/FoTLDOH61WidVGZqRNGwlD/uYrpiLqa3qzG1A/VPy\nYZxyfCQfDO/EqJi2dw1aycNeqpLhXCks9cKwV4nNPqxRvrNCOvXMp3+he1n063YSfglJOZV8zF5x\nmwzKzmE0+NtX1Et/byfhyRRlY89ebTxAWC9Vfj+rXPdyqmjY9z4OWr6P+mXmQeJ6yfJ+luXaDbfF\nolV0GKf3S+r9qC/Nhddu1FVFe/aSpLkw7CUpAhUdxhm0qh0sqlp9VV9ui2VRg7AfxMY0+ymA5eO4\nq8rCbbEsajCM4yXmktRNDcJecSnLqYFZlOHWCVX++ymPGgzjKC6DGBbo19BgGb6Fy2GVWNmzl6Zx\naFD1U9OevWcASMXyf6rqatqzt2fWD0V8NaTyGlbo+j9VdXnCfgx4GXgJeAR4FzAC7Ab2AbuAxXkr\nqPJo/+7Rst2uNx7eM0bZZA37FcCngYuBDwHzgJuBjYSwXw08kc6rlvxYL1VJ1rB/EzgOnE4Y9z8d\n+DmwDhhPlxkHbshbQZWVPUypSrKG/evA14CfEUL+l4Qe/RJgIl1mIp2XNI3nu2uwsp6Nswr4LGE4\n51fAPwO3TFlmlqM5m4D96XQCjGashvrP4Zr+KPJ8d9+jOkqShCRJCltf1i3kJuAa4I/T+VuBy4Cr\ngauAo8BS4Eng/CnPbYaNfCdwPZ2+yqw13amsl+mqLVu2+thO21nNdjab9R1aTHfomffqWYdx9hLC\n/d3pi68B9gA7gA3pMhuAbVkrJkkqTtZhnBeBbwE/Ak4CzwF/B5wJbAXuAA4BN+avoiQprzxX0H4l\n/Wn3OqGXL0kqkZpeQStJamfYS1IEDHtJioBhL0kRMOwlKQKGvSRFwLCXpAgY9pIUAcNekiJg2EtS\nBAx7SYqAYS9JETDsJSkChr0kRcCwl6QIGPaSFAHDXpIiYNhLUgQMe0mKgGEvSREw7CUpAoa9JEXA\nsJekCOQJ+8XAo8ArwB7gUmAE2A3sA3aly0iShixP2P8NsBO4APhNYC+wkRD2q4En0nlJ0pBlDfuz\ngCuAh9L5E8CvgHXAeFo2DtyQq3aSpEJkDfuVwC+Ah4HngG8A7wGWABPpMhPpvCRpyObneN7FwJ8C\nzwIPMH3Ippn+dLAJ2J9OJ8BoxmpIUj0lSUKSJIWtr5HxeWcDPyT08AE+CowB7weuAo4CS4EngfOn\nPLcZ9gE7getp7Q8aHaY7lfUyXbVly1Yf22k7q9nOZnOG/mUNNBoNyJ7ZmYdxjgKHCQdiAdYALwM7\ngA1p2QZgW9aKSZKKk3UYB+DPgG8DC4GDwG3APGArcAdwCLgxZ/0kSQXIE/YvAh/pUL4mxzolSX3g\nFbSSFAHDXpIiYNhLUgQMe0mKgGEvSREw7CUpAoa9JEXAsJekCBj2khQBw16SImDYS1IEDHtJioBh\nL0kRMOwlKQKGvSRFwLCXpAgY9pIUAcNekiJg2EtSBAx7SYqAYS9JETDsJSkChr0kRSBv2M8Dngd2\npPMjwG5gH7ALWJxz/ZKkAuQN+7uAPUAznd9ICPvVwBPpvCRpyPKE/TLgOuDvgUZatg4YT6fHgRty\nrF+SVJA8Yf914G7gZFvZEmAinZ5I5yVJQzY/4/M+BrxGGK8fnWGZJq3hnSk2AfvT6WSWVUhSnJIk\nIUmSwtbX6L5IR18GbgVOAL8BLAIeAz5CSO6jwFLgSeD8Kc9thn3ATuB6WvuDRofpTmW9TFdt2bLV\nx3bazmq2s9mcoX9ZA41GA7JnduZhnHuB5cBK4Gbg+4Tw3w5sSJfZAGzLWjFJUnGKOs9+cne6GbiG\ncOrl1em8JGnIso7Zt/u39AfgdWBNAeuUJBXIK2glKQKGvSRFwLCXpAgY9pIUAcNekiJg2EtSBAx7\nSYqAYS9JETDsJSkChr0kRcCwl6QIGPaSFAHDXpIiYNhLUgQMe0mKgGEvSREw7CUpAoa9JEXAsJek\nCBj2khQBw16SImDYS1IEDHtJikDWsF8OPAm8DPwE+ExaPgLsBvYBu4DFeSsoScova9gfB/4c+CBw\nGfAnwAXARkLYrwaeSOclSUOWNeyPAi+k0/8LvAKcC6wDxtPyceCGXLWTJBWiiDH7FcBFwNPAEmAi\nLZ9I5yVJQzY/5/PPAL4L3AUcm/JYM/3pYBOwP51OgNGc1ZCkekmShCRJCltfI8dzFwD/AnwPeCAt\n20tI7qPAUsJB3POnPK8Z9gE7getp7Q8aHaY7lfUyXbVly1Yf22k7q9nOZnOG/mUNNBoNyJHZWYdx\nGsA3gT20gh5gO7Ahnd4AbMtaMUlScbIO4/wucAvwY+D5tGwM2AxsBe4ADgE35qyfJKkAWcP+35n5\nU8GajOuUJPWJV9BKUgQMe0mKgGEvSREw7CUpAoa9JEXAsJekCBj2khQBw16SImDYS1IEDHtJioBh\nL0kRMOwlKQKGvSRFwLCXpAgY9pIUAcNekiJg2EtSBAx7SYqAYS9JETDsJSkChr0kRcCwl6QI9CPs\n1wJ7gf3A5/qwfknSHBUd9vOAvyUE/oXAJ4ALCn4NDVUy7Ar0WTLsCkh9UXTYXwIcAA4Bx4F/AtYX\n/BoaqmTYFeizZNgVkPqi6LA/FzjcNn8kLZMkDdH8gtfX7GWhRYs+zokTE/z61wW/uiSpo0bB67sM\n2EQYswcYA04Cf9W2zAFgVcGvK0l1dxD4wLArMWk+oUIrgIXAC3iAVpJq6Q+A/yT04MeGXBdJkiRJ\n/VC3C66WA08CLwM/AT6Tlo8Au4F9wC5g8VBqV4x5wPPAjnS+Tm1bDDwKvALsAS6lXu0bI2ybLwGP\nAO+i2u17CJggtGfSbO0ZI2TNXuDaAdUxj07t+yph+3wReAw4q+2x0rZvHmFoZwWwgHqM558N/FY6\nfQZh+OoC4CvAPWn554DNg69aYf4C+DawPZ2vU9vGgdvT6fmEf6S6tG8F8F+EgAf4DrCBarfvCuAi\nTg3DmdpzISFjFhD+Fgco/+1hOrXvGlr13kxF2nc58Hjb/Mb0p062AWsIe9oladnZ6XwVLQP+FbiK\nVs++Lm07ixCGU9WlfSOEzsd7CTuyHYTgqHr7VnBqGM7UnjFOHT14nHC2YNmt4NT2tftD4B/T6Tm3\nb5B7grpfcLWCsFd+mrDxTaTlE7Q2xqr5OnA34fTZSXVp20rgF8DDwHPAN4D3UJ/2vQ58DfgZ8HPg\nl4Thjrq0b9JM7TmHkDGT6pA3twM70+k5t2+QYd/TBVcVdQbwXeAu4NiUx5pUs+0fA14jjNfPdD1G\nVdsGobd7MfBg+vv/mP5Js8rtWwV8ltAJOYewjd4yZZkqt6+Tbu2pcls/D7xNOPYyk1nbN8iwf5Vw\nQHPSck7dM1XVAkLQ/wNhGAdCD+PsdHopITSr5neAdcBPgS3A1YQ21qFtELa9I8Cz6fyjhNA/Sj3a\n99vAD4D/AU4QDu5dTn3aN2mm7XFq3ixLy6roU8B1wCfbyubcvkGG/Y+A82hdcHUTrYN+VdUAvkk4\nk+OBtvLthINhpL+3UT33EjamlcDNwPeBW6lH2yCE3mFgdTq/hnDmyg7q0b69hDHcdxO20zWE7bQu\n7Zs00/a4nbDdLiRsw+cBzwy8dvmtJQylrgfeaisvffvqdsHVRwnj2S8QhjueJ7w5I4QDm1U8va2T\nK2ntmOvUtg8Tevbtp7XVqX330Dr1cpzwKbTK7dtCOP7wNmFHfRuzt+deQtbsBX5/oDXNZmr7biec\nWvnftPLlwbblq9Y+SZIkSZIkSZIkSZIkSZIkSZIkSRqc/wd/JmPxYLDsJgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 65 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let me tell you a story about my friend Jordan. He wanted to simulate the lottery, or at least a baby version of it, but all he had were dice. How much of a problem is this? Let's do some experiments." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def make_roll():\n", " return [random.randint(1,6) for c in range(3)]\n", "\n", "rolls = [make_roll() for x in range(100)]\n", "\n", "print rolls[0:4]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[3, 6, 5], [2, 4, 6], [1, 2, 4], [4, 2, 6]]\n" ] } ], "prompt_number": 77 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's develop a test for there being a double. There are lots of ways to do this." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def has_double(roll):\n", " if roll[0]==roll[1] or roll[0]==roll[2] or roll[1]==roll[2]: return 1\n", " else: return 0\n", " \n", "print has_double([1,1,2])\n", "print has_double([0,1,2])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n", "0\n" ] } ], "prompt_number": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "len(set([1,2,3,2]))\n", "set([1,2,3])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 79, "text": [ "{1, 2, 3}" ] } ], "prompt_number": 79 }, { "cell_type": "code", "collapsed": false, "input": [ "filtered_rolls = [has_double(roll) for roll in rolls]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": [ "print filtered_rolls[:10]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[0, 0, 0, 0, 1, 0, 1, 0, 1, 0]\n" ] } ], "prompt_number": 81 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we'd like to figure out \"how often\" doubles happen. If you think about it, that means we add up all the \"1\"s and then divide by all the tries we did. But looking at the formula, that's just the average value. Now we know our choice of \"1\"s and \"0\"s was good. Of course we could have gone the exact opposite way, but whatevs." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def our_mean(list):\n", " return sum(list)/float(len(list))\n", "\n", "our_mean(filtered_rolls)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 82, "text": [ "0.52000000000000002" ] } ], "prompt_number": 82 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remember, that's just an estimate. It could easily have been different with a different sample. Let's vary the one parameter we have here, namely the number of draws in our sample." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def compute_percentage_of_doubles(n):\n", " rolls = [make_roll() for x in range(n)]\n", " filtered_rolls = [has_double(roll) for roll in rolls]\n", " return our_mean(filtered_rolls)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 83 }, { "cell_type": "code", "collapsed": true, "input": [ "compute_percentage_of_doubles(1000000)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 86, "text": [ "0.444608" ] } ], "prompt_number": 86 }, { "cell_type": "markdown", "metadata": {}, "source": [ "After a bunch of experiments, we have some idea of the \"actual value\". Is there another way we can derive it? Let's use our noggins." ] }, { "cell_type": "code", "collapsed": false, "input": [ "1-(6*5*4)/(6*6*6.0)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 85, "text": [ "0.4444444444444444" ] } ], "prompt_number": 85 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alot of what we just did generalizes to general data analysis. Except, in general, it is _not_ possible to formally derive the answer.\n", "\n", "Oh and plus, there's another function that will give you \"samples without replacement,\" which is actually what Jordan wanted.\n", "\n", "Oh and plus plus, I have to reimport stuff from random because two different things have the same name now." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from random import *\n", "[sample(range(1, 6), 3) for x in range(10)]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 30, "text": [ "[[2, 5, 3],\n", " [1, 2, 3],\n", " [1, 5, 4],\n", " [5, 1, 3],\n", " [4, 5, 1],\n", " [2, 1, 4],\n", " [2, 5, 3],\n", " [5, 1, 4],\n", " [5, 4, 1],\n", " [2, 5, 1]]" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just for fun, and now that we know the \"true value\" of the percentage of doubles, let's see how close we get when we take samples of 100. Let's draw a histogram of 1000 estimates of that true value." ] }, { "cell_type": "code", "collapsed": false, "input": [ "just_for_fun = [compute_percentage_of_doubles(400) for x in range(1000)]\n", "hist(just_for_fun, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 88, "text": [ "(array([ 2., 5., 10., 9., 14., 8., 38., 33., 39., 57., 66.,\n", " 44., 70., 66., 87., 65., 79., 33., 64., 46., 47., 35.,\n", " 22., 9., 14., 19., 9., 5., 3., 2.]),\n", " array([ 0.3775 , 0.38208333, 0.38666667, 0.39125 , 0.39583333,\n", " 0.40041667, 0.405 , 0.40958333, 0.41416667, 0.41875 ,\n", " 0.42333333, 0.42791667, 0.4325 , 0.43708333, 0.44166667,\n", " 0.44625 , 0.45083333, 0.45541667, 0.46 , 0.46458333,\n", " 0.46916667, 0.47375 , 0.47833333, 0.48291667, 0.4875 ,\n", " 0.49208333, 0.49666667, 0.50125 , 0.50583333, 0.51041667,\n", " 0.515 ]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 88 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What other kind of distributions do we have that don't involve integers?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "uni_samples = [uniform(0, 1) for x in range(1000000)]\n", "uni_samples[:10]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 44, "text": [ "[0.26639958361763505,\n", " 0.38163880239537396,\n", " 0.04999522393547573,\n", " 0.8981225243250924,\n", " 0.334938312639219,\n", " 0.9050525677371757,\n", " 0.8310748478239941,\n", " 0.20260983773385222,\n", " 0.8555161375071846,\n", " 0.7208789533182086]" ] } ], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(uni_samples, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 45, "text": [ "(array([ 33122., 33182., 33389., 33452., 33341., 33274., 33189.,\n", " 33588., 33233., 33512., 33417., 33028., 33468., 33625.,\n", " 33255., 33327., 33108., 33224., 33356., 33213., 33368.,\n", " 33649., 33356., 33413., 33463., 33256., 33370., 33370.,\n", " 33091., 33361.]),\n", " array([ 5.18495105e-07, 3.33337631e-02, 6.66670077e-02,\n", " 1.00000252e-01, 1.33333497e-01, 1.66666741e-01,\n", " 1.99999986e-01, 2.33333231e-01, 2.66666475e-01,\n", " 2.99999720e-01, 3.33332964e-01, 3.66666209e-01,\n", " 3.99999454e-01, 4.33332698e-01, 4.66665943e-01,\n", " 4.99999187e-01, 5.33332432e-01, 5.66665676e-01,\n", " 5.99998921e-01, 6.33332166e-01, 6.66665410e-01,\n", " 6.99998655e-01, 7.33331899e-01, 7.66665144e-01,\n", " 7.99998389e-01, 8.33331633e-01, 8.66664878e-01,\n", " 8.99998122e-01, 9.33331367e-01, 9.66664611e-01,\n", " 9.99997856e-01]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 45 }, { "cell_type": "code", "collapsed": false, "input": [ "tri_samples = [triangular(0, 1, 0.4) for x in range(100000)]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(tri_samples, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 48, "text": [ "(array([ 298., 897., 1387., 1956., 2518., 3103., 3643., 4240.,\n", " 4711., 5231., 5810., 6276., 6535., 6097., 5671., 5341.,\n", " 4883., 4585., 4270., 3887., 3490., 3094., 2812., 2509.,\n", " 2055., 1709., 1332., 951., 519., 190.]),\n", " array([ 0.00194036, 0.03517305, 0.06840574, 0.10163842, 0.13487111,\n", " 0.16810379, 0.20133648, 0.23456917, 0.26780185, 0.30103454,\n", " 0.33426723, 0.36749991, 0.4007326 , 0.43396529, 0.46719797,\n", " 0.50043066, 0.53366334, 0.56689603, 0.60012872, 0.6333614 ,\n", " 0.66659409, 0.69982678, 0.73305946, 0.76629215, 0.79952483,\n", " 0.83275752, 0.86599021, 0.89922289, 0.93245558, 0.96568827,\n", " 0.99892095]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n8AAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 48 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look at the [wikipedia entry for the beta distribution](http://en.wikipedia.org/wiki/Beta_distribution#mediaviewer/File:Beta_distribution_pdf.svg) to check out the two parameters we need." ] }, { "cell_type": "code", "collapsed": false, "input": [ "beta_samples = [betavariate(0.5, 0.5) for x in range(100000)]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 50 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(beta_samples, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 52, "text": [ "(array([ 11619., 4850., 3845., 3187., 2947., 2744., 2686.,\n", " 2461., 2413., 2225., 2237., 2201., 2147., 2135.,\n", " 2070., 2059., 2112., 2134., 2243., 2216., 2237.,\n", " 2418., 2558., 2646., 2776., 3035., 3396., 3756.,\n", " 5009., 11638.]),\n", " array([ 2.58498809e-09, 3.33333358e-02, 6.66666691e-02,\n", " 1.00000002e-01, 1.33333336e-01, 1.66666669e-01,\n", " 2.00000002e-01, 2.33333335e-01, 2.66666669e-01,\n", " 3.00000002e-01, 3.33333335e-01, 3.66666668e-01,\n", " 4.00000002e-01, 4.33333335e-01, 4.66666668e-01,\n", " 5.00000001e-01, 5.33333335e-01, 5.66666668e-01,\n", " 6.00000001e-01, 6.33333334e-01, 6.66666668e-01,\n", " 7.00000001e-01, 7.33333334e-01, 7.66666667e-01,\n", " 8.00000001e-01, 8.33333334e-01, 8.66666667e-01,\n", " 9.00000000e-01, 9.33333334e-01, 9.66666667e-01,\n", " 1.00000000e+00]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 52 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What do we think the Facebook sentiment score distribution looked like? I'ma go with Gaussian, where there were actually two distributions with very small differences in their means. Let's explore this situation." ] }, { "cell_type": "code", "collapsed": false, "input": [ "gauss_samples_1 = [gauss(0.01, 1) for x in range(1000)]\n", "print mean(gauss_samples_1)\n", "gauss_samples_2 = [gauss(-0.01, 1) for x in range(1000)]\n", "print mean(gauss_samples_2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.00845756841145\n", "0.00658068542127\n" ] } ], "prompt_number": 53 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(gauss_samples_1, 50)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 55, "text": [ "(array([ 2., 2., 0., 0., 1., 2., 1., 4., 4., 4., 15.,\n", " 7., 12., 15., 22., 22., 15., 32., 30., 35., 50., 48.,\n", " 48., 44., 63., 53., 51., 56., 31., 57., 40., 46., 37.,\n", " 34., 22., 14., 14., 14., 14., 9., 7., 9., 2., 5.,\n", " 1., 1., 2., 2., 0., 1.]),\n", " array([-3.35331988, -3.22112349, -3.0889271 , -2.95673071, -2.82453432,\n", " -2.69233793, -2.56014154, -2.42794515, -2.29574876, -2.16355237,\n", " -2.03135598, -1.89915959, -1.7669632 , -1.63476681, -1.50257042,\n", " -1.37037403, -1.23817764, -1.10598125, -0.97378486, -0.84158847,\n", " -0.70939208, -0.57719569, -0.4449993 , -0.31280291, -0.18060652,\n", " -0.04841013, 0.08378626, 0.21598265, 0.34817904, 0.48037543,\n", " 0.61257182, 0.74476821, 0.8769646 , 1.00916099, 1.14135738,\n", " 1.27355377, 1.40575016, 1.53794655, 1.67014294, 1.80233933,\n", " 1.93453572, 2.06673211, 2.1989285 , 2.33112489, 2.46332128,\n", " 2.59551767, 2.72771406, 2.85991045, 2.99210684, 3.12430323,\n", " 3.25649962]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 55 }, { "cell_type": "code", "collapsed": false, "input": [ "hist(gauss_samples_2, 50)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 96, "text": [ "(array([ 1., 0., 0., 1., 3., 3., 2., 8., 6., 13., 14.,\n", " 24., 12., 26., 33., 31., 27., 39., 46., 49., 54., 51.,\n", " 57., 58., 52., 53., 51., 46., 39., 29., 20., 35., 20.,\n", " 19., 21., 15., 12., 12., 6., 6., 2., 2., 1., 0.,\n", " 0., 0., 0., 0., 0., 1.]),\n", " array([-3.12092145, -2.98469082, -2.8484602 , -2.71222957, -2.57599894,\n", " -2.43976832, -2.30353769, -2.16730706, -2.03107644, -1.89484581,\n", " -1.75861518, -1.62238456, -1.48615393, -1.3499233 , -1.21369268,\n", " -1.07746205, -0.94123142, -0.8050008 , -0.66877017, -0.53253955,\n", " -0.39630892, -0.26007829, -0.12384767, 0.01238296, 0.14861359,\n", " 0.28484421, 0.42107484, 0.55730547, 0.69353609, 0.82976672,\n", " 0.96599735, 1.10222797, 1.2384586 , 1.37468923, 1.51091985,\n", " 1.64715048, 1.78338111, 1.91961173, 2.05584236, 2.19207299,\n", " 2.32830361, 2.46453424, 2.60076487, 2.73699549, 2.87322612,\n", " 3.00945675, 3.14568737, 3.281918 , 3.41814862, 3.55437925,\n", " 3.69060988]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 96 }, { "cell_type": "markdown", "metadata": {}, "source": [ "So far we really can't see the difference, can we? But what if we had _way more data_?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "gauss_samples_1 = [gauss(0.01, 1) for x in range(100000)]\n", "print mean(gauss_samples_1)\n", "gauss_samples_2 = [gauss(-0.01, 1) for x in range(100000)]\n", "print mean(gauss_samples_2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.00740574896649\n", "-0.0128683599903" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 56 }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's much more like it. But is it a fluke to get closer estimates? Let's do it a bunch of times and see. We'll do it 1000 times with samples of size 1000. That's a total of 1,000,000 draws." ] }, { "cell_type": "code", "collapsed": false, "input": [ "D = [mean([gauss(0.01, 1) for x in range(1000)]) for x in range(1000)]\n", "print mean(D)\n", "hist(D, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.0107593259445\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 57, "text": [ "(array([ 1., 2., 4., 11., 12., 10., 25., 35., 41.,\n", " 54., 63., 65., 83., 78., 100., 77., 80., 73.,\n", " 53., 34., 36., 29., 19., 7., 5., 2., 0.,\n", " 0., 0., 1.]),\n", " array([-0.08494238, -0.07810073, -0.07125907, -0.06441742, -0.05757576,\n", " -0.0507341 , -0.04389245, -0.03705079, -0.03020913, -0.02336748,\n", " -0.01652582, -0.00968416, -0.00284251, 0.00399915, 0.01084081,\n", " 0.01768246, 0.02452412, 0.03136578, 0.03820743, 0.04504909,\n", " 0.05189074, 0.0587324 , 0.06557406, 0.07241571, 0.07925737,\n", " 0.08609903, 0.09294068, 0.09978234, 0.106624 , 0.11346565,\n", " 0.12030731]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 57 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pretty good, but not good enough actually. If we have four times as many \"people\" in each group, and do that 4 times fewer times, we still have 1,000,000 draws. It's a general rule (especially for the normal distribution) that when we do this our error will get smaller by a factor of 2. Let's try it and see!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "D2 = [mean([gauss(0.01, 1) for x in range(4000)]) for x in range(250)]\n", "print mean(D2)\n", "hist(D2, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.00964399175911\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 58, "text": [ "(array([ 1., 1., 3., 2., 1., 1., 5., 5., 9., 9., 14.,\n", " 10., 17., 19., 17., 19., 22., 22., 13., 11., 8., 15.,\n", " 6., 5., 4., 3., 2., 1., 4., 1.]),\n", " array([-0.03798015, -0.03490851, -0.03183687, -0.02876523, -0.02569359,\n", " -0.02262195, -0.01955031, -0.01647867, -0.01340703, -0.01033539,\n", " -0.00726375, -0.00419211, -0.00112047, 0.00195118, 0.00502282,\n", " 0.00809446, 0.0111661 , 0.01423774, 0.01730938, 0.02038102,\n", " 0.02345266, 0.0265243 , 0.02959594, 0.03266758, 0.03573922,\n", " 0.03881086, 0.0418825 , 0.04495414, 0.04802578, 0.05109742,\n", " 0.05416906]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADipJREFUeJzt3W+MHHUdx/H34pX4p13LibaV1tSUEDVBwUTEQMIag6lG\nESLRYIyoieGJYtQgBRN6D3ygGJAYUBMFUuO/ICgCAqEaNuID/6CllD8VrVTEQFGB3JEQpLI+mDnu\nur27nd2Z2Zn57vuVbDq7Ozvzvd/tfDr329/sDyRJkiRJkiRJkiRJkiRJksLaBNwJ3A/cB5yfPj4D\nPArsSm9bqyhOkjSa9cAJ6fJq4M/AG4HtwOerKkqStLKpAc8/nt4AngEeBI5J77fKKkqSND6bgb+T\nnMFvB/YDu4GrgbWVVSVJGtlq4G7gzPT+a0jO3FvAl0kCXpJUE1m6VlYBtwC3AVcs8fxm4Gbg+MUP\nbtmypbdv37689UnSpNkHHJt3I0cMeL5Fclb+AIcG+4ZFy2cBew6rbt8+er2et16P7du3V15DXW62\nhW1hW6x8A7bkzHVg8AeqpwAfBe4lGfIIcDFwDskomh7wMHBeEcVIkooxKNx/w9Jn97eVUIskqSCD\numVUgE6nU3UJtWFbLLAtFtgWxStzrHov7T+SJGXUarWggGz2zF2SAjLcJSkgw12SAjLcJSkgw12S\nAjLcJSkgw12SAjLcJSkgw12SAjLcJSkgw12SAjLcJSkgw12SAjLcJSkgw12SAjLcJSkgw12SAjLc\nJSkgw12SAjLcJSkgw10C2u1pWq1WhtuRmdZrt6er/pE04XLPsL2CXq/XK3HzUnGSGeezvF+zr+f7\nX6NI3ov5s9kzd0kKyHCXpIAMd0kKyHCXpIAMd0kKyHCXpIAMd0kKyHCXpIAMd0kKyHCXpIAMd0kK\nyHCXpIAGhfsm4E7gfuA+4Pz08WlgJ/AQcAewtqwCJUnDG/TNY+vT2z3AauCPwJnAJ4B/A5cCFwJH\nAdv6Xuu3Qqox/FZI1cW4vhXycZJgB3gGeBA4BjgD2JE+voMk8CVJNTFMn/tm4ETgd8A64ED6+IH0\nviSpJqYyrrcauAH4LDDX91yPZf5OnZmZeXG50+nQ6XSGLlCSIut2u3S73cK3m6VfZxVwC3AbcEX6\n2F6gQ9Jts4HkQ9c39L3OPnc1hn3uqotx9bm3gKuBB1gIdoCbgHPT5XOBG/MWIkkqzqD/HU4Ffg3c\ny8LpykXA74HrgNcB+4EPAU/3vdYzdzWGZ+6qi6LO3J0gW8JwV304QbYkaVmGuyQFZLhLUkCGuyQF\nZLirNtrtaVqt1sBbuz1d6PbSD7CkUBwto9oYZsRKlvdW9u0l23S0jOrA0TKSpGUZ7pIUkOEuSQEZ\n7pIUkOEuSQEZ7pIUkOEuSQEZ7pIUkOEuSQEZ7pIUkOEuSQEZ7pIUkOEuSQEZ7pIUkOEuSQEZ7pIU\n0FTVBSi+dnuaubmnCtzilLMnSQM4E5NKN8wMS9WsV86+ff9rFM7EJElaluEuSQEZ7pIUkOEuSQEZ\n7pIUkOEuSQEZ7pIUkOEuSQEZ7pIUkOEuSQEZ7pIUUJZwvwY4AOxZ9NgM8CiwK71tLbwySdLIsoT7\ntRwe3j3gcuDE9HZ7wXVJknLIEu53AUt9X6vfuSpJNZWnz/0zwG7gamBtMeVIkoowarh/C3g9cALw\nGHBZYRVJknIbdSamJxYtfxe4eamVZmZmXlzudDp0Op0Rdycpq6wzX61ZcxSzs0+OoSKtpNvt0u12\nC99u1n7zzSQBfnx6fwPJGTvA54C3AR/pe40zMQlwJqZxG6a9PUbrp6iZmLKcuf8IOA04GvgHsB3o\nkHTJ9ICHgfPyFiJJKo5zqKp0nrmPl2fuzeYcqpKkZRnukhSQ4S5JARnukhSQ4S5JARnuOkS7PU2r\n1Rp4a7enqy5V0gocCqlDlDGMzqGQ4+VQyGZzKKQkaVmGuyQFZLhLUkCGuyQFZLhLUkCGuyQFZLhL\nUkCGu1SKqUwXg3lBmMoy6jR7klZ0kKwXUM3NlXktoSaVZ+6SFJDhLkkBGe6SFJDhLkkBGe6SFJDh\nLkkBGe6SFJDhLkkBGe6SFJDhLkkBGe6SFJDhLkkBGe6SFJDhLkkBGe6SFJDhLkkBGe5S5bLN2uSM\nTRqGMzFJlcs2a5MzNmkYnrlLUkCGuyQFlCXcrwEOAHsWPTYN7AQeAu4A1hZfmiRpVFnC/Vpga99j\n20jC/TjgV+l9SVJNZAn3u4Cn+h47A9iRLu8AziyyKElSPqP2ua8j6aoh/XddMeVIkopQxAeqPbKM\n45Ikjc2o49wPAOuBx4ENwBNLrTQzM/PicqfTodPpjLg71U9y4Y2kfLrdLt1ut/DtZj06NwM3A8en\n9y8F/gN8leTD1LUc/qFqr9fzhL5pksDO8nvLut4w61a1XnP2neWYGuZ36DFaP+lJU+4zpywb+BFw\n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\n1zbWAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 58 }, { "cell_type": "markdown", "metadata": {}, "source": [ "we still have about a 0.03 or 0.04 spread in each direction, and we want it to be more like a 0.01 spread. We need 16 times more data in our sample. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "4000*16" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 101, "text": [ "64000" ] } ], "prompt_number": 101 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In other words, if we have 100,000 people in each group, we're probably fine." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }