{ "metadata": { "name": "", "signature": "sha256:bfe44d29fc5947024b7335e62798789170c8276f28732b4058ab8dd4959ebf0f" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import print_function, division\n", "\n", "import numpy as np\n", "import thinkstats2\n", "import thinkplot\n", "\n", "import redline\n", "\n", "%matplotlib inline\n", "formats = ['png', 'pdf']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "gap_times = np.array(redline.OBSERVED_GAP_TIMES)\n", "len(gap_times), min(gap_times), max(gap_times)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 45, "text": [ "(70, 143.0, 901.0)" ] } ], "prompt_number": 45 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf_z = thinkstats2.Pmf(gap_times, label='actual')\n", "cdf_z = pmf_z.MakeCdf()\n", "\n", "pmf_zb = redline.BiasPmf(pmf_z, label='biased')\n", "cdf_zb = pmf_zb.MakeCdf()\n", "\n", "pmf_y = redline.PmfOfWaitTime(pmf_z)\n", "cdf_y = pmf_y.MakeCdf()\n", "\n", "pmf_yb = redline.PmfOfWaitTime(pmf_zb)\n", "cdf_yb = pmf_yb.MakeCdf()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf_z.Mean() / 60, pmf_y.Mean() / 60" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 58, "text": [ "(7.7680952380952384, 3.919047619047618)" ] } ], "prompt_number": 58 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf_zb.Mean() / 60, pmf_yb.Mean() / 60" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 52, "text": [ "(8.7205184004577116, 4.3937886961319181)" ] } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "thinkplot.PrePlot(2)\n", "thinkplot.Plot(cdf_z.xs/60, cdf_z.ps, label=cdf_z.label)\n", "thinkplot.Config(xlabel='time between trains (minutes)', ylabel='CDF', loc='lower right')\n", "thinkplot.Save('redline1', formats=formats)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Writing redline1.png\n", "Writing" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " redline1.pdf\n" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 55 }, { "cell_type": "code", "collapsed": false, "input": [ "thinkplot.PrePlot(2)\n", "thinkplot.Plot(cdf_z.xs/60, cdf_z.ps, label=cdf_z.label)\n", "thinkplot.Plot(cdf_zb.xs/60, cdf_zb.ps, label=cdf_zb.label)\n", "thinkplot.Config(xlabel='time between trains (minutes)', ylabel='CDF', \n", " ylim=[0, 1], loc='lower right')\n", "thinkplot.Save('redline2', formats=formats)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Writing redline2.png\n", "Writing" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " redline2.pdf\n" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 56 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 } ], "metadata": {} } ] }