Created
February 9, 2016 17:24
-
-
Save whitead/470ac18aa0082ffaca69 to your computer and use it in GitHub Desktop.
Unit 5 Lecture 1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "collapsed": true, | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Unit 5, Lecture 1\n", | |
| "====\n", | |
| "\n", | |
| "*Numerical Methods and Statistics*\n", | |
| "\n", | |
| "----\n", | |
| "\n", | |
| "#### Prof. Andrew White, Feb 9 2016" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "skip" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import matplotlib.pyplot as plt\n", | |
| "import numpy as np\n", | |
| "%matplotlib inline\n", | |
| "import matplotlib\n", | |
| "\n", | |
| "plt.style.use(['fivethirtyeight', '../../che116.mplstyle'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Break Statements\n", | |
| "====\n", | |
| "Sometimes you may want to stop a `for` loop early. This may be done with a `break` statement:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "fox 0\n", | |
| "cat 1\n", | |
| "dog 2\n", | |
| "crow 3\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "#Iterate through my favorite pets\n", | |
| "best_pets = ['fox', 'cat', 'dog', 'crow']\n", | |
| "index = 0 #Keep track of the index\n", | |
| "for pet in best_pets:\n", | |
| " print pet, index\n", | |
| " index += 1" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The dog has index 2\n", | |
| "dog\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "#Now stop and report the dog index\n", | |
| "best_pets = ['fox', 'cat', 'dog', 'crow']\n", | |
| "index = 0\n", | |
| "for pet in best_pets:\n", | |
| " if pet == 'dog':\n", | |
| " print 'The dog has index {}'.format(index)\n", | |
| " break\n", | |
| " index += 1\n", | |
| " \n", | |
| "print best_pets[index] " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Here's an example where we want to know when summing integers reaches 50" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "10 was the integer that pushed us over 50\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "#Sum integers and stop when the sum is 50\n", | |
| "ints = range(100)\n", | |
| "isum = 0\n", | |
| "for i in ints:\n", | |
| " isum += i\n", | |
| " if(isum > 50):\n", | |
| " break\n", | |
| "\n", | |
| "print '{} was the integer that pushed us over 50'.format(i)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "While loops\n", | |
| "====\n", | |
| "Python loops are called `for-each` loops in most other programming languages. That's because they require a list or array to do a `for` loop. You may not always have an array handy, or you many not know how big the array will need to be. For example" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "99 was the integer that pushed us to 4950\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "#Sum integers and stop when the sum is 10000\n", | |
| "ints = range(100)\n", | |
| "isum = 0\n", | |
| "for i in ints:\n", | |
| " isum += i\n", | |
| " if(isum > 10000):\n", | |
| " break\n", | |
| "\n", | |
| "print '{} was the integer that pushed us to {}'.format(i, isum)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "We needed to know before starting the loop how many integers to loop over!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "We can get around this using a `while` loop" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "142 was the integer that pushed us to 10011\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "i = 0\n", | |
| "isum = 0\n", | |
| "while isum < 10000:\n", | |
| " isum += i\n", | |
| " i += 1\n", | |
| "print '{} was the integer that pushed us to {}'.format(i, isum)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Computing Prediction Intervals\n", | |
| "====\n", | |
| "\n", | |
| "Now that we know how to `break` or use a `while` loop, we can return to the problem of computing prediction intervals. Consider our geometric distribution from yesterday:\n", | |
| "\n", | |
| "$$P(n) = (1 - p)^{n - 1}p$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "Assuming $p=0.1$. Find $x$ such that:\n", | |
| "$$ P(n < x) = 0.9$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "First, let's just sum to $1$ to make sure our code is correct" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.999970487335\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "Q = range(1, 100)\n", | |
| "p = 0.1\n", | |
| "psum = 0\n", | |
| "for n in Q:\n", | |
| " psum += (1 - p) ** (n - 1) * p\n", | |
| "print psum" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Now we'll stop early, when we've reached the $0.9$ probability." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "$$\\sum_i^x P(i) > 0.9$$\n", | |
| "$$\\sum_i^x (1 - p)^{i - 1}p > 0.9$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The number which pushed our sum over 0.9 is 22\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "Q = range(1, 100)\n", | |
| "p = 0.1\n", | |
| "psum = 0\n", | |
| "for n in Q:\n", | |
| " psum += (1 - p) ** (n - 1) * p\n", | |
| " if(psum > 0.9):\n", | |
| " break\n", | |
| "print 'The number which pushed our sum over 0.9 is {}'.format(n)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "*With a prediction level of 90%, the number of trials is 22*" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "*The 90% prediction interval is [0,22]*" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Defining Functions\n", | |
| "----\n", | |
| "\n", | |
| "Sometimes it's nice to use functions instead of writing the equation for a geometric distribution each time." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Function Definition\n", | |
| "====\n", | |
| "\n", | |
| "You may define your own functions using the `def` command." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 31, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Hello\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "def print_hello():\n", | |
| " print('Hello')\n", | |
| "\n", | |
| "print_hello()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "You may give arguments by putting them inside the `()`. Like this:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Go dog\n", | |
| "See dog go\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "def print_string(s):\n", | |
| " print s # <--- I can now use s anywhere inside the function\n", | |
| "\n", | |
| "print_string('Go dog')\n", | |
| "print_string('See dog go')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "What if you want to return something? You can, with the `return` function." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "4\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "def square(x):\n", | |
| " return x * x\n", | |
| "\n", | |
| "x_squared = square(2)\n", | |
| "print x_squared" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "You can pass multple arguments and your function can be multiple lines, just like `for` loops and `if` statements." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0.06561" | |
| ] | |
| }, | |
| "execution_count": 34, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "def geometric(n, p):\n", | |
| " P_n = (1 - p)**(n - 1) * p\n", | |
| " return P_n \n", | |
| "geometric(5, 0.1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 35, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAswAAAHWCAYAAABjdN96AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X901OWd//3XJ0NCZjJDsJ0QpN8SkvZ0lYMEt3vHo6JY\nQ91QPW28A9a1KVEwdnuv1N31J612757uEYHy7XoXhYrdNWDk1IJLlq3ISoT0i6Fa2QWl7Ba3xiCm\nhE5dQ5IJmcnMdf8xzZiY5JNJMpmZzDwf53iEz3XNJ9ecvBNeuXJ9rssyxhgBAAAAGFZWsgcAAAAA\npDICMwAAAGCDwAwAAADYIDADAAAANgjMAAAAgA0CMwAAAGCDwAwAAADYmBZLp3A4rPr6ejU1NSkY\nDKq0tFS1tbXyeDxD+n7wwQd6+umn1draKp/PpzVr1mjx4sXR9t/97nfauXOnTp06pZ6eHnm9Xt14\n4426/vrr4/euAAAAgDiJaYZ5z549Onr0qNatW6etW7fKGKPNmzcPf8OsLC1atEj33HOPPvnJTw5p\n7+7u1oIFC/TYY4+prq5OtbW12rFjh15//fWJvRMAAABgEsQUmBsbG1VZWamCggI5nU5VV1fr2LFj\n8vl8Q/rOnDlTN9xwgz73uc/Jsqwh7Z/97Gd1ww03aObMmZKkSy65RKWlpTp58uQE3woAAAAQf6MG\nZr/fL5/Pp+Li4ui1wsJCOZ1Otba2TngAvb29evvttzVv3rwJ3wsAAACIt1EDc09PjyTJ5XINup6X\nlxdtG69wOKwf/ehHKigo0LXXXjuhewEAAACTYdSH/pxOp6TITPNA3d3d0bbxCIVCevzxx9XR0aFv\nf/vbysqKfcOOxsbGcX9cAAAAZIby8vK43GfUwOxyueT1etXS0qKioiJJ0tmzZ9XT0xP9+1gFg0Ft\n2rRJgUBAjzzyiHJycsZ8j9LSUoVCoXF9fEx9DodDXq9XPp+POshw1AIk6gAR1AH6ORwOHT9+PG73\ni2lbufLycjU0NGj+/Plyu92qr6/XokWL5PV6h+0fDAZljJEk9fX1KRgMyuFwKCsrSxcuXND69es1\nbdo0rV27VtnZ2eMaeCgU4osB1AGiqAVI1AEiqAPEW0yBubKyUn6/X2vXrlVfX59KS0u1Zs0aSdLh\nw4e1bds21dXVRftXV1dH/7xlyxZt2bJFK1as0PLly/Xaa6/p5MmTysnJ0erVqyVJlmXpmmuu0Z13\n3hnP9wYAAABMmGX6p4KnkMbGRi1YsICfHjOYw+FQYWGh2tvbqYMMRy1Aog4QQR2gn8Ph0IkTJ+K2\nhpmjsQEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQ\nmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEA\nAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAb\nBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYA\nAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADA\nBoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZ\nAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAA\nsEFgBgAAAGwQmAEAAAAb02LpFA6HVV9fr6amJgWDQZWWlqq2tlYej2dI3w8++EBPP/20Wltb5fP5\ntGbNGi1evHhQn7Nnz2rbtm06deqU3G63brzxRt10003xeUcAAABAHMU0w7xnzx4dPXpU69at09at\nW2WM0ebNm4e/YVaWFi1apHvuuUef/OQnh7SHw2GtX79en/70p/WP//iPeuCBB9TQ0KAjR45M7J38\nkQn0xuU+AAAAgBTjDHNjY6NWrFihgoICSVJ1dbW+9a1vyefzyev1Duo7c+ZM3XDDDZIky7KG3Ovk\nyZPy+Xz6i7/4C2VnZ6u4uFhLly7Vyy+/rCuvvHJcb8J0d8ns2yXT3Ch1dkiefFlXlctatlxWnntc\n9wQAAACkGGaY/X6/fD6fiouLo9cKCwvldDrV2to65g94+vRpzZkzR9OnT49eKy4uHte9pEhYDm94\nSGb/C5GwLEmdHTL7X4hc7+4a130BAAAAKYbA3NPTI0lyuVyDrufl5UXbxqKnp2fYe/n9/jHfS5LM\nvl1S2+nhG9tOy7y0e1z3BQAAAKQYlmQ4nU5JGhJou7u7o21j4XQ6h73Xx0P0aBwOhyQp9OoB237m\n1QNy3LJqbINEyuv//Pf/H5mLWoBEHSCCOkC/eNfAqIHZ5XLJ6/WqpaVFRUVFkiK7XPT09ET/PhZF\nRUVqa2tTIBBQTk6OJOmdd94Z8728Xq/CvRf0ftd5+46dHZp10UxZOdPt+2FK+vgaemQuagESdYAI\n6gDxFtNDf+Xl5WpoaND8+fPldrtVX1+vRYsWjViQwWBQxhhJUl9fn4LBoBwOh7KysnTppZeqoKBA\nzz33nG677Ta9//77amxs1KpVY5sF9vl8CoVCknuGZBeaPfk69z8fjuneSH0Oh0Ner/ejOkDGohYg\nUQeIoA7QL+EzzJJUWVkpv9+vtWvXqq+vT6WlpVqzZo0k6fDhw9q2bZvq6uqi/aurq6N/3rJli7Zs\n2aIVK1Zo+fLlysrK0oMPPqinnnpKq1evVl5enr7yla+MeYeMUCikUCgk6+qlkQf+RmBdvZQvmjTW\nXwcAtQCJOkAEdYB4s0z/VPAU0tjYqAULFigUCkV3yRj2wb85c5X1wGNsLZeGHA6HCgsL1d7ezjfF\nDEctQKIOEEEdoJ/D4dCJEydUXl4el/tN+aOxrTx3JBRXVEme/MhFT76siirCMgAAACYspiUZqc7K\nc8uqqpGqamSCAVnZOckeEgAAANLElJ9h/jjCMgAAAOIp7QIzAAAAEE8EZgAAAMAGgRkAAACwQWAG\nAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwQWAGAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwQWAGAAAA\nbBCYAQAAABsEZgAAAMAGgRkAAACwQWAGAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwQWAGAAAAbBCY\nAQAAABsEZgAAAMAGgRkAAACwkTGB2QR6kz0EAAAATEHTkj2AyWS6u2T27ZJpbpQ6OyRPvqyrymUt\nWy4rz53s4QEAAGAKSNvAbLq7FN7wkNR2+qOLnR0y+1+QeesNZT3wGKEZAAAAo0rbJRlm367BYXmg\nttMyL+1O7IAAAAAwJaVvYH71wITaAQAAAClNA7MJ9Epd5+07dXbIBAOJGRAAAACmrLQMzFbOdMk9\nw76TJ19Wdk5iBgQAAIApKy0DsyRZVy+dUDsAAAAgpXNgXrZcmjN3+MY5c2VVVCV2QAAAAJiS0jcw\n57kjW8dVVEme/MhFT76siiq2lAMAAEDM0nYfZikSmq2qGqmqRiYYYM0yAAAAxixtZ5g/jrAMAACA\n8ciYwAwAAACMB4EZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAb\nBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGYA\nAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBGZJJtCb7CEAAAAgRU1L9gCSxXR3yezbJdPcKHV2SJ58\nWVeVy1q2XFaeO9nDAwAAQIrIyMBsursU3vCQ1Hb6o4udHTL7X5B56w1lPfAYoRkAAACSMnRJhtm3\na3BYHqjttMxLuxM7IAAAAKSsmGaYw+Gw6uvr1dTUpGAwqNLSUtXW1srj8Qzb/9ixY9qxY4fa29s1\ne/ZsrVy5UgsXLoy2nzhxQjt37tT777+v3NxclZWVaeXKlZo2LTET3ubVA6O3V9UkZCwAAABIbTHN\nMO/Zs0dHjx7VunXrtHXrVhljtHnz5mH7njt3Tps2bdLNN9+suro6VVZWauPGjfL5fJKk7u5ubdiw\nQdddd52eeeYZPfroozp58qR27doVv3dlwwR6pa7z9p06O2SCgYSMBwAAAKktpsDc2NioyspKFRQU\nyOl0qrq6WseOHYuG4IEOHTqkkpISLV68WA6HQ4sXL1ZJSYkOHTokSWpvb1dvb6++8IUvSJI+8YlP\n6E//9E/V2toav3dlw8qZLrln2Hfy5MvKzknIeAAAAJDaRg3Mfr9fPp9PxcXF0WuFhYVyOp3DhtzW\n1laVlJQMulZcXBzt++lPf1qzZ8/Wyy+/rHA4rN///vc6evSoysrKJvpeYmZdvXRC7QAAAMgcoy4a\n7unpkSS5XK5B1/Py8qJtA124cGFIX5fLpTNnzkiSsrOz9c1vflMbN27U9u3bFQ6Hdc011+i6664b\n08AdDseY+g+UddMt6jtxVOb9oYHf+lSRpt24QtYE7o/J1//5n0gdID1QC5CoA0RQB+gX7xoYNTA7\nnU5JkZnmgbq7u6NtA+Xm5g7p6/f7o31bW1u1fv163XPPPSotLVVnZ6e2bt2qJ554QnfffXfMA/d6\nvTH3HapQ4U3/pPO76tT98r8o3PE/ysq/SHlf/LJmLK9RlmeUJRtIGROrA6QTagESdYAI6gDxNmpg\ndrlc8nq9amlpUVFRkSTp7Nmz6unpif59oKKiIp08eXLQtZaWFl122WWSpDfffFOf+tSntGjRIknS\njBkzVF5ePuJDhCPx+XwKhUJjes0QX7pF0750i0wwICs7R72Sfu/vkfxDZ86RWhwOh7xeb3zqAFMa\ntQCJOkAEdYB+CZ9hlqTy8nI1NDRo/vz5crvdqq+v16JFi4b9CW7JkiXau3evmpubVVZWpiNHjqil\npUVr1qyRFFnP/Pzzz+vNN9/UwoULdf78eTU2Nuozn/nMmAYeCoXi98WQ5ZD4wpqS4loHmNKoBUjU\nASKoA8RbTIG5srJSfr9fa9euVV9fn0pLS6MB+PDhw9q2bZvq6uokRR4IvO+++7R9+3Zt2bJFs2bN\n0v333x8N1wsWLNDKlSv1zDPP6IMPPlB2drbmz5+vO++8c5LeIgAAADB+ljHGJHsQY9XY2KgFCxbw\n02MGczgcKiwsVHt7O3WQ4agFSNQBIqgD9HM4HDpx4oTKy8vjcr+MPBobAAAAiBWBGQAAALBBYAYA\nAABsEJgBAAAAGwRmAAAAwAaBGQAAALBBYAYAAABsEJgBAAAAGwRmAAAAwAaBGQAAALBBYAYAAABs\nEJgBAAAAGwRmAAAAwAaBGQAAALBBYAYAAABsEJhtmEBvsocAAACAJJuW7AGkGtPdJbNvl0xzo9TZ\nIXnyZV1VLmvZcll57mQPDwAAAAlGYB7AdHcpvOEhqe30Rxc7O2T2vyDz1hvKeuAxQjMAAECGYUnG\nAGbfrsFheaC20zIv7U7sgAAAAJB0BOYBzKsHJtQOAACA9ENg/iMT6JW6ztt36uyQCQYSMyAAAACk\nBALzH1k50yX3DPtOnnxZ2TmJGRAAAABSAoF5AOvqpRNqBwAAQPohMA9gLVsuzZk7fOOcubIqqhI7\nIAAAACQdgXkAK88d2Tquokry5EcuevJlVVSxpRwAAECGYh/mj7Hy3LKqaqSqGplggDXLAAAAGY4Z\nZhuEZQAAABCYAQAAABsEZgAAAMAGgRkAAACwQWAGAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwQWAG\nAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwQWAGAAAAbBCYAQAAABsEZgAAAMAGgXmcTKA32UMAAABA\nAkxL9gCmEtPdJbNvl0xzo9TZIXnyZV1VLmvZcll57mQPDwAAAJOAwBwj092l8IaHpLbTH13s7JDZ\n/4LMW28o64HHCM0AAABpiCUZMTL7dg0OywO1nZZ5aXdiBwQAAICEIDDHyLx6YELtAAAAmJoIzDEw\ngV6p67x9p84OmWAgMQMCAABAwhCYY2DlTJfcM+w7efJlZeckZkAAAABIGAJzjKyrl06oHQAAAFMT\ngTlG1rLl0py5wzfOmSuroiqxAwIAAEBCEJhjZOW5I1vHVVRJnvzIRU++rIoqtpQDAABIY+zDPAZW\nnltWVY1UVSMTDLBmGQAAIAMwwzxOhGUAAIDMQGAGAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwQWAG\nAAAAbBCYAQAAABsEZgAAAMAGgRkAAACwEdNJf+FwWPX19WpqalIwGFRpaalqa2vl8XiG7X/s2DHt\n2LFD7e3tmj17tlauXKmFCxcOut+uXbvU1NSk8+fP66KLLtKqVau0aNGi+LwrAAAAIE5iCsx79uzR\n0aNHtW7dOrndbj355JPavHmz1q5dO6TvuXPntGnTJn3jG9/QlVdeqSNHjmjjxo364Q9/KK/XK0l6\n6qmn9P777+vhhx/WxRdfrA8//FB9fX3xfWcAAABAHMS0JKOxsVGVlZUqKCiQ0+lUdXW1jh07Jp/P\nN6TvoUOHVFJSosWLF8vhcGjx4sUqKSnRoUOHJEltbW06ePCgvvnNb+riiy+WJM2cOTMapgEAAIBU\nMuoMs9/vl8/nU3FxcfRaYWGhnE6nWltbhwTd1tZWlZSUDLpWXFys1tZWSdKvf/1ruVwuNTc368CB\nA3I4HLr88stVXV2t3NzceLynpDKBXlk505M9DAAAAMTJqIG5p6dHkuRyuQZdz8vLi7YNdOHChSF9\nXS6Xzpw5I0nq7OyU3+9XW1ub/uEf/kEXLlzQD37wA23fvl133XVXzAN3OBwx951sprtToRd/pvDh\nA1Jnh+TJV9bipXJ8aYWsvOHXeWNi+j//qVQHSA5qARJ1gAjqAP3iXQOjBman0ykpMtM8UHd3d7Rt\noNzc3CF9/X5/tG//LPKtt96q3Nxc5ebm6itf+YqeeuqpMQXmVFnCEe48r/bvrVG49Z2PLnZ2KLxv\nt7JO/odmrX9aWZ4ZyRtgmkuVOkDyUQuQqANEUAeIt1EDs8vlktfrVUtLi4qKiiRJZ8+eVU9PT/Tv\nAxUVFenkyZODrrW0tOiyyy6TJM2bN2/Ia4wxsixrTAP3+XwKhUJjes1k6PvZPw4OywPbWt/R7+qe\n1LQVdyR4VOnP4XDI6/WmTB0geagFSNQBIqgD9Ev4DLMklZeXq6GhQfPnz5fb7VZ9fb0WLVo07E9w\nS5Ys0d69e9Xc3KyysjIdOXJELS0tWrNmjSTp0ksv1dy5c/X888+rtrZWFy5c0N69e3XFFVeMaeCh\nUCglvhjC/+dl+/bDLyv0f69M0GgyT6rUAZKPWoBEHSCCOkC8xRSYKysr5ff7tXbtWvX19am0tDQa\ngA8fPqxt27aprq5OUuSBwPvuu0/bt2/Xli1bNGvWLN1///3RcG1Zlh588EFt27ZNtbW1ysvL0xVX\nXKHbbrttkt7i5DGBXqnrvH2nzg6ZYEBWdk5iBgUAAIC4sowxJtmDGKvGxkYtWLAgJX56DP1NtX1o\n9uTL8b93JG5AGcLhcKiwsFDt7e0pUQdIHmoBEnWACOoA/RwOh06cOKHy8vK43I+jsSfIunrphNoB\nAACQ2gjME2QtWy7NmTt845y5siqqEjsgAAAAxBWBeYKsPLeyHngsEow9+ZGLnnxZFVWR63nu5A4Q\nAAAAExLTQ3+wZ+W5ZVXVSFU1POAHAACQZphhjjPCMgAAQHohMAMAAAA2CMwAAACADQIzAAAAYIPA\nDAAAANggMAMAAAA2CMwAAACADQIzAAAAYIPADAAAANggMAMAAAA2CMwJZAK9yR4CAAAAxmhasgeQ\n7kx3l8y+XTLNjVJnh+TJl3VVuaxly2XluZM9PAAAAIyCwDyJTHeXwhsektpOf3Sxs0Nm/wsyb72h\nrAceIzQDAACkOJZkTCKzb9fgsDxQ22mZl3YndkAAAAAYMwLzJDKvHphQOwAAAJKPwDxJTKBX6jpv\n36mzQyYYSMyAAAAAMC4E5kli5UyX3DPsO3nyZWXnJGZAAAAAGBcC8ySyrl46oXYAAAAkH4F5ElnL\nlktz5g7fOGeurIqqxA4IAAAAY0ZgnkRWnjuydVxFleTJj1z05MuqqGJLOQAAgCmCfZgnmZXnllVV\nI1XVyAQDrFkGAACYYphhTiDCMgAAwNRDYAYAAABsEJgBAAAAGwRmAAAAwAaBGQAAALBBYAYAAABs\nEJgBAAAAGwRmAAAAwAaBOQWYQG+yhwAAAIARcNJfkpjuLpl9u2SaG6XOjsiR2VeVy1q2nCOzAQAA\nUgiBOQlMd5fCGx6S2k5/dLGzQ2b/CzJvvaGsBx4jNAMAAKQIlmQkgdm3a3BYHqjttMxLuxM7IAAA\nAIyIwJwE5tUDE2oHAABA4hCYE8wEeqWu8/adOjtkgoHEDAgAAAC2CMwJZuVMl9wz7Dt58mVl5yRm\nQAAAALBFYE4C6+qlE2oHAABA4hCYk8BatlyaM3f4xjlzZVVUJXZAAAAAGBGBOQmsPHdk67iKKsmT\nH7noyZdVUcWWcgAAACmGfZiTxMpzy6qqkapqZIIB1iwDAACkKGaYUwBhGQAAIHURmAEAAAAbBGYA\nAADABoEZAAAAsEFgBgAAAGwQmAEAAAAbBOYUZwK9yR4CAABARmMf5hRkurtk9u2SaW6UOjsih5pc\nVS5r2XIONQEAAEgwAnOKMd1dCm94SGo7/dHFzg6Z/S/IvPUGJwECAAAkGEsyUozZt2twWB6o7bTM\nS7sTOyAAAIAMR2BOMebVAxNqBwAAQHwRmFOICfRKXeftO3V2yAQDiRkQAAAACMypxMqZLrln2Hfy\n5MvKzknMgAAAAEBgTjXW1Usn1A4AAID4IjCnGGvZcmnO3OEb58yVVVGV2AEBAABkOAJzirHy3JGt\n4yqqJE9+5KInX1ZFFVvKAQAAJAH7MKcgK88tq6pGqqqRCQZYswwAAJBEMQXmcDis+vp6NTU1KRgM\nqrS0VLW1tfJ4PMP2P3bsmHbs2KH29nbNnj1bK1eu1MKFC4f0a21t1dq1azV//nw9/PDDE3snaYqw\nDAAAkFwxLcnYs2ePjh49qnXr1mnr1q0yxmjz5s3D9j137pw2bdqkm2++WXV1daqsrNTGjRvl8/kG\n9QuHw9q6dasuvfTSib8LAAAAYJLEFJgbGxtVWVmpgoICOZ1OVVdX69ixY0NCsCQdOnRIJSUlWrx4\nsRwOhxYvXqySkhIdOnRoUL9//ud/1mc+8xldcsklcXkjAAAAwGQYNTD7/X75fD4VFxdHrxUWFsrp\ndKq1tXVI/9bWVpWUlAy6VlxcPKjv6dOn1dTUpOrq6omMHQAAAJh0o65h7unpkSS5XK5B1/Py8qJt\nA124cGFIX5fLpTNnzkiKLMXYsmWL7rjjDuXm5o574A6HY9yvxdTX//mnDkAtQKIOEEEdoF+8a2DU\nwOx0OiVFZpoH6u7ujrYNlJubO6Sv3++P9t2zZ48uvvhiXX755eMetCR5vd4JvX6qC/deUNb08f/A\nkS4yvQ7wEWoBEnWACOoA8TZqYHa5XPJ6vWppaVFRUZEk6ezZs+rp6Yn+faCioiKdPHly0LWWlpbo\nLhlvvfWWWlpatHr1aklSIBBQKBTSnXfeqccff1x5eXkxDdzn8ykUCsXUN12Y7k6FXvyZwocPSJ0d\nkidfWYuXyvGlFbLyht+xJF05HA55vd6MrAMMRi1Aog4QQR2gX8JnmCWpvLxcDQ0Nmj9/vtxut+rr\n67Vo0aJhf4JbsmSJ9u7dq+bmZpWVlenIkSNqaWnRmjVrJEl/+7d/q2AwGO3/r//6r/rtb3+rv/7r\nv445LEtSKBTKqC8G092l8IaHpLbTH13s7FB4326Fj/8qYw81ybQ6wMioBUjUASKoA8RbTIG5srJS\nfr9fa9euVV9fn0pLS6MB+PDhw9q2bZvq6uokRR4IvO+++7R9+3Zt2bJFs2bN0v333x8N1x/fu9np\ndCo7O1sXXXRRPN9X2jH7dg0OywO1nZZ5aXfksBMAAADElWWMMckexFg1NjZqwYIFGfXTY+hvqqWu\n8yN38OTL8b93JG5ASeZwOFRYWKj29vaMqgMMRS1Aog4QQR2gn8Ph0IkTJ1ReXh6X+8W0DzOSywR6\n7cOyJHV2yAQDiRkQAABABiEwTwFWznTJPcO+kyefY7QBAAAmAYF5irCuXjqhdgAAAIwPgXmKsJYt\nl+bMHb5xzlxZFVWJHRAAAECGIDBPEVaeO7J1XEWV5MmPXPTky6qoytgt5QAAABIhpm3lkBqsPHdk\n67iqGplggDXLAAAACcAM8xRFWAYAAEgMAjMAAABgg8AMAAAA2CAwpyET6E32EAAAANIGD/2lCdPd\nJbNvl0xzo9TZEdlB46pyWcuWs4MGAADABBCY04Dp7lJ4w0NS2+mPLnZ2yOx/QeatN9h2DgAAYAJY\nkpEGzL5dg8PyQG2nZV7andgBAQAApBECcxowrx6YUDsAAABGRmCe4kygV+o6b9+ps0MmGEjMgAAA\nANIMgXmKs3KmS+4Z9p08+Rx0AgAAME4E5jRgXb10Qu0AAAAYGYE5DVjLlktz5g7fOGeurIqqxA4I\nAAAgjRCY04CV545sHVdRJXnyIxc9+bIqqthSDgAAYILYhzlNWHluWVU1UlWNTDDAmmUAAIA4YYY5\nDRGWAQAA4ofAnEFMoDfZQwAAAJhyWJKR5kx3l8y+XTLNjVJnR2Rt81XlspYtZ20zAABADAjMacx0\ndym84aHBx2Z3dsjsf0HmrTd4IBAAACAGLMlIY2bfrsFheaC20zIv7U7sgAAAAKYgAnMaM68emFA7\nAAAACMxpywR6pa7z9p06O2SCgcQMCAAAYIoiMKcpK2e65J5h38mTzxZ0AAAAoyAwpzHr6qUTagcA\nAACBOa1Zy5ZLc+YO3zhnbuQobQAAANgiMKcxK88d2Tquokry5EcuevJlVVSxpRwAAECM2Ic5zVl5\nbllVNVLulPIdAAAWYElEQVRVjUwwwJplAACAMWKGOYPYhWWOzQYAABgeM8wZjGOzAQAARkdgzlAc\nmw0AABAblmRkKI7NBgAAiA2BOUNxbDYAAEBsCMwZiGOzAQAAYkdgzkAcmw0AABA7AnOG4thsAACA\n2BCYMxTHZgMAAMSGwJyhODYbAAAgNuzDnMFiOTbbBHoja54BAAAyFIEZkgYfm80JgAAAAB8hMGMQ\nTgAEAAAYjDXMGIQTAAEAAAYjMGMQTgAEAAAYjMCMKE4ABAAAGIrAjChOAAQAABiKwIxBOAEQAABg\nMAIzBuEEQAAAgMEIzBhkLCcAmkBvkkYJAACQOOzDjCHsTgDkUBMAAJBpCMyw9fGwzKEmAAAg07Ak\nAzHjUBMAAJCJCMyIGYeaAACATERgRkw41AQAAGQqAjNiwqEmAAAgUxGYETMONQEAAJmIwIyYxXqo\nCfszAwCAdMK2cohZ/6Em5qXdkQf8+vdhvnqpdO2fy+zbpTD7MwMAgDQTU2AOh8Oqr69XU1OTgsGg\nSktLVVtbK4/HM2z/Y8eOaceOHWpvb9fs2bO1cuVKLVy4UJL0u9/9Tjt37tSpU6fU09Mjr9erG2+8\nUddff3383hUmzXCHmrA/MwAASGcxLcnYs2ePjh49qnXr1mnr1q0yxmjz5s3D9j137pw2bdqkm2++\nWXV1daqsrNTGjRvl8/kkSd3d3VqwYIEee+wx1dXVqba2Vjt27NDrr78ev3eFhOh/wI/9mQEAQDqL\nKTA3NjaqsrJSBQUFcjqdqq6u1rFjx6IheKBDhw6ppKREixcvlsPh0OLFi1VSUqJDhw5Jkj772c/q\nhhtu0MyZMyVJl1xyiUpLS3Xy5Mn4vSskFPszAwCAdDZqYPb7/fL5fCouLo5eKywslNPpVGtr65D+\nra2tKikpGXStuLh42L6S1Nvbq7ffflvz5s0b49CRCtifGQAApLtR1zD39PRIklwu16DreXl50baB\nLly4MKSvy+XSmTNnhvQNh8P60Y9+pIKCAl177bVjGrjD4RhTf0wSp0sB9wz70OzJ17RcZ1w/bP/n\nnzoAtQCJOkAEdYB+8a6BUQOz0xkJOn6/f9D17u7uaNtAubm5Q/r6/f4hfUOhkB5//HF1dHTo29/+\ntrKyxrbDndfrHVN/TJ4P/7xSnbu3j9ju+fNKzSwsnJSPTR2gH7UAiTpABHWAeBs1MLtcLnm9XrW0\ntKioqEiSdPbsWfX09ET/PlBRUdGQ9cgtLS267LLLon8PBoPatGmTAoGAHnnkEeXkjP10OJ/Pp1Ao\nNObXIf7MdV+S9csmmfeHLruxPlWkC0uWqb29PdI30Bs5NXCCHA6HvF4vdQBqAZKoA0RQB+iX8Blm\nSSovL1dDQ4Pmz58vt9ut+vp6LVq0aNif4JYsWaK9e/equblZZWVlOnLkiFpaWrRmzRpJkSUb69ev\n17Rp07R27VplZ2ePa+ChUIgvhlSR65J1/zppmP2ZrYoqhUJhmZ/+RGYS9mimDtCPWoBEHSCCOkC8\nWcYYM1qncDis5557TgcPHlRfX59KS0t11113ye126/Dhw9q2bZvq6uqi/Y8fP67t27fr3LlzmjVr\nlm6//fboDHNTU5OefPJJ5eTkyLKsyCAsS9dcc43uvPPOmAbd2NioBQsW8MWQovr3Z5Y0/B7N/ebM\nHfcezQ6HQ4WFhWpvb6cOMhy1AIk6QAR1gH4Oh0MnTpxQeXl5XO4XU2BONQTmqSO86xmZ/S+M2G5V\nVCmrqmbM9+WbIvpRC5CoA0RQB+gX78A8tiftgDFij2YAADDVEZgxadijGQAApAMCMyaNlTNdcs+w\n7+TJl5WdEwnXAAAAKSimXTKA8bKuXmq7hlneQoX+9utx3z0DAAAgXphhxqSyli2X5swdvnFattRy\nKhKWpcjyjP0vKLzhIZnursQNEgAAwAaBGZPKynNHto6rqJI8+ZGLnnyp+HNSX3D4F7Wdlnlpd+IG\nCQAAYIMlGZh0Vp5bVlWNVFUT3aM59DfVtq8xrx6QxrHdHAAAQLwxw4yEij7gx+4ZAABgiiAwI+HG\nsnuGJHbQAAAAScWSDCTFqLtnlF0bOSWwuZEdNAAAQFIxw4yksN09Y/b/kn79H5FAzQ4aAAAgyQjM\nSIqRds+wKqqk+ZdLZ88M/0J20AAAAAnGkgwkzXC7Z0iKbQeNW1YlYogAAADMMCM1DHrAjx00AABA\nCiEwI6WMZQeNcO+FxAwKAABkNJZkIOWMuoOGt1CBe27T++yeAQAAEoAZZqQc2x00pmVLLafYPQMA\nACQMgRkpZ6QdNFT8OakvOPyL2D0DAABMEpZkICUNt4NGTLtnVNVE/hzojayHBgAAmCACM1KelZ0T\n8+4Zoed/Iv3yEKcDAgCAuGFJBqaEmHbPyMqSXm5gfTMAAIgrAjOmDOvqpfYdwuHhr7O+GQAATACB\nGVOG7e4ZWfalbF49MAkjAgAAmYDAjCljxN0zvlg58uxyvz+eDmgCvZM/UAAAkFZ46A9TSv/uGY5b\nVmnWRTN17n8+VCgUUujIK/YPBebkKPzgah4GBAAAY8YMM6asgdvGjbq+ORDgYUAAADAuBGakBdv1\nzSPhYUAAABADAjPSwojrm7NzbF838GFA1jcDAIDhsIYZaePjpwPKGIX/aoX9izjsBAAAjIIZZqQl\nKzuHw04AAEBcEJiR1uJ12AnLNQAAyFwsyUBas5Ytl3nrDant9NDGrCzb/ZvN4ZcVNkamuZHlGgAA\nZDBmmJHWJnTYSdd5mf0vsFwDAIAMxwwz0t7HHwa0/rhzxqiHnYzkj8s1rKoamUDvoP2gAQBA+iEw\nI6NYA7aZs65eGplBHgfzyl6FXj3AUg0AADIASzKQscZ12Ek/Tg4EACBjEJiRsUZa32xVVEl5nrHf\nkJ01AABISyzJQEYbaX1z2JhxLddgZw0AANIPM8zAHw1a3zze5RrsrAEAQNohMAPDGHE7ugGhekwG\nLNdgqQYAAFMLSzKAEQy3XCO86xl21gAAIMMwwwzEoH+5xmTvrMHsMwAAqYcZZmAM+pdqmJd2ywyc\nLb56qcz/+Tepu3NsN2w7rfDenbKmZfOgIAAAKYrADIxRvHfW0MGfyww8pvuPs8/mrTci66jz3Jwo\nCABAEhGYgQn4+M4a5q03pLbTY7vJwLA8UNtphR//fyVfOzPPAAAkEWuYgTiJ+84aktRyinXPAAAk\nGTPMQBzFe2eNYbHuGQCAhGKGGZgkMe2skTXOL8GDPx/1gBRmngEAiA9mmIFJZruzRiAgvbJ37Ded\n4LpnHiIEACB2BGYgAUbaWcN0dyn8X8fH/qCgnZZTH/15wI4b1t0PS00v2S7jIEgDADAUgRlIsEE7\na4ww+yxv4eDgO1Ftp2UevU/qOv/Rtf4wffx1af7l0q9+wXpoAACGQWAGkmy42WfT3aXwhoeGn3nO\nyhp5SYadgWF5oLNnIv/1G2YfaInZZwBA5iIwAykk+qDgZKx7HqsYd+MgSAMA0h2BGUhRCV33PJKR\nTiGMcRkHYRoAkA4IzMAUkJR1z9LISz9slnFM9OFCQjYAINUQmIEpaMzrnt0eqatz8gc2zocLJcns\n28XSDwBASiIwA1NcLOuede2fy2z++8Qs4xjrw4XHX/+ofbi2GJZ+hHsvDPshCdkAgHggMANpZKR1\nz5JkhlvGUXat9Ov/GBxW+413N46xGu5jD2wbZelHqLlR7w8I01pSMeqSEGnkME3IBgB8nGWMMcke\nxFg1NjZqwYIFCoVCyR4KksThcKiwsFDt7e3UwTh8/CHCpO7GMV7uGcPPZk/LlvqCQ6/PmTvi+mpC\n9tTH9wRI1AE+4nA4dOLECZWXl8flfswwAxno4w8RJn03jvEYaenHcGFZsl1frca9g18Xw0OMkxmy\nCeYAkFoIzACiYtqNw24ZR6IeLhyvFA7Z0vAPPqZaMCfMA8hEMS3JCIfDqq+vV1NTk4LBoEpLS1Vb\nWyuPxzNs/2PHjmnHjh1qb2/X7NmztXLlSi1cuDDafvbsWW3btk2nTp2S2+3WjTfeqJtuuinmQbMk\nA/zaLfFiWcaR0IcLU9lYl4vM/l+R/w/3Q0icl5hIYw/m43lNrPtxxyu0OxwOFczM1+8/7Bj2e0Iq\n/0CRyq+Zavi3Af3ivSQjpsD8wgsv6Be/+IW+853vyO1268knn1QgENDatWuH9D137pzuvfdefeMb\n39CVV16pI0eO6Mc//rF++MMfyuv1KhwO695771Vpaam+9rWv6cyZM3r00Ue1atUqXXnllTENmsAM\nvimmjiEPFw4Tpm1npe3CIuwlIpjHOcwnMrTzmvT+zQU/OMX3Nakwhni+JimB+a/+6q+0YsUKXXfd\ndZKk9vZ2fetb39ITTzwhr9c7qO/zzz+vX//61/re974XvfZ3f/d3uuyyy7R8+XKdOHFC69ev19NP\nP63p0yNv8Kc//al+85vf6Lvf/W5MgyYwg8A8NcQyK21VVEXa02npB0YO84kK7bwmLX9zwWvi+5pU\nGMNk/cCX8MDs9/t1xx13aMOGDSoqKopev/3227VmzRp9/vOfH9R/48aNmjVrlmpqaqLXnnnmGf3h\nD3/QvffeqxdffFFNTU1av359tP3111/Xj3/8Y/3kJz+JadAEZhCYp7aPz0qP1DaupR8jBQFCNhCb\nVP3NBa+J/2tSYQxx/oEv64HHZOW5E79LRk9PjyTJ5XINup6XlxdtG+jChQtD+rpcLp05cyZ6v+Hu\n5ff7xzZyAFPWSGH5421j3Ve6P0zrF/sJ2cB4jfXhWLvlVLwmtV+TCmOI52vaTsu8tDvy70acjRqY\nnU6nJA0JtN3d3dG2gXJzc4f09fv90b5Op3PYe308RI/G4XCMqT/SS//nnzrIII6Pfb+ZkS/dskqO\nv6jVJ2d49IfznR/9tuGWVdItq4aG7LUbFHpxl8KHX46G6azFX1TWdRUKH3pp2Ouh/+/7Mu+3Dh3P\niCF7hNk5AMCkM68ekOOWVXHPB6MGZpfLJa/Xq5aWluiSjLNnz6qnp2fQEo1+RUVFOnny5KBrLS0t\nuuyyy6LtbW1tCgQCysmJ/EP2zjvvDHsvO8ePHx9TfwCQJF36f0X+G6j9DyNf/+r/k7ixAQAm7sSJ\nuN8ypn2Yy8vL1dDQoPnz58vtdqu+vl6LFi0a8sCfJC1ZskR79+5Vc3OzysrKdOTIEbW0tGjNmjWS\npEsvvVQFBQV67rnndNttt+n9999XY2OjVq1aFfOg47UeBQAAABhNzPswP/fcczp48KD6+vpUWlqq\nu+66S263W4cPH9a2bdtUV1cX7X/8+HFt375d586d06xZs3T77bdHZ5ilyC4bTz31lE6dOqW8vDzd\ndNNNY9qHGQAAAEiUmAIzAAAAkKmykj0AAAAAIJURmAEAAAAbBGYAAADABoEZAAAAsEFgBgAAAGwQ\nmAEAAAAbMR1ckirC4bDq6+vV1NSkYDCo0tJS1dbWyuPxJHtomCT19fX693//d/l8PjmdTl1++eX6\n2te+JrfbHe3T1NSkXbt26cMPP9TcuXO1evVqlZSUJHHUmEzGGD3yyCN6++23tWXLFn3iE5+QRB1k\nmjfffFM//elP9d577yknJ0dXXnmlVq9eLYlayBRdXV36p3/6J7355psKhUIqLi7WypUroycHUwfp\nqbm5Wfv379e7776rQCCgnTt3Dmof7fP+29/+Vj/5yU/03nvv6aKLLtKKFSt0zTXXjP6BzRSye/du\nc88995hz584Zv99vfvCDH5hHH3002cPCJNq5c6dpaWkxoVDInD9/3jz66KNm/fr10fb//M//NNXV\n1ebNN980wWDQNDQ0mDvvvNP09PQkcdSYTP/yL/9ivv/975tbbrnF/OEPfzDGUAeZ5sSJE+b22283\nr732munr6zPBYNC0tLQYY6iFTPL444+bv//7vzfd3d2mr6/P7Nixw/zlX/6lMYY6SGfHjx83r776\nqnnllVfMrbfeOqhttM97d3e3Wb16tWloaDDBYNAcP37cfP3rXzenTp0a9eNOqSUZjY2NqqysVEFB\ngZxOp6qrq3Xs2DH5fL5kDw2T5NZbb9W8efOUlZUlj8ejZcuW6eTJk9H2xsZGXXHFFbrssss0bdo0\nffnLX1ZOTo5ef/31JI4ak6WtrU0vv/yyvv71rw+6Th1klp07d+qLX/yiysrK5HA4NG3aNM2bN08S\ntZBJWltbdcUVV8jlcsnhcOj666/XBx98oK6uLuogjS1cuFBXXXWVCgsLh7SN9nl/7bXXNH36dH35\ny1/WtGnTtHDhQpWVlenAgQOjftwpE5j9fr98Pp+Ki4uj1woLC+V0OtXa2prEkSGR3nrrreiv26TI\nN8yP/4qtqKhI7777boJHhslmjNHWrVu1cuVKuVyuQW3UQebo7e3Vf//3fysUCunBBx/U6tWr9b3v\nfU/vvPOOJGohk5SVlenIkSM6f/68AoGADhw4oEsvvVRut5s6yFCjfd5bW1sH5UhJKi4ujilHTpnA\n3NPTI0lD/qHMy8uLtiG9/fKXv9SBAwd0xx13RK/19PRQExni5z//uS666CL92Z/9WfSaZVmSqINM\n0t3dLWOMmpubdffdd+upp57SwoULtW7dOvn9fmohg1RWVkqSamtrVVNTo1/96le66667JPE9IVON\n9nm/cOHCuOtiygRmp9MpKTLTPFB3d3e0DenryJEj2rZtmx588MHor16lSF1QE+nv7Nmz+vnPf65V\nq1ZJisw2D/w/dZA5cnNzJUlf+MIX9OlPf1oOh0M333yzQqGQfvOb31ALGeT73/++Lr74YtXV1enZ\nZ5/VzTffrO9+97vq6OigDjLUaJ/33NzccdfFlAnMLpdLXq9XLS0t0Wtnz55VT0/PoF/RI/0cPHhQ\nTz/9tB588EHNnz9/UFtRUdGgmpCkd999d1CoxtT3X//1Xzp//rzuvfderV69Wg899JAk6f7779e/\n/du/ad68edRBhnC5XCooKBi2zbIsvidkiM7OTr399tv60pe+pNzc3OgaZmOM3n77beogQ432eZ83\nb96QZTktLS0x5cgpE5glqby8XA0NDTp37pz8fr/q6+u1aNEieb3eZA8Nk+TFF1/Us88+q+985zv6\n3Oc+N6S9vLxcr7/+uk6cOKG+vj41NDSor69PZWVlSRgtJstVV12lH/3oR9qwYYM2btyotWvXSpIe\nfvhhLVmyRNdffz11kEFuuOEGHTx4UGfOnFE4HFZDQ4Oys7P1J3/yJ3xPyBAej0der1f79+9Xb2+v\nwuGwXnnlFV24cEFz586lDtJYOBxWMBhUMBiUpEF/Hu3zXlZWpt7eXu3du1d9fX1688039atf/Upf\n/OIXR/24lun/neYUEA6H9dxzz+ngwYPq6+tTaWmp7rrrrkF78iK9fPWrX5XD4VB2drakyK/gLctS\nXV1dtM8vfvEL/exnP4vuuVhbW8ssQpr7/e9/r7vvvnvQPszUQWZ5/vnndeDAAQWDQRUXF6umpiY6\nS0QtZIbW1lY9++yzeueddxQOhzV79mwtX75cn//85yVRB+nq0KFD2rJly5DrTzzxhLxe76if93fe\neUdPP/203nvvPc2cOVNf/epXtXjx4lE/7pQKzAAAAECiTaklGQAAAECiEZgBAAAAGwRmAAAAwAaB\nGQAAALBBYAYAAABsEJgBAAAAGwRmAAAAwAaBGQAAALBBYAYAAABs/P+SRxEtrbN3RAAAAABJRU5E\nrkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a361209b0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "Q = np.arange(1,100)\n", | |
| "plt.plot(Q, geometric(Q, 0.1), 'o')\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Documenting Your Function\n", | |
| "----\n", | |
| "\n", | |
| "You can make your own documentation. Use the `'''` instead of just one `'` so that you can use multiple lines\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 45, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def my_geom(n, p=0.5):\n", | |
| " '''This function will compute the probability of n from a geometric distribution given p\n", | |
| " \n", | |
| " Args:\n", | |
| " p: The probability of success\n", | |
| " n: The number of times before and including success\n", | |
| " returns: the probability'''\n", | |
| " return (1 - p)**(n - 1)* p" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 46, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Help on function my_geom in module __main__:\n", | |
| "\n", | |
| "my_geom(n, p=0.5)\n", | |
| " This function will compute the probability of n from a geometric distribution given p\n", | |
| " \n", | |
| " Args:\n", | |
| " p: The probability of success\n", | |
| " n: The number of times before and including success\n", | |
| " returns: the probability\n", | |
| "\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "help(my_geom)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Notice I used a default value for `p`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 48, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0.0625" | |
| ] | |
| }, | |
| "execution_count": 48, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "my_geom(n=4)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "collapsed": true, | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Scipy Stats\n", | |
| "----\n", | |
| "\n", | |
| "There is a library, that we will gradually begin to use, that has all distributions and utilities for prediction intervals. Use it sparingly until you understand the concepts well" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0.08192000000000002" | |
| ] | |
| }, | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "#geometric probability of 5 with p=0.2\n", | |
| "p = 0.2\n", | |
| "n = 5\n", | |
| "(1 - p )**(n - 1) * p" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 51, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0.065610000000000002" | |
| ] | |
| }, | |
| "execution_count": 51, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "from scipy import stats as ss\n", | |
| "\n", | |
| "ss.geom.pmf(5, p=0.1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "You can plot, since this is a `numpy` supporting library" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAHWCAYAAABqn38AAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9UXHed//HXcENkBthSZsikVUugsaQ0Aaoesq1oanGj\nu/XYSdbdUqWptVJPQzndH8lWsNnV3YO0ZqOrJoDGY0tSbOwqGza6HredU9CcsOpGaY3Z0tpOR2MM\nyYCTADM0w8x8/4id70UoPwLcYeD5OMezcu9nhvd9nXHzmsudO7Z4PB4XAAAAAElSWrIHAAAAABYT\nCjIAAABgQkEGAAAATCjIAAAAgAkFGQAAADChIAMAAAAmFGQAAADAZMVMFsViMbW3t6u7u1uRSESl\npaWqqalRdnb2hLWDg4P6+te/Lr/fr0AgoLq6OlVUVIxb09raqpdeekmnT5/WLbfcok9+8pPzczQA\nAADAHM3oDPLhw4d1/PhxNTU1qbW1VfF4XHv37p38CdPSVFZWpgcffFBOp3PSNWvWrNHdd9+td77z\nnZc/OQAAALAAZlSQvV6vPB6P8vLyZLfbVV1drd7eXgUCgQlrc3JytHnzZl133XWy2WyTPt8HPvAB\nlZSUyG63z216AAAAYJ5NW5BDoZACgYAKCgoS29xut+x2u/x+/4IOBwAAAFht2oIcDoclSQ6HY9z2\nzMzMxD4AAABgqZj2Q3qvXwYRCoXGbR8ZGUnaJRJerzcpvxcAAACpo7Ky8rIeN21Bdjgccrlc8vl8\nys/PlySdOXNG4XA48XMylJaWKhqNJu33LyeGYcjlcikQCJC5RcjcemRuPTJPDnK3HplbzzAMPffc\nc5f9+Bnd5q2yslKdnZ0qLi5WVlaW2tvbVVZWJpfLNen6SCSieDwuSRobG1MkEpFhGEpLS0tsi8Vi\nisVistlsikQistlsWrFiRuNIkqLRKC8yi5G59cjcemRuPTJPDnK3Hpmnjhk1Uo/Ho1AopPr6eo2N\njam0tFR1dXWSpKNHj2r//v1qa2tLrK+urk7895aWFrW0tOiv/uqv9OEPf1iS1NjYqJMnTybWdHV1\nqbi4WP/0T/80LwcFAAAAXK4ZFeS0tDRVV1ePK76vq6iomPBFIN/61remfD6KMAAAABYrvmoaAAAA\nMKEgAwAAACYUZAAAAMCEggwAAACYUJABAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSAD\nAAAAJhRkAAAAwISCDAAAAJhQkAEAAAATCjIAAABgQkEGAAAATCjIAAAAgAkFGQAAADChIAMAAAAm\nFGQAAADAhIIMAAAAmFCQAQAAABMKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAA\nAMCEggwAAACYUJABAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSADAAAAJhRkAAAAwISC\nDAAAAJhQkAEAAAATCjIAAABgsmImi2KxmNrb29Xd3a1IJKLS0lLV1NQoOzt7wtrBwUF9/etfl9/v\nVyAQUF1dnSoqKsatOXPmjPbv368XX3xRWVlZuu222/TBD35wfo5okQuHJbs92VMAAADgjczoDPLh\nw4d1/PhxNTU1qbW1VfF4XHv37p38CdPSVFZWpgcffFBOp3PC/lgspkcffVRvfetb9Y1vfEP/8A//\noM7OTvX09MztSBaxYNCmxsZslZS4tXbt1SopcauxMVvBoC3ZowEAAOCPzKgge71eeTwe5eXlyW63\nq7q6Wr29vQoEAhPW5uTkaPPmzbruuutks00sgCdPnlQgENCdd96p9PR0FRQU6H3ve5+efvrpuR/N\nIhQM2rR1q0vNzdkaGDAkSQMDhpqbs7V1q4uSDAAAsMhMW5BDoZACgYAKCgoS29xut+x2u/x+/6x/\n4a9//WtdffXVetOb3pTYVlBQcFnPlQr27ctSX1/6pPv6+tLV3Jxl8UQAAACYyrTXIIfDYUmSw+EY\ntz0zMzOxbzbC4fCkzxUKhWb1PIZhzPp3J8OhQ5nT7t+1a3bHbrXXs06VzJcCMrcemVuPzJOD3K1H\n5taba9bTFmT7Hz5R9scFdmRkJLFvNux2+6TP9celeToul2vWv9tq4bA0ODj1moGBNF1xhVsZGdbM\nNBepkPlSQ+bWI3PrkXlykLv1yDx1TFuQHQ6HXC6XfD6f8vPzJV26C0U4HE78PBv5+fk6ffq0Ll68\nqJUrV0qSXnnllVk/VyAQUDQanfXvt1pubp4GB9/4ShanM6bz58/p/HkLh5olwzDkcrlSJvOlgMyt\nR+bWI/PkIHfrkbn1FvwMsiRVVlaqs7NTxcXFysrKUnt7u8rKyt7wnVAkElE8HpckjY2NKRKJyDAM\npaWl6frrr1deXp6++c1v6iMf+Yh++9vfyuv16uMf//isBo9GoynxIquqGlFz88Tb4Zn3p8JxSKmT\n+VJC5tYjc+uReXKQu/XIPHXM6C4WHo9H73jHO1RfX6/7779fNptNdXV1kqSjR4/q7rvvHre+urpa\nd911lwKBgFpaWlRdXa2Ojo5LvzAtTQ899JB+85vf6N5779Wjjz6q22+/XTfddNM8H9riUFs7rKKi\nyKT7iooi2r592OKJAAAAMBVb/PVTvSnE6/Vq/fr1KfMuLBi0qbk5S4cOOTQwYMjpjKqqKqTt24eV\nk7P44zcMQ263W/39/SmTeaojc+uRufXIPDnI3Xpkbj3DMHTixAlVVlZe1uNndIkF5iYnJ66GhiE1\nNAxpdFQp8YE8AACA5WpGl1hg/lCOAQAAFjcKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAA\nACYUZAAAAMCEggwAAACYUJABAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSADAAAAJhRk\nAAAAwISCDAAAAJhQkAEAAAATCjIAAABgQkEGAAAATCjIAAAAgAkFGQAAADChIAMAAAAmFGQAAADA\nhIIMAAAAmFCQAQAAABMKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCEggwA\nAACYUJABAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIDJipksisViam9vV3d3tyKRiEpLS1VTU6Ps7OxJ\n1/f29urgwYPq7+/X6tWrtW3bNpWUlCT2nzx5Uu3t7Tp16pSys7P1wQ9+UB/4wAfm54iwIMLhZE8A\nAABgjRmdQT58+LCOHz+upqYmtba2Kh6Pa+/evZOuPXv2rPbs2aMtW7aora1NHo9Hu3fvViAQkCSd\nO3dOjzzyiG677Ta1tbXpwQcf1JNPPqkf//jH83dUmBfBoE2Njdm64YY8ORzSDTfkqbExW8GgLdmj\nAQAALJgZFWSv1yuPx6O8vDzZ7XZVV1ert7c3UXrNurq6VFhYqIqKChmGoYqKChUWFqqrq0uS9POf\n/1xXXXWVbr75ZknS2972Nm3cuFH//d//PX9HhTkLBm3autWl5uZsDQxcepkMDKSpuTlbW7e6KMkA\nAGDJmrYgh0IhBQIBFRQUJLa53W7Z7Xb5/f4J6/1+vwoLC8dtKygoSKyNx+MTHhOLxfTqq6/OdnYs\noH37stTXlz7pvr6+dDU3Z1k8EQAAgDWmvQY5/IeLTx0Ox7jtmZmZiX1mo6OjE9Y6HA6dOnVKklRS\nUqIDBw7oRz/6kd71rnfpxRdf1E9/+lNdvHhxVoMbhjGr9ZidQ4cyp92/a1fIommWn9df37zOrUPm\n1iPz5CB365G59eaa9bQF2W63S7p0JtlsZGQksc8sIyNjwtpQKJRYe9VVV2nHjh166qmn9Pjjj+ua\na67Re9/7XvX09MxqcJfLNav1mLlwWBocnHrNwECarrjCrYwMa2ZarnidW4/MrUfmyUHu1iPz1DFt\nQXY4HHK5XPL5fMrPz5cknTlzRuFwOPGzWX5+vk6ePDlum8/n04YNGxI/33jjjbrxxhsTP3/hC19Q\ncXHxrAYPBAKKRqOzegxmLjc3T4ODb3wFjtMZ0/nz53T+vIVDLSOGYcjlcvE6txCZW4/Mk4PcrUfm\n1lvwM8iSVFlZqc7OThUXFysrK0vt7e0qKyub9J3Qpk2bdOTIER07dkzl5eXq6emRz+dTXV1dYs3L\nL7+sNWvWaGxsTN3d3XruuefU1NQ0q8Gj0SgvsgVUVTWi5ubJb+P3+n7yX3i8zq1H5tYj8+Qgd+uR\neeqYUUH2eDwKhUKqr6/X2NiYSktLE4X36NGj2r9/v9ra2iRd+gDfjh07dODAAbW0tGjVqlXauXPn\nuDL91FNPqa+vT/F4XGvXrtVnPvMZXX311QtweLhctbXD8nozJv2gXlFRRNu3DydhKgAAgIVni092\nW4lFzuv1av369bwLW2DBoE3NzVk6dChTAwNpcjpjqqoa0fbtw8rJSbmXTUoxDENut1v9/f28zi1C\n5tYj8+Qgd+uRufUMw9CJEydUWVl5WY+f0RlkLE85OXE1NAxp166QrrjCrfPnz/E/bAAAsOTN6ItC\nAO5WAQAAlgsKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCEggwAAACYUJAB\nAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSADAAAAJhRkAAAAwISCDAAAAJhQkAEAAAAT\nCjIAAABgQkEGAAAATCjIAAAAgAkFGQAAADChIAMAAAAmFGQAAADAhIIMAAAAmFCQAQAAABMKMgAA\nAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCEggwAAACYUJCx5IXDyZ4AAACkEgoy\nlqRg0KbGxmyVlLi1du3VKilxq7ExW8GgLdmjAQCARW5FsgcA5lswaNPWrS719aUntg0MGGpuzpbX\nm6GOjoBycuJJnBAAACxmnEHGkrNvX9a4cmzW15eu5uYsiycCAACphIKMJefQIcec9gMAgOVtRpdY\nxGIxtbe3q7u7W5FIRKWlpaqpqVF2dvak63t7e3Xw4EH19/dr9erV2rZtm0pKShL7T5w4oSeffFK/\n/e1vlZGRofLycm3btk0rVnDFB+YmHJYGB40p1wwMGBodlTIyLBoKAACklBmdQT58+LCOHz+upqYm\ntba2Kh6Pa+/evZOuPXv2rPbs2aMtW7aora1NHo9Hu3fvViAQkCSNjIzo85//vG655RY9/vjj+tzn\nPqeTJ0/q29/+9vwdFZYtu13KzY1OucbpjFKOAQDAG5pRQfZ6vfJ4PMrLy5Pdbld1dbV6e3sTpdes\nq6tLhYWFqqiokGEYqqioUGFhobq6uiRJ/f39eu211/Te975XkpSbm6u3v/3t8vv983dUWNaqqkJz\n2g8AAJa3aQtyKBRSIBBQQUFBYpvb7Zbdbp+01Pr9fhUWFo7bVlBQkFj71re+VatXr9bTTz+tWCym\nc+fO6fjx4yovL5/rsQCSpNraYRUVRSbdV1QU0fbtwxZPBAAAUsm0F/2G//AtCw7H+A82ZWZmJvaZ\njY6OTljrcDh06tQpSVJ6erruv/9+7d69WwcOHFAsFtO73/1u3XLLLbMa3DCmvs4U8+f1rFMlc6dT\n6uz8vfbuzdSTT9o1MJAmpzOmO+8M64EHRpSTs/g/m5pqmS8FZG49Mk8OcrcemVtvrllPW5Dtdruk\nS2eSzUZGRhL7zDIyMiasDYVCibV+v1+PPvqoHnzwQZWWlmpoaEitra3at2+fHnjggRkP7nK5ZrwW\n8yOVMne7pa985dJ/Ln0gL01S5h/+kzpSKfOlgsytR+bJQe7WI/PUMW1Bdjgccrlc8vl8ys/PlySd\nOXNG4XA48bNZfn6+Tp48OW6bz+fThg0bJEnPP/+83vzmN6usrEyS9Cd/8ieqrKx8ww/9vZFAIKBo\ndOoPY2F+GIYhl8uV0pmfP5/sCWZnKWSeasjcemSeHORuPTK33oKfQZakyspKdXZ2qri4WFlZWWpv\nb1dZWdmk74Q2bdqkI0eO6NixYyovL1dPT498Pp/q6uokXboe+amnntLzzz+vkpISXbhwQV6vV9de\ne+2sBo9Go7zILEbm1iNz65G59cg8OcjdemSeOmZUkD0ej0KhkOrr6zU2NqbS0tJE4T169Kj279+v\ntrY2SZc+wLdjxw4dOHBALS0tWrVqlXbu3Jko0+vXr9e2bdv0+OOPa3BwUOnp6SouLtYnPvGJBTpE\nAAAAYOZs8Xg8nuwhZsvr9Wr9+vW8C7OIYRhyu93q7+8nc4uQufXI3Hpknhzkbj0yt55hGDpx4oQq\nKysv6/GL/+P8AAAAgIUoyAAAAIAJBRkAAAAwoSADAAAAJhRkAAAAwISCDAAAAJhQkAEAAAATCjIA\nAABgQkEGAAAATCjIAAAAgAkFGQAAADChIAMAAAAmFGQAAADAhIIMAAAAmFCQAQAAABMKMgAAAGBC\nQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCEggwAAACYUJABAAAAEwoyAAAAYEJBBhap\ncDjZEwAAsDxRkIFFJBi0qbExWzfckCeHQ7rhhjw1NmYrGLQlezQAAJaNFckeAMAlwaBNW7e61NeX\nntg2MJCm5uZseb0Z6ugIKCcnnsQJAQBYHjiDDCwS+/ZljSvHZn196WpuzrJ4IgAAlicKMrBIHDrk\nmNN+AAAwPyjIwCIQDkuDg8aUawYGDI2OWjQQAADLGAUZWATsdik3NzrlGqczqowMiwYCAGAZoyAD\ni0RVVWhO+wEAwPygIAOLRG3tsIqKIpPuKyqKaPv2YYsnAgBgeaIgA4tETk5cHR0B1dYOyemMSZKc\nzphqa4e4xRsAABbiPsjAIpKTE1dDw5B27QrpiivcOn/+nKLRqa9NBgAA84szyMAixQfyAABIDgoy\nAAAAYDKjSyxisZja29vV3d2tSCSi0tJS1dTUKDs7e9L1vb29OnjwoPr7+7V69Wpt27ZNJSUlkqQX\nXnhBn/vc52Sz2RLrL168qLe85S3avXv3PBwSAAAAcPlmdAb58OHDOn78uJqamtTa2qp4PK69e/dO\nuvbs2bPas2ePtmzZora2Nnk8Hu3evVuBQECStG7dOh04cEBtbW1qa2vT448/rtzcXL3nPe+Zv6MC\nAAAALtOMCrLX65XH41FeXp7sdruqq6vV29ubKL1mXV1dKiwsVEVFhQzDUEVFhQoLC9XV1TXpc//s\nZz9TMBjULbfcMpfjAAAAAObFtAU5FAopEAiooKAgsc3tdstut8vv909Y7/f7VVhYOG5bQUHBpGsl\n6emnn9bGjRvf8HINAAAAwErTXoMcDoclSQ6HY9z2zMzMxD6z0dHRCWsdDodOnTo1YW0gEFBvb68+\n85nPzGZmSZJhGLN+DC7P61mTuXXI3Hpkbj0yTw5ytx6ZW2+uWU9bkO12u6RLZ5LNRkZGEvvMMjIy\nJqwNhUKTrvV6vXrzm9+sdevWzWpoSXK5XLN+DOaGzK1H5tYjc+uReXKQu/XIPHVMW5AdDodcLpd8\nPp/y8/MlSWfOnFE4HE78bJafn6+TJ0+O2+bz+bRhw4Zx22KxmJ599ll5PJ7LGjwQCPAFChYxDEMu\nl4vMLUTm1iNz65F5cpC79cjcegt+BlmSKisr1dnZqeLiYmVlZam9vV1lZWWTvhPatGmTjhw5omPH\njqm8vFw9PT3y+Xyqq6sbt+5///d/NTIyctl3r4hGo7zILEbm1iNz65G59cg8OcjdemSeOmZUkD0e\nj0KhkOrr6zU2NqbS0tJE4T169Kj279+vtrY2SZc+wLdjxw4dOHBALS0tWrVqlXbu3DmhTD/zzDN6\n17veNeF6ZQAAACCZbPF4PJ7sIWbL6/Vq/fr1vAuziGEYcrvd6u/vJ3OLkLn1yNx6ZJ4c5G49Mree\nYRg6ceKEKisrL+vxfNU0AAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSADAAAAJhRkAAAAwISCDAAA\nAJhQkAEAAAATCjIAAABgQkEGAAAATCjIAAAAgAkFGcC8C4eTPQEAAJePggxgXgSDNjU2ZqukxK21\na69WSYlbjY3ZCgZtyR4NAIBZWZHsAQCkvmDQpq1bXerrS09sGxgw1NycLa83Qx0dAeXkxJM4IQAA\nM8cZZABztm9f1rhybNbXl67m5iyLJwIA4PJRkAHM2aFDjjntBwBgMaEgA5iTcFgaHDSmXDMwYGh0\n1KKBAACYIwoygDmx26Xc3OiUa5zOqDIyLBoIAIA5oiADmLOqqtCc9gMAsJhQkAHMWW3tsIqKIpPu\nKyqKaPv2YYsnAgDg8lGQAcxZTk5cHR0B1dYOyem8dLmF0xlVbe0Qt3gDAKQc7oMMYF7k5MTV0DCk\nhoYhjY6Ka44BACmLM8gA5h3lGACQyijIAAAAgAkFGQAAADChIAMAAAAmFGQAAADAhIIMAAAAmFCQ\nAQAAABMKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCEggwAAACYUJABAAAA\nEwoyAAAAYLJiJotisZja29vV3d2tSCSi0tJS1dTUKDs7e9L1vb29OnjwoPr7+7V69Wpt27ZNJSUl\n457v29/+trq7u3XhwgVdeeWV+vjHP66ysrL5OSoAAADgMs2oIB8+fFjHjx9XU1OTsrKy1NzcrL17\n96q+vn7C2rNnz2rPnj365Cc/qZtuukk9PT3avXu3vvjFL8rlckmSvva1r+m3v/2tHn74YV111VUK\nBoMaGxub3yMDAAAALsOMLrHwer3yeDzKy8uT3W5XdXW1ent7FQgEJqzt6upSYWGhKioqZBiGKioq\nVFhYqK6uLknS6dOn9eyzz+r+++/XVVddJUnKyclJlGcAAAAgmaY9gxwKhRQIBFRQUJDY5na7Zbfb\n5ff7JxRbv9+vwsLCcdsKCgrk9/slSb/85S/lcDh07NgxPfPMMzIMQzfeeKOqq6uVkZExH8cEAAAA\nXLZpC3I4HJYkORyOcdszMzMT+8xGR0cnrHU4HDp16pQkaWhoSKFQSKdPn9a//du/aXR0VP/6r/+q\nAwcO6L777pvx4IZhzHgt5ub1rMncOmRuPcMwFA6TuZV4nScHuVuPzK0316ynLch2u13SpTPJZiMj\nI4l9ZhkZGRPWhkKhxNrXzxJXVVUpIyNDGRkZuv322/W1r31tVgWZSzKsR+bWI/OF9/vfS488Ij32\nmHTunJSX59I990if+pR05ZXJnm554HWeHORuPTJPHdMWZIfDIZfLJZ/Pp/z8fEnSmTNnFA6HEz+b\n5efn6+TJk+O2+Xw+bdiwQZK0Zs2aCY+Jx+Oy2WyzGjwQCCgajc7qMbg8hmHI5XKRuYXI3BrBoE23\n356rvr7///8Kz52TPv95qbNzTJ2dg8rJiSdxwqWN13lykLv1yNx6C34GWZIqKyvV2dmp4uJiZWVl\nqb29XWVlZZO+E9q0aZOOHDmiY8eOqby8XD09PfL5fKqrq5MkXX/99brmmmv01FNPqaamRqOjozpy\n5Ig2btw4q8Gj0SgvMouRufXIfGF9+cvZ48qxWV/fCn3lK3Y1NAxZPNXyw+s8OcjdemSeOmZ0FwuP\nx6N3vOMdqq+v1/333y+bzZYovEePHtXdd9+dWOt2u7Vjxw595zvf0T333KPDhw9r586diTJts9n0\n0EMPaWhoSDU1NfrUpz6la6+9VnfdddcCHB4AvLFDhxxz2g8AWJps8Xg85f5+6PV6tX79et6FWcQw\nDLndbvX395O5Rch84YXD0tq1V0+77uWXT4sb7CwMXufJQe7WI3PrGYahEydOqLKy8rIez1dNA1iW\n7HYpN3fqf6iczijlGACWIQoygGWrqio0p/0AgKWJggxg2aqtHVZRUWTSfUVFEW3fPmzxRACAxYCC\nDGDZysmJq6MjoNraITmdMUmS0xlTbe2QOjoC3OINAJapGd3mDQCWqpycuBoahrRrV0hXXOHW+fPn\n+BANACxznEEGgD/gA3kAAImCDAAAAIxDQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCE\nggwAAACYUJABAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSADAAAAJhRkAAAAwISCDAAA\nAJhQkAEAAAATCjIALAHhcLInAIClg4IMACkqGLSpsTFbJSVurV17tUpK3GpszFYwaEv2aACQ0lYk\newAAwOwFgzZt3epSX196YtvAgKHm5mx5vRnq6AgoJyeexAkBIHVxBhkAUtC+fVnjyrFZX1+6mpuz\nLJ4IAJYOCjIApKBDhxxz2g8AeGMUZABIMeGwNDhoTLlmYMDQ6KhFAwHAEkNBBoAUY7dLubnRKdc4\nnVFlZFg0EAAsMRRkAEhBVVWhOe0HALwxCjIApKDa2mEVFUUm3VdUFNH27cMWTwQASwcFGQBSUE5O\nXB0dAdXWDsnpvHS5hdMZVW3tELd4A4A54j7IAJCicnLiamgYUkPDkEZHxTXHADBPOIMMAEsA5RgA\n5g8FGQAAADChIAMAAAAmFGQAAADAZEYf0ovFYmpvb1d3d7cikYhKS0tVU1Oj7OzsSdf39vbq4MGD\n6u/v1+rVq7Vt2zaVlJQk9t9xxx1auXKl0tLSFI/HZbPZ1NraKrvdPj9HBQAAAFymGRXkw4cP6/jx\n42pqalJWVpaam5u1d+9e1dfXT1h79uxZ7dmzR5/85Cd10003qaenR7t379YXv/hFuVyuxLpdu3bp\nuuuum78jAQAAAObBjC6x8Hq98ng8ysvLk91uV3V1tXp7exUIBCas7erqUmFhoSoqKmQYhioqKlRY\nWKiurq5x6+Jx7tEJAACAxWfaM8ihUEiBQEAFBQWJbW63W3a7XX6/f9xZYUny+/0qLCwct62goEB+\nv3/cti984QsaGxvT6tWrdfvtt6u8vHwuxwEAAADMi2kLcjgcliQ5HI5x2zMzMxP7zEZHRyesdTgc\nOnXqVOLnXbt2ad26dZKkn/zkJ/ryl7+snTt3qrS0dMaDG4Yx47WYm9ezJnPrkLn1yNx6ZJ4c5G49\nMrfeXLOetiC//sG5UCg0bvvIyMikH6rLyMiYsDYUCo1bu379+sR/v/nmm3XixAn96Ec/mlVB/uMz\n11h4ZG4aX293AAAZtUlEQVQ9MrcemVuPzJOD3K1H5qlj2oLscDjkcrnk8/mUn58vSTpz5ozC4XDi\nZ7P8/HydPHly3Dafz6cNGzbM08iXBAIBRaPReX1OTM4wDLlcLjK3EJlbj8ytR+bJQe7WI3PrLfgZ\nZEmqrKxUZ2eniouLlZWVpfb2dpWVlU36TmjTpk06cuSIjh07pvLycvX09Mjn86murk6S9Jvf/Eav\nvfaa1qxZI5vNpuPHj+tHP/qR/vZv/3ZWg0ejUV5kFiNz65G59cjcemSeHORuPTJPHTMqyB6PR6FQ\nSPX19RobG1NpaWmi8B49elT79+9XW1ubpEsf4NuxY4cOHDiglpYWrVq1Sjt37kyU6QsXLugb3/iG\nzp07pxUrVsjtdmv79u16+9vfvkCHCAAAAMycLZ6C91vzer1av34978IsYhiG3G63+vv7ydwiZG49\nMrcemScHuVuPzK1nGIZOnDihysrKy3o8XzUNAAAAmFCQAQBJM8ndQgEg6SjIAABLBYM2NTZm64Yb\n8uRwSDfckKfGxmwFg7ZkjwYAkmb4IT0AAOZDMGjT1q0u9fWlJ7YNDKSpuTlbXm+GOjoCyslJuY/G\nAFhiOIMMALDMvn1Z48qxWV9fupqbsyyeCAAmoiADACxz6JBjTvsBwAoUZACAJcJhaXBw6m+3Ghgw\nNDpq0UAA8AYoyAAAS9jtUm7u1PeAdTqjysiwaCAAeAMUZACAZaqqQnPaDwBWoCADACxTWzusoqLI\npPuKiiLavn3Y4okAYCIKMgDAMjk5cXV0BFRbOySnMyZJcjpjqq0d4hZvABYN7oMMALBUTk5cDQ1D\n2rUrpCuucOv8+XOKRqe+NhkArMQZZABA0vCBPACLEQUZAAAAMKEgAwAAACYUZAAAAMCEggwAAACY\nUJABAAAAEwoyAAAAYEJBBgAAAEwoyAAAAIAJBRkAAAAwoSADAAAAJhRkAAAuQzic7AkALBQKMgAA\nMxQM2tTYmK2SErfWrr1aJSVuNTZmKxi0JXs0APNoRbIHAAAgFQSDNm3d6lJfX3pi28CAoebmbHm9\nGeroCCgnJ57ECQHMF84gAwAwA/v2ZY0rx2Z9felqbs6yeCIAC4WCDADADBw65JjTfgCpg4IMAMA0\nwmFpcNCYcs3AgKHRUYsGArCgKMgAAEzDbpdyc6NTrnE6o8rIsGggAAuKggwAwAxUVYXmtB9A6qAg\nAwAwA7W1wyoqiky6r6goou3bhy2eCMBCoSADADADOTlxdXQEVFs7JKfz0uUWTmdUtbVD3OINWGK4\nDzIAADOUkxNXQ8OQGhqGNDoqrjkGlijOIAMAcBkox8DSRUEGAAAATCjIAAAAgAkFGQAAADCZ0Yf0\nYrGY2tvb1d3drUgkotLSUtXU1Cg7O3vS9b29vTp48KD6+/u1evVqbdu2TSUlJRPW+f1+1dfXq7i4\nWA8//PDcjgQAAACYBzM6g3z48GEdP35cTU1Nam1tVTwe1969eydde/bsWe3Zs0dbtmxRW1ubPB6P\ndu/erUAgMG5dLBZTa2urrr/++rkfBQAAADBPZlSQvV6vPB6P8vLyZLfbVV1drd7e3gmlV5K6urpU\nWFioiooKGYahiooKFRYWqqura9y6//iP/9C1116rdevWzcuBAAAAAPNh2oIcCoUUCARUUFCQ2OZ2\nu2W32+X3+yes9/v9KiwsHLetoKBg3Npf//rX6u7uVnV19VxmBwAAAObdtNcgh8NhSZLD4Ri3PTMz\nM7HPbHR0dMJah8OhU6dOSbp0aUVLS4vuueceZczhJpKGYVz2YzE7r2dN5tYhc+uRufXIPDnI3Xpk\nbr25Zj1tQbbb7ZIunUk2GxkZSewzy8jImLA2FAol1h4+fFhXXXWVbrzxxsseWpJcLtecHo/ZI3Pr\nkbn1yNx6ZJ4c5G49Mk8d0xZkh8Mhl8sln8+n/Px8SdKZM2cUDocTP5vl5+fr5MmT47b5fL7EXSx+\n8YtfyOfz6d5775UkXbx4UdFoVJ/4xCf0pS99SZmZmTMaPBAIKBqNzmgt5sYwDLlcLjK3EJlbj8yt\nR+bJYRiGMjNdGhkhd6vwWrfegp9BlqTKykp1dnaquLhYWVlZam9vV1lZ2aTvhDZt2qQjR47o2LFj\nKi8vV09Pj3w+n+rq6iRJf/d3f6dIJJJY/93vflcvv/yy/uZv/mbG5ViSotEoLzKLkbn1yNx6ZG49\nMrdGMGjTvn1Z+ta3MjUwIDmdubrjjhHV1g4rJyee7PGWBV7rqWNGBdnj8SgUCqm+vl5jY2MqLS1N\nFN6jR49q//79amtrk3TpA3w7duzQgQMH1NLSolWrVmnnzp2JMv3H90622+1KT0/XlVdeOZ/HBQAA\n/iAYtGnrVpf6+tIT2wYG0tTcnC2vN0MdHQFKMmBii8fjKfe/CK/Xq/Xr1/MuzCKGYcjtdqu/v5/M\nLULm1iNz65G5dRobs9XcPPmXe0lSbe2QGhqGLJxoeeG1bj3DMHTixAlVVlZe1uP5qmkAAJa4Q4cc\nc9oPLDcUZAAAlrBwWBocnPoDSwMDhkZHLRoISAEUZAAAljC7XcrNnfrP+k5nVHP4agJgyaEgAwCw\nxFVVhea0H1huKMgAACxxtbXDKiqKTLqvqCii7duHLZ4IWNwoyAAALHE5OXF1dARUWzskpzMmSXI6\nY6qtHeIWb8AkZnQfZAAAkNpycuJqaBjSrl0hXXGFW+fPn+OWY8Ab4AwyAADLDB/IA6ZGQQYAAABM\nKMgAAACACQUZAAAAMKEgAwAAACYUZAAAAMCEggwAAACYUJABAEBKCIeTPQGWCwoyAABYtIJBmxob\ns1VS4tbatVerpMStxsZsBYO2ZI+GJYxv0gMAAItSMGjT1q0u9fWlJ7YNDBhqbs6W15vB12RjwXAG\nGQAALEr79mWNK8dmfX3pam7OsngiLBcUZAAAsCgdOuSY037gclGQAQDAohMOS4ODxpRrBgYMjY5a\nNBCWFQoyAABYdOx2KTc3OuUapzOqjAyLBsKyQkEGAACLUlVVaE77gctFQQYAAItSbe2wiooik+4r\nKopo+/ZhiyfCckFBBgAAi1JOTlwdHQHV1g7J6bx0uYXTGVVt7RC3eMOC4j7IAABg0crJiauhYUgN\nDUMaHRXXHMMSnEEGAAApgXIMq1CQAQAAABMKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAA\nLLBwONkTYDYoyAAAAAsgGLSpsTFbN9yQJ4dDuuGGPDU2ZisYtCV7NEyDLwoBAACYZ8GgTVu3utTX\nl57YNjCQpubmbHm9GXwT4CLHGWQAAIB5tm9f1rhybNbXl67m5iyLJ8JsUJABAADm2aFDjjntR3JR\nkAEAAOZROCwNDhpTrhkYMDQ6atFAmLUZXYMci8XU3t6u7u5uRSIRlZaWqqamRtnZ2ZOu7+3t1cGD\nB9Xf36/Vq1dr27ZtKikpkSQNDw9r9+7dOn36tC5evKjMzExt3LhRd955p1auXDl/RwYAAJAEdruU\nmxudsiQ7nVFlZFg4FGZlRmeQDx8+rOPHj6upqUmtra2Kx+Pau3fvpGvPnj2rPXv2aMuWLWpra5PH\n49Hu3bsVCAQkSRkZGaqpqdFXv/pVtbW16bOf/ax6e3v1n//5n/N3VAAAAElUVRWa034k14wKstfr\nlcfjUV5enux2u6qrq9Xb25sovWZdXV0qLCxURUWFDMNQRUWFCgsL1dXVJUlasWKF3vKWtygt7dKv\njsfjSktLU25u7vwdFQAAQBLV1g6rqCgy6b6iooi2bx+2eCLMxrSXWIRCIQUCARUUFCS2ud1u2e12\n+f1+uVyucev9fr8KCwvHbSsoKJDf7x+37ZFHHtGJEycUiUR022236dZbb53LcQAAACwaOTlxdXQE\n1NycpUOHMjUwkCanM6aqqhFt3z7MLd4WuWkLcvgPX/3icIz/tGVmZmZin9no6OiEtQ6HQ6dOnRq3\n7VOf+pTi8bh+9atfac+ePVq9erU2b94848ENY+qL3zF/Xs+azK1D5tYjc+uReXKQu3WcTmnXrpA+\n85nXlJXl0vDwoKLRqLhHwsKb6+t72oJst9slXTqTbDYyMpLYZ5aRkTFhbSgUmnStzWbT2972Nv3F\nX/yFnn322VkV5D8+c42FR+bWI3Prkbn1yDw5yN16GRlkniqmLcgOh0Mul0s+n0/5+fmSpDNnzigc\nDid+NsvPz9fJkyfHbfP5fNqwYcMb/o6xsbFJC/RUAoHAH96FYaEZhiGXy0XmFiJz65G59cg8Ocjd\nemRuvQU/gyxJlZWV6uzsVHFxsbKystTe3q6ysrJJ331u2rRJR44c0bFjx1ReXq6enh75fD7V1dVJ\nkl566SW99tpruu6667RixQq98MIL+v73v68777xzVoNHo1FeZBYjc+uRufXI3Hpknhzkbj0yTx0z\nKsgej0ehUEj19fUaGxtTaWlpovAePXpU+/fvV1tbm6RLH+DbsWOHDhw4oJaWFq1atUo7d+5MlOmx\nsTE98cQT+t3vfqe0tDStWrVKd955Jx/SAwAAwKJgi8fjKfcxSq/Xq/Xr1/MuzCKGYcjtdqu/v5/M\nLULm1iNz65F5cpC79VI583D40hefpBrDMHTixAlVVlZe1uP5GCUAAAASgkGbGhuzVVLi1tq1V6uk\nxK3GxmwFg7Zkj2aZGV1iAQAAgKUvGLRp61aX+vrSE9sGBgw1N2fL681QR0dgWdzDmTPIAAAAkCTt\n25c1rhyb9fWlq7k5y+KJkoOCDAAAAEnSoUOOOe1fKijIAAAAUDgsDQ5Off/ggQFDo6MWDZREFGQA\nAADIbpdyc6e+y4bTGVVGhkUDJREFGQAAAJKkqqrQnPYvFRRkAAAASJJqa4dVVBSZdF9RUUTbtw9b\nPFFyUJABAAAgScrJiaujI6Da2iE5nZcut3A6o6qtHVo2t3iTuA8yAAAATHJy4mpoGFJDw5BGR7Us\nrjn+Y5xBBgAAwKSWYzmWKMgAAADAOBRkAAAAwISCDAAAgCUhGLSpsTFbN9yQN6fn4UN6AAAASHnB\noE1bt7rU15c+5+fiDDIAAABS3r59WfNSjiUKMgAAAJaAQ4cc8/ZcFGQAAACktHBYGhw05u35KMgA\nAABIaXa7lJsbnbfnoyADAAAg5VVVhebtuSjIAAAASHm1tcMqKorMy3NRkAEAAJDycnLi6ugIqLZ2\nSE5nbE7PRUEGAADAkpCTE1dDw5B++ctzc3oeCjIAAABgQkEGAAAATCjIAAAAgAkFGQAAADChIAMA\nAAAmFGQAAADAhIIMAAAAmFCQAQAAABMKMgAAAGBCQQYAAABMKMgAAACACQUZAAAAMKEgAwAAACYU\nZAAAAMBkxUwWxWIxtbe3q7u7W5FIRKWlpaqpqVF2dvak63t7e3Xw4EH19/dr9erV2rZtm0pKSiRJ\nv/vd7/Tkk0/qxRdfVDgclsvl0m233aZbb711/o4KAAAAuEwzOoN8+PBhHT9+XE1NTWptbVU8Htfe\nvXsnXXv27Fnt2bNHW7ZsUVtbmzwej3bv3q1AICBJGhkZ0fr16/XII4+ora1NNTU1OnjwoH7yk5/M\n31EBAAAAl2lGBdnr9crj8SgvL092u13V1dXq7e1NlF6zrq4uFRYWqqKiQoZhqKKiQoWFherq6pIk\nrV27Vps3b1ZOTo4kad26dSotLdXJkyfn76gAAACAyzRtQQ6FQgoEAiooKEhsc7vdstvt8vv9E9b7\n/X4VFhaO21ZQUDDpWkl67bXX9NJLL2nNmjWzHB0AAACYf9MW5HA4LElyOBzjtmdmZib2mY2Ojk5Y\n63A4Jl0bi8X0la98RXl5eXrPe94zq8EBAACAhTDth/TsdrukS2eSzUZGRhL7zDIyMiasDYVCE9ZG\no1F96Utf0vnz59XQ0KC0tNndUMMwjFmtx+V7PWsytw6ZW4/MrUfmyUHu1iNz680162kLssPhkMvl\nks/nU35+viTpzJkzCofDiZ/N8vPzJ1xP7PP5tGHDhsTPkUhEe/bs0cWLF7Vr1y6tXLly1oM/99xz\ns34MAAAAMJ0Z3eatsrJSnZ2dKi4uVlZWltrb21VWViaXyzVh7aZNm3TkyBEdO3ZM5eXl6unpkc/n\nU11dnaRLl2A8+uijWrFiherr65Wenj7roSsrK2f9GAAAAGAmbPF4PD7dolgspm9+85t69tlnNTY2\nptLSUt13333KysrS0aNHtX//frW1tSXWP/fcczpw4IDOnj2rVatW6WMf+1jiDHJ3d7eam5u1cuVK\n2Wy2S0PYbHr3u9+tT3ziEwt0mAAAAMDMzKggAwAAAMsFXzUNAAAAmFCQAQAAABMKMgAAAGBCQQYA\nAABMKMgAAACACQUZAAAAMJnRF4UsFrFYTO3t7eru7lYkElFpaalqamqUnZ2d7NGWpPb2dv3sZz9T\nIBCQ3W7XjTfeqI9+9KPKyspK9mjLQjwe165du/TSSy+ppaVFubm5yR5pSXv++ef1rW99S7/5zW+0\ncuVK3XTTTbr33nuTPdaSNTw8rMcee0zPP/+8otGoCgoKtG3btkm/oRWX59ixY/rBD36gV199VRcv\nXtSTTz45bn93d7e+/e1vKxgM6pprrtG9996rwsLCJE27NEyV+Q9/+EM9/fTTOnXqlAzD0LXXXquP\nfvSjuuaaa5I4ceqb7nX+uieeeEJHjhxRXV2dKioqpn3elDqDfPjwYR0/flxNTU1qbW1VPB7X3r17\nkz3WkmUYhurq6vTYY49p9+7dGhwcVHNzc7LHWja++93vKiMjI9ljLAu//OUv9cUvflG33367Hnvs\nMbW2tvKNnQvsG9/4hi5cuKAvfelL2r9/vwoKCvTII48ke6wlJSsrS+9///v1sY99bMK+F154QV//\n+td133336bHHHtPGjRvV1NSk0dFR6wddQqbKfHR0VH/913+tr371q2ptbVVBQYEaGxt18eJF6wdd\nQqbK/HW/+tWv9Nxzz+nKK6+c8fOmVEH2er3yeDzKy8uT3W5XdXW1ent7FQgEkj3aklRVVaU1a9Yo\nLS1N2dnZ+vM//3OdPHky2WMtC6dPn9bTTz+tu+66K9mjLAtPPvmk/uzP/kzl5eUyDEMrVqzQmjVr\nkj3Wkub3+7Vx40Y5HA4ZhqFbb71Vg4ODGh4eTvZoS0ZJSYluvvlmud3uCfu8Xq82btyoDRs2aMWK\nFfrQhz6klStX6ic/+UkSJl06psp88+bN2rBhg1auXKkVK1boL//yLxUMBnX69OkkTLp0TJW5JI2N\njam1tVX33XefDMOY8fOmTEEOhUIKBAIqKChIbHO73bLb7fL7/UmcbPn4xS9+wZ8/LRCPx9Xa2qpt\n27bJ4XAke5wl77XXXtOvfvUrRaNRPfTQQ7r33nv12c9+Vq+88kqyR1vSysvL1dPTowsXLujixYt6\n5plndP3113MJl0X8fv+Eyyny8/P16quvJmegZegXv/iF3vSmN2n16tXJHmVJe+qpp7Rhwwa97W1v\nm9XjUqYgh8NhSZpQGDIzMxP7sHD+53/+R88884zuueeeZI+y5H3ve9/TlVdeqXe+853JHmVZGBkZ\nUTwe17Fjx/TAAw/oa1/7mkpKStTU1KRQKJTs8ZYsj8cjSaqpqdHdd9+tn/70p7rvvvuSPNXyEQ6H\n+fc0iU6fPq2WlhZt27aNS+kW0Msvv6wf//jHuvPOO2f92JQpyHa7XZIm/IM1MjKS2IeF0dPTo/37\n9+uhhx7iz84L7MyZM/re976nj3/845IunU3Gwnr9H6f3vve9eutb3yrDMLRlyxaNjY3pxRdfTPJ0\nS9e//Mu/6KqrrlJbW5ueeOIJbdmyRf/4j/+oCxcuJHu0ZcFut/PvaZKcOnVK//zP/6wPfehDet/7\n3pfscZassbExtbS06N5779XKlStn/fiUuYuFw+GQy+WSz+dL/Jn/zJkzCofD/Nl/AT377LN64okn\n9NBDD+m6665L9jhL3gsvvKALFy7o7//+7xWPxxMFeefOnbrjjju0efPmJE+49DgcDuXl5U3YbrPZ\nkjDN8jA0NKSXXnpJ27dvT7xBufXWW9Xe3q4XX3yRv55YID8/Xz6fb9y2V199VX/6p3+apImWh1de\neUVNTU368Ic/rPe///3JHmdJ+/3vf69Tp07py1/+cuLf0pGREe3fv18///nPVVdXN+XjU6YgS1Jl\nZaU6OztVXFysrKwstbe3q6ysTC6XK9mjLUn/9V//pe985zv69Kc/za1/LHLzzTerpKQk8fPAwIAe\nfvhhPfzww7r66quTONnStnnzZn3/+9/XzTffrKuvvlpHjhxRenq6ioqKkj3akpSdnS2Xy6Uf/OAH\n+shHPqL09HR1dXVpdHSUW17No1gspmg0qkgkIkmJ/5uenq7Kyko1NTVp06ZNWrdunb73ve9pbGxM\n5eXlyRw55U2V+QsvvKBHH31Ud911l2699dZkjrmkvFHmTqdzwp23Pv3pT+v222+f0W3ebPEU+htu\nLBbTN7/5TT377LMaGxtTaWmp7rvvPj7UsUDuuOMOGYah9PR0SZf+3G+z2dTW1pbkyZaPc+fO6YEH\nHuA+yBZ46qmn9MwzzygSiaigoEB33303f51aQH6/X0888YReeeUVxWIxrV69Wh/+8If1jne8I9mj\nLRldXV1qaWmZsH3fvn1yuVz64Q9/qH//939P3Ae5pqaGy+jmaKrM9+3bp//7v//Tm970psQZTZvN\npvr6eq1bt87qUZeM6V7nZg888ICqqqqWXkEGAAAAFlrKfEgPAAAAsAIFGQAAADChIAMAAAAmFGQA\nAADAhIIMAAAAmFCQAQAAABMKMgAAAGBCQQYAAABMKMgAAACAyf8Dl0BpShdyO+sAAAAASUVORK5C\nYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a36200198>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "n = np.arange(1,15)\n", | |
| "pn = ss.geom.pmf(n, p=0.1)\n", | |
| "plt.plot(n, pn, 'bo')\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Scipy stats has all the cumulative distributions as well." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0.90152290978163885" | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "#amount of probability between n=1 (inc) and n=22\n", | |
| "ss.geom.cdf(22, p=0.1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Finally, there is a function to ask about prediction intervals." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "metadata": { | |
| "collapsed": true, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#what should the rv for the cdf be a certain number?" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "22.0" | |
| ] | |
| }, | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ss.geom.ppf(0.9, p=0.1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "For now, I will have you use scipy stats to check your work. You may not use it on homework unless specified" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "One note about scipy stats is that you need to visit the documentation website to get complete function help. The docstrings often don't provide enough info." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Sampling from Discrete Distributions\n", | |
| "===\n", | |
| "\n", | |
| "Sampling is the process of creating synthetic data from a known distribution. This is part of the art of creating random numbers, which we don't have time to cover in depth. We're going to used canned-functions to generate our samples, but check Unit_5_Lecture_1 from last year to see how it works" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 52, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "3" | |
| ] | |
| }, | |
| "execution_count": 52, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ss.geom.rvs(p=0.2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 53, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "4\n", | |
| "4\n", | |
| "2\n", | |
| "3\n", | |
| "2\n", | |
| "5\n", | |
| "10\n", | |
| "17\n", | |
| "3\n", | |
| "5\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "for i in range(10):\n", | |
| " print(ss.geom.rvs(p=0.2))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "You can quickly generate many random variables by saying how many you'd like" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 83, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([1, 1, 2, 1, 1])" | |
| ] | |
| }, | |
| "execution_count": 83, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ss.geom.rvs(size=5, p=0.5)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Histogramming\n", | |
| "---\n", | |
| "\n", | |
| "You can `recover` a probability distribution from data using the histogram function. Histograms are counts of how many time you see an element in a sample space. Since counts are proportional to probability, this gives you a graph of the probability distribution." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 64, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n11Mst9Pco0oAAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a360359b0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "data = ss.geom.rvs(size=100, p=0.3)\n", | |
| "plt.hist(data)\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Let's compare with what we know the geometric distribution should look like" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 71, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n+OKLSx4sk8mUvO+p1NXVlbzvd5ZfPu32geWXlxy/9fV1UVfm7NSGY2uw3LUI5bIWqRXWIrWg3PU3\nY/xms8/+k//IyMgJjx85cmRq2/N+8YaG+L3f+73413/919i1a9dpxe/znVEu1UhhPMZK2G+svmHq\nUofnc6gxF0frG6KxhDfB5RYtiua2thKn5GxQ7lqESrEWqRXWImezGeO3ubk5WltbY9++fbFixYqI\niDhw4ECMjo5O/XomxWIxFixYcFqD5fP5KBQKp/Wc49UNHy5pv6biRCw+OjxtAC8+OlxS+EZEDB8+\nHIfrnyhpX2pbJpOJ1tbWstcilMtapFZYi9SCWT/zGxHR3d0d27dvj46OjsjlctHf3x+rV68+5U9+\nP/zhD+P888+PCy+8MAqFQuzcuTMefvjhuOmmm05rsEKhUNY3Vv3kZMn7vurAj2Nb+5XPu737wI9L\n/lrF4mQUvSDMK+WuRagUa5FaYS1yNispfnt6emJkZCT6+vpiYmIiOjs7Y926dRERsWvXrti8eXNs\n2bIlIiJ++ctfxpe+9KV4+umno7GxMdrb2+PP//zP46KLLpq930WZrtu/I3YvvfSUb3q76MiBeP3+\nHXM/FAAAFVdS/NbX10dvb2/09vaetK2rqyu6urqmfn3NNdfENddcU7kJ50BuYjQ++sCm+Fr7mhg4\n7j6/3Qd+HK93n18AgHmjpPhNQW5iNN766DfjrY9+s+Q3twEAcHYp6UMuUiN8AQDmJ/ELAEAyxC8A\nAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPEL\nAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8\nAgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQ\nvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPELAEAy\nxC8AAMkQvwAAJEP8AgCQDPELAEAyxC8AAMkQvwAAJEP8AgCQDPFbo8YmitUeAQBg3mmo9gD8/4bH\nCnHX3qdi4JGhGBorREtTJrpf1BLXdyyNXFOm2uMBAJz1xG+NGB4rRN/dg7F/6OjUY0Njhdi692Dc\n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\n4Q9/GO985zvjT/7kT+KLX/xiPPPMM9UeicQNDg6e9E95K1asiMcee6w6A5G0fD4ft9xyS9x6663x\nqU99Kp588slqj0QC/v3f/z1WrFgx9eszfV2smfgdHR2NiIjm5uYTHl+4cOHUNpgLr33ta+NTn/pU\n/M3f/E28733vi717957yn/1gLo2Ojnp9pCZ0dHTE7bffHp/73Odi/fr10djYGB/5yEfi6NGj1R6N\neewHP/hBfPvb3463v/3tU4+d6etizcRvNpuNiGfPAB/vyJEjU9tgLqxcuTIWL14cEREXXnhhvO1t\nb4sf/OAHMTExUeXJSFk2m/X6SE0477zzYvny5RER0dLSErfcckv88pe/jJ/85CdVnoz56vvf/35s\n3rw5PvCBD8TFF1889fiZvi7WTPw2NzdHa2tr7Nu3b+qxAwcOxOjo6AmnuAFStGLFihNeHyMiHnvs\nsRP+IgCYb+65556444474gMf+EB0dHScsO1MXxdrJn4jIrq7u2P79u3x5JNPxsjISPT398fq1auj\ntbW12qORkHvvvXfqJ8lf/OIXceedd8bLX/7yaGioqZujMA8Vi8UYHx+P8fHxiIgT/ru7uzt+9KMf\nxUMPPRQTExOxffv2mJiYiCuuuKKaIzNPTbcW77///jh48GBERAwPD8cdd9wRixcvjl//9V+v2rzM\nT9/4xjfii1/8Ytx2221xySWXnLT9TF8X6yYnJydna+jTVSwW40tf+lLcc889MTExEZ2dnfHud7/7\nhPu5wWz70Ic+FPv374/x8fFoaWmJK664It74xje6nRSz7tj9U5/rM5/5TLS2tsZ3v/vd+Pu///up\n+1muXbvWmV9mxXRr8Z//+Z/je9/7XoyOjkY2m43f+I3fiBtvvHHqUgiolDe/+c2RyWTinHPOiYiY\nuq/0li1bpvY5k9fFmopfAACYTTV12QMAAMwm8QsAQDLELwAAyRC/AAAkQ/wCAJAM8QsAQDLELwAA\nyRC/AAAkQ/wCAJCM/wvoRc4uAbnYWgAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a35d869b0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "x = np.arange(1,20)\n", | |
| "p = 0.3\n", | |
| "px = (1 - p)**(x - 1) * p\n", | |
| "\n", | |
| "data = ss.geom.rvs(size=25, p=p) \n", | |
| "# notice p = p means the p argument is set to the p variable\n", | |
| "\n", | |
| "plt.hist(data, normed=True, align='left')\n", | |
| "#normed makes it so the counts are divided by total counts\n", | |
| "#align makes it so the center of the bars falls along the x-labels\n", | |
| "\n", | |
| "plt.plot(x, px, 'o')\n", | |
| "\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "The two don't quite line up. It's because we don't have enough samples. Let's try to generate more!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 74, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAHWCAYAAABqn38AAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9wnNV97/HP7iOvtKu1llgrSzixZJnUxQqwMg3mmmoa\n2nWcYaBYwRDXRmBiRmGuZ5yWacBVUv/RBlC5GRNKHNtFDrkOkTv9YccaBtLGbLFjFycODs6Nq1IX\nLCSwI5u1YBVp1yvtj/sHeHuEZP1caX/o/ZphRnrO0e73WY53Pzo6z3lsyWQyKQAAAACSJHumCwAA\nAACyCQEZAAAAMBCQAQAAAAMBGQAAADAQkAEAAAADARkAAAAwEJABAAAAQ8F4OiUSCbW2turw4cMa\nHByUz+dTY2Oj5s6dO6zvG2+8oe9///t67733lEgkVFpaqlWrVukLX/hCqk93d7daWlp0+vRpud1u\n3X777brjjjvSd1YAAADAJNnGc6OQ/fv366c//am+8Y1vyO12a8eOHRoYGFBTU9Owvr29vRoYGJDX\n65Uk/ed//qcee+wx/eVf/qWWLl2qRCKhP//zP5fP59O9996rd999V0888YQ2btyoFStWpP8MAQAA\ngAkY1xKLQCCg+vp6lZWVyel0qqGhQSdPnlQwGBzWt6SkJBWOk8mkbDabCgoKVFJSIklqb29XMBjU\nunXrNGfOHFVXV2vlypU6ePBgGk8LAAAAmJwxl1iEw2EFg0FVV1enjpWXl8vpdKqzszMVhj/uy1/+\nsqLRqCzL0qZNm/TJT35SktTV1aUFCxaosLAw1be6ulo/+clPpnouAAAAwJSNGZAjkYgkyeVyDTle\nXFycahvJ97//fcViMb366qvasWOHrr76ai1atEiRSGTExwqHw5OpHwAAAEirMQOy0+mUpGEBtr+/\nP9V2xQcvKNAf/MEf6N///d919OhRLVq0SE6nc8TH+nhoHk0gEBh3XwAAAMxOfr9/Uj83ZkB2uVzy\ner3q6OhQVVWVpA93oYhEIqnvx5JIJFRUVCRJqqqq0rlz5zQwMCCHwyFJOnPmzLgf6zKfz6d4PD6h\nn5mK9f/whnqjV34+T5Gl1i9dO2P1IPMsy5LX61UwGJzRsQh8HGMR2YKxiGxhWZZ+9atfTfrnx7XN\nm9/vV1tbm2pqauR2u9Xa2qra2toR1x///Oc/19VXX61PfepTisfjOnz4sN544w3df//9kqSlS5eq\nrKxMe/fu1fr163X27FkFAgFt3LhxQoXH4/EZ/ce38hqP9rf3XLHdv9jDm8EsNdNjEbgSxiKyBWMR\nuW5cAbm+vl7hcFhNTU2KxWLy+XzavHmzJOno0aNqaWnRnj17JEnvv/++9u7dqw8++EAOh0OVlZX6\n+te/roULF0qS7Ha7tmzZomeffVYPPvigiouLtXr16qzf4m1NTaleO9unrtDAsLZKj0NrakozUBUA\nAADSbVz7IGebQCCg6667bsZ/O+2LxrWv/aICb4UUisblKbTkv8ajNTWlchdaM1oLMs+yLJWXl+v8\n+fPMlCCjGIvIFoxFZAvLsnTq1KnpW4OM/+EutLRh2XxtWDZfA/GEHBZ36gYAAMg3JLxJIhwDAADk\nJ1IeAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIAAABgICADAAAABgIyAAAAYCAgAwAAAAYCMgAA\nAGAgIAMAAAAGAjIAAABgICADAAAABgIyAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIAAABgICAD\nAAAABgIyAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIAAABgICADAAAABgIyAAAAYCAgAwAAAAYC\nMgAAAGAgIAMAAAAGAjIAAABgICADAAAABgIyAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIAAABg\nICADAAAABgIyAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIAAABgICADAAAABgIyAAAAYCAgAwAA\nAAYCMgAAAGAgIAMAAAAGAjIAAABgICADAAAABgIyAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIA\nAABgICADAAAABgIyAAAAYCAgAwAAAAYCMgAAAGAgIAMAAAAGAjIAAABgKBhPp0QiodbWVh0+fFiD\ng4Py+XxqbGzU3Llzh/V9/fXX9cILL6izs1PJZFILFy7UunXrdO2116b6rF27Vg6HQ3a7XclkUjab\nTbt27ZLT6UzfmQEAAACTMK6AfODAAZ04cULNzc1yu93asWOHtm/frqampmF9+/v7ddttt+kzn/mM\nioqK9PLLL+uJJ57Q008/rXnz5qX6bd26VUuWLEnfmQAAAABpMK4lFoFAQPX19SorK5PT6VRDQ4NO\nnjypYDA4rG9dXZ1uuukmuVwu2e12rVq1SkVFRXrzzTeH9Esmk+k5AwAAACCNxpxBDofDCgaDqq6u\nTh0rLy+X0+lUZ2envF7vqD/f1dWl3/72t6qsrBxy/KmnnlIsFlNFRYVWr16t5cuXT/IUAAAAgPQZ\nMyBHIhFJksvlGnK8uLg41XYloVBI27Zt05133qmKiorU8a1bt6bWJB8/flzPPPOMHnnkEfl8vnEX\nnjz+U9mZhR5dwRwlP1Or5JzCTFcCAACQM8YMyJcvnAuHw0OO9/f3j3pRXU9Pjx5//HHV1tZq3bp1\nQ9quu+661Ne33HKLTp06pSNHjkwoIA/uenLcfWcr21Wlcjy+Q0nLynQpecn66HW1eH2RYYxFZAvG\nIrLFVMfgmAHZ5XLJ6/Wqo6NDVVVVkqTu7m5FIpHU9x934cIFffOb39TNN9+shoaGKRWIqSkp8aho\n3ujLYDA1Yy0zAmYKYxHZgrGIXDeuXSz8fr/a2tpUU1Mjt9ut1tZW1dbWjvgP4OzZs3rsscd06623\nau3atcPa33nnHUWjUS1atEg2m00nTpzQkSNH9PDDD0/9bDBMb29IocF4psvIS5Zlyev1KhgMKh7n\nNUbmMBaRLRiLyBbTPoMsSfX19QqHw2pqalIsFpPP59PmzZslSUePHlVLS4v27NkjSWpra1NPT49e\neuklvfjii5Ikm82mxsZG1dXVqbe3V88995zee+89FRQUqLy8XJs2bdKNN944pRPByOLxpJK8SU2r\neDzOBwGyAmMR2YKxiFxnS+bgfmuBQEBLntqS6TKynu2qUll//V0lna6xO2PCLMtSeXm5zp8/zwcB\nMoqxiGzBWES2sCxLp06dkt/vn9TPc6tpAAAAwEBABgAAAAwEZAAAAMBAQAYAAAAMBGQAAADAQEAG\nAAAADARkAAAAwEBABgAAAAwEZAAAAMBAQAYAAAAMBGQAAADAQEAGAAAADARkAAAAwEBABgAAAAwE\nZAAAAMBAQAYAAAAMBGQAAADAQEAGAAAADARkAAAAwEBABgAAAAwEZAAAAMBAQAYAAAAMBGQAAADA\nQEAGAAAADARkAAAAwEBABgAAAAwEZAAAAMBAQAYAAAAMBGQAAADAQEAGAAAADARkAAAAwEBABgAA\nAAwEZAAAAMBAQAYAAAAMBGQAAADAQEAGAAAADARkAAAAwEBABgAAAAwEZAAAAMBAQAYAAAAMBGQA\nAADAQEAGAAAADARkAAAAwEBABgAAAAwEZAAAAMBAQAYAAAAMBGQAAADAQEAGAAAADATkHBW1F2S6\nBAAAgLxEysohfQVO7a+8Vf9WcZN6HW6VDPTpj7p/obu6Dskdi2S6PAAAgLxAQM4RfQVOfWPZ/9Y7\nxRWpY70Otw5U/qFOlC7V46/vJCQDAACkAUsscsT+yluHhGPTO8UV+lHlrTNbEAAAQJ4iIOeIf6u4\nadT2wBjtAAAAGB8Ccg6I2gvU63CP2qfX4dYAF+4BAABMGQE5BxQmYioZ6Bu1T8lAnxyJ2AxVBAAA\nkL8IyDnij7p/MWq7f4x2AAAAjA8BOUfc1XVIC/u7R2xb2N+tL3YdmtmCAAAA8hQBOUe4YxE9/vpO\nfbHrldRyi5KBPn2x6xW2eAMAAEgjrurKIe5YRPed+bHuO/NjDdgLWHMMAAAwDZhBzlGEYwAAgOlB\nQAYAAAAMBGQAAADAMK41yIlEQq2trTp8+LAGBwfl8/nU2NiouXPnDuv7+uuv64UXXlBnZ6eSyaQW\nLlyodevW6dprr0316e7uVktLi06fPi23263bb79dd9xxR/rOCgAAAJikcc0gHzhwQCdOnFBzc7N2\n7dqlZDKp7du3j9i3v79ft912m77zne9o9+7d+v3f/3098cQT6unpkfRh2H7yySe1cOFCPffcc3r0\n0UfV1tamY8eOpe+sAAAAgEkaV0AOBAKqr69XWVmZnE6nGhoadPLkSQWDwWF96+rqdNNNN8nlcslu\nt2vVqlUqKirSm2++KUlqb29XMBjUunXrNGfOHFVXV2vlypU6ePBges8MAAAAmIQxA3I4HFYwGFR1\ndXXqWHl5uZxOpzo7O8d8gq6uLv32t79VZWVl6vsFCxaosLAw1ae6unpcjwUAAABMtzHXIEciH96A\nwuVyDTleXFycaruSUCikbdu26c4771RFRUXq8UZ6rHA4PKHCMT6WZVPSsjJdRl6yPnpdLV5fZBhj\nEdmCsYhsMdUxOGZAdjqdkjQswPb396faRtLT06PHH39ctbW1Wrdu3ZDHG+mxPh6akR4lJR4VzfNm\nuoy85vXy+iI7MBaRLRiLyHVjBmSXyyWv16uOjg5VVVVJ+nAXikgkkvr+4y5cuKBvfvObuvnmm9XQ\n0DCkraqqSufOndPAwIAcDock6cyZM1d8LExNb29IocF4psvIS5Zlyev1KhgMKh7nNUbmMBaRLRiL\nyBbTPoMsSX6/X21tbaqpqZHb7VZra6tqa2tH/A3x7Nmzeuyxx3Trrbdq7dq1w9qXLl2qsrIy7d27\nV+vXr9fZs2cVCAS0cePGKZ0IRhaPJ5XkTWpaxeNxPgiQFRiLyBaMReS6cQXk+vp6hcNhNTU1KRaL\nyefzafPmzZKko0ePqqWlRXv27JEktbW1qaenRy+99JJefPFFSZLNZlNjY6Pq6upkt9u1ZcsWPfvs\ns3rwwQdVXFys1atXa8WKFdN0igAAAMD42ZLJZDLTRUxUIBDQkqe2ZLqMrGe7qlTWX39XSSfru6eD\nZVkqLy/X+fPnmSlBRjEWkS0Yi8gWlmXp1KlT8vv9k/p5bjUNAAAAGAjIAAAAgIGADAAAABgIyAAA\nAICBgAwAAAAYCMgAAACAgYAMAAAAGAjIAAAAgIGADAAAABgIyAAAAICBgAwAAAAYCMgAAACAgYAM\nAAAAGAjIAAAAgIGADAAAABgIyAAAAICBgAwAAAAYCMgAAACAgYAMAAAAGAjIAAAAgIGADAAAABgI\nyAAAAICBgAwAAAAYCMgAAACAgYAMAAAAGAjIAAAAgIGADAAAABgIyAAAAICBgAwAAAAYCMgAAACA\ngYAMAAAAGAjIAAAAgIGADAAAABgIyAAAAICBgAwAAAAYCMgAAACAgYAMAAAAGAjIAAAAgIGADAAA\nABgIyAAAAICBgAwAAAAYCMgAAACAgYAMAAAAGAjIAAAAgIGADAAAABgIyAAAAICBgAwAAAAYCMgA\nAACAgYAMAAAAGAjIAAAAgIGADAAAABgIyAAAAICBgAwAAAAYCMgAAACAgYAMAAAAGAjIAAAAgIGA\nDAAAABgIyAAAAICBgAwAAAAYCMgAAACAgYAMAAAAGArG0ymRSKi1tVWHDx/W4OCgfD6fGhsbNXfu\n3GF9e3p6tHv3bnV2dioYDGrz5s2qq6sb0mft2rVyOByy2+1KJpOy2WzatWuXnE5nes4KAAAAmKRx\nBeQDBw7oxIkTam5ultvt1o4dO7R9+3Y1NTUN62u321VbW6v6+no9/fTTV3zMrVu3asmSJZOvHAAA\nAJgG41piEQgEVF9fr7KyMjmdTjU0NOjkyZMKBoPD+l511VVatWqVlixZIpvNdsXHTCaTk68aAAAA\nmCZjziCHw2EFg0FVV1enjpWXl8vpdKqzs1Ner3dST/zUU08pFoupoqJCq1ev1vLlyyf1OAAAAEA6\njRmQI5GIJMnlcg05XlxcnGqbqK1bt+raa6+VJB0/flzPPPOMHnnkEfl8vkk9Hq7MsmxKWta0PHY0\n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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a35daabe0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "data = ss.geom.rvs(size=10000, p=p) \n", | |
| "\n", | |
| "plt.hist(data, normed=True, align='left')\n", | |
| "plt.plot(x, px, 'o')\n", | |
| "\n", | |
| "plt.xlim(0, 10)\n", | |
| "\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Still not quite there! Notice the bars are too fat. It's becuase the histogram has reduced the sample space to be 0, 2.5, 5, 7.5 ,etc." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 82, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a35e2e4e0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "data = ss.geom.rvs(size=10000, p=p) \n", | |
| "\n", | |
| "plt.hist(data, normed=True, align='left', bins=np.arange(0,12))\n", | |
| "plt.plot(x, px, '-o')\n", | |
| "\n", | |
| "plt.xlim(0, 10)\n", | |
| "\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Thinking exercise: why is the last bar so big??" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 88, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "data = ss.binom.rvs(size=1000, p=0.5, n=10)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 90, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\nzMUXX5ympqZR3RYAAD5olaGhoWNy8MHg4GC+/e1v5/HHH09/f38uuuiirFixIlOnTj0WDw8AAIc5\nZjEMAADHGx/HDABAscQwAADFEsMAABRLDAMAUCwxDABAscQwAADFOmYfuvF+DA4OprOzM9u2bcvB\ngwdz0UUXZfny5Zk2bVqtR+MY6ezszAsvvJDe3t40NDTkkksuyXXXXef81AUbGhrKqlWr8vLLL2f1\n6tU5/fTTaz0SNfCTn/wkDz30UHbv3p1Jkyblj/7oj7Js2bJaj8Ux9Pbbb2f9+vX5yU9+koGBgbS2\ntubTn/70qD/ZlhPT008/ncceeyzd3d05cOBAHnzwwRHbt23blocffjhvvvlmZs6cmWXLlmXWrFnv\neZ/H9Z7h7373u/nhD3+Yjo6O3HvvvRkaGspdd91V67E4hqrVam688casX78+X/3qV/PGG2/knnvu\nqfVY1NC///u/p76+vtZjUEP//d//na9//ev58z//86xfvz733nuvTyot0Le+9a289dZb+cY3vpH7\n778/ra2t+ad/+qdaj8VRNnXq1Fx11VVZunTpYdt27tyZtWvXZsWKFVm/fn3mzp2bjo6O7N+//z3v\n87iO4a1bt+bqq6/OGWeckYaGhixZsiQ/+tGP0tvbW+vROEauueaatLS0ZMKECZk2bVoWLVqUrq6u\nWo9FjezZsyff//7385d/+Ze1HoUaevDBB/Nnf/ZnaWtrS7VaTV1dXVpaWmo9FsdYT09P5s6dm8bG\nxlSr1fzpn/5p3njjjbz99tu1Ho2jaM6cObn88stz5plnHrZt69atmTt3bi688MLU1dWlvb09kyZN\nyvbt29/zPo/bGN63b196e3vT2to6fNmZZ56ZhoaG9PT01HAyaunFF1/0I7BCDQ0N5d57782nP/3p\nNDY21nocauSdd97JK6+8koGBgaxcuTLLli3L7bffnp/+9Ke1Ho1jrK2tLc8880zeeuutHDhwIFu2\nbMn555/vMLqC9fT0HHZIRHNzc7q7u9/zdsdtDPf19SXJYW96U6ZMGd5GWZ599tls2bIln/nMZ2o9\nCjWwefPmTJ8+PZdddlmtR6GG9u7dm6GhoTz99NP5/Oc/n/vuuy9z5sxJR0dH9u3bV+vxOIauvvrq\nJMny5ctz/fXXZ8eOHVmxYkWNp6KW+vr63lc3Hrcx3NDQkCSH/eO2d+/e4W2U45lnnsn999+flStX\n+nFogV5//fVs3rw5n/3sZ5O8u5eYMh06XvxP/uRP8tGPfjTVajWf/OQn09/fn5deeqnG03Es/cM/\n/EM+/OFVkDFhAAACVklEQVQPZ8OGDXnggQfyyU9+Mn//93+ft956q9ajUSMNDQ3vqxuP2xhubGxM\nU1NTdu3aNXzZ66+/nr6+Pj8mL8zjjz+etWvXZuXKlbngggtqPQ41sHPnzrz11lv5m7/5myxbtix/\n93d/lyT527/92/znf/5njafjWGpsbMwZZ5xx2OWVSqUG01Arv/rVr/Lyyy/nE5/4ROrr64ePGR4a\nGvI/RQVrbm4e0Y1J0t3dfcSdaMf1qdUWLlyY733ve7ngggsyderUdHZ25uKLL05TU1OtR+MYefTR\nR/PII4/ktttuO+KpUTh5XX755ZkzZ87w17/85S/zxS9+MV/84hdz1lln1XAyauHjH/94/uM//iOX\nX355zjrrrGzatCkTJ07MeeedV+vROEamTZuWpqamPPbYY7n22mszceLEPPHEE9m/f39mzpxZ6/E4\nigYHBzMwMJCDBw8myfCfEydOzMKFC9PR0ZErr7wys2fPzubNm9Pf35+2trb3vM/K0HH888bBwcF8\n+9vfzuOPP57+/v5cdNFFWbFihYPjC/IXf/EXqVarmThxYpJ3fzxeqVSyYcOGGk9GLf3iF7/I5z//\neecZLtjGjRuzZcuWHDx4MK2trbn++uv91LAwPT09eeCBB/LTn/40g4ODmTFjRj71qU/l0ksvrfVo\nHEVPPPFEVq9efdjld999d5qamvLkk0/m3/7t34bPM7x8+fIj7hk+rmMYAACOpuP2mGEAADjaxDAA\nAMUSwwAAFEsMAwBQLDEMAECxxDAAAMUSwwAAFEsMAwBQLDEMAECx/h9JA1C0DGAa7gAAAABJRU5E\nrkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a35cdbef0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.hist(data, bins=np.arange(0,11))\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "How does histogram work? We can print out it's output to find out" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 91, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n/47M2NhUjvaVMtbSGpmG+r1+MJvNRrFYjGw2G5lMptbj1Ey5XK71CDWXzWZP+5X61FDHz4efl81m\n6/p5wT6IiIaGun8+rHYfTHnsNjU1xcjIyGm3jYyMRHNzc1Xv58T/+vOpHOsrpeGqqyP35P+JaW1X\n1nqUmikWi/Gbv/2rGPvo17UepWYaZs2JGev/Jhobp/zT9Cspl8vVegRqqFgsxqFaD3EJaG9vr+vn\nBPsgItNxTZS2PFX3r4/xB3dUvH7KP2M6OztjYGDgtNsGBwdj/vz51b2j/z42hVN9tZSbWuK3vz0a\ncWK01qPUTDabjbGPfh1jH35Q61Fq6siRI3V9FCdifC/kcrkYHh6OUqlU63GokXo/knVKvT8n2Afj\nvD5Wp6LYHRsbi1KpFCdPnoyImPj1sssuO2PtzTffHLt37469e/fGkiVLYt++fTE4OBhr1qyZwrHT\nN1YuRbmOX9jr+dSFzyuVSnX9wvZ5pVJJ7NYxzwnj6v05wT7gi6godn/2s59FT0/PxNurVq2KiIin\nn3463n///diyZUv09vZGRERHR0esXbs2Xnjhhejp6Ymrr7461q1b51uQAABcdBXF7i233BK33HLL\nWe8rFApRKBROu23hwoXR3d19wcMBAMCFcFkjAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL\n7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJ\nErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBA\nssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIA\nkCyxCwBAssQuAADJErsAACRL7AIAkKzGShaNjY3F9u3b46c//WmcPHkyFi5cGA899FBMnz79jLUD\nAwOxadOmaGpqinK5HBERnZ2d8cQTT0zt5AAAMImKYnfXrl3x85//PJ588slobW2NZ555JjZv3hyP\nPvroWdc3NDREb2/vlA4KAADVqug0hjfeeCOWL18eM2bMiObm5li1alUcOHAghoeHv+z5AADgC5v0\nyO7IyEgMDw/HvHnzJm7r6OiI5ubmGBoailwud8ZjxsbG4pFHHolisRj5fD7uueee6OzsnNrJAQBg\n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\n/vk4fvx4XHvttbFhw4Zaj8RFVi6X49lnn43Vq1dHS0tLrcehht5+++3413/915g+fXrceOON8cd/\n/MeO9tdDjS4MAAAC00lEQVSZ0dHR+OCDD+Ib3/hGrF+/PoaHh2POnDlx3333RT6fP+fjLpkju/A/\nvfXWW/H666/HAw88UOtRqJFCoRD/8A//EM8991zMnj07urq6aj0SF9mrr74aX//61+PGG2+s9SjU\n0J133hk//OEP4+///u9j7dq1MTAw4JTHOvTpp59GuVyOvXv3xne+85147rnnYsGCBfHkk0/GyMjI\nOR8ndrkk7du3L7Zs2RLr1693QRLR1tYWDz74YHzwwQeTnptFOj7++ON49dVX48EHH4yI8aO81Kd5\n8+bFFVdcERERs2fPjvvvvz/eeuutKBaLNZ6Mi+nUkfxbb701rr322shms7FixYooFovx7//+7+d8\nnNMYuOS8+eab8eKLL8b69evj+uuvr/U4XCJOvaj5tmX9eP/99+N3v/tdfPe7341yuTwRu+vWrYu7\n7rrLlfhQZ1paWmLGjBln3J7JZM77uEsmdsfGxqJUKsXJkycjIiZ+veyyy2o5FhfZa6+9Fjt37ozH\nHnvsvOffkLZyuRx79uyJpUuXxhVXXBGffPJJbN26NW644YbI5XK1Ho+LZOnSpbFgwYKJtz/55JPY\nsGFDbNiwIWbNmlXDybjY9u7dG4sWLYqWlpb4r//6r9i2bVvceOON0dh4yWQMF8ntt98e//zP/xxL\nly6NWbNmxe7du+Oyyy6Lb3zjG+d8TKZ8iXxfqK+vL3p6es64/emnn/biVkfuuuuuyGazE1/knPp5\nir29vTWejIupXC7HD37wg/iP//iPGB0djenTp8fixYvjT//0Tye+lUn9+c1vfhPf+c53/JzdOrRp\n06b49a9/HSdPnoy2trZYsmRJ/Mmf/Inv9NSpf/qnf4rXX389Tp48GfPmzYtvf/vb572Y/ZKJXQAA\nmGouUAMAIFliFwCAZIldAACSJXYBAEiW2AUAIFliFwCAZIldAACSJXYBAEiW2AUAIFn/D9T+z+DY\n9MTeAAAAAElFTkSuQmCC\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a35e3fda0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "data = ss.binom.rvs(size=10, p=0.5, n=10)\n", | |
| "info = plt.hist(data)\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 92, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "[4 5 1 5 4 6 5 2 5 4]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(data)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 94, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "tuple" | |
| ] | |
| }, | |
| "execution_count": 94, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "type(info)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 98, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([ 1., 0., 1., 0., 0., 0., 3., 0., 4., 1.])" | |
| ] | |
| }, | |
| "execution_count": 98, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "info[0] #how many things are in each bin" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 97, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5, 6. ])" | |
| ] | |
| }, | |
| "execution_count": 97, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "info[1] #the bins" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "What if you want that without making the graph?" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 101, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(array([1, 0, 1, 0, 0, 0, 3, 0, 4, 1]), array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5, 6. ]))\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "output_tuple = np.histogram(data)\n", | |
| "print(output_tuple)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "source": [ | |
| "Magic trick" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 116, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "[ 1. 1.5 2. 2.5 3. 3.5 4. 4.5 5. 5.5 6. ]\n", | |
| "[1 0 1 0 0 0 3 0 4 1]\n", | |
| "[4 5 1 5 4 6 5 2 5 4]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "counts, bins = np.histogram(data)\n", | |
| "\n", | |
| "print(bins)\n", | |
| "print(counts)\n", | |
| "print(data)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Now what if you want to plot the results from that? Use barplot. You have to think carefully about what to use for your left edge" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 115, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<Container object of 10 artists>" | |
| ] | |
| }, | |
| "execution_count": 115, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\nYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBI\nltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAA\nkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZzVMd\n2Lp1a3z44YcxOjoara2tsXDhwrjvvvuivb39jOeHhoZi/fr10dLSEqVSKSIiuru746mnnqru5AAA\nMIUpYzebzcaqVati9uzZcfTo0diwYUNs3LgxfvKTn5z1dZqammJgYKCqgwIAQKWmfBrDPffcE3Pm\nzImmpqaYPn163HXXXTE0NPSnmA0AAM7LlFd2/7ePP/44uru7z3lmYmIiHn300RgfH498Ph/33nvv\nlK8DAADVVtEXqL333nvx1ltvxYMPPnjWM9dcc0309vbGhg0b4uc//3nMnj07nnzyyfjDH/5w3sMC\nAEAlyr6yu2fPnnjhhRdizZo1MWfOnLOe6+joiI6OjoiIaGtri+XLl8f7778fe/fujdtuu63swbLZ\nbNlnqa9vdmVnjcG+Go+dRWQymXqPkLRsNjv5ReXVYF+1Ve19NZpKHwvLit133nknXnrppVizZk1c\nf/31FQ+VyWQqXkoul6v416G+7Kyx2FfjuZh3Nj4+HhG/rfcYyers7Izm5oqf2XhW9lVb1d5X6qb8\nk3rzzTdj27Zt8cQTT0Q+n5/yDX7yySeRy+Wiq6srTpw4Ea+//nocPnw4FixYUNFgo6OjUSwWK3od\n6iObzUYul7OzBmFfjcfOXCmstUOHDrmy20Cqva9GU/UruwMDA5HNZmP9+vUREVEqlSKTyUx+a7Fd\nu3bFpk2bJl8eGRmJ/v7+OHLkSEybNi3y+XysW7cuOjs7KxqsWCxetA/qjcrOGot9NZ6LeWfiqbaK\nxaLYbSDV3lfqpozdV1999Zz3FwqFKBQKky8vWbIklixZcv6TAQDAefLjggEASJbYBQAgWWIXAIBk\niV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAg\nWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEA\nSJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0A\nAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJLVPNWBrVu3xocffhij\no6PR2toaCxcujPvuuy/a29vP+jr79u2LLVu2xJdffhlXX311rFy5MubPn1/VwQEAYCpTXtnNZrOx\natWq2Lx5c/T29sahQ4di48aNZz1/4MCB6Ovri2XLlsXAwEAsXbo0ent7Y3R0tKqDAwDAVKaM3Xvu\nuSfmzJkTTU1NMX369LjrrrtiaGjorOcHBwcjn89HoVCIbDYbhUIh8vl8DA4OVnNuAACYUsXP2f34\n44+ju7v7rPePjIxEPp8/5ba5c+fGyMhI5dMBAMB5mPI5u9/23nvvxVtvvRXr168/65njx49HW1vb\nKbe1tbXF/v37Kxosm81WdJ76+WZXdtYY7Kvx2FlEJpOp9whJy2azUSqVqvb27Ku2qr2vRlPpY2HZ\nsbtnz5544YUXYs2aNTFnzpyznmtpaYmxsbFTbhsbG4vW1taKBsvlchWdp/7srLHYV+O5mHc2Pj4e\nEb+t9xjJ6uzsjObmiq5/nZN91Va195W6sv6k3nnnnXjppZdizZo1cf3115/zbHd392nP6R0eHo55\n8+ZVNNjo6GgUi8WKXof6yGazkcvl7KxB2FfjsTNXCmvt0KFDruw2kGrvq9FU/crum2++Gdu2bYsn\nnnjitOfinsktt9wSO3bsiN27d8eiRYtiz549MTw8HKtWraposGKxeNE+qDcqO2ss9tV4Luadiafa\nKhaLYreBVHtfqZsydgcGBiKbzU4+T7dUKkUmk4mBgYGIiNi1a1ds2rRp8uWurq547LHH4sUXX4z+\n/v646qqrYvXq1Rf1p98AAKiPKWP31VdfPef9hUIhCoXCKbf19PREX1/f+U0GAADnyY8LBgAgWWIX\nAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbY\nBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIl\ndgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBk\niV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJLVXM6h3bt3x86d\nO+Pzzz+Pr776Kl5++eWznh0aGor169dHS0tLlEqliIjo7u6Op556qjoTAwBAmcqK3fb29rjzzjvj\nxIkT8fzzz095vqmpKQYGBs57OAAAOB9lxe78+fMj4uurtgAA0CjKit1KTUxMxKOPPhrj4+ORz+fj\n3nvvje7u7lr8UgAAcFZVj91rrrkment7Y9asWXH8+PHYvn17PPnkk9HX1xczZswo++1ks9lqj0aN\nfLMrO2sM9tV47Cwik8nUe4SkZbPZya+zqQb7qq1q76vRVPpYWPXY7ejoiI6OjoiIaGtri+XLl8f7\n778fe/fujdtuu63st5PL5ao9GjVmZ43FvhrPxbyz8fHxiPhtvcdIVmdnZzQ3Vy8J7Ku2qr2v1P1J\n/qQymUzF/wIZHR2NYrFYo4mopmw2G7lczs4ahH01HjtzpbDWDh065MpuA6n2vhpNTa7sTkxMRLFY\njJMnT0ZETP73kksuOe3sJ598ErlcLrq6uuLEiRPx+uuvx+HDh2PBggUVDVYsFi/aB/VGZWeNxb4a\nz8W8M/FUW8ViUew2kGrvK3Vlxe6vf/3r6O/vn3x5xYoVERHx7LPPxqeffhqbNm2a/FZjIyMj0d/f\nH0eOHIlp06ZFPp+PdevWRWdnZw3GBwCAsysrdm+99da49dZbz3hfoVCIQqEw+fKSJUtiyZIlVRkO\nAADOhx8XDABAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJ\nErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBA\nssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIA\nkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsAACRL7AIAkCyxCwBAssQuAADJErsA\nACRL7AIAkKzmcg7t3r07du7cGZ9//nl89dVX8fLLL5/z/L59+2LLli3x5ZdfxtVXXx0rV66M+fPn\nV2VgAAAoV1lXdtvb2+POO++MBx54YMqzBw4ciL6+vli2bFkMDAzE0qVLo7e3N0ZHR893VgAAqEhZ\nsTt//vxYvHhxdHV1TXl2cHAw8vl8FAqFyGazUSgUIp/Px+Dg4PnOCgAAFan6c3ZHRkYin8+fctvc\nuXNjZGSk2r8UAACcU1nP2a3E8ePHo62t7ZTb2traYv/+/RW9nWw2W82xGk4mk6n3CGVramqK8fHx\nyGazDTF3qVSqydtthN97ROPtK6J2O2sU3zweXsyPi43yvtqostlsVT/OUt5XNhMxt7O1br/+tR3T\nkn4sKOf9sNLff9Vjt6WlJcbGxk65bWxsLFpbK3vHyOVy1RyroYyPj8cTr38cv/vD8XqPkpzZM1ri\np/9nXjQ3V/dd385qp1Y7a0QX++NixG/rPUayOjs7q/oxlvK+5na2xuwZLXV7vP+vwyfi//4yzT/b\nWj3eV/1vj+7u7hgaGjrltuHh4Zg3b15Fb2d0dDSKxWI1R2sYmUwmfveH4/HZwWP1HiVJhw4dqvqV\nQjurrVrsrJFks9nI5XIX/eMitVPtj7HU9+XxvnbKeV+syZXdiYmJKBaLcfLkyYiIyf9ecsklp529\n5ZZbYseOHbF79+5YtGhR7NmzJ4aHh2PVqlUVDVYsFj2oUxPFYrEmsUvt1GJnjcjjIrVS7Y8x++K7\nqsXjfVmx++tf/zr6+/snX16xYkVERDz77LPx6aefxqZNm2JgYCAiIrq6uuKxxx6LF198Mfr7++Oq\nq66K1atXX9SffgMAoD7Kit1bb701br311jPeVygUolAonHJbT09P9PX1nfdwAABwPvy4YAAAkiV2\nAQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJ\nXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZ\nYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBI\nltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZYhcAgGSJXQAAkiV2AQBIltgFACBZzeUcmpiYiK1b\nt8a7774bJ0+ejJ6ennj44Ydj+vTpp50dGhqK9evXR0tLS5RKpYiI6O7ujqeeeqq6kwMAwBTKit3t\n27fHBx98EE8//XS0t7fHxo0bY8OGDfH444+f8XxTU1MMDAxUdVAAAKhUWU9jePvtt2Pp0qVx5ZVX\nRmtra6xYsSL27dsXo6OjtZ4PAAC+symv7I6NjcXo6GjMnTt38raurq5obW2NkZGRyOVyp73OxMRE\nPProozE+Ph75fD7uvffe6O7uru7kAAAwhSlj99ixYxER0dbWdsrtl1122eR933bNNddEb29vzJo1\nK44fPx7bt2+PJ598Mvr6+mLGjBllD5bNZss+m5pMJlPvEZKWzWYnn09eLXZWW7XYWSP55vHQ4yK1\nUu2PMfviuyrnfbHSx8IpY7e1tTUivr7C+21Hjx6dvO/bOjo6oqOjIyK+DuTly5fH+++/H3v37o3b\nbrut7MHOdMX4YjE+Ph4Rv633GMnq7OyM5uaynq5eNjurrVrsrBF5XPQxVivV/hizL76rWjzeT/nW\n2traIpfLxfDw8ORTEb744os4duxY2U9NyGQyFf+LcXR0NIrFYkWvkwr/Iq6tQ4cOubLbYGqxs0aS\nzWYjl8t5XKRmqv0xZl98V+W8L1b9ym5ExO233x6vvfZa3HjjjdHe3h5bt26NBQsWnPEqwyeffBK5\nXC66urrixIkT8frrr8fhw4djwYIFFQ1WLBY9qFMTxWJR7DaYWuysEXlcpFaq/TFmX3xXtXi8Lyt2\nly5dGmNjY/H444/H+Ph49PT0xKpVqyIiYteuXbFp06bJbzU2MjIS/f39ceTIkZg2bVrk8/lYt25d\ndHZ2VnVwAACYSlmx29TUFCtWrIgVK1acdl+hUIhCoTD58pIlS2LJkiXVmxAAAL4jPy4YAIBkiV0A\nAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIX\nAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbY\nBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIl\ndgEASJbYBQAgWWIXAIBkiV0AAJIldgEASJbYBQAgWWIXAIBkiV0AAJIldgEASFZzOYcmJiZi69at\n8e6778bJkyejp6cnHn744Zg+ffoZz+/bty+2bNkSX375ZVx99dWxcuXKmD9/flUHBwCAqZR1ZXf7\n9u3xwQcfxNNPPx3PPfdclEql2LBhwxnPHjhwIPr6+mLZsmUxMDAQS5cujd7e3hgdHa3q4AAAMJWy\nYvftt9+OpUuXxpVXXhmtra2xYsWK2Ldv3xkDdnBwMPL5fBQKhchms1EoFCKfz8fg4GC1ZwcAgHOa\nMnbHxsZidHQ05s6dO3lbV1dXtLa2xsjIyGnnR0ZGIp/Pn3Lb3Llzz3gWAABqacrYPXbsWEREtLW1\nnXL7ZZddNnnftx0/fvy0s21tbWc8CwAAtTTlF6i1trZGxNdXeL/t6NGjk/d9W0tLy2lnx8bGznj2\nXLLZbEXnU5LJZGL2jJZ6j1ET13ZMq+uvf/X0aTV737Kz2qjlzhpFU1NTjI+PRzabjUwmU+9x6sbH\nWG3U6mMs5X1dzB+HtTR7Rktks9kolUrnPFfp++uUsdvW1ha5XC6Gh4eju7s7IiK++OKLOHbs2OTL\n39bd3R1DQ0On3DY8PBzz5s2raLCPPvqoovOpuaMjIjrqPUUtjE19pMY+/viLmrxdO6udWu2MxuJj\nrHZq8TGW/L6S/L3V21h8/PGhqr/Vsr712O233x6vvfZa3HjjjdHe3h5bt26NBQsWRC6XO+3sLbfc\nEjt27Ijdu3fHokWLYs+ePTE8PByrVq0qe6jbb7+9/N8BAACcRaY01bXi+Pr77P7iF7+Id955J8bH\nx6OnpyceeeSRaG9vj127dsWmTZtiYGBg8vxHH30UL774Yhw4cCCuuuqqeOCBByq+sgsAAOerrNgF\nAIBG5McFAwCQLLELAECyxC4AAMkSuwAAJEvsAgCQLLELAECyyvqhEn8qExMTsXXr1nj33Xfj5MmT\n0dPTEw8//HBMnz693qNxBrt3746dO3fG559/Hl999VW8/PLL9R6Jc9i6dWt8+OGHMTo6Gq2trbFw\n4cK47777or29vd6jcQ6vvPJK7Nq1K44cORLNzc1x3XXXxfLly2POnDn1Ho1zKJVKsW7duvjNb34T\n/f390dnZWe+ROIONGzfGv/zLv8Sll14apVIpMplM3HfffXHHHXfUezTO4d/+7d/i1Vdfjf/6r/+K\nSy+9NP78z/88/uZv/uas5y+o2N2+fXt88MEH8fTTT0d7e3ts3LgxNmzYEI8//ni9R+MM2tvb4847\n74wTJ07E888/X+9xmEI2m41Vq1bF7Nmz4+jRo7Fhw4bYuHFj/OQnP6n3aJzDzTffHD/4wQ+itbU1\nvvrqq3jllVfimWeeiQ0bNtR7NM7hl7/8ZbS0tNR7DMpw6623xt/+7d/WewzK9O///u/x93//9/F3\nf/d38Wd/9mdRKpVi//7953ydC+ppDG+//XYsXbo0rrzyymhtbY0VK1bEvn37YnR0tN6jcQbz58+P\nxYsXR1cpO5azAAAEGUlEQVRXV71HoQz33HNPzJkzJ5qammL69Olx1113xdDQUL3HYgozZ86M1tbW\niPj6s1+ZTCauuOKKOk/Fufz+97+PX/3qV3H//ffXexRIzssvvxx/8Rd/EYsWLYpsNhvNzc1Tfqbr\ngrmyOzY2FqOjozF37tzJ27q6uqK1tTVGRkYil8vVcTpIz8cffxzd3d31HoMy7Nq1K1544YU4duxY\nXHvttbF27dp6j8RZlEqleO6552LlypXR1tZW73Eow/vvvx//+q//GtOnT4+bbrop/vIv/9JV+QvU\niRMn4rPPPovvf//7sWbNmhgdHY3Zs2fH/fffH/l8/qyvd8Fc2T127FhExGkPDpdddtnkfUB1vPfe\ne/HWW2/Fgw8+WO9RKEOhUIh//Md/jOeffz5mzZoVvb299R6Js3jjjTfie9/7Xtx00031HoUy3HXX\nXfHzn/88/uEf/iEee+yxGBoa8rS8C9jRo0ejVCrF7t2740c/+lE8//zzMX/+/Hj66adjbGzsrK93\nwcTuN5+m+9/DHj16dPI+4Pzt2bMnNm3aFGvWrPFFTg2mo6MjHnroofjss8+mfI4af3pffPFFvPHG\nG/HQQw9FxNdXebmwzZ07Ny6//PKIiJg1a1Y88MAD8d5778X4+HidJ+NMvrniftttt8W1114b2Ww2\nli1bFuPj4/Ef//EfZ329C+ZpDG1tbZHL5WJ4eHjyU6tffPFFHDt2zKdaoUreeeedeOmll2LNmjVx\n/fXX13scvoNv/hL2adYLz6effhp//OMf48c//nGUSqXJ2F29enXcfffdvsIfzlNbW1tceeWVp92e\nyWTO+XoXTOxGRNx+++3x2muvxY033hjt7e2xdevWWLBggefrXqAmJiaiWCzGyZMnIyIm/3vJJZfU\ncyzO4s0334xt27bFE088cc7nNnHhKJVKsXPnzli8eHFcfvnlcfDgwdi8eXPccMMNHhcvQIsXL475\n8+dPvnzw4MFYu3ZtrF27NmbOnFnHyTib3bt3x4IFC6KtrS3++7//O7Zs2RI33XRTNDdfUHnEt9xx\nxx3xz//8z7F48eKYOXNm7NixIy655JL4/ve/f9bXyZQuoM+zTExMxC9+8Yt45513Ynx8PHp6euKR\nRx7xfUAvUIODg9Hf33/a7c8++6y/iC9Ad999d2Sz2cl/jHzzPSUHBgbqPBlnUyqV4mc/+1n853/+\nZ5w4cSKmT58eCxcujL/+67+e/NQrF67/+Z//iR/96Ee+z+4FbP369fG73/0uTp48GR0dHbFo0aL4\nq7/6K585ucD90z/9U7z11ltx8uTJmDt3bvzwhz8857MALqjYBQCAarpgvkANAACqTewCAJAssQsA\nQLLELgAAyRK7AAAkS+wCAJAssQsAQLLELgAAyRK7AAAk6/8HdmPB0r8dn34AAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a359633c8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.bar(left=bins[:-1], height=counts, align='center')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Huh, what is that funny problem on the right? It's because our bin boundaries are bad - we ended comparing floating point numbers. Best to always specify the bins we want" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 119, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([-0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])" | |
| ] | |
| }, | |
| "execution_count": 119, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "np.arange(-0.5, 10.5, 1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 117, | |
| "metadata": { | |
| "collapsed": true, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "counts, bins = np.histogram(data, bins=np.arange(-0.5, 10.5, 1))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 118, | |
| "metadata": { | |
| "collapsed": false, | |
| "slideshow": { | |
| "slide_type": "subslide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<Container object of 10 artists>" | |
| ] | |
| }, | |
| "execution_count": 118, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\nXRJD+MUvfhHPPPNM/M///E9ccskl8bWvfS3uvffeSpfFOfzhD3+ITZs2xS9+8YsoFosxY8aMWLZs\n2aDfYsvkUDtRAAAGQklEQVSXb9++fbFr1654991349NPP42nnnrqjOv37NkTP/vZz+Kjjz6Ka665\nJu69997I5/ND3udFu/NbLBbjsssui7/927+Nf/u3f4u1a9fGm2++GVu2bKl0afyvbdu2xauvvhrr\n1q2Lxx9/PEqlUqxfv77SZXEO2Ww2VqxYEZs2bYqWlpY4cuRIPPbYY5UuizI899xzUVtbW+kyKMNb\nb70V//zP/xzf+ta3YtOmTfH444/71tKL3E9+8pP4+OOP48c//nFs2LAhZsyYET/84Q8rXRb/q6Gh\nIW677ba45557zrru7bffjo0bN8Z9990XmzZtiptuuinWrVsXvb29Q97nRRt+J0yYEHfeeWf80R/9\nUWQymcjlcrFgwYJ46623Kl0a/2v37t2xaNGimDx5ctTV1cXSpUvj4MGD0d3dXenSGMSdd94Z06dP\nj3HjxsXEiRPj9ttvj0OHDlW6LIbxu9/9Ln7+85/Ht7/97UqXQhmeeuqp+PM///OYO3duZLPZqKmp\nienTp1e6LIbQ1dUVN910U9TX10c2m41vfOMbceTIkfjDH/5Q6dKIiFmzZsW8efOiqanprOt2794d\nN910U8ycOTNqamrim9/8ZlxyySXxX//1X0Pe50UbfgfzxhtveBniItHT0xPd3d0xY8aMgWNNTU1R\nV1cXXV1dFayMcllPF79SqRSPP/54LFu2LOrr6ytdDsM4ceJE/OpXv4pisRirVq2Ke++9N9auXRu/\n+c1vKl0aQ5g7d27s378/Pv744/j000/jhRdeiD/5kz9xSlgV6OrqOusUh+bm5nj33XeHvF1Fzvl9\n7LHHYs+ePee8/i/+4i/ijjvuOOPYzp0747//+7+9FHGROH78eETEWf8gX3rppQPXcfF6+eWX44UX\nXoi1a9dWuhSGsHPnzvjKV74SN954Y/z+97+vdDkM45NPPolSqRT79u2Lv/u7v4upU6fG9u3bY926\ndfHjH//YHzAXqUWLFsU//uM/xvLly2PcuHGRy+XiwQcfrHRZlOH48eNfKIdUJPzee++9sWzZsnNe\nf8kll5xx+bnnnosdO3bEP/zDP8QVV1xxocujDHV1dRHx2Q7w6T755JOB67g47d+/PzZu3BirVq3y\ncuxF7P3334+dO3cO/MFfKpUqXBHDOXVe9i233BJXX311REQsXrw4tm/fHr/85S9jzpw5lSyPc3jk\nkUdi+vTpsXLlyhg/fnzs2bMn/v7v/z7+6Z/+KS677LJKl8cQ6urqBs0hU6ZMGfJ2FQm/EyZMiAkT\nJpQ19mc/+1ns3r071q5dO+xk+PLU19dHLpeLzs7OgZfO33///Th+/LiX0i9iL774Yjz55JOxatWq\nuPbaaytdDkN4++234+OPP47vf//7USqVBsLvypUr44477ohbb721whXyefX19TF58uSzjmcymQpU\nQzmOHTsW77zzTtx///0Df7x84xvfiC1btsQvf/nLuPHGGytcIUNpbm6Ozs7OM469++678Wd/9mdD\n3u6i/aiziIjNmzfHyy+/HGvXro0rr7yy0uXwOQsWLIhnn302rr/++mhoaIgtW7bEnDlzIpfLVbo0\nBvH888/H1q1b46GHHhr2Y2CovHnz5sWsWbMGLn/44YexevXqWL16dUydOrWClTGUW2+9Nf7zP/8z\n5s2bF1OnTo0dO3bE+PHj44//+I8rXRqDmDhxYuRyudi1a1csWbIkxo8fHx0dHdHb2xvXXHNNpcsj\nPvtY1WKxGCdPnoyIGPg5fvz4WLBgQaxbty7mz58f1113XezcuTP6+vpi7ty5Q95npnSRvpbW3d0d\nf/VXfxU1NTVRU/NZRi+VSjF58uRobW2tcHVEfPaA/OlPfxovvvhi9PX1xezZs+O+++7zJoGL1B13\n3BHZbHbgc7JLpVJkMplob2+vcGWU4/e//3389V//tc/5rQL//u//Hi+88EKcPHkyZsyYEd/5zne8\nInYR6+rqiieffDJ+85vfRH9/f0yZMiX+8i//Mv70T/+00qURER0dHdHW1nbW8UcffTRyuVy89NJL\n8R//8R8Dn/O7fPnyYU/pu2jDLwAAjLaq+qgzAAA4H8IvAADJEH4BAEiG8AsAQDKEXwAAkiH8AgCQ\nDOEXAIBkCL8AACRD+AUAIBn/H78zQ6jw3GHYAAAAAElFTkSuQmCC\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f9a358ec2e8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.bar(left=bins[:-1], height=counts, align='center')" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "celltoolbar": "Slideshow", | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.4.2" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Great Lecture! Colorful and such.