{"nbformat_minor": 0, "cells": [{"source": ["## ThinkStats 9.1 - 9.3 Companion\n", "\n", "This notebook will allow you to practice some of the concepts from ThinkStats2 Chapter 9.\n", "\n", "### Companion to 9.1 - 9.2\n", "\n", "First, we'll start with the question that Allen poses at the beginning of the chapter: \"Suppose we toss a coin 250 times and we see 140 heads. Is this strong evidence that the coin is biased?\"\n", "\n", "As Allen says, classical hypothesis testing is similar to a proof by contradiction. First, we assume that the thing we are trying to show is false (that the coin is biased). Second, we show that this leads to an observed event being excedingly improbable (seeing 140 heads out of 250 tosses). Finally, we can conclude that our assumption (that the coin is not biased) is unlikely to be true.\n", "\n", "Write a function to simulate n random coin flips of a fair coin (p(heads) = 0.5). Your function should return the number of heads that occur in those n coin clips."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 10, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["[142, 115, 120, 127, 140, 129, 122, 119, 119, 134, 141, 132, 120, 109, 128, 129, 138, 126, 114, 106, 136, 132, 124, 112, 124, 138, 124, 126, 125, 117, 116, 134, 114, 117, 113, 132, 117, 129, 114, 124, 117, 116, 125, 119, 140, 129, 145, 140, 132, 128, 132, 128, 120, 138, 127, 131, 131, 113, 120, 122, 117, 118, 122, 112, 123, 116, 131, 125, 124, 121, 139, 125, 124, 110, 119, 123, 125, 124, 135, 122, 139, 122, 131, 120, 131, 117, 125, 121, 120, 126, 128, 126, 114, 116, 135, 121, 123, 126, 136, 122, 123, 117, 130, 120, 135, 132, 118, 136, 129, 120, 119, 130, 119, 132, 111, 134, 123, 128, 110, 134, 124, 111, 124, 140, 130, 118, 132, 127, 112, 137, 110, 132, 123, 119, 113, 119, 126, 124, 116, 119, 131, 130, 122, 133, 112, 127, 125, 111, 123, 131, 121, 127, 138, 126, 122, 122, 108, 124, 134, 114, 127, 119, 140, 128, 122, 136, 112, 136, 116, 129, 122, 129, 135, 123, 130, 122, 123, 112, 141, 123, 131, 117, 130, 119, 134, 132, 120, 124, 119, 131, 124, 138, 131, 124, 113, 121, 122, 114, 134, 126, 137, 126, 121, 129, 132, 111, 126, 144, 111, 140, 123, 117, 131, 124, 109, 129, 127, 121, 123, 126, 126, 124, 126, 127, 121, 139, 133, 130, 125, 128, 127, 125, 117, 129, 127, 118, 134, 118, 127, 130, 113, 124, 129, 123, 125, 129, 129, 116, 127, 138, 119, 123, 122, 122, 105, 122, 132, 126, 125, 128, 109, 125, 125, 117, 132, 117, 124, 132, 122, 130, 122, 122, 133, 133, 121, 127, 128, 121, 120, 144, 113, 123, 136, 125, 120, 120, 134, 120, 116, 133, 113, 127, 140, 131, 116, 115, 120, 118, 124, 125, 124, 116, 129, 113, 123, 134, 130, 127, 116, 109, 128, 108, 118, 124, 131, 124, 112, 115, 130, 121, 133, 134, 117, 119, 131, 117, 125, 122, 121, 135, 126, 119, 119, 119, 118, 118, 118, 114, 122, 124, 118, 136, 122, 131, 131, 113, 134, 122, 130, 127, 125, 120, 108, 125, 134, 133, 131, 128, 113, 126, 117, 119, 124, 128, 116, 113, 137, 117, 133, 123, 138, 119, 123, 126, 114, 116, 109, 135, 137, 124, 119, 124, 130, 113, 129, 137, 121, 117, 111, 114, 134, 132, 121, 126, 112, 111, 132, 128, 116, 121, 114, 110, 135, 133, 109, 119, 132, 121, 122, 142, 132, 105, 121, 129, 128, 132, 124, 108, 125, 127, 119, 135, 122, 129, 135, 128, 127, 115, 135, 139, 120, 150, 125, 129, 121, 132, 126, 112, 126, 128, 115, 109, 116, 125, 134, 133, 121, 121, 121, 125, 125, 127, 122, 126, 106, 124, 116, 140, 123, 128, 127, 119, 137, 129, 113, 126, 129, 125, 127, 120, 117, 115, 120, 127, 123, 130, 121, 131, 138, 129, 113, 125, 117, 129, 134, 120, 124, 137, 127, 128, 119, 133, 131, 129, 113, 130, 137, 121, 128, 124, 121, 132, 129, 128, 125, 125, 124, 130, 108, 115, 132, 129, 126, 121, 138, 131, 122, 123, 124, 125, 144, 127, 119, 125, 117, 136, 129, 121, 124, 128, 119, 128, 117, 137, 128, 130, 141, 115, 125, 144, 119, 115, 132, 135, 113, 119, 119, 126, 112, 128, 129, 123, 121, 124, 118, 122, 109, 129, 133, 125, 117, 124, 123, 126, 113, 125, 132, 122, 122, 124, 135, 139, 119, 130, 130, 132, 133, 135, 118, 120, 109, 119, 115, 113, 122, 120, 122, 138, 129, 124, 121, 131, 125, 117, 119, 131, 121, 131, 117, 132, 117, 114, 121, 127, 121, 116, 126, 149, 118, 130, 119, 123, 113, 121, 129, 121, 126, 122, 132, 110, 121, 132, 145, 118, 107, 134, 143, 114, 106, 114, 125, 125, 129, 129, 124, 109, 133, 135, 120, 123, 117, 131, 114, 115, 112, 140, 127, 132, 117, 120, 125, 115, 122, 118, 129, 113, 124, 129, 118, 118, 126, 125, 123, 122, 128, 132, 116, 127, 131, 130, 134, 120, 115, 129, 126, 109, 113, 104, 118, 130, 133, 124, 124, 114, 117, 130, 135, 124, 126, 126, 124, 129, 113, 140, 125, 129, 123, 113, 126, 118, 128, 128, 124, 128, 128, 120, 127, 128, 120, 130, 126, 118, 119, 131, 126, 121, 139, 128, 127, 138, 122, 127, 133, 124, 126, 128, 131, 119, 126, 138, 122, 125, 122, 125, 123, 122, 132, 127, 124, 129, 127, 118, 126, 117, 118, 114, 119, 130, 129, 121, 125, 133, 116, 137, 121, 126, 128, 114, 110, 138, 121, 126, 131, 132, 120, 119, 107, 109, 128, 126, 126, 144, 125, 124, 116, 121, 130, 127, 123, 119, 121, 114, 127, 111, 126, 121, 127, 117, 113, 130, 140, 120, 116, 118, 124, 136, 115, 119, 124, 123, 124, 132, 129, 121, 114, 138, 124, 115, 133, 125, 116, 127, 119, 127, 117, 132, 123, 124, 132, 136, 129, 123, 122, 112, 130, 141, 122, 116, 131, 134, 128, 132, 130, 128, 112, 129, 129, 120, 140, 126, 125, 134, 123, 125, 125, 132, 134, 127, 131, 111, 124, 131, 126, 118, 127, 126, 132, 130, 126, 120, 123, 123, 124, 118, 126, 135, 121, 117, 122, 131, 132, 122, 116, 151, 112, 129, 115, 139, 131, 115, 118, 124, 124, 139, 138, 128, 127, 122, 124, 125, 123, 130, 133, 120, 126, 127, 121, 129, 112, 118, 133, 108, 128, 123, 116, 137, 130, 117, 115, 132, 131, 109, 121, 113, 124, 128, 129, 105, 136, 124, 122, 129, 125, 127, 133, 121, 112, 115, 123, 130, 129, 116, 126, 120, 137, 130, 123, 130, 107, 122, 122, 113, 119, 129, 139, 138, 131, 115, 124, 112, 116, 132, 115, 124, 134, 120, 133, 126, 114, 122, 137, 123, 139, 121, 127, 133, 131, 120, 127, 129, 109, 131, 133, 107, 126, 106, 115, 114, 129, 121, 117, 126, 123, 118, 130, 124, 140, 113, 120, 129, 131, 111, 128, 135, 119, 129, 118, 123, 122, 124]\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " counter = 0\n", " for i in range(n):\n", " choices = choice([\"heads\", \"tails\"])\n", " \n", " if choices == \"heads\":\n", " counter += 1\n", " return counter\n", "\n", "flipData = []\n", "for i in range(1000):\n", " flipData.append(simulate_fair_coin_flips(250))\n", "print flipData"]}, {"execution_count": 9, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["(136, 114)\n"]}], "source": ["from random import choice\n", "import random\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " heads = 0\n", " tails = 0\n", " for i in range(n):\n", " coinFlip = random.randint(0, 1)\n", " if (coinFlip == 0): \n", " heads +=1; \n", " elif (coinFlip ==1): \n", " tails +=1; \n", " return (heads, tails)\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 16, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["137\n"]}], "source": ["from random import randint\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " return reduce(lambda heads, _: heads + randint(0, 1), xrange(n))\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 40, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["121\n"]}], "source": ["from random import choice\n", "import itertools\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " heads = 0\n", " for _ in itertools.repeat(None, n):\n", " heads += choice([0,1])\n", " return heads\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 12, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["126\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " return sum([choice([0, 1]) for i in range(n)])\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 1, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["133\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " heads = 0\n", " for i in xrange(n):\n", " if choice(['heads', 'tails'])=='heads':\n", " heads += 1\n", " return heads\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 15, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["116\n"]}], "source": ["from random import choice\n", "import random\n", "import thinkstats2\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " coin_flips = [random.choice('HT') for _ in range(n)]\n", " hist = thinkstats2.Hist(coin_flips)\n", " return hist['H']\n", "\n", "print simulate_fair_coin_flips(250)\n"]}, {"execution_count": 13, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["145\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " heads=0\n", " \n", " for i in range(n):\n", " heads += choice([0,1])\n", " \n", " return heads\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 1, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["133\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " side = [0,1]\n", " h = 0;\n", " t = 0;\n", " for i in range(n):\n", " if choice(side) == 0:\n", " h += 1\n", " return h\n", " \n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 5, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["125\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " return sum(choice((0,1)) for _ in xrange(n))\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 98, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["132\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " \n", " heads = sum([choice([0,1]) for i in range(0,n)])\n", " \n", " return heads\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 14, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["127\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " \n", " toss = [choice([0,1]) for i in xrange(n)]\n", " return sum(toss)\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 3, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["122\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " sample = [choice('HT') for _ in range(n)]\n", " return sample.count('H')\n", " \n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 4, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["138\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " count = 0\n", " for i in range(0,n):\n", " if choice([0,1]) == 1:\n", " count += 1\n", " return count\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 2, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["137\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " count = 0\n", " for _ in range(n):\n", " if choice('HT') == 'H':\n", " count += 1\n", " return count\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 18, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["122\n"]}], "source": ["from random import choice\n", "import thinkstats2\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " sample = [choice('HT') for _ in range(n)]\n", " hist =thinkstats2.Hist(sample)\n", " return hist['H']\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 26, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["131\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " countHeads = 0\n", " #The options for whether or not the coin is heads\n", " isHeads = [0, 1]\n", " for i in range(n):\n", " countHeads += choice(isHeads)\n", " \n", " return countHeads\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 18, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 18, "metadata": {}, "data": {"text/plain": ["1"]}, "output_type": "execute_result"}], "source": ["from random import choice\n", "choice([1,2,3])"]}, {"execution_count": 28, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["105\n"]}], "source": ["from random import choice\n", "import numpy as np\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " return sum(np.random.randint(2, size=n))\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 45, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["132\n"]}], "source": ["from random import choice\n", "import thinkstats2\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " sample = [choice('HT') for _ in range(n)]\n", " hist = thinkstats2.Hist(sample)\n", " return hist['H']\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 2, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["123\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " headcount = 0\n", " for i in range(n):\n", " if choice([0,1]) == 0:\n", " headcount+=1\n", " return headcount\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"execution_count": 65, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["130\n"]}], "source": ["from random import choice\n", "\n", "def simulate_fair_coin_flips(n):\n", " \"\"\" Return the number of heads that occur in n flips of a\n", " fair coin p(heads) = 0.5 \"\"\"\n", " return sum([choice((0,1)) for i in range(n)])\n", "\n", "print simulate_fair_coin_flips(250)"]}, {"source": ["Next, repeat your simulation of 240 coin flips 1000 times. Create and display a CDF of the number of times heads appears based on 1000 random trials."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 11, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 11, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n4f4f2cttEzQKLg4AAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "\n", "cdf = thinkstats2.Cdf(flipData, label='flipdata')\n", "thinkplot.Cdf(cdf)\n", "# your implementation here (imports included for convenience)"]}, {"execution_count": 24, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "# your implementation here (imports included for convenience)\n", "headsAppears = [];\n", "for i in range(1000): \n", " coinFlipResults = simulate_fair_coin_flips(250)\n", " heads = coinFlipResults[0]\n", " headsAppears.append(heads)\n", "headsCdf = thinkstats2.Cdf(headsAppears)"]}, {"execution_count": 41, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n+1+G5D4emKW+CwAAAABJRU5ErkJggg==\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import numpy as np\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "iters = 1000\n", "flips = 250\n", "heads = [simulate_fair_coin_flips(flips) for _ in range(iters)]\n", "\n", "cdf = thinkstats2.Cdf(heads, label=('heads per %d flips' % flips))\n", "thinkplot.Cdf(cdf)\n", "thinkplot.show()"]}, {"execution_count": 86, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 86, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nRK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["# Simulated for 250 coin flips instead of 240\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "headlist = []\n", "for _ in itertools.repeat(None, 1000):\n", " headlist.append(simulate_fair_coin_flips(250))\n", "\n", "headcdf = thinkstats2.Cdf(headlist)\n", "thinkplot.Cdf(headcdf)"]}, {"execution_count": 180, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nOZIAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "flips_1000 = [simulate_fair_coin_flips(250) for i in range(1000)]\n", "cdf = thinkstats2.Cdf(flips_1000)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Show()"]}, {"execution_count": 2, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stderr", "text": ["/home/jsutker/anaconda2/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", " warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n"]}, {"execution_count": 2, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n7v8BnPWe22GrTZcAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "heads_res = []\n", "for i in xrange(1000):\n", " heads_res.append(simulate_fair_coin_flips(250))\n", "cdf = thinkstats2.Cdf(heads_res)\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 35, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 35, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAESpJREFUeJzt3X+MpVV9x/H3BzY0xCoViaggVkGgapVqS/jD2KkaWSRh\nCSERSEzR1Gwa1zRpo2h/OWlMhCZNjaUqWGLtD7q2SIRWRWrLpLERXZGfdQeWahEWXKvVPzRqluXb\nP+7d5TLMjzt3njv33jPvVzLJc5/nzJ1zMpvPnP0+5zk3VYUkqV1HTboDkqTxMuglqXEGvSQ1zqCX\npMYZ9JLUOINekhq3ZtAnuS7JgST3rNLmw0n2JbkryVnddlGStBHDzOg/AZy70sUk5wGnVtVLgZ3A\nxzrqmySpA2sGfVV9CfjBKk12AH/Tb/sV4LgkJ3bTPUnSRnVRoz8JeHjg9f7+OUnSFPBmrCQ1blsH\n77EfeOHA65P7554miRvrSNIIqiqjfu+wQZ/+13JuBt4JfCrJOcAPq+rASm/U8iZq8/PzzM/PT7ob\nY+P4ZtdyY7tx8QDX3/cYP3n80GQ61aEHbriG0y/e2cl7ffaS13TyPl1KRs54YIigT3I9MAc8J8m3\ngfcDxwBVVddW1eeSvDnJg8CPgbdtqEeSOnXj4gH+8RvfYc/uO8by/sduO5rLXvF8Ljpzcmsw5hdf\nwPwUBvS0WDPoq+qyIdrs6qY7krp2/X2PcfCJJzb8PtMQ6BpNFzV69c3NzU26C2Pl+KbfSuWY57xs\n+dluK+Hdwu9unLKZNfMk1XKNXpq0i2+4a8Wa+7HbjuaGi31wfRYl2dDNWJdXSg1ZLeQve8XzN7k3\nmhaWbqQZNMyKmWlcPaLJcEYvzaC1Qv7YbUdvYm807Qx6aQatFfKWaTTI0o005dYq01ii0Vqc0UtT\nbrWQt0SjYRj00pRzJY02ytKNNCVcSaNxcUYvTQlX0mhcDHppSriSRuNi6UaaQpZo1CVn9JLUOGf0\n0gS09KEfmn7O6KUJcG28NpNBL02Aa+O1mSzdSBPmjVeNm0EvjZG1eE0DSzfSGPkQlKaBQS+NkQ9B\naRpYupE2ibV4TYozeklqnDN6qQPedNU0c0YvdcCbrppmBr3UAW+6appZupE65k1XTRtn9JLUOINe\nkhpn0EtS4wx6SWqcN2OldXLNvGaNM3ppnfzQEM0ag15aJz80RLPG0o20Aa6Z1yxwRi9JjRsq6JNs\nT7KY5IEkVyxz/VlJbk5yV5J7k1zeeU8lSSNZs3ST5CjgauANwKPAniQ3VdXiQLN3Av9VVRckOQG4\nP8nfVdXjY+m1tAlcXaNWDDOjPxvYV1UPVdVBYDewY0mbAp7ZP34m8H1DXrPOHSnVimGC/iTg4YHX\nj/TPDboaeFmSR4G7gd/ppnvS5LgjpVrR1aqbc4E7q+r1SU4F/jXJK6vqR0sbzs/PHzmem5tjbm6u\noy5I4+PqGm2mhYUFFhYWOnu/VNXqDZJzgPmq2t5//V6gquqqgTb/Anywqv6z//rfgCuq6mtL3qvW\n+nnStDh/9x1Hjg16TVISqiqjfv8wpZs9wGlJXpTkGOAS4OYlbR4C3tjv0InA6cA3R+2UJKk7a5Zu\nqupQkl3ArfT+MFxXVXuT7OxdrmuBDwB/neSe/re9p6r+b2y9liQNbagafVXdApyx5Nw1A8eP0avT\nS5KmjFsgSLhmXm1zCwQJd6RU2wx6CXekVNss3UhLuJRSrXFGL0mNM+glqXEGvSQ1zqCXpMZ5M1Zb\niuvltRU5o9eW4h7z2ooMem0p7jGvrcjSjbYs18trq3BGL0mNM+glqXEGvSQ1zqCXpMYZ9JLUOINe\nkhpn0EtS41xHrya51YH0JGf0apJbHUhPMujVJLc6kJ5k6UbNc6sDbXXO6CWpcQa9JDXOoJekxhn0\nktQ4g16SGmfQS1LjDHpJapzr6DXz3O5AWp0zes281ULerQ4kg14NWC3k3epAsnSjxrjdgfR0zugl\nqXFDBX2S7UkWkzyQ5IoV2swluTPJfUlu67abkqRRrVm6SXIUcDXwBuBRYE+Sm6pqcaDNccBfAm+q\nqv1JThhXhyVJ6zPMjP5sYF9VPVRVB4HdwI4lbS4DPl1V+wGq6nvddlOSNKphgv4k4OGB14/0zw06\nHTg+yW1J9iR5a1cdlCRtTFerbrYBrwZeDzwD+HKSL1fVgx29vyRpRMME/X7glIHXJ/fPDXoE+F5V\n/RT4aZL/AF4FPC3o5+fnjxzPzc0xNze3vh5LUuMWFhZYWFjo7P1SVas3SI4G7qd3M/Yx4KvApVW1\nd6DNmcBfANuBnwO+Arylqr6x5L1qrZ8nrdf5u+84cuw6erUoCVWVUb9/zRl9VR1Ksgu4lV5N/7qq\n2ptkZ+9yXVtVi0m+ANwDHAKuXRrykqTJWHNG3+kPc0avMXBGr9aNfUYvTQt3qZRG4xYImhlrhbw7\nVUrLM+g1M9YKeXeqlJZn6UYzyVq8NDxn9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxLq/UVPIp\nWKk7zug1lVYLeZ+AldbHoNdUWi3kfQJWWh9LN5p6PgUrbYwzeklqnEEvSY0z6CWpcQa9JDXOoJek\nxhn0ktQ4g16SGmfQS1LjDHpJapxPxmqi3LxMGj9n9JqotULeDcykjTPoNVFrhbwbmEkbZ+lGU8PN\ny6TxcEYvSY0z6CWpcQa9JDXOoJekxhn0ktQ4g16SGmfQS1LjXEevTeN2B9JkOKPXplkt5N3qQBqf\noYI+yfYki0keSHLFKu1+LcnBJBd110W1YrWQd6sDaXzWLN0kOQq4GngD8CiwJ8lNVbW4TLsrgS+M\no6Nqi9sdSJtnmBn92cC+qnqoqg4Cu4Edy7R7F3AD8N0O+ydJ2qBhgv4k4OGB14/0zx2R5AXAhVX1\nUSDddU+StFFd3Yz9EDBYuzfsJWlKDLO8cj9wysDrk/vnBv0qsDtJgBOA85IcrKqbl77Z/Pz8keO5\nuTnm5ubW2WVJatvCwgILCwudvV+qavUGydHA/fRuxj4GfBW4tKr2rtD+E8A/V9WNy1yrtX6e2nX+\n7juOHHszVhpeEqpq5ErJmjP6qjqUZBdwK71Sz3VVtTfJzt7lunbpt4zaGUlS94Z6MraqbgHOWHLu\nmhXavr2DfkmSOuKTsZLUOINekhrnpmbqnJuXSdPFGb06t1bIu4GZtLkMenVurZB3AzNpc1m60Vi5\nXl6aPGf0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEur9TIfAJWmg3O6DUyn4CVZoNBr5H5BKw0\nGyzdqBM+AStNL2f0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEur9RQfApWml3O6DWU1ULeJ2Cl\n6WbQayirhbxPwErTzdKN1s2nYKXZ4oxekhpn0EtS4wx6SWqcNXo9hcsopfY4o9dT+GEiUnsMej2F\nHyYitcfSjVbkMkqpDc7oJalxBr0kNc6gl6TGDRX0SbYnWUzyQJIrlrl+WZK7+19fSvLL3XdVkjSK\nNYM+yVHA1cC5wMuBS5OcuaTZN4HXVdWrgA8AH++6o5Kk0Qyz6uZsYF9VPQSQZDewA1g83KCqbh9o\nfztwUped1Hj4cJS0NQxTujkJeHjg9SOsHuS/BXx+I53S5nCPeWlr6HQdfZLfAN4GvHalNvPz80eO\n5+bmmJub67ILWgf3mJem08LCAgsLC529X6pq9QbJOcB8VW3vv34vUFV11ZJ2rwQ+DWyvqv9e4b1q\nrZ+nzXP+7juOHPtwlDS9klBVGfX7hynd7AFOS/KiJMcAlwA3L+nEKfRC/q0rhbwkaTLWLN1U1aEk\nu4Bb6f1huK6q9ibZ2btc1wJ/BBwPfCRJgINVdfY4Oy5JGs5QNfqqugU4Y8m5awaO3wG8o9uuSZK6\n4JOxktQ4d6/cAlwvL21tzui3AD9MRNraDPotwA8TkbY2SzdbjOvlpa3HGb0kNc6gl6TGWbppiKtr\nJC3HGX1DXF0jaTkGfUNcXSNpOZZuGuXqGkmHOaOXpMY5o59R3niVNCxn9DPKjwGUNCyDfkb5MYCS\nhmXppgHeeJW0Gmf0ktQ4Z/RTzpuukjbKGf2U82lXSRtl0E85n3aVtFGWbmaIN10ljcIZvSQ1zhn9\nFPHGq6RxcEY/RXzaVdI4GPRTxKddJY2DpZsJGKZE441XSV1xRj8Bro2XtJkM+glwbbykzWTpZsIs\n0UgaN4N+zFwyKWnSLN2MmUsmJU2aM/qOrHfmbi1e0mYx6DsyzEqaGy4+axN7JEk9Bv06jVJzd/Yu\naZIM+nVy5i5p1gwV9Em2Ax+id/P2uqq6apk2HwbOA34MXF5Vd3XZ0XHqamWMM3dJ02jNVTdJjgKu\nBs4FXg5cmuTMJW3OA06tqpcCO4GPjaGvYzNKyB+77Wg+e8lrnvK164QfctGZJ46pl5O3sLAw6S6M\nVcvja3ls0P74NmqY5ZVnA/uq6qGqOgjsBnYsabMD+BuAqvoKcFySqUy8GxcPcPENd3H+7juOfI0S\n8svN3Fv/x+b4ZlfLY4P2x7dRw5RuTgIeHnj9CL3wX63N/v65Axvq3RLjfvjI+rqkFk3lzdjzd9+x\n6T/T+rqkVqWqVm+QnAPMV9X2/uv3AjV4QzbJx4DbqupT/deLwK9X1YEl77X6D5MkLauqMur3DjOj\n3wOcluRFwGPAJcClS9rcDLwT+FT/D8MPl4b8RjsqSRrNmkFfVYeS7AJu5cnllXuT7Oxdrmur6nNJ\n3pzkQXrLK9823m5Lkoa1ZulGkjTbOt29Msl1SQ4kuWfg3LOT3Jrk/iRfSHLcwLX3JdmXZG+SN3XZ\nl3FYYXwXJ7kvyaEkr17SfmbGt8LY/rTf97uSfDrJswauzczYYMXx/UmSu5PcmeSWJM8buDbz4xu4\n9ntJnkhy/MC5mR9fkvcneSTJ1/tf2weuzfz4+uff1R/DvUmuHDi/vvFVVWdfwGuBs4B7Bs5dBbyn\nf3wFcGX/+GXAnfTKR78IPEj/fxjT+rXC+M4AXgr8O/DqgfO/NEvjW2FsbwSO6h9fCXywsd/dzw8c\nvwv4aEvj658/GbgF+BZwfP/cTP3bXOX3937gd5dp28r45uiVzLf1X58w6vg6ndFX1ZeAHyw5vQP4\nZP/4k8CF/eMLgN1V9XhV/Q+wj6evz58qy42vqu6vqn3A0hvNO5ih8a0wti9W1RP9l7fTCw1o53f3\no4GXzwAOj7WJ8fX9OfDuJedm6t8mrDq+5RZ4tDK+36Y3MX683+Z7/fPrHt9mfPDIc6u/AqeqvgM8\nt39+pYesWtHa+N4OfK5/3MzYknwgybeBy4A/7p9uYnxJLgAerqp7l1xqYnx9u/qlxb8aKAu3Mr7T\ngdcluT3JbUkOf+7ousc3iU+Y8u7vjEnyB8DBqvqHSfela1X1h1V1CvD39Mo3TUhyLPD79MobrfoI\n8JKqOgv4DvBnE+5P17YBz66qc4D3AP806httRtAfOLzvTf9m13f75/cDLxxod3L/XCuaGF+Sy4E3\n05vxHtbE2Ja4Hriof9zC+E6lV7+9O8m36I3h60meS28spwy0ncXxUVX/W/2iNfBxnixftPD7g96s\n/UaAqtoDHEryHEb4/Y0j6MNT62Y3A5f3j38TuGng/CVJjknyYuA04Ktj6E/Xlo5v6bXDZnF8Txlb\nfxXDu4ELqupnA+1mcWzw9PGdNnDtQmCxfzzz46uq+6rqeVX1kqp6Mb09qn6lqr5Lb3xvmeXxwZGJ\n42EXAff1j2f+99f3GeD1AElOB46pqu8zyu+v4zvH1wOPAj8Dvk3vwalnA18E7qd3B/kXBtq/j94d\n473AmyZ953vE8V1I7y/vT+g9Ofz5WRzfCmPbBzwEfL3/9ZFZHNsq47sBuBe4i94E5PktjW/J9W/S\nX3XTyvjo7Zh7T//39xngxMbGtw342/6/0a/R21ZmpPH5wJQkNW4SN2MlSZvIoJekxhn0ktQ4g16S\nGmfQS1LjDHpJapxBL0mNM+glqXH/DxAWZFWuVX/aAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "# your implementation here (imports included for convenience)\n", "coin_flips = [simulate_fair_coin_flips(250) for i in range(1000)]\n", "cdf = thinkstats2.Cdf(coin_flips)\n", "thinkplot.Cdf(cdf)\n"]}, {"execution_count": 24, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 24, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nRU5ErkJggg==\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "flips = [simulate_fair_coin_flips(250) for _ in range(1000)]\n", "\n", "cdf = thinkstats2.Cdf(flips, label=\"flips\")\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 2, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stderr", "text": ["/home/tj/anaconda2/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", " warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n", "/home/tj/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.py:519: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.\n", " warnings.warn(\"No labelled objects found. \"\n"]}, {"output_type": "display_data", "data": {"image/png": "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\n1iTBbQAAAABJRU5ErkJggg==\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "holder = []\n", "for i in range(1000):\n", " holder += [simulate_fair_coin_flips(250)]\n", " \n", "cdf_holder = thinkstats2.Cdf(holder)\n", "thinkplot.Cdf(cdf_holder)\n", "\n", "thinkplot.Show(title='CDF of Coin Flip Head Times',\n", " xlabel='Number of Time Heads',\n", " ylabel='CDF')\n"]}, {"execution_count": 8, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nYVcuTQAAAABJRU5ErkJggg==\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "results = [simulate_fair_coin_flips(250) for _ in xrange(1000)]\n", "cdf = thinkstats2.Cdf(results)\n", "\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(\n", " title='Coin Flips',\n", " xlabel='Number of Heads',\n", " ylabel='CDF'\n", ")"]}, {"execution_count": 99, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEPCAYAAAC3NDh4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGOZJREFUeJzt3X2UXVWZ5/HvkzBgaClJEMqQN8KbMKBCpsmgtFogSiJC\nCEYM6aVI8zYuguPqUYPSSuFyDS/SEAQBYbBJK28CtkRBRIYUrUYlCAjBhIS3JCQBBHEABTHxmT/u\nTeWmkpOqVOrUvVX3+1mrludl31O7tqF+tfc5e5/ITCRJ2pQh9a6AJKlxGRKSpEKGhCSpkCEhSSpk\nSEiSChkSkqRCpYZERFwTEc9FxMObKfONiFgaEQ9FxAFl1keStGXK7kn8G3BE0cmImAzskZl7AacB\nV5ZcH0nSFig1JDLz58BLmykyBfj3atlfA2+JiNYy6yRJ6rl635MYBayo2V9ZPSZJagD1DglJUgPb\nps7ffyUwpmZ/dPXYRiLCRaYkqRcyM3r72f4Iiah+bcpc4HTgpog4GPhjZj5XdCEXI6xob2+nvb29\n3tVoCLbFerbFelvaFjd8/2dcc/09vPbaX8qrVJ3Mv+Pcrfp8qSEREdcDbcBOEbEcOBvYFsjMvCoz\n74iID0fE48CfgBPLrI+k5lZGGAwbth0nzTiM4499b59dsy9FNHBIZOaMHpSZWWYdJGmd3gZEowdB\nmep9T0K90NbWVu8qNAzbYj3bouKG7/+MH857mp8u+NIWfa6Zg2BzYqCM80dEDpS6Sqqfw6ed021v\nYdiw7bj7lrP7qUb1FRFbdePakJCawG677cayZcvqXQ2VaNy4cTz99NMbHTckJHWr+oui3tVQiYr+\nP97akHAynSSpkCEhSSpkSEiSChkSkprOoYceyre//e16V2NAMCQk1d348eO55557Njg2Z84c3vve\n+sxZWLJkCccddxw777wzw4cP54ADDuDiiy8u/eb/iSeeyFe+8pVSv8eWMiQkNayIXj+U02tPPPEE\nBx98MOPGjWPhwoW89NJL3HzzzTzwwAO88sor/V6fejMkJA0Iq1evZtq0aeyyyy7sscceXHrppZ3n\nFixYwHve8x6GDx/OqFGjOOOMM1izZk3n+Z/+9Kfsu+++DB8+nDPOOGOzPYL29nYOOeQQvv71r9Pa\nWnkH2l577cV3vvMdWlpaAJg7dy77778/I0aM4LDDDmPx4sWdnx8yZAhPPvlk535t7+Dee+9lzJgx\nXHTRRbS2tjJq1CiuvfZaAK6++mquu+46LrjgAlpaWpgyZQoA559/PqNHj6alpYV9992XefPmbWVL\nbhmX5ZDEIUdu2RIW3fnF7f97q69R+4s8MznqqKOYOnUqN910EytWrODwww9nn3324YMf/CBDhw5l\n9uzZHHTQQaxYsYLJkydz+eWX85nPfIYXX3yRj370o8yZM4ejjz6aSy+9lCuvvJJPfvKTm/y+d999\nN+edd15hvZYsWcKMGTOYO3cu73//+7nooos46qijWLRoEdtss023vZ9nn32WV155hVWrVnHXXXcx\nbdo0pk6dyimnnML8+fMZM2YMX/3qVzu/1ze/+U1+85vf0NrayvLly1m7dm0vWrP37ElIagjHHHMM\nI0aM6Pw6/fTTO8/dd999vPDCC5x11lkMHTqU3XbbjZNPPpkbb7wRgAkTJjBx4kQigrFjx3Lqqady\n7733AnDHHXew//77M3XqVIYOHcpnP/tZ3va2txXW48UXX2TkyJGF57/3ve/xkY98hMMOO4yhQ4fy\nuc99jtdee4358+cD3b/SYNttt+XLX/4yQ4cOZfLkybz5zW/mscce22TZoUOH8sYbb7Bw4ULWrFnD\n2LFjGT9+/Gav39cMCUkN4bbbbuMPf/hD59fll1/eeW758uWsXLmyM0CGDx/Oueeey/PPPw/A0qVL\nOeqooxg5ciQ77rgjZ511Fi+88AIAq1atYsyYMRt8r677tXbaaSdWr15deH7VqlWMGzeucz8iGDNm\nDCtXbvJ9aZu8/pAh63/1br/99rz66qubLLvHHnswe/Zs2tvbaW1tZcaMGZutWxkcbpLUJ8NDW2tz\nf4GPGTOG3XffvfAv7k9/+tNMmDCBm266ie23355LLrmEW2+9FYCRI0eyfPnyDcqvWLGi8Hsdfvjh\n3HrrrZxwwgmbPL/rrruycOHCja43evRooPJL/89//nPnuWeffXazoVRrU0NV06dPZ/r06bz66quc\neuqpnHnmmcyZM6dH1+sL9iQkNbyJEyeyww47cMEFF/D666+zdu1aHn30Ue6//34AXnnlFVpaWth+\n++1ZvHgxV1xxRednjzzySH73u9/xgx/8gLVr13LJJZfw3HOFL8DknHPOYf78+cyaNauz3OOPP84n\nPvEJXn75ZY477jhuv/125s2bx5o1a7jwwgt505vexLvf/W4ADjzwQK6//nr+9re/ceedd3YOe/VE\na2vrBje9lyxZwrx583jjjTfYdtttGTZs2Aa9kP5gSEiqu+5u9g4ZMoQf/ehHPPTQQ4wfP55ddtmF\nU045hZdffhmACy+8kOuuu46WlhZOO+00pk+f3vnZnXbaiZtvvplZs2bx1re+lSeeeIJDDjmk8Hvt\nvvvu/PKXv+Spp55iv/32Y/jw4XzsYx/joIMOYocddmDvvffmu9/9LjNnzmTnnXfm9ttv54c//CHb\nbFMZmJk9ezZz585l+PDh3HDDDUydOrXHP/tJJ53Eo48+yogRIzj22GN54403OPPMM9l5553Zdddd\n+f3vf8+5527dm+a2lKvASk3AVWAHP1eBlST1O0NCklTIkJAkFTIkJEmFDAlJUiFDQpJUyBnXUhMY\nN25cXZbdVv+pXSqkLzlPQtJGDp92Dq+99pfNlhk2bDvuvuXsfqqRest5EpL6XE8C4qQZh/VTbVRP\nDjdJ2qxGWPxP9WNPQpJUyJCQJBUyJCRJhbwnITWpG77/M665/p5ub1KrudmTkJpUTwJi2LDt+qk2\nalSGhNSkfMxVPeFwkyQfc1UhexKSpEKlh0RETIqIxRGxJCJmbeJ8S0TMjYiHIuKRiPhU2XWSJPVM\nqSEREUOAy4AjgP2A4yNiny7FTgcezcwDgEOBf40Ih8EkqQGU3ZOYCCzNzGWZ+VfgRmBKlzIJ7FDd\n3gF4MTPXlFwvSVIPlP0X+yhgRc3+M1SCo9ZlwNyIWAW8Gfh4yXWSmorzIbQ1GmFY5wjgwcw8LCL2\nAH4aEe/MzFe7Fmxvb+/cbmtro62trd8qKQ1U3QWEcyEGl46ODjo6OvrseqW+TyIiDgbaM3NSdf9M\nIDPz/JoyPwLOzcxfVPf/LzArM+/vci3fJyH1wiFHfqnw3Lq5EMcf+95+rJH609a+T6LsnsQCYM+I\nGAesBqYDx3cpsww4HPhFRLQCewNPllwvqSk5H0JbqtSQyMy1ETETuIvKTfJrMnNRRJxWOZ1XAV8D\nro2Ih6sf+0Jm/qHMekmSeqb0exKZeSfw9i7HvlWzvZrKfQlJUoNxxrUkqZAhIUkqZEhIkgo1wjwJ\nSVvJCXMqiz0JaRDwBUIqiyEhDQK+QEhlcbhJGmScMKe+ZE9CklTIkJAkFTIkJEmFDAlJUiFDQpJU\nyJCQJBXyEVhpgHBWterBnoQ0QDirWvVgSEgDhLOqVQ8ON0kDkLOq1V/sSUiSChkSkqRChoQkqZAh\nIUkqZEhIkgoZEpKkQoaEJKmQISFJKuRkOqnBuEaTGok9CanBdBcQrs+k/mRISA2mu4BwfSb1J4eb\npAbmGk2qN3sSkqRChoQkqZAhIUkqZEhIkgoZEpKkQj7dJNWBE+Y0UJTek4iISRGxOCKWRMSsgjJt\nEfFgRCyMiHll10mqt54EhJPm1AhK7UlExBDgMuADwCpgQUTclpmLa8q8Bfgm8KHMXBkRby2zTlIj\n6ElAOGlOjaDs4aaJwNLMXAYQETcCU4DFNWVmALdm5kqAzHyh5DpJDcUJc2pkZQ83jQJW1Ow/Uz1W\na29gRETMi4gFEfGJkuskSeqhRrhxvQ0wATgM+DvglxHxy8x8vL7VkiSVHRIrgbE1+6Orx2o9A7yQ\nma8Dr0fEfwLvAjYKifb29s7ttrY22tra+ri6kjSwdXR00NHR0WfXi8zss4ttdPGIocBjVG5crwbu\nA47PzEU1ZfYBLgUmAdsBvwY+npm/63KtLLOuUn865MgvdW57T0JliggyM3r7+VJ7Epm5NiJmAndR\nuf9xTWYuiojTKqfzqsxcHBE/AR4G1gJXdQ0ISVJ9lH5PIjPvBN7e5di3uuxfCFxYdl0kSVvGZTkk\nSYUMCUlSIUNCklSoEeZJSIOSi/hpMLAnIZXERfw0GBgSUklcxE+DgcNNUj9wwpwGKnsSkqRChoQk\nqZAhIUkqZEhIkgptNiQi4tqa7RNKr40kqaF015N4V832/yyzIpKkxtNdSPgCB0lqYt3NkxgdEd8A\noma7U2Z+prSaSZLqrruQ+HzN9v1lVkQaqFyjSYPZZkMiM+f0V0Wkgaq7gHB9Jg1k3T4CGxEnRMQD\nEfGn6tf9EfHJ/qicNBB0FxCuz6SBbLM9iepjr58F/hl4gMq9iQnA1yMiM/M75VdRGjhco0mDTXc9\niU8DUzNzXmb+v8z8Y2beA3wUOL386kmS6qm7kGjJzKe7HqweaymjQpKkxtFdSLzWy3OSpEGgu0dg\n942IhzdxPIDdS6iPJKmBdBcS7wJagRVdjo8Bni2lRpKkhtFdSFwMfDEzl9UejIiW6rmjyqqY1Eic\nMKdm1d09idbMfKTrweqx3UqpkdSAehIQTprTYNRdSOy4mXPD+rIiUiPrSUA4aU6DUXfDTfdHxCmZ\neXXtwYg4GfhNedWSGpcT5tRMuguJzwL/ERH/yPpQ+HtgW2BqmRWTJNVfdwv8PQe8JyIOBfavHr69\nOutakjTIddeTACAz5wHzSq6LJKnBdLsKrCSpeRkSkqRCPRpukpqBE+akjdmTkKqcMCdtzJCQqpww\nJ22s9OGmiJgEzKYSSNdk5vkF5Q4C5gMfz8zvl10vaXOcMCdVlNqTiIghwGXAEcB+wPERsU9BufOA\nn5RZH0nSlil7uGkisDQzl2XmX4EbgSmbKHcGcAvwfMn1kSRtgbJDYhQbvovimeqxThGxK3BMZl5B\n5WVGkqQG0Qg3rmcDs2r2DQpJahBl37heCYyt2R9dPVbr74EbIyKAtwKTI+KvmTm368Xa29s7t9va\n2mhra+vr+krSgNbR0UFHR0efXS8ys88uttHFI4YCjwEfAFYD9wHHZ+aigvL/BvxwU083RUSWWVc1\nj55MmvPpJg0WEUFm9nqEptSeRGaujYiZwF2sfwR2UUScVjmdV3X9SJn1kaD7SXNOmJPWK32eRGbe\nCby9y7FvFZT9p7LrI3UXEE6Yk9Zz7SY1NYeVpM1rhKebJEkNypCQJBUyJCRJhQwJSVIhQ0KSVMiQ\nkCQV8hFYDUq+ilTqG/YkNCj5KlKpbxgSGpR8FanUNxxu0qDnrGqp9+xJSJIKGRKSpEKGhCSpkCEh\nSSpkSEiSChkSkqRChoQkqZAhIUkq5GQ6DViuzySVz56EBizXZ5LKZ0howHJ9Jql8DjdpUHB9Jqkc\n9iQkSYUMCUlSIUNCklTIkJAkFTIkJEmFDAlJUiFDQpJUyHkSamguvSHVlz0JNTSX3pDqy5BQQ3Pp\nDam+HG7SgOHSG1L/sychSSpkSEiSCpUeEhExKSIWR8SSiJi1ifMzIuK31a+fR8Q7yq6TJKlnSg2J\niBgCXAYcAewHHB8R+3Qp9iTwvsx8F/A14Ooy6yRJ6rmyb1xPBJZm5jKAiLgRmAIsXlcgM39VU/5X\nwKiS66QG5HwIqTGVPdw0ClhRs/8Mmw+Bk4Efl1ojNaTuAsK5EFJ9NMwjsBFxKHAi8A9FZdrb2zu3\n29raaGtrK71e6h/dBYRzIaSe6ejooKOjo8+uF5nZZxfb6OIRBwPtmTmpun8mkJl5fpdy7wRuBSZl\n5hMF18oy66r6OuTIL3VuOx9C6jsRQWZGbz9f9nDTAmDPiBgXEdsC04G5tQUiYiyVgPhEUUBIkuqj\n1OGmzFwbETOBu6gE0jWZuSgiTquczquALwMjgMsjIoC/ZubEMuslSeqZ0u9JZOadwNu7HPtWzfYp\nwCll10OStOUa5sa1Bj8fc5UGHpflUL9x2W9p4DEk1G9c9lsaeBxuUl34mKs0MNiTkCQVMiQkSYUM\nCUlSIUNCklTIG9fqU86FkAYXexLqU86FkAYXQ0J9yrkQ0uDicJNK41wIaeCzJyFJKmRISJIKOdyk\nXvEpJqk52JNQr3QXED7BJA0OhoR6pbuA8AkmaXBwuElbzaeYpMHLnoQkqZA9CRXy5rQkexIq5BIb\nkgwJFXKJDUkONzW5ng4peXNaak72JJqcQ0qSNseQaHIOKUnaHIebmkRPhpUcUpLUlT2JJuEyGpJ6\nw5BoEi6jIak3HG4aRHxSSVJfsycxiPikkqS+ZkgMIj6pJKmvOdw0SDmkJKkvGBIDjIvuSepPDjcN\nMN53kNSf7Ek0oK3pLXjfQVJfKj0kImISMJtKr+WazDx/E2W+AUwG/gR8KjMfKrtejaynvYW7bzm7\nn2okqVmVGhIRMQS4DPgAsApYEBG3ZebimjKTgT0yc6+I+O/AlcDBZdarUfS2x/D6q6uYedJJJdVq\nYOno6KCtra3e1WgItsV6tkXfKbsnMRFYmpnLACLiRmAKsLimzBTg3wEy89cR8ZaIaM3M50quW58p\n62ZyUW+hvb2d4499b59+r4HKXwbr2Rbr2RZ9p+yQGAWsqNl/hkpwbK7Myuqx0kJiIDwh5L0FSY2g\nKW9cN1JArAsDewaSGlFkZnkXjzgYaM/MSdX9M4GsvXkdEVcC8zLzpur+YuD9XYebIqK8ikrSIJaZ\n0dvPlt2TWADsGRHjgNXAdOD4LmXmAqcDN1VD5Y+buh+xNT+kJKl3Sg2JzFwbETOBu1j/COyiiDit\ncjqvysw7IuLDEfE4lUdgTyyzTpKknit1uEmSNLA1zLIcEXFNRDwXEQ/XHBseEXdFxGMR8ZOIeEvN\nuS9GxNKIWBQRH6pPrctR0BbTImJhRKyNiAldyjdbW1xQ/VkfiohbI6Kl5lyztcVXI+K3EfFgRNwZ\nEW+rOddUbVFz7n9FxN8iYkTNsaZqi4g4OyKeiYgHql+Tas5tWVtkZkN8Af8AHAA8XHPsfOAL1e1Z\nwHnV7f8KPEhluGw34HGqvaLB8FXQFm8H9gLuASbUHN+3CdvicGBIdfs84Nwm/nfx5prtM4ArmrUt\nqsdHA3cCTwEjqsea8b+Rs4F/3kTZLW6LhulJZObPgZe6HJ4CzKluzwGOqW4fDdyYmWsy82lgKRvP\nvxiwNtUWmflYZi4Fut7An0LztcXdmfm36u6vqPxigOb8d/Fqze7fAevapenaoupi4PNdjjXdfyNV\nm3rYZ4vbomFCosAuWX3SKTOfBXapHi+agNeMmr0t/gm4o7rdlG0REV+LiOXADOAr1cNN1xYRcTSw\nIjMf6XKq6dqiamZ1SPb/1AzVb3FbNHpIdOVddnWKiLOAv2bmDfWuSz1l5r9k5ljgOipDTk0nIoYB\nX6IyzCK4HNg9Mw8AngX+tbcXavSQeC4iWgGqN+Serx5fCYypKTe6eqwZNWVbRMSngA9T+et5naZs\nixrXA8dWt5utLfagMsb+24h4isrP+0BE7ELl5x5bU3awtwWZ+fus3oQArmb9kNIW/7totJAINhxH\nmwt8qrp9AnBbzfHpEbFtRIwH9gTu669K9pOubdH13DpN1xbVJzU+DxydmbXrqzRjW+xZc+4Y1i+e\n2VRtkZkLM/Ntmbl7Zo6nsk7cgZn5PJW2+HiztAV0/lG9zrHAwur2lv+7qPed+Zq77tdTWU78L8By\nKpPqhgN3A49RmZC3Y035L1K5M78I+FC9698PbXEMlbHE16jMXv9xE7fFUmAZ8ED16/ImbotbgEeA\nh6j8ETWyWduiy/knqT7d1IxtQWVl7Yer/y5+ALT2ti2cTCdJKtRow02SpAZiSEiSChkSkqRChoQk\nqZAhIUkqZEhIkgoZElJVRIyLiK7r/vTFdZ+qXbZaGkgMCWlDZUwccjKSBixDQtrQNhFxVfUFT3dG\nxHYRsXtE/DgiFkTEvRGxN0BEfCQifhURv6m+HGvn6vER1ZdkPRIRV1NdLiEito+IH1VfEPRwRHys\njj+n1COGhLShvYBLM3N/4I/ANOAqYGZmHkRlzagrqmV/lpkHZ+Z/A24CvlA9fnb13DuA/2D94nKT\ngJWZeWBmvpPKy3GkhrZNvSsgNZgnc/37CB6gsrLoe4CbI2LdAmr/pfq/YyLie8DI6rGnqsffB0wF\nyMw7ImLdC2EeAS6MiHOB27PyshipodmTkDZUu6rsWmAE8FJmTqj2AA6s9jIALgW+Ue0V/A/gTQXX\nXLdS6VJgApWw+FpE/EspP4HUhwwJaUNdl2d/GXgqIqZ1Foh4Z3Wzhcrqm1BZyn6d/wT+sVp2MrBj\ndXsk8FpmXg98nUpgSA3NkJA21PVJpKTyC/+k6qsgF1J5fzTAOcAtEbEA+H3NZ84B3ld9nPYYKss3\nA7wDuC8iHqTymtGvlfQzSH3GpcIlSYXsSUiSChkSkqRChoQkqZAhIUkqZEhIkgoZEpKkQoaEJKmQ\nISFJKvT/AfX0Ln8M88UhAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "head_cts = []\n", "\n", "for i in range(1000):\n", " head_cts.append(simulate_fair_coin_flips(250))\n", "\n", "cdf = thinkstats2.Cdf(head_cts, label='Head Counts')\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Show(xlabel='heads', ylabel='CDF')\n"]}, {"execution_count": 15, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 15, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nGfSSVLj/B0l+WDZbXM7TAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "flips = [simulate_fair_coin_flips(250) for i in xrange(1000)]\n", "cdf_flips = thinkstats2.Cdf(flips)\n", "thinkplot.Cdf(cdf_flips)"]}, {"execution_count": 21, "cell_type": "code", "metadata": {"scrolled": true, "collapsed": false}, "outputs": [{"execution_count": 21, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "sample = []\n", "for n in range(1000):\n", " sample.append(simulate_fair_coin_flips(250))\n", "\n", "sample = thinkstats2.Cdf(sample)\n", "thinkplot.Cdf(sample)"]}, {"execution_count": 5, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 5, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nD1pafMw9lmwmAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "total = []\n", "for i in range(0,1000):\n", " total.append(simulate_fair_coin_flips(240))\n", "cdf = thinkstats2.Cdf(total)\n", "thinkplot.Cdf(cdf)\n", "# your implementation here (imports included for convenience)"]}, {"execution_count": 17, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nwgAAAABJRU5ErkJggg==\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "# your implementation here (imports included for convenience)\n", "res = []\n", "for _ in range(1000):\n", " res.append(simulate_fair_coin_flips(240))\n", "\n", "cdf = thinkstats2.Cdf(res)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.show(xlabel='No of Heads in 240 coin flips', ylabel='CDF')"]}, {"execution_count": 38, "cell_type": "code", "metadata": {"scrolled": true, "collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "# your implementation here (imports included for convenience)\n", "headsCounts= [simulate_fair_coin_flips(240) for i in range(1000)]\n", "cdf = thinkstats2.Cdf(headsCounts)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(title ='Number of times a fair coin toss results in heads')\n", "thinkplot.Show(xlabel = 'Coin toss resulting in heads', ylabel ='CDF')"]}, {"execution_count": 27, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nZfr/2DxOX0RWAvYAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "flipResults = []\n", "for i in range(1000):\n", "# The instructions say 240, but everything else says 250, so I'm going with 250\n", " flipResults.append(simulate_fair_coin_flips(250))\n", "\n", "flipCdf = thinkstats2.Cdf(flipResults, label = 'Coin Flips')\n", "\n", "thinkplot.Cdf(flipCdf)\n", "thinkplot.Show(xlabel = 'Probability of Heads', ylabel='CDF', title='CDF of Coin Flips')"]}, {"execution_count": 50, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "trials = [simulate_fair_coin_flips(250) for i in range(1000)]"]}, {"execution_count": 98, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEcNJREFUeJzt3X+sZGV9x/H3dyWQ9RcVrdgurlUQsSRKrSUkK3ZEIoub\nsJSYyJKYYluzMa5t0kbR7Q+ujanQxNTYrT/QjdWmsLZIdNsqLlQmohFcI7jQ7sJS7bK7IFarTTVq\n1/XbP+bsZRzn1733zNw5z7xfyY1zzjx35uvk8tnnfs9znhuZiSSpXGtWuwBJ0mQZ9JJUOINekgpn\n0EtS4Qx6SSqcQS9JhRsZ9BGxMyIei4h9Q8a8NyIORsS9EXFevSVKklZinBn9R4BLBj0ZEZcCZ2bm\n84GtwAdqqk2SVIORQZ+ZXwC+O2TIZuBj1di7gVMj4vR6ypMkrVQdPfp1wOGu46PVOUnSDPBirCQV\n7qQaXuMo8Oyu4zOqcz8nItxYR5KWITNjud87btBH9dXPbuBNwMcj4gLge5n52KAXavImagsLCyws\nLKx2Gctm/auryfWPU/tNt9zJzhs/xw9/+OPpFLUEDz94J+vPvnC1y1j0xX/5iyWNj1h2xgNjBH1E\n3Ai0gKdHxMPAtcDJQGbmDZn56Yh4dUQ8BPwAeP2KKpI08+oO9bVrT+F3r7qILVdMJoyb/I9sHUYG\nfWZeNcaYbfWUI2nW3HTLnXzsH9rctnf7sr5/0iGu0ero0c+NVqu12iWsiPWvrqbWv/PGz/HEp463\nkG5WQ72pn31dYpo984jIJvfopXkwbltmVkO9RBExlYuxkubEoJBfu/YUbr/52lWoSCtl0EtzbKmz\ndzWTQS/NsWEh7wy+HN4ZK82xYSHvDL4czuglAUu/iUfNYdBLc2KW71zVZNm6kebEqH68ymXQS3PC\nfvz8snUjFWhUm8Z+/HxxRi8VyDaNuhn0UoFs06ibrRupcLZp5IxekgrnjF5qONfHaxRn9FLDeeFV\noxj0UsN54VWj2LqRCuKFV/XjjF6SCueMXmoYL75qqZzRSw0z7E/9Sf0Y9FLDDAp5L7xqEFs3UoN5\n8VXjcEYvSYUz6CWpcLZupBnmChvVwRm9NMPc3kB1MOilGeb2BqqDrRupIVxho+VyRi9JhTPoJalw\ntm6kGeEKG02KM3ppRrjCRpNi0EszwhU2mhRbN9IMcoWN6jTWjD4iNkbEgYh4MCKu6fP8UyNid0Tc\nGxH3RcTVtVcqSVqWkUEfEWuAHcAlwLnAlog4p2fYm4B/y8zzgFcA744If1uQpBkwzoz+fOBgZh7K\nzGPALmBzz5gEnlI9fgrwncz8SX1lSpKWa5xZ9zrgcNfxETrh320HsDsiHgGeDLy2nvKkMrmUUtNU\nV3vlEuCezLwoIs4EbouIF2Xm93sHLiwsLD5utVq0Wq2aSpCaw6WUGqbdbtNut2t7vcjM4QMiLgAW\nMnNjdfw2IDPz+q4x/wy8KzO/WB3/K3BNZn6l57Vy1PtJ82DDpu19z59YSrnligunXJFmWUSQmbHc\n7x9nRr8XOCsingM8ClwJbOkZcwi4GPhiRJwOnA18fblFSfPEpZSatJFBn5nHI2IbsIfOxdudmbk/\nIrZ2ns4bgHcCfxsR+6pve2tm/vfEqpYkjW2sHn1m3gq8oOfcB7seP0qnTy9JmjFugSBJhTPoJalw\n3r0qTYHr5rWanNFLUzAo5F0zr2kw6KUpGBTybj+sabB1I02Z6+Y1bc7oJalwBr0kFc6gl6TCGfSS\nVDiDXpIKZ9BLUuFcXinVzLtgNWuc0Us1869HadYY9FLNhoW8d8JqNdi6kSbIu2A1C5zRS1LhDHpJ\nKpxBL0mFM+glqXAGvSQVzqCXpMK5vFJaAe+CVRM4o5dWwLtg1QQGvbQC3gWrJrB1I9XEu2A1q5zR\nS1LhDHpJKpxBL0mFM+glqXAGvSQVzqCXpMIZ9JJUONfRS2NyuwM1lTN6aUxud6CmGivoI2JjRByI\niAcj4poBY1oRcU9E3B8Rd9RbprT63O5ATTWydRMRa4AdwCuBR4C9EfGpzDzQNeZU4G+AV2Xm0Yh4\nxqQKlmaB2x2oScaZ0Z8PHMzMQ5l5DNgFbO4ZcxXwicw8CpCZ3663TEnSco0T9OuAw13HR6pz3c4G\nTouIOyJib0S8rq4CJUkrU9eqm5OAlwAXAU8CvhQRX8rMh2p6fUnSMo0T9EeB9V3HZ1Tnuh0Bvp2Z\nPwJ+FBGfB14M/FzQLywsLD5utVq0Wq2lVSxJhWu327Tb7dpeLzJz+ICIJwAP0LkY+yjwZWBLZu7v\nGnMO8NfARuAU4G7gtZn57z2vlaPeT5pVGzZtX3zsxVhNU0SQmbHc7x85o8/M4xGxDdhDp6e/MzP3\nR8TWztN5Q2YeiIjPAvuA48ANvSEvSVodI2f0tb6ZM3o1xKi7YJ3Ra5pWOqP3zlipD++CVUkMeqkP\n74JVSdzUTBrBNo2azhm9JBXOoJekwhn0klQ4g16SCmfQS1LhDHpJKpxBL0mFcx29hH/4W2VzRi8x\neMsDtztQCQx6if5bHrjdgUph60bq4ZYHKo0zekkqnEEvSYUz6CWpcAa9JBXOoJekwhn0klQ4g16S\nCuc6es0dtzvQvHFGr7kzLOTd8kAlMug1d4aFvFseqES2bjTX3O5A88AZvSQVzqCXpMIZ9JJUOINe\nkgpn0EtS4Qx6SSqcQS9JhXMdvYrmdgeSM3oVzu0OJINehXO7A8nWjeaI2x1oXo01o4+IjRFxICIe\njIhrhoz7jYg4FhFX1FeiJGklRgZ9RKwBdgCXAOcCWyLinAHjrgM+W3eRkqTlG2dGfz5wMDMPZeYx\nYBewuc+4NwM3A9+qsT5J0gqNE/TrgMNdx0eqc4si4peByzPz/UDUV54kaaXqWnXzHqC7d2/YS9KM\nGGfVzVFgfdfxGdW5bi8FdkVEAM8ALo2IY5m5u/fFFhYWFh+3Wi1ardYSS5aksrXbbdrtdm2vF5k5\nfEDEE4AHgFcCjwJfBrZk5v4B4z8C/FNm3tLnuRz1flKdNmzavvjY5ZVqqoggM5fdKRk5o8/M4xGx\nDdhDp9WzMzP3R8TWztN5Q++3LLcYaSXc7kDqb+SMvtY3c0avCbr4Ne8Yeifs7TdfO+WKpHqsdEbv\nFggqhtsdSP25BYKKZD9eepwzekkqnEEvSYUz6CWpcAa9JBXOoJekwhn0klQ4g16SCuc6ejWS2x1I\n43NGr0YaFvJr154y5Wqk2WbQq5Hc7kAan60bNZ7bHUjDOaOXpMIZ9JJUOINekgpn0EtS4Qx6SSqc\nQS9JhXN5pRrBO2Gl5XNGr0YYFPLeBSuNZtCrEQaFvHfBSqPZulHjeCestDTO6CWpcAa9JBXOoJek\nwhn0klQ4g16SCueqG80cb46S6uWMXjPHPxMo1cug18zxzwRK9bJ1o5nmzVHSyjmjl6TCGfSSVDiD\nXpIKZ9BLUuHGuhgbERuB99D5h2FnZl7f8/xVwDXV4f8Cb8zM++osVGVyzbw0eSNn9BGxBtgBXAKc\nC2yJiHN6hn0deHlmvhh4J/ChugtVmVwzL03eOK2b84GDmXkoM48Bu4DN3QMy867M/J/q8C5gXb1l\nqlSumZcmb5zWzTrgcNfxETrhP8jvAZ9ZSVGaT66Zlyaj1humIuIVwOuBlw0as7CwsPi41WrRarXq\nLEGSGq/dbtNut2t7vcjM4QMiLgAWMnNjdfw2IPtckH0R8AlgY2b+x4DXylHvp/myYdP2xcfO6KX+\nIoLMjOV+/zg9+r3AWRHxnIg4GbgS2N1TxHo6If+6QSEvSVodI1s3mXk8IrYBe3h8eeX+iNjaeTpv\nAP4UOA14X0QEcCwzh/XxJUlTMlaPPjNvBV7Qc+6DXY/fALyh3tIkSXVw90pNjTdHSavDLRA0Nd4c\nJa0Og15T481R0uqwdaNV4VJKaXqc0UtS4Qx6SSqcQS9JhbNHr4lxOaU0G5zRa2IGhbxLKaXpMug1\nMYNC3qWU0nTZutFUuJxSWj3O6CWpcAa9JBXO1o1q4QobaXY5o1ct3LBMml0GvWrhhmXS7LJ1o9q5\nwkaaLc7oJalwzui1ZF54lZrFGb2WzAuvUrMY9FoyL7xKzWLrRivihVdp9hn0Gsp+vNR8tm40lP14\nqfkMeg1lP15qPls3Gpv9eKmZDHotsh8vlcnWjRbZj5fKZNBrkf14qUy2bubYsFaN/XipHM7o59ig\nkLdNI5XFGf2cGPdCq20aqTwG/ZwYdaH19puvnXJFkqbF1s2c8EKrNL+c0RdoVJvGC63SfBkr6CNi\nI/AeOr8B7MzM6/uMeS9wKfAD4OrMvLfOQtXfUm9y8kKrNH9Gtm4iYg2wA7gEOBfYEhHn9Iy5FDgz\nM58PbAU+MIFaV1273V7tErjplju5+DXvYMOm7WzYtJ0dOz8zdsj/6PuPNLpNMwuf/0o0uf4m1w7N\nr3+lxpnRnw8czMxDABGxC9gMHOgasxn4GEBm3h0Rp0bE6Zn5WN0Fr6Z2u02r1Zra+61kS4ITvfct\nV1y4eG5hYeFnjptm2p9/3Zpcf5Nrh+bXv1LjBP064HDX8RE64T9szNHqXFFB32tW9obpF+qSdEIj\nL8Zu2LR9Vd734Qfv5La9/7cq793NYJe0FJGZwwdEXAAsZObG6vhtQHZfkI2IDwB3ZObHq+MDwG/2\ntm4iYvibSZL6ysxY7veOM6PfC5wVEc8BHgWuBLb0jNkNvAn4ePUPw/f69edXUqgkaXlGBn1mHo+I\nbcAeHl9euT8itnaezhsy89MR8eqIeIjO8srXT7ZsSdK4RrZuJEnNNrEtECLiDyLivurr96tzT4uI\nPRHxQER8NiJOndT7L0dE7IyIxyJiX9e5gTVHxNsj4mBE7I+IV61O1Yu19Kv9NRFxf0Qcj4iX9Iyf\nmdqrevrV/5dVffdGxCci4qldzzWh/j+PiK9FxD0RcWtEPKvruZmvv+u5P4qIn0bEaV3nZr7+iLg2\nIo5ExFerr41dz818/dX5N1c13hcR13WdX1r9mVn7F50bq/YBpwBPoNP2ORO4HnhrNeYa4LpJvP8K\n6n4ZcB6wr+tc35qBXwXuodP++hXgIarfkGao9hcAzwc+B7yk6/wLZ6n2IfVfDKypHl8HvGsWP/sh\n9T+56/Gbgfc3qf7q/BnArcA3gNMa9vNzLfCHfcY2pf5WlZ0nVcfPWG79k5rRvxC4OzN/nJnHgc8D\nVwCXAR+txnwUuHxC778smfkF4Ls9pzfTv+bLgF2Z+ZPM/E/gID9/f8HU9Ks9Mx/IzINA70XwzcxQ\n7TCw/tsz86fV4V10Qgdm7LOHgfV/v+vwScCJ/y+NqL/yV8Bbes414uen0m8BSFPqfyOdieVPqjHf\nrs4vuf5JBf39wIVV2+OJwKuBZwOLd8tm5jeBZ07o/ev0zAE1D7pJrAmaWPvvAJ+uHjem/oh4Z0Q8\nDFwF/Fl1uhH1R8RlwOHMvK/nqUbUX9lWtf4+3NV2bUr9ZwMvj4i7IuKOiPj16vyS659I0GfmATot\nj9vo/Md5D3C839BJvP+ENbHmRouIPwaOZeZNq13LUmXmn2TmeuDv6bRvGiEi1gLb6bQ/mup9wPMy\n8zzgm8C7V7mepToJeFpmXgC8FfjH5b7QxC7GZuZHMvOlmdkCvgc8ADwWEacDVBemvjWp96/RoJqP\n0vkt5YQzqnNN0JjaI+JqOr8RXtV1ujH1d7mRTvsSmlH/mXT6v1+LiG/QqfGrEfFMOrWu7xo7i/WT\nmf+VVVMb+BCPtzea8PlDZ9Z+C0Bm7gWOR8TTWcbnP8lVN79Y/e964Lfo/KDvBq6uhvw28KlJvf8K\nBD/b1xtU827gyog4OSKeC5wFfHlaRQ7QW3vvcyfMYu3QU3+1SuItwGWZ2b2hUFPqP6vruct5fCPA\nma8/M+/PzGdl5vMy87l09rj6tcz8Fp36XzvL9cPixOyEK+i0lKEBn3/lk8BFABFxNnByZn6H5Xz+\nE7yK/Hk6H+w9QKs6dxpwO53Z/R7gF1bzSnefmm8EHgF+DDxM58avpw2qGXg7nSve+4FXzWDtl9OZ\nFfyQzl3Nn5nF2ofUfxA4BHy1+npfw+q/GbgPuJfOBOGXmlR/z/Nfp1p105T66eyou6/6/D9J5xph\nk+o/Cfi76mfoK3S2lVlW/d4wJUmF82/GSlLhDHpJKpxBL0mFM+glqXAGvSQVzqCXpMIZ9JJUOINe\nkgr3/11Lc+MZPVwOAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "resultsList = []\n", "\n", "for i in range(10000):\n", " resultsList.append(simulate_fair_coin_flips(250))\n", " \n", "\n", " \n", "cdf = thinkstats2.Cdf(resultsList)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Show()\n", "\n", "# your implementation here (imports included for convenience)"]}, {"execution_count": 46, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "heads = [simulate_fair_coin_flips(240) for i in range(1000)]\n", "cdf = thinkstats2.Cdf(heads)\n", "\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(title ='Number of occurences of heads')\n", "thinkplot.Show(xlabel = 'Heads coin toss', ylabel ='CDF')"]}, {"execution_count": 3, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nwhc44ogjiAjOOussRo0axf333w/AaaedRltbGwCnn346Bx54IA888ABQ+uHxla98hb322ovdd9+d\niy++eKtrjhw5kuXLl/Pyyy/T1tbGIYcc0mvb5s6dy7e//W3a29sBePe7382YMWNYtGgRBx10EGee\neSYjRozgjDPOYMKECdx6661V9Tki6OzsZMcdd+Swww5j4sSJLFu2bPB/eHXmiF5DximT25ctYQ0w\nevRonnnmGaBU4pg3bx4//OEPAchMXnvtNdavXw/AvHnz+P73v9+95svGjRt54YUXAFi/fj377rtv\n93nHjRu31TUWLFjAd7/7Xc455xymTp3K5ZdfzsEHH/ymtq1du5YDDjjgTdvXr1+/1Tm3XGNLWaeW\nfr/44otVf7ZRDHoNGadMDp1mvoG97777cskll7xpNA7w1FNPcd5557FkyRLe//73AzB58uTuNX3e\n/va3s3bt2u7jey7qdswxx3DMMcfwyiuvcMkllzBjxgzuueeeN11nv/32Y/Xq1Rx66KFbbd9rr724\n5ZZb3tSm448/HoCdd96Zl156qXvfs88+W3W/h3N2kKUbDRmnTApgxowZXH311d3lmI0bN3L77bez\nceNGNm7cyIgRI9hjjz3YvHkz1113HY8++mj3Zz/5yU9y5ZVXsm7dOjZs2MCcOXO69z3//PMsXLiQ\nl156iR122IG3vOUtjBw5stc2nHvuuXzjG9/giSeeAGD58uVs2LCBE044gVWrVjF//nw2bdrEggUL\nWLFiBSeddBIAkyZNYv78+bz++us89NBD3HzzzVudt79F5tra2njyySeHZSE6R/SqO6dMqr/R6+GH\nH861117LzJkzeeKJJ9hpp52YOnUqRx99NIcccghf+9rXOPLIIxk5ciRnn302U6dO7f7sjBkzWLVq\nFRMnTmS33XbjwgsvZMmSJUBpJs33vvc9PvvZzxIRTJo0iR//+Me9tuGrX/0qr776Ksceeyx//vOf\nmTBhAr/4xS/Ya6+9uO222/jyl7/MF7/4xe6ZPWPHjgXgm9/8JtOnT2fs2LEcffTRfPrTn97qhm/P\nfle+P/3007nhhht461vfygEHHMBDDz00+D/YGsVQ/nSJiHRZ1eL76CcuG3A2zV03XzqELSqmiHCZ\n4oLp63ta3l5z7cfSjerOKZNSc7F0o4ayRCMNP4NeNXO6pNQaLN2oZi5fILUGR/SqymBH79bipeZh\n0KsqAz3s5CwaqXkZ9NuxetTYHbkPn3HjxrXMWuyqTs/lF+qlqnn0ETEN+AGlmv7czJzTyzFXAscD\nG4HPZebDvRzjPPphUM+bpo7epaG3rfPoBxzRR8QI4CrgI8B64MGI+FVmrqw45nhgfGYeGBHvA64G\njqy1Ua2qq6uLjo6OYbt+o2fBvPziemaee25Dzt0Mhvv710hF7hsUv3/bqprSzRRgVWauAYiI+cAp\nwMqKY04B5gFk5u8jYreIaMvM5+rd4Ga2rX/ZhmO64pbSSzXLAXd2dhZ62eAih0WR+wbF79+2qibo\n9wbWVrx/mlL493fMuvK2wgV9f2H81OO/4dcPvtrLp4bfYAJdUrF4M7Yf9f4tPUPBQJfU04A3YyPi\nSKAzM6eV338dyMobshFxNbAkMxeU368Eju5ZuokI78RKUg0aejMWeBBoj4hxwDPAGcD0HscsBL4E\nLCj/YPhrb/X5bWmoJKk2AwZ9Zm6KiJnAYt6YXrkiIs4v7c5rMvP2iDghIp6gNL3y841ttiSpWkO6\nHr0kaeg1bFGziLggIpaXv75c3jYmIhZHxGMRcWdE7Nao6zdCRMyNiOci4pGKbX32KSIujohVEbEi\nIo4dnlZXp4++fSIiHo2ITRHxnh7Ht0zfoM/+/c9y+x+OiFsiYteKfUXo3z9HxLKIWBoRd0TE31fs\na/n+Vez7WkRsjoixFdtavn8RcWlEPB0Rfyx/TavYN7j+ZWbdv4B3Ao8Ao4CRlMo+44E5wD+Vj7kI\n+E4jrt+oL2AqMAl4pGJbr30CDgWWUiqPvQN4gvK/oJrxq4++HQwcCNwNvKdi+yGt1Ld++vdRYET5\n9XeAf2nF710//XtLxet/AH5cpP6Vt+8D3AH8JzC2vK0ofz8vBb7ay7GD7l+jRvSHAL/PzFcycxNw\nD3AqcDLwb+Vj/g34eIOu3xCZ+VtgQ4/Np9B7n04G5mfm65n5JLCKNz9/0DR661tmPpaZq4CeN9FP\noYX6Bn32767M3Fx+ez+l0IAW+95Bn/17seLtzsCWvhaif2XfB/6xx7ZC/P0s620Cy6D716igfxT4\nYLmsMRo4AdgX6H5aNjOfBfZs0PWH0p599Kmvh8iKoIh9Owe4vfy6MP2LiG9FxFPAmcD/KG8uRP8i\n4mRgbWYu77GrEP0rm1kuLf5rRVl40P1rSNBnaR2cOcCvKf3PsxTY1Nuhjbj+MCtinwotIi4BXsvM\nG4e7LfWWmf89M/cD/p1S+aYQImInYBal8kZR/Qg4IDMnAc8CV9R6oobdjM3M6zLziMzsAP4KPAY8\nFxFtAOUbQ8836vpDqK8+raP0r5gt9ilvK4LC9C0iPkfpX5xnVmwuTP8q/JRS+RSK0b/xlOrTyyLi\nPyn14Y8RsSelvuxXcWwr9o/M/H9ZLsoD1/JGeWbQ379Gzrp5W/m/+wH/ldJftIXA58qHfBb4VaOu\n30DB1nWzvvq0EDgjInaMiP2BduCBoWpkjXr2ree+LVqxb9Cjf+VZDP8InJyZlYsXFaV/7RX7Ps4b\nCxG2fP8y89HM/PvMPCAz96e0BtfkzHyeUv8+1cr9g+6B4xanUiqJQy3fvwbeRb6n3LClQEd521jg\nLkqj+8XA7sN9t3uQffoppaWaXwGeovRg2Ji++gRcTOmO+Arg2OFufw19+zilWuDfKD0V/R+t2Ld+\n+rcKWAP8sfz1o4L172ZgOfAwpQHI24vUvx77/0R51k1R+kdpReBHyt+/X1K6x1lT/3xgSpIKrmGl\nG0lSczDoJangDHpJKjiDXpIKzqCXpIIz6CWp4Ax6SSo4g16SCu7/A9H+adPEPzcMAAAAAElFTkSu\nQmCC\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "# your implementation here (imports included for convenience)\n", "hcs = []\n", "for i in range(1000):\n", " hcs.append(simulate_fair_coin_flips(250))\n", "\n", "cdf = thinkstats2.Cdf(hcs)\n", "thinkplot.Cdf(cdf, label='heads count')\n", "thinkplot.Show(loc='lower right')"]}, {"execution_count": 66, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nyHCXpAb9PwnbU6CI6/CLAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["%matplotlib inline\n", "import thinkstats2\n", "import thinkplot\n", "import matplotlib.pyplot as plt\n", "\n", "def coin_flips_trials(n, m):\n", " head_num_trials = []\n", " for i in range(n):\n", " head_num_trials.append(simulate_fair_coin_flips(m))\n", " hist = thinkstats2.Hist(head_num_trials)\n", " thinkplot.Hist(hist)\n", " return head_num_trials\n", "\n", "trials = coin_flips_trials(1000, 250)"]}, {"source": ["The p-value is simply the probability that we would have seen a result as extreme (or greater) as 140 heads out of 250 flips under the hypothesis that the coin is fair (the null hypothesis). Using the CDF you created in the previous cell, compute the p-value. If you want to test your learning a bit more: compute the p-value without using the CDF explicitly (instead use the results of the 1000 random trials directly).\n", "\n", "Hint: you should use the PercentileRank function of CDF to compute the p-value, however, there is one important gotcha. The PercentileRank function returns the percentage of data that is equal to or less than the input value. When computing the p-value we want the percentage of the data that is equal to or greater than the observed value."], "cell_type": "markdown", "metadata": {"collapsed": true}}, {"execution_count": 13, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["1.7\n"]}], "source": ["percentile = cdf.PercentileRank(140)\n", "#print percentile\n", "print 100 - percentile"]}, {"execution_count": 60, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Pvalue for percentage of data that is equal to or less than for a one tailed test 97.1\n", "Pvalue for percentage of data that is equal to or greater than for a one tailed test 2.9\n"]}], "source": ["pvalue_of_equal_to_or_less_than_1tailed = headsCdf.PercentileRank(140)\n", "print \"Pvalue for percentage of data that is equal to or less than for a one tailed test\" , pvalue_of_equal_to_or_less_than\n", "pvalue_of_equal_to_or_greater_than_1tailed = 100 - pvalue_of_equal_to_or_less_than\n", "print \"Pvalue for percentage of data that is equal to or greater than for a one tailed test\", pvalue_of_equal_to_or_greater_than"]}, {"execution_count": 88, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["pvalue using PercentileRank: 2.700000\n", "pvalue calculated: 2.700000\n"]}], "source": ["observed = 140\n", "\n", "pvalue = 100 - cdf.PercentileRank(observed - 1)\n", "\n", "num_above = sum(h >= observed for h in heads)\n", "pvalue_calculated = 100 * num_above / float(len(heads))\n", "\n", "print 'pvalue using PercentileRank: %f' % pvalue\n", "print 'pvalue calculated: %f' % pvalue_calculated"]}, {"execution_count": 87, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p value is 0.025 (one tailed)\n"]}], "source": ["import numpy as np\n", "import scipy.stats as stats\n", "p1 = 1 - 0.01*(stats.percentileofscore(np.array(headlist), 140))\n", "print 'p value is', p1, '(one tailed)'"]}, {"execution_count": 150, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value for 140 heads out of 250 coins: 3.2\n"]}], "source": ["rank = cdf.PercentileRank(140)\n", "p_value = 100 - rank\n", "print \"p-value for 140 heads out of 250 coins: \", p_value"]}, {"execution_count": 3, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 3.3%\n"]}], "source": ["print \"p-value:\", str(100-cdf.PercentileRank(140))+\"%\""]}, {"execution_count": 30, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value that 140/250 flips are heads\n", "2.8%\n"]}], "source": ["print \"P-value of data that 140/250 flips are heads\"\n", "print str(100 - cdf.PercentileRank(140)) + \"%\""]}, {"execution_count": 36, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["2.7\n"]}], "source": ["pvalue = 100 - cdf.PercentileRank(140)\n", "print pvalue"]}, {"execution_count": 3, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["3.4 %\n"]}], "source": ["p_val = 100 - cdf_holder.PercentileRank(139)\n", "print p_val, '%'"]}, {"execution_count": 9, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 9, "metadata": {}, "data": {"text/plain": ["0.040000000000000036"]}, "output_type": "execute_result"}], "source": ["1 - cdf[139]"]}, {"execution_count": 100, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Pvalue: 3.6 %\n"]}], "source": ["pvalue = 100 - cdf.PercentileRank(139)\n", "\n", "print \"Pvalue: \", pvalue, \"%\""]}, {"execution_count": 16, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value calculated with CDF: 3.1 %\n", "P-value calculated without CDF: 3.1 %\n"]}], "source": ["p_value = 100 - cdf_flips.PercentileRank(139)\n", "print 'P-value calculated with CDF: ', p_value, '%'\n", "\n", "flips.sort()\n", "ord_index = flips.index(140)\n", "vals_above = 1 - ord_index/1000.0\n", "\n", "print 'P-value calculated without CDF: ', 100*vals_above, '%'"]}, {"execution_count": 22, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["4.0\n"]}], "source": ["p_val = 100 - sample.PercentileRank(139)\n", "print p_val"]}, {"execution_count": 9, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value: 0.005\n"]}], "source": ["p_value = (100 - cdf.PercentileRank(139))/100\n", "print 'P-value: ', p_value"]}, {"execution_count": 18, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 0.4\n"]}], "source": ["print \"p-value:\", float(format(100 - cdf.PercentileRank(139), '.2f'))"]}, {"execution_count": 39, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value using CDF: 0.004\n", "P-value using the results of 1000 random trials directly: 0.004\n"]}], "source": ["percRank = cdf.PercentileRank(139)\n", "pVal = 1 - percRank/100\n", "print \"P-value using CDF: \",pVal\n", "\n", "count = sum(1.0 for x in headsCounts if x>= 140.0)\n", "print \"P-value using the results of 1000 random trials directly: \",count/1000"]}, {"execution_count": 28, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["The p-value is 0.018\n"]}], "source": ["percentileRank = flipCdf.PercentileRank(140)\n", "pValue = 1 - float(percentileRank)/100\n", "print \"The p-value is \", pValue"]}, {"execution_count": 52, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Percent of data that is equal to or greater than value:\n", "2.5%\n"]}], "source": ["print \"Percent of data that is equal to or greater than value:\"\n", "print str(100 - cdf.PercentileRank(140)) + \"%\""]}, {"execution_count": 99, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 99, "metadata": {}, "data": {"text/plain": ["0.0286"]}, "output_type": "execute_result"}], "source": ["sum(i >= 140 for i in resultsList)/float(len(resultsList))"]}, {"execution_count": 47, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P value with CDF: 0.011\n", "P-value with the results of 1000 random trials: 0.011\n"]}], "source": ["percRank = cdf.PercentileRank(139)\n", "pVal = 1 - (percRank / 100)\n", "print \"P value with CDF: \", pVal\n", "\n", "count = sum(1.0 for x in heads if x >= 140.0)\n", "print \"P-value with the results of 1000 random trials: \", count / 1000"]}, {"execution_count": 12, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 0.033\n"]}], "source": ["print \"p-value:\", 1 - cdf.PercentileRank(139)/100\n", "# 139 because we want to include 140 in our counts"]}, {"execution_count": 67, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["2.0\n"]}], "source": ["trialsCDF = thinkstats2.Cdf(trials)\n", "print 100.0 - trialsCDF.PercentileRank(140)"]}, {"source": ["The p-value we computed above is called a [one-tailed test](https://en.wikipedia.org/wiki/One-_and_two-tailed_tests) in that we only counted simulations of the null-hypothesis that had 140 or more heads (Allen uses the terminology of one versus two-sided tests, see ThinkStats2 9.4). A two-tailed test would count simulations with 140 or more tails as well (which is what Allen shows in the book). Whether to use a one-tailed or a two-tailed test mostly has to do with your prior expectations regarding the hypothesis you are testing. For instance, if you had a reason to suspect that the coin would be biased towards heads (but not tails) you would use a one-tailed test. If you had no reason to assume a priori that the coin was biased towards heads or tails, you should use a two-tailed test.\n", "\n", "Modify your coin flip simulation code to return the number of heads or tails, whichever is larger, out of n flips."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 18, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["131\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " counterh = 0\n", " countert = 0\n", " for i in range(n):\n", " choices = choice([\"heads\", \"tails\"])\n", " \n", " if choices == \"heads\":\n", " counterh += 1\n", " else:\n", " countert += 1\n", " if counterh >= countert:\n", " #print \"heads\"\n", " return counterh\n", " else:\n", " #print \"tails\"\n", " return countert\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 61, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["128\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = 0\n", " tails = 0\n", " for i in range(n):\n", " coinFlip = random.randint(0, 1)\n", " if (coinFlip == 0): \n", " heads +=1; \n", " elif (coinFlip ==1): \n", " tails +=1; \n", "# print heads, tails\n", " if (heads > tails): \n", " return heads\n", " elif (tails > heads): \n", " return tails\n", " else: \n", " return heads\n", " \n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 73, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["141\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = simulate_fair_coin_flips(n)\n", " tails = n - heads\n", " return max(heads, tails)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 98, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["137\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = 0\n", " for _ in itertools.repeat(None, n):\n", " heads += choice([0,1])\n", " return max(heads, n-heads)\n", "\n", " pass\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 133, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["126\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " count = sum([choice([0, 1]) for i in range(n)])\n", " return count if (count>125) else (250-count)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 4, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["131\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = 0\n", " for i in xrange(n):\n", " if choice(['heads', 'tails'])=='heads':\n", " heads += 1\n", " if heads>(n/2):\n", " return heads\n", " else:\n", " return n-heads\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 49, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["128\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " coin_flips = [random.choice('HT') for _ in range(n)]\n", " hist = thinkstats2.Hist(coin_flips)\n", " if(hist['H'] >= hist['T']):\n", " return hist['H']\n", " else:\n", " return hist['T']\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 39, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["131\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " ht=0\n", " \n", " for i in range(n):\n", " ht += choice([0,1])\n", " \n", " if (n-ht)>ht:\n", " return n-ht\n", " else:\n", " return ht\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 4, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["136\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " side = [0,1]\n", " h = 0;\n", " t = 0;\n", " for i in range(n):\n", " if choice(side) == 0:\n", " h += 1\n", " else:\n", " t += 1\n", " if t > h:\n", " return t\n", " else:\n", " return h\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 20, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["127\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = sum(choice((0,1)) for _ in xrange(n))\n", " return max(heads, n-heads)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 106, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["130\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " \n", " result = sum([choice([0,1]) for i in range(n)])\n", " \n", " if result >= n/2.0:\n", " return result\n", " else:\n", " return n - result\n", " \n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 4, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["125\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = simulate_fair_coin_flips(n)\n", " return max(heads, n-heads)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 17, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["130\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " \n", " toss = [choice([0,1]) for i in xrange(n)]\n", " heads = sum(toss)\n", " if heads >= n/2.0:\n", " return heads\n", " else:\n", " return n-heads\n", "\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 23, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["133\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " sample = [choice('HT') for _ in range(n)]\n", " if sample.count('H') > sample.count('T'):\n", " return sample.count('H')\n", " else:\n", " return sample.count('T')\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 10, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["133\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " count = 0\n", " for i in range(0,n):\n", " if choice([0,1]) == 1:\n", " count += 1\n", " if count > n/2:\n", " return count\n", " return n-count\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 20, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["125\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " count_heads = 0\n", " count_tails = 0\n", " for _ in range(n):\n", " if choice('HT') == 'H':\n", " count_heads += 1\n", " else:\n", " count_tails += 1\n", " return max(count_heads, count_tails)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 44, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["(127, 123)\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " sample = [choice('HT') for _ in range(n)]\n", " hist =thinkstats2.Hist(sample)\n", " return hist['H'], hist['T']\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 29, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["139\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " outcomesDict ={\n", " 'heads': 0,\n", " 'tails': 0\n", " }\n", " coinOptions = ['heads', 'tails']\n", " \n", " for i in range(n):\n", " outcomesDict[choice(coinOptions)] += 1\n", " \n", " if (outcomesDict['heads'] > outcomesDict['tails']):\n", " return outcomesDict['heads']\n", " else:\n", " return outcomesDict['tails']\n", " \n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 53, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["125\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " count = simulate_fair_coin_flips(n)\n", " return max(count, abs(n - count))\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 91, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["136\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads= sum(np.random.randint(2, size=n))\n", " return max(heads, n-heads)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 48, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["(124, 126)\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " sample = [choice('HT') for _ in range(n)]\n", " hist = thinkstats2.Hist(sample)\n", " return hist['H'], hist['T']\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 23, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["132\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " res = {\"heads\":0, \"tails\":0}\n", " for i in range(n):\n", " if choice([0,1]) == 0:\n", " res[\"heads\"]+=1\n", " else:\n", " res[\"tails\"]+=1\n", " return max(res.values())\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"execution_count": 68, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["130\n"]}], "source": ["def simulate_fair_coin_flips_two_sided(n):\n", " \"\"\" Return the number of heads or tails, whichever is larger,\n", " that occur in n flips of a fair coin p(heads) = 0.5 \"\"\"\n", " heads = sum([choice((0,1)) for i in range(n)])\n", " return heads if heads > (n-heads) else (n-heads)\n", "\n", "print simulate_fair_coin_flips_two_sided(250)"]}, {"source": ["Using the function `simulate_fair_coin_flips_two_sided`, create and display a CDF of the number of times the most common outcome, heads or tails, appears based on 1000 random trials."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 20, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 20, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["flipDataTwo = []\n", "for i in range(1000):\n", " flipDataTwo.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "cdf2 = thinkstats2.Cdf(flipDataTwo, label='flipdata')\n", "thinkplot.Cdf(cdf2)"]}, {"execution_count": 72, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [], "source": ["headsOrTailsAppears = [];\n", "for i in range(1000): \n", " coinFlipResult = simulate_fair_coin_flips_two_sided(250)\n", " headsOrTailsAppears.append(coinFlipResult)\n", "mostFrequentResultCdf = thinkstats2.Cdf(headsOrTailsAppears)"]}, {"execution_count": 101, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["iters = 1000\n", "flips = 250\n", "totals = [simulate_fair_coin_flips_two_sided(flips) for _ in range(iters)]\n", "\n", "two_side_cdf = thinkstats2.Cdf(totals)\n", "thinkplot.Cdf(two_side_cdf)\n", "thinkplot.show()"]}, {"execution_count": 99, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 99, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["htlist = []\n", "for _ in itertools.repeat(None, 1000):\n", " htlist.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "htcdf = thinkstats2.Cdf(htlist)\n", "thinkplot.Cdf(htcdf)"]}, {"execution_count": 179, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stderr", "text": ["/home/yuzhong/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.py:519: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.\n", " warnings.warn(\"No labelled objects found. \"\n"]}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["two_flips_1000 = [simulate_fair_coin_flips_two_sided(250) for i in range(1000)]\n", "two_cdf = thinkstats2.Cdf(two_flips_1000)\n", "thinkplot.Cdf(two_cdf)\n", "thinkplot.Show()"]}, {"execution_count": 5, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 5, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["top_res = []\n", "for i in xrange(1000):\n", " top_res.append(simulate_fair_coin_flips_two_sided(250))\n", "cdf = thinkstats2.Cdf(top_res)\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 50, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 50, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nqXEGvSQ17v8AazRtnhLVGWQAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["coin_flips = [simulate_fair_coin_flips_two_sided(250) for i in range(1000)]\n", "cdf = thinkstats2.Cdf(coin_flips)\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 40, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 40, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nrkJggg==\n", "text/plain": [""]}, "metadata": {}}], "source": ["flips = [simulate_fair_coin_flips_two_sided(250) for _ in range(1000)]\n", "\n", "cdf1 = thinkstats2.Cdf(flips, label=\"flips\")\n", "thinkplot.Cdf(cdf1)"]}, {"execution_count": 5, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nZiONu5sa5OcxmdlI4JaEmZllOUmYmVmWk4SZmWU5SZiZWZaThJmZZTlJmJlZlpOEmZllOUmYmVmW\nk4SZmWU5SZiZWZaThJmZZTlJmJlZlpOEmZllOUmYmVmWk4SZmWU5SZiZWZaThJmZZTlJmJlZlpOE\nmZllOUmYmVmWk4SZmWWt3uwAmu2Ci2cw9fw/8fzzLzQ7FDOzljPiWxKNJIgxY0ZXFI2ZWWsZ8Umi\nkQRxxMS9KorGzKy1jPjuprI/X3Zqs0MwM2spI74lYWZmeZUnCUnjJc2WdLek4/uYPlHSbennWkmv\nqzomMzOrT6VJQtIo4CxgX2AH4GBJ29UUuxd4e0S8Afgq8KMqYzIzs/pV3ZLYBZgTEfdHxGJgGjCh\nXCAirouIp9LH64BNK47JzMzqVHWS2BSYX/r8AP0ngU8Av6s0IjMzq1vLXN0k6R3A4cAeuTLd3d3L\nhru6uujq6qo8LjOzdtLT00NPT8+wLU8RMWwLW2nh0q5Ad0SMT59PACIiTq8p93rgImB8RNyTWVZU\nEevu+09eNuxLYM2s00giItTo/FV3N80EtpY0TtIawEHApeUCksZSJIhDcwnCzMyao9LupohYIukY\n4EqKhDQ1ImZJmlRMjnOAk4H1gO9JErA4InapMi4zM6tP5eckIuIKYNuacT8sDR8JHFl1HGZmNni+\n49rMzLKcJMzMLMtJwszMspwkzMwsy0nCzMyynCTMzCzLScLMzLJa5tlNw+WCi2c09N5qMzNbWce1\nJBpNEGPGjK4gGjOz9tZxSaLRBHHExL0qiMbMrL11XHdTmZ/qamY2NB3XkjAzs+HjJGFmZllOEmZm\nluUkYWZmWU4SZmaW5SRhZmZZThJmZpblJGFmZllOEmZmluUkYWZmWU4SZmaW5SRhZmZZThJmZpbl\nJGFmZllOEmZmluUkYWZmWU4SZmaW1VZvptt9/8nNDsHMbETp2JbEmDGjmx2CmVnb68gkMWbMaI6Y\nuFezwzAza3tt1d0E8OfLTm12CGZmI0ZHtiTMzGx4OEmYmVmWk4SZmWVVniQkjZc0W9Ldko7PlDlT\n0hxJt0p6Y9UxmZlZfSpNEpJGAWcB+wI7AAdL2q6mzH7AVhGxDTAJ+EGVMbWqnp6eZodQKdevfXVy\n3aDz6zdUVbckdgHmRMT9EbEYmAZMqCkzAfg5QERcD6wraaOK42o5nf6H6vq1r06uG3R+/Yaq6iSx\n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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["holder = []\n", "for i in range(1000):\n", " holder += [simulate_fair_coin_flips_two_sided(250)]\n", " \n", "cdf_holder = thinkstats2.Cdf(holder)\n", "thinkplot.Cdf(cdf_holder)\n", "\n", "thinkplot.Show(title='CDF of Coin Flip Two Sided Times',\n", " xlabel='Number Greater when Flipped',\n", " ylabel='CDF') \n"]}, {"execution_count": 21, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["results = [simulate_fair_coin_flips_two_sided(250) for _ in xrange(1000)]\n", "cdf = thinkstats2.Cdf(results)\n", "\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(\n", " title='Coin Flips',\n", " xlabel='Number of Heads',\n", " ylabel='CDF'\n", ")"]}, {"execution_count": 112, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nOkk9e/asnFdRUaFFixbpnnvu0XHHHaf8/Hzdcsst+uUvfylJOuaYY1RWVqZNmzapTZs2GjZsWJVl\ney27/1u3btXxxx8fOn/x4sUaMGCAJk2apFgspgkTJmjgwIF64YUXKvtMnTpVBQUF6tChg8aMGaMT\nTjhB5513nmKxmK644gp99NFHVZZ56623ql27djrppJP09a9/XRdccIHy8/Mrn3+o/4IFCzRt2jSd\ndtppOuaYY3T33Xfrvffeq3KeZsaMGerQoYPy8vJ03nnnacWKFTW+jy+//LLG93n88ceroqKi2jmh\n+vjiiy/0yiuv6JFHHlF2draOOuooffOb36x37fVdD48++qi++93v6swzz5SZacqUKWrbtq2WLl1a\nraa6fp91bUv1MXXqVJ1wwglq27atrrzyymrrPHF7q2vbPBIICbQKkydP1oIFC/Tkk09WOzn65Zdf\n6uDBg+rTp09lW35+vjZtit/f6t5771VFRYWGDBmiU045RU888US9X7dz587asmVL6PzNmzcrPz+/\nSlvia0tS9+6Hb+uelZVV7fGuXbuqPL9bt2716p/82u3atVPnzp1DX/u4446r9lqHdOnSpcb3uWXL\nFsViMeXk5NT4vNps3LhRubm5ys7OrjavPrXXdz2UlZXpgQceUG5urnJzc5WTk6PPP/9cmzdvrva6\ndf0+69qW6qNHjx6V07Wtc0m67777Gr1tNpdU35kOLVxDbn4SpT59+qhv37566aWX9Pjjj1eZ16VL\nl8q/yAYOHCgp/sHRq1f8durdu3fXvHnzJElLlizRqFGjdO6556pfv351vu6oUaP03HPPadasmoex\n7tmzp5599tkqbRs2bNCYMWMa/B4bqmfPnlXG3Nq9e7e2bt2q3r17N3hZo0aN0m9/+1tdffXVVdoX\nLVqks88+W8cee6zatWunf/zjH5XzysvL9fe//73ycfKXAPLy8rRt2zbt3LmzWlA0Z+15eXmaOXOm\nZsyYUWffkSNHavr06Vq+fLnOOOOMavPr2paS10FtgZOspi9JdOvWrdHbZnNhTwKtxuOPP6433nhD\nWVlZVdpjsZiuvPJKzZw5U7t27VJZWZl+/vOfa8qUKZKkZ555pvIvwU6dOikWiykWi//X6NGjR61f\ngb355pu1c+dOXX311ZWHQjZt2qRbbrlFq1at0kUXXaS1a9dq4cKFKi8v16JFi7R69WpdcsklUayC\n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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["toss_cts = []\n", "\n", "for i in range(1000):\n", " toss_cts.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "cdf = thinkstats2.Cdf(toss_cts, label='Most Common Outcome Counts')\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Show(xlabel='heads', ylabel='CDF')"]}, {"execution_count": 5, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["results = [simulate_fair_coin_flips_two_sided(250) for _ in xrange(1000)]\n", "cdf = thinkstats2.Cdf(results)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(\n", " title='Coin Flips',\n", " xlabel='Number of Most Common Outcome',\n", " ylabel='CDF'\n", ")"]}, {"execution_count": 18, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 18, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["ts_flips = [simulate_fair_coin_flips_two_sided(250) for i in xrange(1000)]\n", "cdf_ts_flips = thinkstats2.Cdf(ts_flips)\n", "thinkplot.Cdf(cdf_ts_flips)"]}, {"execution_count": 24, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 24, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nvSQ17v8BMs5v2zGkggQAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["sample = []\n", "for n in range(1000):\n", " sample.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "sample = thinkstats2.Cdf(sample)\n", "thinkplot.Cdf(sample)"]}, {"execution_count": 11, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 11, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["total = []\n", "for i in range(0,1000):\n", " total.append(simulate_fair_coin_flips_two_sided(240))\n", "cdf = thinkstats2.Cdf(total)\n", "thinkplot.Cdf(cdf)\n", "# your implementation here (imports included for convenience)"]}, {"execution_count": 23, "cell_type": "code", "metadata": {"scrolled": true, "collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["res = []\n", "for _ in range(1000):\n", " res.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "cdf = thinkstats2.Cdf(res)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.show(xlabel='No of Most Common Outcome in 250 coin flips', ylabel='CDF')"]}, {"source": ["I'm not sure if you're asking me to pick either heads or tails, whichever appears in greater number, and then make that CDF or if you want me to compare the CDF of both. So I'm going to do both things"], "cell_type": "markdown", "metadata": {}}, {"execution_count": 30, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["flipResults = []\n", "for i in range(1000):\n", "# The instructions say 240, but everything else says 250, so I'm going with 250\n", " flipResults.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "flipCdf = thinkstats2.Cdf(flipResults, label = 'Coin Flips')\n", "\n", "thinkplot.Cdf(flipCdf)\n", "thinkplot.Show(xlabel = 'Probability of Heads', ylabel='CDF', title='CDF of Two-Sided Coin Flips')"]}, {"execution_count": 54, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 54, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["trials = [simulate_fair_coin_flips_two_sided(250) for i in range(1000)]\n", "cdf = thinkstats2.Cdf(trials)\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 95, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["resultsList = []\n", "\n", "for i in range(10000):\n", " resultsList.append(simulate_fair_coin_flips_two_sided(250))\n", " \n", "\n", " \n", "cdf = thinkstats2.Cdf(resultsList)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Show()"]}, {"execution_count": 49, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\njEUjhzJ/+0YemTim8w/W7bU0GM2dO5cdd9yRxsZGDjvsMN566y0AfvWrX7HzzjvT2NjIpEmTmDdv\nXucxM2bMYPz48YwaNYoddtiB6667rnPb6tWrOfXUU9liiy0YP348N91001rPd+mll9La2sqoUaNo\nbW3lZz/7Wf+80AyXJMxsLV31WqqWQ46qPElgT107e3KPj7n66qu59dZb2XDDDdljjz249NJL2W23\n3fj0pz/NTTfdxHvf+14uv/xyDjzwQB5//HGGDRvG+PHj+f3vf09TUxNXX301RxxxBE899RRNTU3M\nnDmTm2++mQceeICRI0dyyCGHdD7XG2+8wcknn8x9993H+PHjeeGFF3j55Zf78hJ0i0sSZoPY9Tc/\nxpQTruWQo37e+Zc38Z57LcHJJ59MU1MTo0eP5qMf/Shz585l5syZfPazn2XXXXdFEkceeSQbbrgh\nd911FwAf//jHaWpKRpZ/8pOfZLvttuOee+4BkqRzyimnsOWWWzJ69GimTp261vMNGTKEefPm8eab\nb9LU1MTEiRP79wXjkoTZoNZV+8Ng6LXUEx1f9gAjR45k8eLFvPzyy1x22WVceOGFQHLfm7fffpvF\nixcDMHv2bL73ve91TpmxfPlyli5dCsDixYvZZps1911rbm5e6/xXXXUV55xzDscddxyTJk3i3HPP\nZfvtty/6Za7FScJsEKuUIGqt/aE31UNFk8S4ceM444wz1ikFACxcuJATTjiBOXPm8P73vx+AnXfe\nuXP6kbFjx/Lss8927l86d9W+++7Lvvvuy4oVK/j617/O8ccfzx133FHgK1qXq5vMBrGXxgzvbKRe\n8aFWVnyoldaWRlqaR681IZ/lO/7447nooos6q5CWL1/OzTffzPLly1m+fDkNDQ1svvnmrF69mlmz\nZvHQQw91Hjt58mQuuOACFi1axCuvvMKMGTM6t7344ovccMMNvPHGGwwbNoyNN96YIUP6v03IJQmz\nQaR0DMSSCrcIrWYjdS3KG7+wyy678OMf/5iTTjqJJ598khEjRjBp0iT23HNPJk6cyJe//GV23313\nhgwZwlFHHcWkSZM6jz3++ON54okn2HHHHdl000059dRTmTNnDpD0fDrvvPM4+uijkcROO+3ERRdd\n1C+vNctThZsNIqX3e8h2by2dtbW/7+2QTmndb8830ORdP08VbmbdVq4NoqP9wY3UVo7bJMwGqWtn\n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\nMy+TezKZ9T8nCau6ruZlcm8ms+pxdZNVnedlMqtdLklYTfG8TGa1xSUJMzPL5ZKEVZ0n7zOrXS5J\nWNV58j6z2uWShPWr7nZ3BXd5NasFThLWr9zd1ay+OElYv1o0cihLmjdZp3rJ3V3NapOThPWrbPtD\na0vjWtvc/mBWe5wkrDBufzCrf04SVhi3P5jVPycJK4zbH8zqn5OEFcbtD2b1z0nC+oTbH8wGJicJ\n6xMXznmCxWWqlsDtD2b1zEnCeqW05LB4+8bcBNHUOKK/wzOzPuIkYb2yTtVSmiAaGkRL8+jO9a5a\nMqtvThLWK+W6tnb0WnLVktnA4SRhXSrXKJ2d3ru1pZHWKsZnZsVxkrC15CaECo3SWe7aajawOEkM\nYuUSQjl593soHRTn9gezgafwJCFpf+B8khscXRIRM8rscwFwALAcOCYi7i86rsGoO0khW42U1ZEQ\nRm+6blI4ZEJTYTGbWXUVmiQkNQDfB/YGFgP3Sro+IuZn9jkAaI2I7SS9D/gvYPci46qG9vZ22tra\nqhpDpbEMWQ0NYrOShPDSI39kbOv7+MUndio6zELUwvVfH/Ucfz3HDvUf//oquiSxG/BERCwAkHQl\ncBAwP7PPQcBsgIi4W9Kmkpoi4oWCY+tXffVB66oRuaIx686XVK6EUM7r8+cyZcrBvYq5FtT7f/R6\njr+eY4f6j399FZ0ktgKezTx+jiRxVNpnUbpuQCWJUmdcdT/XPb2Uyq0BOVpGrddzl45lKFWuGmna\n/BtdrWQ2CLnhuo8dctTP11n3yMQxLL3zaa6cflsVIlrbUODgbTfjW5+qz2ojM+tfiojiTi7tDkyL\niP3Tx6cDkW28lvRfwJyIuCp9PB/Ys7S6SVJxgZqZDWAR0UVddL6iSxL3AuMlNQPPA4cCh5XscwPw\neeCqNKm8Wq49Yn1epJmZ9U6hSSIiVkk6CbiVNV1gH5V0YrI5ZkbEzZI+JOlJki6wxxYZk5mZdV+h\n1U1mZlbfGqodQDmSTpY0L/37YrquUdKtkh6TdIukTasdZ5akSyS9IOnBzLrcmCVNlfSEpEcl7Ved\nqDtjKRf7JyQ9JGmVpF1K9q+Z2NN4ysX/nTS++yVdI2lUZls9xP/vkh5I479N0taZbTUff2bblyWt\nljQms67m45d0lqTnJP0p/ds/s63m40/XfyGNcZ6kszPrexZ/RNTUH/Bu4EFgQ2AISVVVKzAD+Gq6\nz2nA2dWOtSTuScBOwIOZdWVjBv4fMJekum9b4EnSUl0Nxb49sB3wW2CXzPqJtRR7hfj3ARrS5bOB\n6bV47SuehUVYAAAItUlEQVTEv3Fm+QvAj+op/nT91sCvgT8DY+rs83MW8KUy+9ZL/G3pd+fQ9PHm\nvY2/FksSE4G7I2JFRKwC7gAOAQ4ELkv3uQyoqZFdEfE74JWS1QdRPuYDgSsjYmVEPAM8wbrjR/pN\nudgj4rGIeAIo7TBwEDUUO+TGf1tErE4f3kXyhQU1du0hN/6/Zh5uBLyULtdF/KnvAV8pWVcXn59U\nuc4y9RL/50h+lK5M91maru9x/LWYJB4C/imtqhkJfAjYBugchR0RfwH+rooxdtff5cScN4CwHtRj\n7McBN6fLdRO/pG9JWggcA0xPV9dF/JIOBJ6NiHklm+oi/tRJaXXfjzNVxfUS/7uAf5Z0l6Q5kjpu\n8tLj+GsuSUQyr9MM4Dck/7HnAqvK7dqfcfWReoy5rkn6OvB2RPys2rH0VEScERHjgFkkk2TWBUkj\ngK+RVNnUqx8C74yInYC/AN+tcjw9NRRojIjdga8CV/f2RDWXJAAiYlZE7BoRbcCrwGPAC5KaACS9\nA3ixiiF2V17Mi0hKRx22TtfVg7qJXdIxJCXRKZnVdRN/xhXArulyPcTfSlLf/YCkP5PE+CdJf0cS\n67jMvrUYPxGxJNJKfOBHrKmSqYfrD0lp4VqAiLgXWCVpM3px/WsySUjaIv13HPAxkv8kN5AUuwGO\nBq6vSnCVibXrMfNivgE4VNIGklqA8cA9/RVkjtLYS7d1qMXYoST+tDfKV4ADI2JFZr96iX98ZtvB\nQMf0+TUff0Q8FBHviIh3RkQLyZxtO0fEiyTxf6qW44fOH3UdDiGpBoc6uP6p64APAEh6F7BBRLxE\nb65/NVvlK7TW30HypswF2tJ1Y4DbSEoVtwKjqx1nScxXkEyHvgJYSDIosDEvZmAqSc+CR4H9ajD2\ng0l+jfyNZLT8/9Ri7BXifwJYAPwp/fthncX/C2Be+n/gGpL2rbqJv2T706S9m+olfpKZqR8kSc7X\nkbSJ1lP8Q4Gfpp+hP5JMddSr+D2YzszMctVkdZOZmdUGJwkzM8vlJGFmZrmcJMzMLJeThJmZ5XKS\nMDOzXE4S1qV0qudzMo+/LOnMPjr3LEmH9MW5unieT0h6RNL/FnT+syR9qYhzd/P5x0r6ebp8tKQL\nc/Zb1sPzTu2L+Kx+OUlYd6wADsneE6AWSBrSg90/DXwmIvYuKp5qiojnI2JydlXerj089dd6GZIN\nEE4S1h0rgZnAOr+US0sCHb9UJe0pqV3SdZKelHS2pCMk3ZPeTKclc5p9Jd0rab6kD6fHNyi5cdDd\n6Uycx2fOe4ek64GHy8RzmKQH07/p6bp/I5lz/xJJM8occ2oa1/2Szsqs/2Ua1zxJn8ms31/Sfen+\nv8mc6t3pjJtPSvpCuQspaZmk85Tc0Ok36Xw6SNpJ0h+05iZJm6brvyjp4XT9FZlrMFfJzXDuk7SR\npGZJ2RlXx6WxPJZX6st73Znt04ER6fP8NF33pfR6PCjp5HTdSEm/SmN6UNIn0/Vnp6/zfknfKReD\n1YFqDyn3X+3/Aa8DG5PcPGYT4MvAmem2WcAh2X3Tf/cEXiaZHn0DkknEpqXbvgiclzn+5nR5PMlU\nIBsAxwNfS9dvANwLNKfnXQaMKxPnWJKpOMaQ/AD6X5K5mwDmkMwfVHrMvsDF6bKAG4FJ6ePR6b/D\nSaY3aAQ2J5n6YFzJPmcBvyOZDmEzYCkwpMzzrQYOTZf/DbggXX4g87zfyFyfRcCwdHlU+u8NwPvT\n5ZHpa20mvekMyTxhi4DRmdh3KXl/cl936XufWd4ljXM4yT0uHgJ2JJnb6OLMfpuk78H8zLpR1f4c\n+693fy5JWLdEchOcy4CTe3DYvRHxYkS8RTJXzC3p+nkks4R2+Hn6HE8CTwETgP2AoyTNBe4m+dLZ\nLt3/nohYWOb5/gGYExEvR3LDof8G/jmzvdwEhvuRlGQ65njquCMfwCmS7mfNTYu2A3YHbu94/oh4\nNXOumyK5mctLwAtAU5nnW9XxeoHLgUlKbq26aSQ3j4HkOnfE/QBwhaTDWTNl/u+B76WllcZYc3Ol\nrN9ExKsR8SbJbKCTevC680wCfhkRb0bE8vS8/0Tyfu4rabqkSRGxDHgN+JuSezF8jGQOMKtDThLW\nE/9JUre/UWbdStLPkSSR/OrvkJ19dXXm8WqSX9wdsvXkSh8L+EJE7Jz+tUbEbek+yyvEmDeTbaX9\np0fELunzvCsiZknak2QWzfdFck+B+0l+QVd6jtLXOzRnv6yO1553zg8D3yf5FX+vpIaImEHyPowA\nfp/O8pl33rzHZV93mfN0eT0juYPhLiTJ4luSzojkrpK7kUxU+BGS25haHXKSsO7omAL6FZJfwZ/O\nbHuGNfc6OAgY1ovzf1KJVqCFZNbcW4B/kTQUQNJ2Su5UWMk9JHfjGpM2ah8GtHdxzC3AcZI2Sp9n\nSyVT1W8KvBIRKyRNIClBQFKq+CdJzen+jT18rUOAT6TLhwO/i4jXgZcl/WO6/kjg9nR5XETcDpwO\njAI2lvTOiHg4Ir5DUg03Id03+4W+r6TRSm4AdDBJVVh2n7zXXeotrekgcCdwsKTh6XEfA+6UNBb4\nW0RcAZwD7JK+V6Mj4tckbVnv6dllslrRnV86Ztlfod8FPp9Z9yPg+rRa6Bbyf+VX6lWzkOQLfhPg\nxIh4S9KPSaqk/pSWUF6ki/uaR8RfJJ3OmsTwq4j4VaXnj4jfpEngD8nTsAw4guSX72clPUyStP6Q\n7r9U0gnALzNxfbAHr3c5sFvamP4C8Kl0/dHAxemX+tPAsWmCvDytjhLwnxHxupLbmu5FUv30MPA/\nwJYlz3kPSXXQVsBPI2JuNq4Kr3tJSbwzgXmS7ouIIyVdRpKYApgZEQ9I2g84R9Jq4C2S+yuPIvlc\ndJS+/jXneliN81ThZv1I0rKI2KTacZh1l6ubzPqXf5VZXXFJwszMcrkkYWZmuZwkzMwsl5OEmZnl\ncpIwM7NcThJmZpbLScLMzHL9f1oGhtOt323MAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["results = [simulate_fair_coin_flips_two_sided(250) for _ in range(1000)]\n", "head, tail = zip(*twoSidedResults)\n", "\n", "cdfTwoHeads = thinkstats2.Cdf(head, label = 'heads')\n", "cdfTwoTails = thinkstats2.Cdf(tail, label = 'tails')\n", "\n", "thinkplot.PrePlot(2)\n", "thinkplot.Cdfs([cdfTwoHeads, cdfTwoTails])\n", "thinkplot.Config(title ='Number of occurences in a coin toss')\n", "thinkplot.Show(xlabel = 'Number of each possible toss', ylabel ='CDF')"]}, {"execution_count": 24, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["counts = []\n", "for i in range(1000):\n", " counts.append(simulate_fair_coin_flips_two_sided(250))\n", "\n", "cdf = thinkstats2.Cdf(counts)\n", "thinkplot.Cdf(cdf, label='counts')\n", "thinkplot.Show(loc='lower right')"]}, {"execution_count": 69, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\ngg==\n", "text/plain": [""]}, "metadata": {}}], "source": ["def coin_flips_trials_two_sided(n, m):\n", " head_num_trials = []\n", " for i in range(n):\n", " head_num_trials.append(simulate_fair_coin_flips_two_sided(m))\n", " hist = thinkstats2.Hist(head_num_trials)\n", " thinkplot.Hist(hist)\n", " return head_num_trials\n", "\n", "trials_two_sided = coin_flips_trials(1000, 250)"]}, {"source": ["Use the CDF to compute a two-tailed (or two-sided) p-value for the observed data (140 heads out of 250 flips)."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 24, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["lower\n", "94.9\n", "higher\n", "5.1\n"]}], "source": ["percentile = cdf2.PercentileRank(140)\n", "print \"lower\"\n", "print percentile\n", "print \"higher\"\n", "print 100 - percentile"]}, {"execution_count": 70, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Percentile rank for percentage of data that is equal to or less than for a two tailed test 97.1\n", "Pvalue for percentage of data that is equal to or greater than for a two tailed test 2.9\n"]}], "source": ["pvalue_of_equal_to_or_less_than_2tailed = mostFrequentResultCdf.PercentileRank(140)\n", "print \"Percentile rank for percentage of data that is equal to or less than for a two tailed test\", pvalue_of_equal_to_or_less_than\n", "pvalue_of_equal_to_or_greater_than_2tailed = 100 - pvalue_of_equal_to_or_less_than\n", "print \"Pvalue for percentage of data that is equal to or greater than for a two tailed test\", pvalue_of_equal_to_or_greater_than"]}, {"execution_count": 105, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["pvalue two sided: 5.40\n"]}], "source": ["pvalue_two_side = 100 - two_side_cdf.PercentileRank(observed - 1)\n", "print 'pvalue two sided: %.2f' % pvalue_two_side"]}, {"execution_count": 100, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p value is 0.052 (two tailed)\n"]}], "source": ["p2 = 1 - 0.01*(stats.percentileofscore(np.array(htlist), 140))\n", "print 'p value is', p2 ,'(two tailed)'"]}, {"execution_count": 177, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["two sided p-value for 140 heads out of 250 coins: 5.4\n"]}], "source": ["two_rank = two_cdf.PercentileRank(140)\n", "two_p_value = 100 - two_rank\n", "print \"two sided p-value for 140 heads out of 250 coins: \", two_p_value"]}, {"execution_count": 6, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 4.4%\n"]}], "source": ["print \"p-value:\", str(100-cdf.PercentileRank(140))+\"%\""]}, {"execution_count": 51, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value of data that 140/250 flips are heads\n", "4.1%\n"]}], "source": ["print \"P-value of data that 140/250 flips are heads\"\n", "print str(100 - cdf.PercentileRank(140)) + \"%\""]}, {"execution_count": 41, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["5.4\n"]}], "source": ["pvalue = 100 - cdf1.PercentileRank(140)\n", "print pvalue"]}, {"execution_count": 6, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["7.5 %\n"]}], "source": ["p_val = 100 - cdf_holder.PercentileRank(139)\n", "print p_val, '%'"]}, {"execution_count": 22, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 22, "metadata": {}, "data": {"text/plain": ["0.062000000000000055"]}, "output_type": "execute_result"}], "source": ["1 - cdf[139]"]}, {"execution_count": 115, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Pvalue: 6.2 %\n"]}], "source": ["pvalue = 100 - cdf.PercentileRank(139)\n", "\n", "print \"Pvalue: \", pvalue, \"%\""]}, {"execution_count": 19, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Two-sided p_value: 6.3 %\n"]}], "source": ["ts_p_value = 100 - cdf_ts_flips.PercentileRank(139)\n", "print 'Two-sided p_value: ', ts_p_value, '%'"]}, {"execution_count": 25, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["6.7\n"]}], "source": ["p_val = 100 - sample.PercentileRank(139)\n", "print p_val"]}, {"execution_count": 12, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value: 0.009\n"]}], "source": ["p_value = (100 - cdf.PercentileRank(139))/100\n", "print 'P-value: ', p_value"]}, {"execution_count": 24, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 5.8\n"]}], "source": ["print \"p-value:\", float(format(100 - cdf.PercentileRank(139), '.2f'))"]}, {"execution_count": 64, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value using CDF: 0.029\n", "P-value using the results of 1000 random trials directly: 0.029\n"]}], "source": ["percRank = cdfTwoHeads.PercentileRank(139)\n", "pVal = 1 - percRank/100\n", "print \"P-value using CDF: \",pVal\n", "\n", "count = sum(1.0 for x in head if x>= 140.0)\n", "print \"P-value using the results of 1000 random trials directly: \",count/1000"]}, {"execution_count": 31, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["The p-value is 0.038\n"]}], "source": ["percentileRank = flipCdf.PercentileRank(140)\n", "pValue = 1 - float(percentileRank)/100\n", "print \"The p-value is \", pValue"]}, {"execution_count": 55, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Two-sided p-value:\n", "4.7%\n"]}], "source": ["print \"Two-sided p-value:\"\n", "print str(100 - cdf.PercentileRank(140)) + \"%\""]}, {"execution_count": 101, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 101, "metadata": {}, "data": {"text/plain": ["0.0"]}, "output_type": "execute_result"}], "source": ["1-cdf[139]"]}, {"execution_count": 25, "cell_type": "code", "metadata": {"scrolled": true, "collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 0.071\n"]}], "source": ["print \"p-value:\", 1 - cdf.PercentileRank(139)/100\n", "# 139 because we want to include 140 in our counts"]}, {"execution_count": 70, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["2.0%\n"]}], "source": ["trials_two_sidedCDF = thinkstats2.Cdf(trials)\n", "print str(100.0 - trials_two_sidedCDF.PercentileRank(140)) + \"%\""]}, {"source": ["This approach (via simulations of the null-hypothesis) to computing p-values has its limitations. For instance, suppose you observed 180 heads in 250 flips. If you used your CDF from above to answer this question, what would go wrong? What would you need to do in order to get a sensible estimate of this p-value?"], "cell_type": "markdown", "metadata": {}}, {"source": ["## Response\n", "What went wrong when I tried to get the p-value of 180 was that it was higher than or equal to all other entries. I would likely need to run many more trials in order to widen the birth of possibilities my model can account for. As it stands, some outcomes are so unlikely that they are never reached with just 1000 trials."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 119, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Pvalue: 0.0 %\n"]}], "source": ["pvalue = 100 - cdf.PercentileRank(179)\n", "\n", "print \"Pvalue: \", pvalue, \"%\""]}, {"source": ["There were no coin flips that resulted in 180 heads. (Odds are that) We'd have to run orders of magnitude more trials until we actually generated a trial that resulted in 180 heads."], "cell_type": "markdown", "metadata": {}}, {"source": ["In the two-tailed approach, the coin could be biased toward either heads or tails. The data used to make the CDF could have been all cases where the coin came up tails more often, so comparing an observation of 180 heads to this would just be plain wrong. It seems like the one-tailed approach would be better for this case where you're specifically testing if the coin is baised in one direction."], "cell_type": "markdown", "metadata": {}}, {"source": ["Well, the data would be an outlier in the set, thus leading to a strange representation. In order to get a better sense of the p-value, it may be better to do a single-sided p-value. Further, it may be better to avoid using a p-value altogether, given that for certain values it does not necessarily lend useful information about the coin."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 76, "cell_type": "code", "metadata": {"collapsed": true}, "outputs": [], "source": ["for element in headsOrTailsAppears: \n", " if element > 179: \n", " print element"]}, {"source": ["Using the same cdf, if we compute the percentile rank of 180, we get 100% which means that our calculation of the p-value would be 0. The reason is because in our 1000 trials, we don't have any trials where the most common outcome exceeds 155. You would need to increase the number of trials in order to get a percentile rank of 180 that might not be 100% because you need trials where you actually flipped heads 180 times out of the 250."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 257, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p value is 0.0 (two tailed)\n"]}], "source": ["p3 = 1 - 0.01*(stats.percentileofscore(np.array(htlist), 180))\n", "print 'p value is', p3 ,'(two tailed)'"]}, {"source": ["The CDF from above doesn't actually include 180 as a viable option, so it would theoretically have a percentile rank over 100% and a negative p-value. I would need to get either a cdf that represents 180 or a conditional that cuts off at 100% to get a p-value representative of 0 to show the many heads are plausibly explained by more than chance. "], "cell_type": "markdown", "metadata": {}}, {"source": ["The odds of getting 180 heads out of 250 flips are far lower than 1 in 1000, so the p-value of this would be calculated as exactly 0 percent. In order to get a more sensible estimate of the p-value, the simulation would have to be run way more than 1000 times, or a continuous mathematical model, like a Gaussian, can be used."], "cell_type": "markdown", "metadata": {}}, {"source": ["It would likely say the odds were 0 which is wrong (well for all intents and purposes it's fine). You would need to increase the number of iterations sufficiently so that it is likely at least some of them had 180 or more heads. This is problematic since that would require in excess of ~10^13 trials. "], "cell_type": "markdown", "metadata": {}}, {"source": ["180/250 is too unlikely to occur in 1000 tests, we can see from the cdf we did above that 180 will be a 0%. To get a sensible estimate the size would need to dramatically increase."], "cell_type": "markdown", "metadata": {}}, {"source": ["You would get a p-value of 0.0, because within our 1000 trials, we never saw 180 heads, so the CDF would calculate its p-value as there is nothing at or above 180, so the p-value is 0. A p-value of 0 intuitive suggests that this result is impossible. You'd need more trials to actually see its real probability"], "cell_type": "markdown", "metadata": {}}, {"source": ["In this two-tailed approach, the coin could theoretically be biased in either direction. The flips used to create it could be all heads, and you might assume that a tails value of 180 is normal, when in reality it might not be normal at all."], "cell_type": "markdown", "metadata": {}}, {"source": ["180 heads in 250 flips does not occur in the random trials. Many many more trials would have to be run and even then fitting a curve to the data to account for values that did not show up in the trials would be the best fit. I know seaborn does a KDE fit to histograms, so that would probably be one way of getting a sensible estimate of the value."], "cell_type": "markdown", "metadata": {}}, {"source": ["Write a function that takes as input a data frame and computes the absolute value of the difference in mean age between men and women."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 102, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["import numpy as np\n", "def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " man = []\n", " woman = []\n", "# print data.Age\n", "# newData = pd.Series([data[\"Age\"], data[\"Sex\"]])\n", "# print newData[\"Age\"]\n", " \n", "# data.loc[data[\"Sex\"] == \"male\", \"Sex\"] = data[\"Age\"]\n", "# data.loc[data[\"Sex\"] == \"female\", \"Sex\"] = data[\"Age\"]\n", "# print data[\"Sex\"]\n", "# print data.iterrows()\n", " \n", " for index, row in data.iterrows():\n", " if row.Sex == \"male\":\n", " man.append(row.Age)\n", " else:\n", " woman.append(row.Age)\n", "\n", "# print man\n", "# for x in range(len(data.Age)):\n", "# # print x\n", " \n", "# if data.Sex[x] == \"male\":\n", "# man.append(data.Age[x])\n", "# else:\n", "# woman.append(data.Age[x])\n", " return abs(np.mean(man)-np.mean(woman))\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 87, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " men = data[data.Sex == 'male']\n", " women = data[data.Sex == 'female']\n", " return abs(men.Age.mean() - women.Age.mean())\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 22, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " men = data[data.Sex == 'male']\n", " women = data[data.Sex == 'female']\n", " \n", " mean_men_age = men.Age.mean()\n", " mean_women_age = women.Age.mean()\n", " return abs(mean_men_age - mean_women_age)\n", "\n", " \n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 240, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " agem = []\n", " agef = []\n", " for i in data.index:\n", " if data.Sex[i] == 'male':\n", " agem.append(data.Age[i])\n", " elif data.Sex[i] == 'female':\n", " agef.append(data.Age[i])\n", " else:\n", " print 'unknown Sex'\n", " continue\n", " diff = abs(np.mean(agem)-np.mean(agef))\n", " \n", " return diff\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 184, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " gender = data.groupby('Sex')\n", " a, b = gender.Age.mean()\n", " return abs(a-b)\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 8, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " return abs(data[data[\"Sex\"]=='male'][\"Age\"].mean()-data[data[\"Sex\"]=='female'][\"Age\"].mean())\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 57, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " m_age = data[data.Sex == \"male\"].Age.mean() \n", " f_age = data[data.Sex == \"female\"].Age.mean()\n", " return abs(m_age - f_age)\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 20, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["import numpy as np\n", "\n", "def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " men = []\n", " women = []\n", " \n", " for index, row in data.iterrows():\n", " if row.Sex == \"male\":\n", " men.append(row.Age)\n", " else:\n", " women.append(row.Age)\n", " \n", " return abs(np.mean(women)-np.mean(men))\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 8, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " gender_groupby = data.groupby('Sex')\n", " a, b = gender_groupby.Age.mean()\n", " return abs(a-b)\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 30, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " return abs(data[data.Sex == 'male'].Age.mean() - data[data.Sex == 'female'].Age.mean())\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 151, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["male age av: 30.7266445916\n", "female age av: 27.9157088123\n", "observed age difference 2.81093577935\n"]}], "source": ["import math\n", "\n", "def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " \n", " male_age= data[data.Sex == 'male'].Age.mean()\n", " female_age= data[data.Sex == 'female'].Age.mean()\n", " print \"male age av: \", male_age\n", " print \"female age av: \", female_age\n", " \n", " return abs(male_age-female_age)\n", "\n", " \n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 21, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " \n", " grouped = data.groupby('Sex')\n", " female, male = grouped.Age.mean()\n", " return abs(female-male)\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 134, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " womean = data.Age[data['Sex'] == 'female'].mean()\n", " mean = data.Age[data['Sex'] == 'male'].mean()\n", " return abs(mean-womean)\n", "\n", "observed_age_diff = compute_age_diff(data_titanic)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 30, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " men = data[data.Sex == \"male\"]\n", " women = data[data.Sex == \"female\"]\n", " return men.Age.mean() - women.Age.mean()\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 26, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " men_only = data[data.Sex == 'male']\n", " women_only = data[data.Sex == 'female']\n", " return abs(men_only.Age.mean() - women_only.Age.mean())\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 104, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " fem = data[data.Sex == 'female']\n", " mal = data[data.Sex == 'male']\n", " ageDiff = abs(fem.Age.mean()-mal.Age.mean())\n", " return ageDiff\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 37, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " return (\n", " abs(data[data.Sex == 'male']['Age'].mean() - \n", " data[data.Sex == 'female']['Age'].mean()))\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 161, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " return abs(data[data.Sex == \"male\"].Age.mean() - data[data.Sex == \"female\"].Age.mean())\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 108, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " return np.mean(data[data['Sex'] == 'male'].Age) - np.mean(data[data['Sex'] == 'female'].Age)\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 51, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " male = data[data.Sex == 'male']\n", " female = data[data.Sex == 'female']\n", " ageDiff = abs(female.Age.mean() - male.Age.mean())\n", " return ageDiff\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 31, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " men = data.Age[data.Sex==\"male\"]\n", " women = data.Age[data.Sex==\"female\"]\n", " return abs(women.mean() - men.mean())\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"execution_count": 72, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["observed age difference 2.81093577935\n"]}], "source": ["def compute_age_diff(data):\n", " \"\"\" Compute the absolute value of the difference in mean age\n", " between men and women on the titanic \"\"\"\n", " male = data['Age'][data['Sex'] == 'male'].mean()\n", " female = data['Age'][data['Sex'] == 'female'].mean()\n", " return abs(male-female)\n", "\n", "observed_age_diff = compute_age_diff(data)\n", "print \"observed age difference\", observed_age_diff"]}, {"source": ["Write a function called `shuffle_ages` that returns a copy of the original data frame but where the Ages have been randomly permuted.\n", "\n", "Hint: there are lots of ways to do this, but `numpy.random.permutation` seems to be an especially succint choice. Make sure to try this function out on a small, hand-made Pandas series to get the idea of how it works."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 105, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 105, "metadata": {}, "data": {"text/plain": ["1.0720918017812302"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " \n", " data2 = data\n", " data2[\"Age\"] = permutation(data[\"Age\"])\n", "# print data[\"random\"]\n", " return data2\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 112, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 112, "metadata": {}, "data": {"text/plain": ["0.15471898708482357"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " permutedAges = permutation(data.Age)\n", " data_new = data\n", "# print data_new.head()\n", " data_new[\"Age\"] = permutedAges\n", " return data_new\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 28, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 28, "metadata": {}, "data": {"text/plain": ["2.2638128948770664"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " df = data.copy()\n", " df.Age = np.random.permutation(df.Age)\n", " return df\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 245, "cell_type": "code", "metadata": {"scrolled": true, "collapsed": false}, "outputs": [{"execution_count": 245, "metadata": {}, "data": {"text/plain": ["2.0298046230747779"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " age = []\n", " for index in data.index:\n", " age.append(data.Age[index])\n", " permuted_age = np.random.permutation(age).tolist()\n", " data.Age = permuted_age\n", " return data\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 191, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 191, "metadata": {}, "data": {"text/plain": ["0.40177133287660993"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " data_copy = data.copy()\n", " data_copy.Age = permutation(data_copy.Age)\n", " return data_copy\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 9, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 9, "metadata": {}, "data": {"text/plain": ["0.018900053284614415"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " res = data.copy()\n", " res[\"Age\"] = permutation(res[\"Age\"])\n", " return res\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 28, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 28, "metadata": {}, "data": {"text/plain": ["1.2728859962954502"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " data2 = data\n", " data2.Age = permutation(data.Age)\n", " return data2\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 9, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 9, "metadata": {}, "data": {"text/plain": ["0.62823095074978852"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " data2 = data.copy()\n", " shuffle_age = permutation(data.Age.tolist())\n", " data2.Age = shuffle_age\n", " return data2\n", " \n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 144, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 144, "metadata": {}, "data": {"text/plain": ["0.08569409555707708"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " \n", " shuffled = data.copy()\n", " shuffled_ages = permutation(shuffled.Age)\n", " shuffled.Age = shuffled_ages\n", " \n", " return shuffled\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 9, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 9, "metadata": {}, "data": {"text/plain": ["0.31173098881023265"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " new_data = data.copy()\n", " new_data.Age = permutation(new_data.Age.values)\n", " return new_data\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 22, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 22, "metadata": {}, "data": {"text/plain": ["0.65757656491842553"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " \n", " shuffle = data.copy()\n", " new_ages = permutation(data.Age.tolist())\n", " shuffle.Age = new_ages\n", " \n", " return shuffle\n", " \n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 135, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["0.371210829464\n"]}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " newframe = data.copy()\n", " newframe.Age = permutation(newframe.Age)\n", " return newframe\n", "\n", "random_age_diff = compute_age_diff(shuffle_ages(data_titanic))\n", "\n", "print random_age_diff"]}, {"execution_count": 35, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 35, "metadata": {}, "data": {"text/plain": ["0.9292677171348096"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " \n", " newdata = data.copy()\n", " newage = permutation(data.Age.tolist())\n", " newdata.Age = newage\n", " return newdata\n", " \n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 27, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 27, "metadata": {}, "data": {"text/plain": ["2.649336479663038"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " res = data\n", " res.Age = permutation(res.Age).astype(int)\n", " return res\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 103, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 103, "metadata": {}, "data": {"text/plain": ["1.9901857349470973"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " shuffled_data = data.copy()\n", " shuffled_data.Age = permutation(shuffled_data.Age)\n", " return shuffled_data\n", " \n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 68, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 68, "metadata": {}, "data": {"text/plain": ["0.12766105909517478"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " shuffledAges = data.copy()\n", " shuffledAges['Age'] = permutation(shuffledAges['Age'])\n", " return shuffledAges\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 173, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 173, "metadata": {}, "data": {"text/plain": ["0.6840909898251759"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " df = data.copy()\n", " df = df.apply(permutation)\n", " return df\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 169, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 169, "metadata": {}, "data": {"text/plain": ["0.2272429017279407"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " dataCopy = data.copy(deep=True)\n", " dataCopy.Age = (np.random.permutation(data.Age))\n", " return dataCopy\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 52, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 52, "metadata": {}, "data": {"text/plain": ["0.70081525462434513"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " new_data = data.copy()\n", " new_data.Age = permutation(data.Age.values)\n", " return new_data\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 45, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 45, "metadata": {}, "data": {"text/plain": ["0.5950168734617236"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " ages_shuff = np.random.permutation(data.Age)\n", " data_copy = data\n", " data_copy.Age = ages_shuff\n", " return data_copy\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"execution_count": 73, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 73, "metadata": {}, "data": {"text/plain": ["0.47985105681154749"]}, "output_type": "execute_result"}], "source": ["from numpy.random import permutation\n", "import numpy as np\n", "\n", "def shuffle_ages(data):\n", " \"\"\" Return a new dataframe (don't modify the original) where\n", " the values in the Age column have been randomly permuted. \"\"\"\n", " d = data\n", " ages = data['Age'].values\n", " np.random.shuffle(ages)\n", " d['Age'] = ages\n", " return d\n", "\n", "compute_age_diff(shuffle_ages(data))"]}, {"source": ["Using 1000 random simulations, compute the p-value for the hypothesis that the mean ages of men and women were different (you may wish to use Cdf as in the previous section)."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 107, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["63.7\n"]}, {"output_type": "display_data", "data": {"image/png": "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\nT0TkYv8HhGbzWMGJKJsAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["randAge = []\n", "for i in range(1000):\n", " randAge.append(compute_age_diff(shuffle_ages(data)))\n", "\n", "cdf3 = thinkstats2.Cdf(randAge, label='Random_Age')\n", "thinkplot.Cdf(cdf3)\n", "\n", "print cdf3.PercentileRank(1)\n", "#Just in case this makes no sense, I did this because in the event that randomly changing around ages doesn't make\n", "#things come out to be 0 on average, then there must be some bias on either the male or female side.\n"]}, {"execution_count": 113, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [], "source": ["diffAges = [];\n", "for i in range(1000): \n", " meandiff = compute_age_diff(shuffle_ages(data))\n", " diffAges.append(meandiff)\n", "meanDiffAgesCdf = thinkstats2.Cdf(diffAges)"]}, {"execution_count": 75, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["def shuffled_age_diff(data):\n", " return compute_age_diff(shuffle_ages(data))\n", " \n", "iters = 1000 \n", "age_diffs = [shuffled_age_diff(data) for _ in range(iters)]\n", "\n", "age_cdf = thinkstats2.Cdf(age_diffs)\n", "\n", "x = observed_age_diff\n", "y = age_cdf.PercentileRank(x) / 100\n", "\n", "thinkplot.Cdf(age_cdf)\n", "plt.axvline(x, 0, y, color='red')\n", "plt.axhline(y, 0, x/4.0, color='red')\n", "plt.plot(x, y, '.', color='green', markersize=30)\n", "plt.xlim((0, 4.0))\n", "thinkplot.show()"]}, {"execution_count": 248, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p value is 0.074\n"]}, {"output_type": "display_data", "data": {"image/png": "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\nSUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}}], "source": ["agelist = []\n", "for _ in itertools.repeat(None, 1000):\n", " agelist.append(compute_age_diff(shuffle_ages(data)))\n", "\n", "#plotting cdf\n", "agecdf = thinkstats2.Cdf(agelist)\n", "thinkplot.Cdf(agecdf)\n", "\n", "#Computing p-value for pbserved data 2 years of difference\n", "page = 1 - 0.01*(stats.percentileofscore(np.array(agelist), 2))\n", "print 'p value is', page"]}, {"execution_count": 196, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["age_diffs = [compute_age_diff(shuffle_ages(data)) for i in range(1000)]\n", "age_diff_cdf = thinkstats2.Cdf(age_diffs)\n", "thinkplot.Cdf(age_diff_cdf)\n", "thinkplot.Show()"]}, {"execution_count": 10, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 0.8%\n"]}], "source": ["diff_arr = []\n", "for i in xrange(1000):\n", " diff_arr.append(compute_age_diff(shuffle_ages(data)))\n", "cdf = thinkstats2.Cdf(diff_arr)\n", "print \"p-value:\", str(100-cdf.PercentileRank(compute_age_diff(data)))+\"%\""]}, {"execution_count": 64, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["0.9%\n"]}, {"output_type": "display_data", "data": {"image/png": "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\n5GP/D3CFnknsRi1BAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["\n", "trials = [compute_age_diff(shuffle_ages(data)) for _ in range(1000)]\n", "cdf = thinkstats2.Cdf(trials)\n", "thinkplot.Cdf(cdf)\n", "\n", "print str(100 - cdf.PercentileRank(2.81093577935)) + \"%\""]}, {"execution_count": 44, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 44, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\nTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["ages = [compute_age_diff(shuffle_ages(data)) for _ in range(1000)]\n", "\n", "cdf2 = thinkstats2.Cdf(ages, label=\"age diff\")\n", "thinkplot.Cdf(cdf2)"]}, {"execution_count": 10, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEZCAYAAACNebLAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecFdX5x/HPsxRBKRYCRhDsYsXEBAsqq0bBWFBjAxVb\nFAvRxIYi6kqw/ZRYgmhUNCoqFkSxEDXKRiGiYjeCWJBuQQUEpO75/TFnYW7bvbvc2bnl+3697mvn\nnDl35rnn3p1n+phzDhERkWRlcQcgIiL5SQlCRETSUoIQEZG0lCBERCQtJQgREUlLCUJERNJSgihy\nZjbEzL4zs7lxx5LMzKab2QF++HIzuzs07igzm2lmi8ysi5ltZ2bvmdlCM+sfX9SSTj7/zmpiZp3M\nrMrMtCxMQ50SATPrY2Zvm9lPZjbHzJ43s739uKvNbIVf0C00s6lm9ncz2zT0/u5mttovHKtfz9Qj\njs2BC4HOzrnNami3hZ/fHfX5vLngnLveOXdWqOom4FznXCvn3AfApcCrzrnWzrlh8USZG2Z2ql8o\nHRt3LLmQ7e8sj+lisAyUIHLMzC4E/gYMAdoCHYE7gCNCzUY551oDGwNHAZsC75hZu1CbOX7hWP3q\nVY9wOgHznXPf19KuL/ADcLyZNanHfKLQCfgkqfy/+kzIzBrlJKLc6Qt87/9Gwswsqmmnke3vLEUe\nfjdZK+TYs+ac0ytHL6AV8BNwdA1trgYeTKorA94H/s+XuwMz6zDPB4FvgenAFb7+QGApsApYBNxX\nwzQ+B/oB85JjBw4GpgI/EiS6SuD00PjTCRbk3wPjgI41zOdk4CvgO2Cgj/eAcL8ATX0frvZ/PwNe\n8Z/jZ/9ZtvHtbgZm+LiHA+uF+m8WwVbHPOABX38Y8J7/LBOAXUKxTQcuAj7w4x8FmobG9/LvXehj\nOjjU//cCc/08/wpYDX3QyX+Wo4CVQNvQuE+A34fKjfz3upsv7wlM9PG9B3QPtR1PsFIyAVgCbAWc\n6qe5yH/HZyXFcqmPezZwBlAFbOXHZezfpGmk/Z0RrBB9TLDi8SrB1kW4ry/1ff0zUJZmuvX+3fnP\n0Q+Y5uc/LOl/7WaC3+DnwLkEv7Wy2r5P4BTfv38D5gOD417mRP2KPYBiegE9gBXpfvChNikJwtdf\nA7zhh+uSIB4ExgDr+4XPp8Bp2U4H2Nf/k7YGbgeeCY3bhGCB2Mv/Y50PLK/+R/X104Dt/PiBwMQM\n89mRYIHfDWgCDPV9dUC6fvH/5FuGyuOTFhC3AE/7uDcAngGuDX3ulcB1fl7rAb8CvgF+AxhBspoO\nNPHvmQ5MAtoBG/qFz1l+XFdgQSjWXwLb+eExBAvPZkAbP40za+jvK4FJfvhD4C+hcYOAkaHyocD/\n/HB7v1Dq4csH+vImof75Cujsv4vGwCHAFqHveQlrk01PgoVgZx/7QwQLyq1q6980nynhd+Z/D4uB\nAwiS3CUESbVxqK/fBTYjfdJZp9+d/+2MBVoCmxMk2eqEfrb/bjfz3/OrJCaIjN8nQYJYSZBUytLF\nXmyv2AMophfQB5hbS5tMCaIf8Kkf7u5/tD8QrEH9AByT5j1l/h9n+1DdWQT76lP+cTPEcw8w2g/v\n6afXxpdPJmmBD8wM/aO+gE9GoXiWAJunmc+VwCOh8vp+XjUliK1C5eQEsZjEBLIX8GXocy/DL/x9\n3XDgmqSYpgL7+uHpQO/QuBuB4X74LmBoms/U1s9nvVDdCdX9n6G/pwF/8sOXAe+Fxm1NsBbezJdH\nAoP88KX4LaFQ+38BJ4f6p6KW73pMaN4jCC3w/bzDWxAZ+zfNdJMTxCCC3ajVZSPYStkv1Nen1BDn\nOv3u/OfYKzT+MeBSP/wKoS0p4CB8giBYOcj4fRIkiK9q6uNie+kYRG59D7Sp5xkR7QkSQbU5zrmN\nnXMb+b9PpnlPG4I1xZmhuhl+WrUys2bAscAjAM65SQSb1X18k818OWx2aLgTcJuZ/WBmPxB8fpdh\n/gnTcs4t9e3rzMx+QZBg3gnNexzBmme175xzK5Nivai6vZn9CHTwcVX7JjS8FGjhhzcHvkgTSieC\nLZR5oWneRfC9pIu7G7AlwQILgt1Yu5rZrgDOuS8I1m4PN7PmBLtpHg7N67ik+LsRHL+qlvBdmdkh\nZvaGmX3v2x8Sii35u50Vel82/VuTzQh+h/jP5fz0w7+L2clvSnr/uv7uMn2XydOeERruSO3fZ3Jc\nRa1x3AEUmTcI1oqPBJ7K9k3+gOLhwEt1nN98gk3eTgRrw/jhOVm+/yiCfa7Dzaz6zKDWBGtKtxPs\nez4i6T0dQsOzgCHOuUezmNc8gt0ZAJjZ+mS/wEk2n+Cffifn3LwMbVxSeRbBGvP19ZjfLII17HT1\nywh28yTPL51T/N/3QweRna+/yJdHESToRgS7l6aH5vWgc65fDdNfE4OZNQWeBE4i2G1YZWZjCNbm\nIfg+wt9lx9BwNv1bk7nAzkl1m5O4kK+pv3L5u0s37c1D5U5J063t+8zmey4a2oLIIefcIoJdJXeY\nWS8za25mjf2a3A2hpgbBWRBmtgPBQqEdwX7fusyvCngcuNbMWphZJ+AvBPuTs3EKwa6GXYAu/rUP\n0MXMdgKeB3Y2syN8rP19nNXuAgaa2Y7+87Q2s2MyzOtJ4DAz29ufKTWYtQurOvH/vPcAt/q1Xcys\nvZkdXMPb7gHONrOuvv0GZvZ7M9sgi1mOAE4zs/0tsJmZbe+c+5ogqd9iZi39uK3MbL/kCZjZegRb\na2cCu7G2v88HTgxtdY4iOEB7Dn7LzhtJsGVxsJmVmVkzfzp0ptNKm/rXfJ8cDvHTrfa4/0ydfbIe\nhF/41bN/wx4HDvX91djMLiZY8L6R5ftz+btLF9v5/vNsBAyoHlGX77NUKEHkmHPubwTnhA8iODg2\nk+Cg1tOhZseZ2SKCA59PE5xRsbv/gdbV+QRre18CrxEc5Ly/tjf5BcsBwC3OuW9Dr3cJ9m2f4oLT\nFo8luCZhPsEWwGSCrSScc08DNwCjzGwBwUHXnunm55z7BDiPYLfKXILdAjXtZkheU0suDyA4C2WS\nn/dLBAct00/MuXcIFs7D/G6Jaaxdo083/fB73wZOA24lOHhaydo17r4EC+JPCHYRPkHibp9qRxJ8\nTw+F+xu4j2Broaef19cEC9I9WbsrCufcbIKDswMJfi8zgItZ+z+cEL9zbjHBb+MJ/3lPIDjQXD3+\nXwRbieN9X1QvvJf7v3Xq36R5TyPYchnmYz0UONw5typdrGnev66/u5p+O/cALxKcQTUZGJ3UNtvv\nsyRUn74VzcTNRhCcWviNc27XDG1uJ9g3ugQ41Tn3fmQByTrxu0VmA32cc/+JOx7JHTPrDHxEcIC2\nKu54wvS7i0/UWxD3E5z6mZbf7N3aObctwVk8d0Ucj9SR36XR2u8iucJXT4ozJskNMzvSzJr6XS03\nAmPzJTnod5cfIk0QzrkJBKdpZtKL4Dx+nHNvAq0t8Wpiid9eBGfwfEuwq6CXc255zW+RAtGP4Hv9\njLXn9+cL/e7yQKS7mCC4GRbwbLpdTGb2LHC9c+6/vvxvgvOV3400KBERqZUOUouISFpxXwcxh8Rz\nkjuQ4Rx+Myup849FRHLFOVevU8obIkEYmc93H0tw6uNjZrYnsMA5902GtkS9OywXKioqqKioiDuM\nWinO3CqEOHMV4+rVVXz/408Jda9O+Jg5876nSZNgkfLYmAn1nv7Maa/Tcbt91ynGrNTlhrd+2fOn\nMw9l01+0BuCfI4Zz6hmph21+tctWtG61fk5CzAVbhxv7RpogzOwRoBzYxMxmElxE1pTgWpy7nXMv\n+IuVPic4zfW0KOMRkfSW/rycL776mtcnTeHdD7/kl+02WjPu1dc/olmzprRq2Zxvv1sYW4yn9T6A\nFi2a1/l9q1auYqfOHWnaNFjctW61Ph1+Wd+L+NeqfLkt5d2SLxgvLpEmCOdcnyza6OlgIg3IOceP\nC5fw6FMTeGT0a2nbTJmWeA3jsmUrWLZsRU7m36F9GxqVlbHH7tumHT9u7Fcc2msfyrvtRLtfbEib\njVtSVqbDpXGI+xhE0SkvL487hKwoztzK5zi/+Oprbr/neebOWka3QwfmdNptNmm1Znj+94s4cL9d\n2WHb4J55K1etpucBv6Jtm9Z1mmaXbTfI6/6sVggxrqvIT3PNFTPL8n5oIqWlqqqKBYuWsnz5Svpf\ndi9ff/sjVlaGGVStrtt1b61bbcDCRUvodUhXfr3rVgnjOm/bnsaNgoeotdm4JY0bF/8D1YqBmeX1\nQWoRybHvf/yJ+x8dz5jn019c7Kqqsr7t6Ol9DuS03vtjZut0QFOKjxKESIH4afHPvPnuZ1x946h6\nvb9J08acc2oPOrb/BV126sT6zdfLcYRSbJQgRPLQm+9+xqw58ykrK2Py+5/zn//+r07vv/Omfuy4\nXfAIBTOjUSMd5JW6U4IQyRMrVqziuttG83LlB3V6X9/jyzm99wFrrkEQyRX9okRitGrVai6/9mG+\nmvUdc+dl/wTWTpu3ZdgNf2TjDVvU3liknpQgRBrQp5/PYcKbU7nvkVdo3KQxq1auqrH93l0703aT\nVvy4cAn77bUjPfbfTQeSpcEoQYhEqKqqivETPmbILaNZsWJlwriaksOlfzqKXj1/G3V4IjVSghCJ\nyKNPvc6wEeOybn/+WYfSdbdt2LKTHoki+UEJQiQCtV2xvN02m9GrZ1fK996JFhs000VnkpeUIERy\naOpnczjjz3ekHdd97524/IKjaVmPG86JxEEJQmQdDb1zLE89N4mNNmzBjwsWp4zvf8Yh/OGwvdbc\nTVSkUOheTCJ1tOinpXz6xVzemDyt1uce3HvLuezgL1gTiYPuxSTSAOb/sIheJ9+QdfuJz18XYTQi\n0VOCEMnCx1Nn0u+iu2ps0/f4cg7cdxd+2W4jNli/WQNFJhIdJQiRDJxzDL//RT6aMoOPPpmRMr5V\ny/Vp2rQx++21IxeefbguYJOiowQhkuSNydO4+Op/1thm3KhBtGqZP88dFomCEoSIt3z5Su5+6GVG\n1XLgWccWpFQoQUjJc85xQr9bmD1nfsY2fY8vp/teO9HZP05TpBQoQUhJ+3HBYg47MfMWgXYlSSlT\ngpCS4pzjwccruX/UeFauyHyzvMMO/g2XX3B0A0Ymkn+UIKSknHze7Uyf8U3G8dcO7EN5t50bMCKR\n/KUEISVj5pz5NSaHyqcH66lsIiH6b5Ci5pzjnQ+/5IKBI1LGXXxeL/bdcwc22ailrmEQSUMJQorW\nex9Np/9l96Qd98t2G3HU7/do4IhECotu1idF6Ymxb3DrP57NOP4/z/xVz2CQkqCb9YmELFm6LG1y\n6LxtB6666Fg6bf6LGKISKTxKEFJUVq1azcHHDk6os7IyJjw7JKaIRApXWdwBiOSKc47uva5MqVdy\nEKkfJQgpGvscdkVK3etKDiL1pgQhBa+qqopuhw5MqR83ahBlZfqJi9SXjkFIwXLOcdmQkUyYNCVl\n3JgHBugeSiLrSAlCCpJzLu0uJYBbrz2dtm1aN3BEIsVHCUIKUqbkMPr+S9m07YYNHI1IcVKCkIKx\nenUVb0z+lAGDH0oZN3Twqey5+3YxRCVSvCJPEGbWE7iV4ID4COfcjUnjWwEjgY5AI2Coc+6fUccl\nheWD/33FuZfenXbcP4aezc6dOzZwRCLFL9JbbZhZGTANOBCYC7wNnOCcmxpqcznQyjl3uZm1AT4F\n2jnnViVNS7faKDHOOca88BZDhz+Tsc3Dd/6ZLTq2bcCoRApLPt9qoyvwmXNuBoCZjQJ6AVNDbRzQ\n0g+3BL5PTg5Seh4dM4Fh976Qcfzvunfh8vOPolmzpg0YlUhpiTpBtAdmhcqzCZJG2DBgrJnNBVoA\nx0cck+Sxqqoq9j18UMbxbX/RmtH3XaLrG0QaQD4cpO4BvOecO8DMtgZeNrNdnXOLkxtWVFSsGS4v\nL6e8vLzBgpSGkSk57LH7dgy68Bg23rBFA0ckUlgqKyuprKzMybSiPgaxJ1DhnOvpy5cBLnyg2sye\nA653zk305VeAAc65yUnT0jGIIjbi4Ve475FXUurPPPkgTj1h/xgiEikO+XwM4m1gGzPrBMwDTgB6\nJ7WZAfwOmGhm7YDtgC8jjkvySLrbZACMuuciNt9skwaORkSqRZognHOrzaw/8BJrT3OdYmb9gtHu\nbmAI8E8z+9C/7VLn3A9RxiX544w/D09bP3jACUoOIjHTE+UkNjNmfUefs29JqDvykK5cdO4ROggt\nkiP5vItJJMXsed9z8rm3s2LFyoT6qy4+jh777xZTVCKSTAlCGkxNN9hr3nw9JQeRPKPteGkQVVVV\nGZMDwMtPXNWA0YhINrQFIZGb+/UPHHvGzSn1e+y+HVf85Q9sslHLNO8SkbgpQUikvvjqa/qed3tK\n/V0392OXHTrFEJGIZEtnMUlkflr8Mz2P/2tK/bAbzuRXu2wZQ0QipUdnMUle+ezLedx0xzP8b+rM\nlHETnrsWs3r9VkWkgSlBSE5luioalBxECo3OYpKceOeDL2pMDs8+PFDJQaTAaAtC1lmmxLB7l605\nvc8B7LazjjeIFCIlCFknn305L239jVedzD577NDA0YhILuksJqm3dFdG7/Xb7blh0Ek0btwopqhE\nJExnMUksrv6/xxLKHdq34eaKU2KKRkRyTVsQUmdLf17OQcdck1L/2tghNGqk8x5E8sm6bEHov1nq\n5KMpM9Imh1NP2F/JQaTI6D9asvb59HmcffE/UuqPOWJvzjz5oBgiEpEo6RiEZOW5lyZz/W1PpdSP\nHzOYpk31MxIpRvrPllpVTvw4bXJ4/dkhevKbSBFTgpCMFv20lENOGJJS37hJY8Y/VaHkIFLkdBaT\npLVy5SrKj0z/EJ+Jz1/XwNGISH3pLCbJqedffidtctjrt9srOYiUEG1BSILFS5bR47jBKfX/eeav\nujpapADpSmrJib8OfYJ/vfpeSv0royuUHERKkBKEADBj9ndpk4N2KYmULh2DEFasWEWffrek1L/8\n5NUxRCMi+UJbECXu0TETGHbvCyn12nIQEW1BlLDHx/43bXIYPyb1ILWIlB4liBK1cNFSbvvHcyn1\nj4+4WLfOEBFAu5hK1rF/vDmh3Gnztjxy159jikZE8pGugygxma6Q1jEHkeKkK6kla+mSw323nRdD\nJCKS75QgSsi8b35MqbvyomPZfpv2MUQjIvlOu5hKSLdDByaUX3z8Klps0CymaESkIWgXk9QqOTl0\n2rytkoOI1EgJogQ8/ORrKXUjh58fQyQiUkgiTxBm1tPMpprZNDMbkKFNuZm9Z2Yfm9n4qGMqJStX\nrmL4/f9KqPvH0LP1sB8RqVWkSwkzKwOGAT2AnYDeZtY5qU1r4A7gMOfczsCxUcZUSt6YPC3lrKWT\njytn584dY4pIRApJ1KuRXYHPnHMznHMrgVFAr6Q2fYDRzrk5AM65+RHHVDIuvvqfKXX9+h7U8IGI\nSEGKOkG0B2aFyrN9Xdh2wMZmNt7M3jazkyOOqSQkH5SG4Kwls3qdzCAiJSgfbrXRGPg1cACwAfCG\nmb3hnPs83rAK170j/51SN+G5a5UcRKROok4Qc4DwDu8Ovi5sNjDfObcMWGZmrwFdgJQEUVFRsWa4\nvLyc8vLyHIdb+C4bMpLX3/gkoe7Om/opOYiUiMrKSiorK3MyrUgvlDOzRsCnwIHAPOAtoLdzbkqo\nTWfg70BPYD3gTeB459wnSdPShXI1qKqqYt/DB6XUn97nQM448cAYIhKRfJC3z6R2zq02s/7ASwTH\nO0Y456aYWb9gtLvbOTfVzF4EPgRWA3cnJwepXbrksN02myk5iEi96VYbReCCK0Yw+f0vEur6Hl9O\nv74HxxSRiOSLvN2CkOjdcd+/UpLDyOEXsGWndjFFJCLFQpfTFrBv5y/kkdGJt9E47shuSg4ikhNK\nEAXqk09ncdQpNybUHVTehQvOPDSmiESk2OgYRAFyzrHPYVek1OupcCKSTLf7LjE33D4mpe71Z4fE\nEImIFDMdpC5Az700OaGsLQcRiYK2IArcn3TMQUQiogRRYJKfK92r529jikREip0SRIHp2//2hHLz\nZk1jikREip0SRAFZsHAJS5cujzsMESkRShAF5NA+1yaURw6/IKZIRKQU1JggzOyfoeFTIo9GMvph\nweKUOl0xLSJRqm0LoktoWKurMTr8xMRTWceNSr17q4hILtWWIHTpch6Y8ObUlLpWLdePIRIRKSU1\n3mrDzL4FRgEGHO+H13DOnR9pdImxlOytNpKfL/3v0RU6e0lEshLl7b4vCQ1PzthKIvPt/IUJ5V12\n7KTkICINQjfry3PJWw8TnrtWz5cWkaxFerM+MzvFzN41syX+NdnM+tZnZlI3M+fMT6lTchCRhlLj\nLiZ/auufgQuBdwmORfwauMmv0T8UfYilq/dZf0soj3lgQEyRiEgpqm0L4hzgKOfceOfcQufcAufc\nq8AfgPOiD0+qtW61AW3btI47DBEpIbUliFbOua+SK31dqygCksDQO8cmlO+95ZyYIhGRUlVbgvi5\nnuNkHVRVVfHUc5MS6jbbdOOYohGRUlXbaa47mNmHaeoN2CqCeAQY98p7CeUbrjwppkhEpJTVliC6\nAO2AWUn1mwNfRxJRiVuydBnX3To6oW7fPXeMKRoRKWW17WK6BVjonJsRfgEL/TjJoaqqKg4+dnBC\nXZedtognGBEpebUliHbOuY+SK33dFpFEVMIuuSb1rOHbrj09hkhERGpPEBvWMK55LgMRmDT504Ty\n+DGDadKktr2AIiLRqC1BTDazM5MrzeyPwDvRhFSannr+zYTykMv70LSpkoOIxKe2u7m2A8YAK1ib\nEH4DNCW4gK7BDlQX+72Yku+5NPH56zK0FBHJXmR3c3XOfQPsbWb7Azv76uf91dSSI8nJYZcdO8UU\niYjIWlntw3DOjQfGRxxLSRo89ImUujtuSNmrJyLS4Gq9m6tE68VXEy+Ku+yCo2nUSF+LiMRPR0Fj\n9N5H0xPKN17Vl3326BxTNCIiibSqGqP+l92TUFZyEJF8ogQRk5uGPZ1Q3m3nLWOKREQkPSWIGFRV\nVfH0uLcS6obd8MeYohERSS/yBGFmPc1sqplNM7OMj0Qzs9+a2UozOzrqmOJ2x33/Siif1fcgPUpU\nRPJOpAnCzMqAYUAPYCegt5ml7Gj37W4AXowynnywatVqRo2ZkFB3yvH7xxSNiEhmUW9BdAU+83eB\nXQmMAnqlafcn4Eng24jjiV2fc25NKJd32zlDSxGReEWdINqT+CyJ2b5uDTPbDDjSOXcnwYOIitZr\nb3zCnLnfJ9T99bITYopGRKRm+XCQ+lYgfGyiaJPE5UNGJpRvvKovZWX58BWIiKSK+kK5OUDHULmD\nrwv7DTDKgqO0bYBDzGylc25s8sQqKirWDJeXl1NeXp7reBuUrnsQkVyrrKyksrIyJ9Oq8W6u6zxx\ns0bAp8CBwDzgLaC3c25Khvb3A886555KM66g7+b6p8vv5d0Pv1xTHj9msG7nLSKRi+xuruvKObfa\nzPoDLxHszhrhnJtiZv2C0e7u5LdEGU9cli9fmZAcACUHEcl7kS+lnHP/ArZPqvtHhrZF+XzNv48Y\nl1C+ftBJMUUiIpI9HSGNWFVVFWOen5RQt99eO8YUjYhI9pQgIrT05+Xse/ighLrLLyj6C8VFpEgo\nQUTooGOuSak77ODfxBCJiEjdKUFEJPkxogAvPDooTUsRkfykU2kiMO6Vd1PqdFqriBQabUFEYMjf\nnkwoPz7iYiUHESk4ShA5tmrV6oTy3l07037TjWOKRkSk/pQgcuziax5MKN94pa55EJHCpASRQw8/\n+Rpvv/tZQp1uxicihUpLrxxZuXIVw+9PfFLcg3ecH1M0IiLrTgkiR/r2/3tCectO7dh6i01jikZE\nZN0pQeTAihWrmDn7u4S6kcMviCkaEZHcUILIgftHvZpQ1q4lESkGShA58OBjlQll7VoSkWKgBLGO\nTr/gjoTyicfsF1MkIiK5pQSxDuZ8/QOffp74BNVzTu0RUzQiIrmlBLEOjjvj5oTyJf2PJHi0tohI\n4VOCqKf7H301pe7IQ7rGEImISDSUIOrBOce9I/+dUDfhuWtjikZEJBpKEPWwz2FXJJQHnH+Udi2J\nSNFRgqijWXO/T6k7osdvY4hERCRaShB1dMKZQxPKl/Q/MqZIRESipQRRB2+//3lKnQ5Mi0ixUoKo\ngz9fcV9CWfdbEpFipgSRpeQnxVlZGVt2ahdTNCIi0VOCyNJ5l92TUH7tmcExRSIi0jCUILLww4LF\nfDxlZkKdnhQnIsVOS7ks/OXK+xPK995ybkyRiIg0HCWIWqxatZrPv5yXULfDdh1iikZEpOEoQdSi\ne68rE8ojbj0vpkhERBqWEkQNFi9ZllLXedv2MUQiItLwlCBq0OO4xDOVnnt4YEyRiIg0PCWIDJxz\nKXUbbdgihkhEROKhBJHBE8++kVB+9O4LY4pERCQeShAZ3PaP5xLKHdu3iSkSEZF4KEGk8eL49xPK\n3fbYIaZIRETiE3mCMLOeZjbVzKaZ2YA04/uY2Qf+NcHMdok6pppUVVUx+ObHE+ouPPvwmKIREYlP\npAnCzMqAYUAPYCegt5l1Tmr2JbCfc64LMAS4hxiddO7tKXWbtt0whkhEROIV9RZEV+Az59wM59xK\nYBTQK9zAOTfJObfQFycBsV1osGLFKmbM+jahbuLz18UUjYhIvKJOEO2BWaHybGpOAH8ExkUaUQ32\nP+qqhPK1A/vEFImISPwaxx1ANTPbHzgN2CdTm4qKijXD5eXllJeXRxpTebedI52+iEiuVVZWUllZ\nmZNpWboLwnLFzPYEKpxzPX35MsA5525MarcrMBro6Zz7IsO0XJSxdjs08SrpZx8eyMa6ME5ECpyZ\n4Zyz+rw36l1MbwPbmFknM2sKnACMDTcws44EyeHkTMkhan3OvjWlTslBREpdpLuYnHOrzaw/8BJB\nMhrhnJtiZv2C0e5u4EpgY2C4mRmw0jnXNcq4wia+NTXlwPRdN/drqNmLiOStSHcx5VIUu5i+/Oob\nTj7vtoQomBgJAAAMFklEQVS6ikuP56DuXXI6HxGRuOTzLqa8dtbFd6XUKTmIiARKOkH8/PPyhPKE\n566NKRIRkfxTsgni+x9/SiiPeWAAwSEQERGBEk4QR5x0fUK5bZvWMUUiIpKfSjJBHPvHoXGHICKS\n90ouQVxyzYPMnfd9Qt3rzw6JKRoRkfxVUgli2hdz+e9bUxPqRtx6HmVlJdUNIiJZKakl42nnD0so\nn3f6IXTeNrabx4qI5LWSSRCLlyxLKLds2Zw+f9g3pmhERPJfySSIU/r/PaE87tFBMUUiIlIYSiJB\nTJk2m6+//TGhTtc8iIjUrCQSxB//MjyhPOLW82KKRESkcBR9gjh/4IiUOh2YFhGpXdEniHc+SHzE\nhO63JCKSnaJOEA88Nj6hfOE5R+jYg4hIloo2Qfy8bAV3P/hyQt0fDtszpmhERApP0SaI3/2hIqF8\n+QVHxxOIiEiBKsoE8cVXX6fUHXbwb2KIRESkcBXlI0e7HTowofzv0RU0b9Y0irBERPKaHjkaUlVV\nlVhhpuQgIlIPRZcgHnriPwnlcY9eEVMkIiKFragSxI8LFqecudSq5foxRSMiUtiKJkE45zjsxOsS\n6s49rWdM0YiIFL6iSRD7HJa6K0m38xYRqb+iSBALFi5JqXv5yat11bSIyDooigRxaJ/E+yvde8u5\nrN98vZiiEREpDgWfIGbM/i6h3LhJY3bYrkNM0YiIFI+CTxCnnX9HQvm5kZfHFImISHEp+ASxfPmK\nNcPNmjWlZYvmMUYjIlI8CjpBjHp6YkL5nqHnxBSJiEjxaRx3APWxeMkyDjvpOlauWJVQv9UW7WKK\nSESk+BRkguhx3OCUur27do4hEhGR4lVwu5j+/dqHaetvurpvA0ciIlLcCu5238m38h478nI22ahl\nTFGJiOS3krnd98S3piaUu+2xg5KDiEhEIk8QZtbTzKaa2TQzG5Chze1m9pmZvW9mu2Wa1qXXPJhQ\nvmHQiTmOVkREqkWaIMysDBgG9AB2AnqbWeekNocAWzvntgX6AXdlM+29frs9ZWX5twFUWVkZdwhZ\nUZy5VQhxFkKMoDjzSdRL2K7AZ865Gc65lcAooFdSm17AgwDOuTeB1mZW4/mq663XlJsrToki3nVW\nKD8axZlbhRBnIcQIijOfRJ0g2gOzQuXZvq6mNnPStEnwyuircxKciIhkln/7aGoxdPCpuo23iEgD\niPQ0VzPbE6hwzvX05csA55y7MdTmLmC8c+4xX54KdHfOfZM0rcI4H1dEJM/U9zTXqK+kfhvYxsw6\nAfOAE4DeSW3GAucBj/mEsiA5OUD9P6CIiNRPpAnCObfazPoDLxHszhrhnJtiZv2C0e5u59wLZvZ7\nM/scWAKcFmVMIiKSnYK5klpERBpW3h2kzuWFdVGqLU4z625mC8zsXf8aFEOMI8zsGzNLfwMr8qYv\na4wzT/qyg5m9amb/M7OPzOz8DO1i7c9s4syT/lzPzN40s/d8nGlPTcyD/qw1znzoTx9HmZ//2Azj\n696Xzrm8eREkrM+BTkAT4H2gc1KbQ4Dn/fAewKQ8jbM7MDbm/twH2A34MMP42PsyyzjzoS83BXbz\nwy2AT/P0t5lNnLH3p49jff+3ETAJ6Jpv/ZllnPnSn38BRqaLpb59mW9bEJFcWBeBbOIEiPXAunNu\nAvBjDU3yoS+ziRPi78uvnXPv++HFwBRSr9eJvT+zjBNi7k8A59xSP7gewfHQ5P3dsfenn3dtcULM\n/WlmHYDfA/dmaFKvvsy3BBHJhXURyCZOgL385tzzZrZjw4RWJ/nQl9nKm740sy0ItnjeTBqVV/1Z\nQ5yQB/3pd4m8B3wNvOycezupSV70ZxZxQvz9eQtwCemTF9SzL/MtQRSTd4COzrndCO5H9XTM8RSy\nvOlLM2sBPAlc4NfQ81ItceZFfzrnqpxzvwI6AHvEnfgzySLOWPvTzA4FvvFbjkYOt2byLUHMATqG\nyh18XXKbzWtpE7Va43TOLa7eNHXOjQOamNnGDRdiVvKhL2uVL31pZo0JFroPOeeeSdMkL/qztjjz\npT9D8SwCxgM9k0blRX9WyxRnHvRnN+AIM/sSeBTY38weTGpTr77MtwSx5sI6M2tKcGFd8hH5sUBf\nWHOldtoL6yJWa5zh/Xtm1pXglOIfGjbMYPZkXqPIh76sljHOPOrL+4BPnHO3ZRifL/1ZY5z50J9m\n1sbMWvvh5sBBwNSkZrH3ZzZxxt2fzrmBzrmOzrmtCJZFrzrnkh+xWa++zKtnUrsCubAumziBY8zs\nHGAl8DNwfEPHaWaPAOXAJmY2E7gaaEoe9WU2cZIffdkNOBH4yO+PdsBAgjPZ8qY/s4mTPOhP4JfA\nAxY8EqAMeMz3X179r2cTJ/nRnyly0Ze6UE5ERNLKt11MIiKSJ5QgREQkLSUIERFJSwlCRETSUoIQ\nEZG0lCBERCQtJQiJjJkdaWZVZrZdqK67mT2bg2nfb2ZH19Kmu5ntVc/p32pms+sXXcZpjrfgFvHv\nm9kn/vbLrUPjJ4SGb/K3l77RX6w1ycze8dc5iDQIJQiJ0gnA66Q+ZrahLr4pB/au65vMzIAjgZlm\n1j3HMfX29+zZFVgBrLkVhnNun1C7M4FdnXMDgN8R3Ap9d+fcxGxm4i/sElkn+hFJJMxsA4J7xJxB\naoJobWbP+bXp4b59md8q+NDMPjCzC3z9bmb2hl/rHh1e4w7Na3r1vW/MbHe/pt4JOBv4swUPUenm\n18SftOABMG+aWabkUQ58DNwJ9AnNp42ZveTX7O8xs69C8z3RT/NdM7vTJ5m0XQPgnFsFXAp0NLNd\n/DR+8n+fIXiWwztmdilwI3Ckn/Z6ZnaQmf3XzCab2WNmtn6oH24ws8kEV/duZWbjzOxtM/tP9Zac\n7+fbzGyimX0e3hIzswH+O3jPzK7zdWmnIyVgXR5QoZdemV4EC9Z7/PAE4Fd+uDuwlODWD0Zwu5Kj\ngV8DL4Xe38r//QDYxw9fA/zND98PHO2HvwQ29sO7E9yLBoJbdlwYmubDwN5+eHOC+xWli/1uH39L\nglskN/L1fwcG+OEewGpgY6Azwb1uqtvdAZyUZrrjgV8n1Y0BjvXDi0L14eFTgNv98CbAf4Dmvnwp\nMMgPTwcuDr3v38DWfrgr8Eqo7x7zwzsQPNsEgofKTADW8+UNa5qOXsX/yqt7MUlR6Q3c6ocfI1jg\nvufLbznnZgCY2aMET5R7FdjSzG4DXgBeMrNWQGsXPFAI4AHg8TTzyvb2xr8Ddgit3bcws/Xd2gfC\nYGZNCB688hfn3BIze4sgGbzg4zwSwDn3oplVP+ToQIIE97afdjMg25vKWYbhTPYEdgQm+nk1Af4b\nGv+Y/xwbEOxeeyL0eZuE2j3tP8cUM2sb+hz3O+eW+3ELspiOFDElCMk5M9sIOADY2cwcwaMaHcED\nTSD1GITzC6MuBAvjs4FjgQvJbqG5irW7S5vVFBqwhwueAphJD6A1wc3uDGhOsMXzQobpVf99wDl3\nRRaxrn1zcJxgF+ATX5XNsRkj2NI6McP4Jf5vGfCjc+7XGdotT5pmJrVNR4qYjkFIFI4FHnTObemc\n28o51wmYbmbVB2H3sOBW6WUEd76cYGabEOyiGQMMItgVswj4IXTmzskEu1eSTSfYtQTwh1D9T0Cr\nUPkl4ILqgk9IyXoDZ/i4twS2Ag4ys2bARB8vZnYwsKF/zysE+/x/4cdtZGYdUycdzNa3aQzcAMx0\nzv0vPC7NcNgkoJuZbe2ns76ZbZvcyDn3E0GfHxP6vLvWFBPwMnCaBbe1xsw2quN0pMgoQUgUjifY\ntx42mmDh64C3CJ689QnwhU8K7YFKC25R/RBwmX/fqcDNZvY+0AUY7OvDa9uDgdv97qBVofpngaOq\nD1ID5wO/8QfBPwb6hQP0C8bq3UnBTILdTxOAw4EK4GAz+5AgEX0N/OScm0KQ1F4ysw8IEtGmGfpm\npP8sHxFsnYSfZe4yDK+tdG6+75NH/bz+C2yf4T0nAmf4A/wfA0dkaOf8tF8kOJYy2czeBS7y40/K\nMB0pcrrdt0iWLHg41GoXPA9kT2C4dr1IMdMxCJHsdQQe97vGlhNcqyBStLQFISIiaekYhIiIpKUE\nISIiaSlBiIhIWkoQIiKSlhKEiIikpQQhIiJp/T/oon7yDLMkRAAAAABJRU5ErkJggg==\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "stream", "name": "stdout", "text": ["pval: 1.5 %\n"]}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["holder = []\n", "for i in range(1000):\n", " holder += [compute_age_diff(shuffle_ages(data))]\n", " \n", "cdf_holder = thinkstats2.Cdf(holder)\n", "thinkplot.Cdf(cdf_holder)\n", "\n", "thinkplot.Show(title='CDF of Age difference Average for gender',\n", " xlabel='Absolute Age Difference',\n", " ylabel='CDF') \n", "\n", "print 'pval:', 100 - cdf_holder.PercentileRank(observed_age_diff), '%'"]}, {"execution_count": 46, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 46, "metadata": {}, "data": {"text/plain": ["0.014000000000000012"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["results = [compute_age_diff(shuffle_ages(data)) for _ in xrange(1000)]\n", "cdf = thinkstats2.Cdf(results)\n", "\n", "thinkplot.Cdf(cdf)\n", "\n", "thinkplot.Config(\n", " title='Mean Ages',\n", " xlabel='Mean Age Difference Between \"Males\" and \"Females\"',\n", " ylabel='CDF'\n", ")\n", "\n", "1-cdf[observed_age_diff]"]}, {"execution_count": 150, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "stream", "name": "stdout", "text": ["Pvalue: 0.8 %\n"]}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["mean_cts = []\n", "\n", "for i in range(1000):\n", " mean_cts.append(compute_age_diff(shuffle_ages(data)))\n", "\n", "cdf = thinkstats2.Cdf(mean_cts, label='Abs of Age CDF')\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Show(xlabel='age dif', ylabel='CDF')\n", "\n", "pvalue = 100 - cdf.PercentileRank(compute_age_diff(data))\n", "\n", "print \"Pvalue: \", pvalue, \"%\""]}, {"execution_count": 10, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 10, "metadata": {}, "data": {"text/plain": ["0.009000000000000008"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["results = [compute_age_diff(shuffle_ages(data)) for _ in xrange(1000)]\n", "cdf = thinkstats2.Cdf(results)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(\n", " title='Mean Ages',\n", " xlabel='Mean Age Difference Between \"Males\" and \"Females\"',\n", " ylabel='CDF'\n", ")\n", "# This isn't __quite__ right since it doesn't include the\n", "# values that are exactly the same as the observed difference,\n", "# but the impact of this is pretty negligible since this is\n", "# more continuous than the coin flips example\n", "1 - cdf[observed_age_diff]"]}, {"execution_count": 23, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value of male/female mean age diff: 1.2 %\n"]}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["simulation = [compute_age_diff(shuffle_ages(data)) for i in xrange(1000)]\n", "\n", "cdf_sim = thinkstats2.Cdf(simulation)\n", "thinkplot.Cdf(cdf_sim)\n", "\n", "print 'P-value of male/female mean age diff: ', 100 - cdf_sim.PercentileRank(observed_age_diff), '%'"]}, {"execution_count": 136, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["1.3\n"]}, {"output_type": "display_data", "data": {"image/png": "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\nTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["sample_raw = []\n", "sample_perm = []\n", "for n in range(1000):\n", " sample_raw.append(compute_age_diff(data_titanic))\n", " sample_perm.append(compute_age_diff(shuffle_ages(data_titanic)))\n", "\n", "sample_raw = thinkstats2.Cdf(sample_raw)\n", "sample_perm = thinkstats2.Cdf(sample_perm)\n", "thinkplot.Cdfs([sample_raw, sample_perm])\n", "\n", "\n", "p_val = 100 - sample_perm.PercentileRank(compute_age_diff(data_titanic))\n", "print p_val"]}, {"execution_count": 37, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 37, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["total = []\n", "for i in range(0,1000):\n", " total.append(compute_age_diff(shuffle_ages(data)))\n", " \n", "cdf = thinkstats2.Cdf(total)\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 30, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value: 0.6\n"]}], "source": ["res = []\n", "for _ in range(1000):\n", " res.append(compute_age_diff(shuffle_ages(data)))\n", "\n", "cdf = thinkstats2.Cdf(res)\n", "print \"p-value:\", float(format(100 - cdf.PercentileRank(observed_age_diff), '.2f'))"]}, {"execution_count": 115, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["P-value using CDF: 1.1 %\n"]}, {"output_type": "display_data", "data": {"image/png": "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\nrkJggg==\n", "text/plain": [""]}, "metadata": {}}], "source": ["import thinkstats2\n", "\n", "ageDiffs= [compute_age_diff(shuffle_ages(data)) for i in range(1000)]\n", "ageCdf = thinkstats2.Cdf(ageDiffs)\n", "thinkplot.Cdf(ageCdf)\n", "#If I'm looking for mean ages that are different, I want anything that's not 0\n", "percentileRank = ageCdf.PercentileRank(observed_age_diff)\n", "p_Val = 1 - percentileRank/100\n", "print \"P-value using CDF: \",p_Val*100, \"%\""]}, {"execution_count": 64, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["p-value of observed age difference: 0.013\n"]}], "source": ["ageDiffs = []\n", "for i in range(1000):\n", " ageDiffs.append(compute_age_diff(shuffle_ages(data)))\n", " \n", "ageCdf = thinkstats2.Cdf(ageDiffs)\n", "\n", "print \"p-value of observed age difference: \", (1 - ageCdf[compute_age_diff(data)])"]}, {"execution_count": 176, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 176, "metadata": {}, "data": {"text/plain": ["{'xscale': 'linear', 'yscale': 'linear'}"]}, "output_type": "execute_result"}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}], "source": ["trials = [compute_age_diff(shuffle_ages(data)) for _ in range(1000)]\n", "cdf = thinkstats2.Cdf(trials)\n", "thinkplot.Cdf(cdf)"]}, {"execution_count": 174, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"execution_count": 174, "metadata": {}, "data": {"text/plain": ["0.0050000000000000044"]}, "output_type": "execute_result"}], "source": ["resultsList = []\n", "for i in range(1000):\n", " resultsList.append(compute_age_diff(shuffle_ages(data)))\n", " \n", "cdf = thinkstats2.Cdf(resultsList)\n", "1-cdf[observed_age_diff]"]}, {"execution_count": 53, "cell_type": "code", "metadata": {"collapsed": true}, "outputs": [], "source": ["# not sure whether 1 - cdf[value] vs the implementation at the start (using percentile rank) \n", "# is the right option"]}, {"execution_count": 51, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": [""]}, "metadata": {}}, {"output_type": "stream", "name": "stdout", "text": ["p-value: 0.016\n"]}, {"output_type": "display_data", "data": {"text/plain": [""]}, "metadata": {}}], "source": ["diffs = []\n", "for i in range(1000):\n", " diffs.append(compute_age_diff(shuffle_ages(data)))\n", "\n", "cdf = thinkstats2.Cdf(diffs)\n", "thinkplot.Cdf(cdf, label='age diffs')\n", "thinkplot.Show(loc='lower right')\n", "\n", "bigger = 0\n", "for x in diffs:\n", " if x >= observed_age_diff:\n", " bigger +=1\n", "print \"p-value:\", bigger/1000.0"]}, {"execution_count": 78, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "display_data", "data": {"image/png": "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\nNez/AOsCatk8AofZAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}}], "source": ["def age_test(n, data):\n", " age_trials = []\n", " for i in range(n):\n", " age_trials.append(compute_age_diff(shuffle_ages(data)))\n", " hist = thinkstats2.Hist(age_trials)\n", " thinkplot.Hist(hist)\n", " return age_trials\n", "\n", "titanic_age_trials = age_test(1000, data)"]}, {"source": ["Ignoring passengers with missing ages:\n", "\n", "1. Was the average age of male versus female passengers on the titanic different?\n", "2. What additional (if any) conclusions can you draw based on the p-value you just computed? In other words, what does this p-value mean?\n", "\n", "Disclaimer: (1) is a bit of a trick question (sorry!), but I included it to encourage being precise about the definition of the null hypothesis and eactly which population it refers to."], "cell_type": "markdown", "metadata": {}}, {"source": ["## 1\n", "The average was different for all the people, though we can't tell for certain if it is males or females because there is no connection after the age data has been shuffled.\n", "## 2\n", "What I can draw from this is that there is a particular concentration of ages that is higher or lower for males or females. We know that for a value of 1 year in difference, that is a larger gap than 63% of occupants saw, and thereby 37% less than others, but not whether it corresponds to being male or female. We would likely want to leave the ages corresponding with the sex in order to determine that."], "cell_type": "markdown", "metadata": {}}, {"execution_count": 123, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["average male age 29.4970640177\n", "average female age 30.0498084291\n", "diff 0.552744411459\n"]}], "source": ["males = data[data.Sex == 'male']\n", "print \"average male age\", males.Age.mean()\n", "\n", "females = data[data.Sex == 'female']\n", "print \"average female age\", females.Age.mean()\n", "\n", "print \"diff\", abs(males.Age.mean() - females.Age.mean())"]}, {"execution_count": 36, "cell_type": "code", "metadata": {"collapsed": false}, "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Average male age: 30\n", "Average female age: 27\n"]}], "source": ["males = data[data.Sex == 'male']\n", "females = data[data.Sex == 'female']\n", "\n", "avg_male_age = males.Age.mean()\n", "avg_female_age = females.Age.mean()\n", "\n", "print 'Average male age: %d' % avg_male_age\n", "print 'Average female age: %d' % avg_female_age"]}, {"source": ["The p value is significant (>0.05) when the observed age is 2 years. We can reject the null hypothesis and say that the average male and female age are different.\n", "\n", "When the observed age is 1 year, the p value is insignificant (<0.01) and we cannot reject the null hypothesis and say that the average age of male and female passengers are different."], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Yes, since the p-value of the average age difference is about 1%\n", "2. It means that the difference in average ages was most likely not chance and that there's a reason behind it"], "cell_type": "markdown", "metadata": {}}, {"source": ["The average age was different and the p value of 2.0% we calculated indicates that the 3 year difference we calculated was probably not due to random chance b/c it is so small and most of the values will actually have a differences as we can see from the graph also."], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Yes, it was different. But not by much, and this is a pretty small sample size so that is to be expected.\n", "2. It is more likely to have a larger age difference?"], "cell_type": "markdown", "metadata": {}}, {"source": ["Answers.\n", "\n", "1. Yes, the average age of male verses female were different as proven when finding observed_age_diff, whereas in the null hypothesis has age difference zero.\n", "\n", "2. The p-value is below 5% which implies that it is 'statistically significant'. Here, the chances of the mean age differing that much by chance given the null hypothesis is true is very very low."], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Yes, the average age for males was about 2.8 years older than the average age for females\n", "2. The p-value is statistically significant since it is clearly below 5%. I think this means that it was not random or chance that the average age was older for males. "], "cell_type": "markdown", "metadata": {}}, {"source": ["**1** The average age is definitily different.\n", "\n", "**2** This difference is statistically significant. A random distribution of ages of Titanic passengers is very unlikely to have a observed difference in means for males and females."], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Maybe. The mean age of male passengers in the training set was different from the mean age of female passengers in the training set.\n", "2. The p-value seems to be rather low, so it is unlikely that the difference in mean age is just by chance."], "cell_type": "markdown", "metadata": {}}, {"source": ["Yes, and it appears that the difference may be significant given that the p-value is approximately 0.013. Of course, there are people who did not report their age, and there is a whole testing data set that is not included - thus, it is difficult to actually form a true conclusion."], "cell_type": "markdown", "metadata": {}}, {"source": ["The average age of male versus female passengers on the Titanic was different. Since the p-value we calculated was around 1%, we know that the difference in average age between genders is statistically significant because we tested our null hypothesis by shuffling the ages and the percentage of the shuffled data that is equal to or greater than our observed value is under 1%, which means that this effect is not due to chance. So it follows that the average ages of men vs women on the titanic was actually different, not just due to chance."], "cell_type": "markdown", "metadata": {}}, {"source": ["1. yes the average age is different (medain age difference is about 2.8) \n", "\n", "2. The mean difference in age is plausibly caused by more than chance. A random sample of one age group cannot definitely be male or female. The permutation results also suggest that it is unlikely that a random sample of titanic passengers will exhibt the same age difference. "], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Yes, the average of male versus female passengers on the titanic was different. (The difference in mean ages was about 2.8 years.) This isn't different by that many years in the grand scheme of things, though. \n", "\n", "2. I think that this p-value means that, if the distributions of the ages of male and female passengers weren't different, it would be very unlikely for us to get this particular distribution of ages, which means that there is a (statistically sigificant?) difference between ages of men and women on the titanic. "], "cell_type": "markdown", "metadata": {}}, {"source": ["The average age of male versus female passengers was different, and the low p-value indicates that the age difference of about 3 years was probably not due to random chance. "], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Yes\n", "2. It is unlikley that the age difference is due just to random chance"], "cell_type": "markdown", "metadata": {}}, {"source": ["1. Well, we observed that the average age of male and female passengers was different by about 2 years. We were testing whether this was expected in a normal distribution of passenger ages or not.\n", "2. We can conclude that, if the ages were the same between male and female passengers, the difference we observed in the data would have a 0.016 chance of occuring."], "cell_type": "markdown", "metadata": {}}, {"source": ["1. The average age of of males was different than the female passengers by about 2.8 years.\n", "2. However, the calculated p-value indicates that the difference in average age of males and females on the Titanic was not significant. 27.4% is a very high p-value indicating that a difference of 2.8 years is not a terribly unexpected difference in means."], "cell_type": "markdown", "metadata": {}}], "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "name": "python", "file_extension": ".py", "version": "2.7.11", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}, "nbformat": 4}