|
| 1 | +{ |
| 2 | + "cells": [ |
| 3 | + { |
| 4 | + "cell_type": "markdown", |
| 5 | + "metadata": {}, |
| 6 | + "source": [ |
| 7 | + "# Probability Theory:\n", |
| 8 | + "\n", |
| 9 | + "Probability theory is a field in mathematics that study the caluclation of probability of occuring of events. \n", |
| 10 | + "\n", |
| 11 | + "Example, the probability of tossing a coin and get Head is 50%. \n", |
| 12 | + "\n", |
| 13 | + "## Simulate tossing a coin using Python: \n", |
| 14 | + "\n", |
| 15 | + "Let us simulate tossing a coin 1000 times and calculate how much Head we get, and repeat that exercise 10 times.\n", |
| 16 | + "\n", |
| 17 | + "### Numpy and random genertion:\n", |
| 18 | + "\n", |
| 19 | + "Real random numbers are difficult to produce, so in practice, we use pseudo-random numbers. Pseudo-random numbers are sufficiently random for most intents and purposes, except for some very exceptional instances, such as very accurate simulations. \n", |
| 20 | + "\n", |
| 21 | + "Numpy random number generation is based on the [Mersenne Twister algorithm](https://en.wikipedia.org/wiki/Mersenne_twister)." |
| 22 | + ] |
| 23 | + }, |
| 24 | + { |
| 25 | + "cell_type": "code", |
| 26 | + "execution_count": 22, |
| 27 | + "metadata": {}, |
| 28 | + "outputs": [], |
| 29 | + "source": [ |
| 30 | + "import numpy as np\n", |
| 31 | + "def generate_random_tosses(times, repeat):\n", |
| 32 | + " random_array = np.random.rand(times, repeat) # this will generate random of float between 0 and 1\n", |
| 33 | + " # to simulate tossing coin we convert any greater than 0.5 to +1 and anything else to -1\n", |
| 34 | + " coin_tosses = (random_array > 0.5) * 2 - 1\n", |
| 35 | + " head_counts = np.sum(coin_tosses, axis = 0) # find the sum where Head = (+1) and Tail = (-1)\n", |
| 36 | + " return head_counts" |
| 37 | + ] |
| 38 | + }, |
| 39 | + { |
| 40 | + "cell_type": "code", |
| 41 | + "execution_count": 28, |
| 42 | + "metadata": {}, |
| 43 | + "outputs": [ |
| 44 | + { |
| 45 | + "name": "stdout", |
| 46 | + "output_type": "stream", |
| 47 | + "text": [ |
| 48 | + "results: [ 8 22 -26 36 -54 -30 -6 -30 14 -20]\n" |
| 49 | + ] |
| 50 | + }, |
| 51 | + { |
| 52 | + "data": { |
| 53 | + "image/png": "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\n", |
| 54 | + "text/plain": [ |
| 55 | + "<Figure size 720x288 with 1 Axes>" |
| 56 | + ] |
| 57 | + }, |
| 58 | + "metadata": { |
| 59 | + "needs_background": "light" |
| 60 | + }, |
| 61 | + "output_type": "display_data" |
| 62 | + } |
| 63 | + ], |
| 64 | + "source": [ |
| 65 | + "import matplotlib.pyplot as plt\n", |
| 66 | + "times = 1000\n", |
| 67 | + "repeat = 10\n", |
| 68 | + "\n", |
| 69 | + "tosses_results = generate_random_tosses(times, repeat)\n", |
| 70 | + "print('results: ', tosses_results)\n", |
| 71 | + "\n", |
| 72 | + "plt.figure(figsize=[10,4])\n", |
| 73 | + "plt.hist(tosses_results);\n", |
| 74 | + "plt.xlim([-times,times])\n", |
| 75 | + "plt.xlabel(\"sum\")\n", |
| 76 | + "plt.ylabel(\"count\")\n", |
| 77 | + "plt.title(\"Histogram of coin flip sum when flipping a fair coin %d times\"%times)\n", |
| 78 | + "plt.grid()" |
| 79 | + ] |
| 80 | + }, |
| 81 | + { |
| 82 | + "cell_type": "code", |
| 83 | + "execution_count": null, |
| 84 | + "metadata": {}, |
| 85 | + "outputs": [], |
| 86 | + "source": [] |
| 87 | + } |
| 88 | + ], |
| 89 | + "metadata": { |
| 90 | + "kernelspec": { |
| 91 | + "display_name": "Python 3", |
| 92 | + "language": "python", |
| 93 | + "name": "python3" |
| 94 | + }, |
| 95 | + "language_info": { |
| 96 | + "codemirror_mode": { |
| 97 | + "name": "ipython", |
| 98 | + "version": 3 |
| 99 | + }, |
| 100 | + "file_extension": ".py", |
| 101 | + "mimetype": "text/x-python", |
| 102 | + "name": "python", |
| 103 | + "nbconvert_exporter": "python", |
| 104 | + "pygments_lexer": "ipython3", |
| 105 | + "version": "3.7.0" |
| 106 | + } |
| 107 | + }, |
| 108 | + "nbformat": 4, |
| 109 | + "nbformat_minor": 2 |
| 110 | +} |
0 commit comments