├── .gitignore
├── Common_Random_Variables.ipynb
├── Continuous_Random_Variables.ipynb
├── Cumulative_Distribution_Functions.ipynb
├── Discrete_Random_Variables.ipynb
├── Events_Axioms_And_Such.ipynb
├── Limit_Theorems.ipynb
├── Misc_Examples.ipynb
├── ProbabilityCheatSheet.pdf
├── README.md
├── RVs_Additional_Topics.ipynb
└── index.html
/.gitignore:
--------------------------------------------------------------------------------
1 | *.py[cod]
2 |
3 | # C extensions
4 | *.so
5 |
6 | # Packages
7 | *.egg
8 | *.egg-info
9 | dist
10 | build
11 | eggs
12 | parts
13 | bin
14 | var
15 | sdist
16 | develop-eggs
17 | .installed.cfg
18 | lib
19 | lib64
20 |
21 | # Installer logs
22 | pip-log.txt
23 |
24 | # Unit test / coverage reports
25 | .coverage
26 | .tox
27 | nosetests.xml
28 |
29 | # Translations
30 | *.mo
31 |
32 | # Mr Developer
33 | .mr.developer.cfg
34 | .project
35 | .pydevproject
36 |
37 | #ipynb
38 | .ipynb_checkpoints
39 | .syncdb
40 |
--------------------------------------------------------------------------------
/Cumulative_Distribution_Functions.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "
Common Ground
\n",
8 | "Much of the treatment of random variables (RV) makes a distinction between **discrete** and **continous** random variables. For example, discrete RVs are associated with a probability **mass** function (PMF) that is a function from a discrete value, i.e. a possible outcome, and the probability that the RV takes that outcome. Continuous RVs are associated with a probability **density** function (PDF) that is a function from any value on the real line to the probability **density** of the RV at that value (thought of as the density per unit length). \n",
9 | "\n",
10 | "The **cumulative distribution function** (CDF) is a single concept that applies to all RVs. The CDF of a RV *X*, denoted $F_X\\hspace{1pt}$ defines the probability $P\\left(X\\le x\\right)\\hspace{1pt}$\n",
11 | "\n",
12 | "$$F_X\\left(x\\right) = P\\left(X\\le x\\right) = \\left\\{ \\begin{eqnarray} \\sum_{k\\le x} p_X\\left(k\\right) &,& \\quad \\mbox{if}\\hspace{3pt} X \\hspace{2pt} \\mbox{is discrete} \\cr\n",
13 | "\\int_{-\\infty}^x f_X\\left(t\\right)dt&,& \\quad \\mbox{if}\\hspace{3pt} X \\hspace{2pt} \\mbox{is continuous} \\end{eqnarray}\\right.$$"
14 | ]
15 | },
16 | {
17 | "cell_type": "markdown",
18 | "metadata": {},
19 | "source": [
20 | "Properties of the CDF
\n",
21 | "\n",
22 | "If *X* is discrete and takes integer values, the PMF and the CDF can be obtained as\n",
23 | "\n",
24 | "$$F_X\\left(k\\right) = \\sum_{i=-\\infty}^k p_X\\left(i\\right)$$\n",
25 | "\n",
26 | "$$p_X\\left(k\\right) = P\\left(X\\le k\\right) - P\\left(X \\le k-1\\right) = F_X\\left(k\\right) - F_X\\left(k-1\\right)$$\n",
27 | "\n",
28 | "for all integers *k*.\n",
29 | "\n",
30 | "If *X* is a continuous RV, the PDF and CDF can be obtained as\n",
31 | "\n",
32 | "$$F_X\\left(x\\right) = \\int_{-\\infty}^x f_X\\left(t\\right)dt$$\n",
33 | "\n",
34 | "$$f_X\\left(x\\right) = \\frac{dF_X}{dx}\\left(x\\right)$$"
35 | ]
36 | },
37 | {
38 | "cell_type": "markdown",
39 | "metadata": {},
40 | "source": [
41 | "Example: PMF/PDF For Maximum of Several Random Variables
\n",
42 | "\n",
43 | "Consider the set of random variables $\\mathbf{X}=\\left\\{X_1,\\ldots,X_N\\hspace{1pt}\\right\\}$ where the random variables in **X** *are independent*. Let *Z* be the random variable equal to the maximum value over the set **X** for a given observation of **X**. We can obtain the PMF or PDF of **Z** by first considering the CDF\n",
44 | "\n",
45 | "$$\\begin{eqnarray}F_Z\\left(z\\right) &=& P\\left(X_1\\le z\\right)\\ldots P\\left(X_N \\le z\\right) \\cr\n",
46 | "&=& F_{X_1}\\left(z\\right)\\ldots F_{X_N}\\left(z\\right)\\end{eqnarray}$$\n",
47 | "\n",
48 | "By the properties of the CDF, the PMF or PDF can be obtained. \n",
49 | "\n",
50 | "Consider the case where **X** consists of two *independent Normal random variables* with means $\\mu_i = 0, 3\\hspace{2pt}$ respectively and variances $\\sigma^2 = 1, 16\\hspace{2pt}$ respectively and let **Z** be the maximum of **X**. \n",
51 | "\n",
52 | "Recall that for an arbitrary *Gaussian* random variable *X* with mean $\\mu\\hspace{1pt}$ and standard deviation $\\sigma\\hspace{1pt}$ we have\n",
53 | "\n",
54 | "$$F_X\\left(x\\right) = \\Phi \\left(\\frac{x-\\mu}{\\sigma}\\right)$$\n",
55 | "\n",
56 | "where \n",
57 | "\n",
58 | "$$\\Phi\\left(x\\right) = \\frac{1}{\\sqrt{2\\pi}}\\int_{-\\infty}^x e^{-t^2/2}dt$$\n",
59 | "\n",
60 | "is the CDF of the *standard Normal*, that is a Gausian RV with zero mean and unit variance. Thus CDF of Z is\n",
61 | "\n",
62 | "$$F_Z\\left(z\\right) = \\Phi\\left(z\\right) \\cdot \\Phi\\left(\\frac{z-3}{4}\\right)$$\n",
63 | "\n",
64 | "Now we can obtain the PDF of **Z** by applying the [Fundamental Thoerem of Calculus](http://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus) and the [chain rule](http://en.wikipedia.org/wiki/Chain_rule) to obtain\n",
65 | "\n",
66 | "$$\\begin{eqnarray}f_Z\\left(z\\right) &=& \\Phi\\left(z\\right) \\cdot \\frac{d}{dz}\\Phi\\left(\\frac{z-3}{4}\\right) + \\Phi\\left(\\frac{z-3}{4}\\right) \\cdot \\frac{d}{dz}\\Phi\\left(z\\right) \\cr\n",
67 | "&=& \\Phi\\left(z\\right)\\cdot \\frac{1}{4}\\cdot f_Z\\left(\\frac{z-3}{4}\\right) +\\Phi\\left(\\frac{z-3}{4}\\right)\\cdot f_Z\\left(z\\right) \n",
68 | "\\end{eqnarray}$$\n",
69 | "\n",
70 | "where\n",
71 | "\n",
72 | "$$f_Z\\left(z\\right) = \\frac{1}{\\sqrt{2\\pi}} e^{-z^2/2}$$\n",
73 | "\n",
74 | "Below we attempt to confirm (technically we are only \"not contradicting\") this result via simulation. We will take *N* observations of **Z** for some *large N* and determine if the observed distribution *closely matched* the predicted one. "
75 | ]
76 | },
77 | {
78 | "cell_type": "code",
79 | "execution_count": 32,
80 | "metadata": {
81 | "collapsed": false
82 | },
83 | "outputs": [
84 | {
85 | "data": {
86 | "text/plain": [
87 | "[]"
88 | ]
89 | },
90 | "execution_count": 32,
91 | "metadata": {},
92 | "output_type": "execute_result"
93 | },
94 | {
95 | "data": {
96 | "image/png": [
97 | "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD9CAYAAABdoNd6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
98 | "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1cVHXe//HXDDOAiIk3wCiDUYI6eIMkLGs363TL4lWs\n",
99 | "re5mW+m2Wqx70d3mujfVL213Tbe1YsV2qS3LbTOvutp0DanMiy4vFSlvMkUTU3BAwVtEEbkZzu+P\n",
100 | "gblBHUBm5gzM5/l48Hicc+acw2dGfHP4nvP9fjWKoigIIYTo1bRqFyCEEML7JOyFECIASNgLIUQA\n",
101 | "kLAXQogAIGEvhBABQMJeCCECQIdhX1BQwKhRo0hISGDx4sUXvb5v3z4mTpxIaGgoS5YscXmtpqaG\n",
102 | "adOmYTKZSExMpKioyHOVCyGE6DSduxetVivZ2dmsX7+emJgYUlNTyczMxGQy2fcZNGgQS5cu5cMP\n",
103 | "P7zo+Mcee4zJkyfz/vvv09zcTF1dneffgRBCiA65vbIvLi4mPj6euLg49Ho906dPZ/Xq1S77REZG\n",
104 | "kpKSgl6vd9l+5swZNm7cyM9+9jMAdDod/fv393D5QgghOsPtlX1lZSWxsbH2daPRyNatWzt14kOH\n",
105 | "DhEZGcmDDz7IV199xYQJE8jJySEsLMy+j0ajucKyhRAisHV18AO3V/bdCePm5ma2b9/OL37xC7Zv\n",
106 | "307fvn1ZtGjRRfspiiJfisKzzz6reg3+8iWfhXwW8lm4/7oSbsM+JiYGi8ViX7dYLBiNxk6d2Gg0\n",
107 | "YjQaSU1NBWDatGls3779iooUQgjRPW7DPiUlhdLSUsrKymhsbGTVqlVkZmZect/2v20MBgOxsbHs\n",
108 | "378fgPXr1zN69GgPlS2EEKIr3LbZ63Q6cnNzSU9Px2q1MmvWLEwmE3l5eQBkZWVRVVVFamoqtbW1\n",
109 | "aLVacnJyKCkpITw8nKVLl3LffffR2NjI8OHDWb58uU/eVE9kNpvVLsFvyGfhIJ+Fg3wW3aNRrrQB\n",
110 | "yBPfXKO54vYnIYQIVFeSnW6v7IX6zOlmqk9VAxA9MJrCjwvdbhdCiEuRsPdz1aeqMWQbAKjKrepw\n",
111 | "uxBCXIqMjSOEEAFAwr4H0SgK7NsHMuyEEKKLJOx7iHHf1PD+3jIwmSAmhscqjqNrblG7LCFEDyFh\n",
112 | "3wMMP3yOP//pKxLPN9g2nDnDz6tO8tg/StUtTAjRY0jY+7kgReFXr+9Db734Mas7Pz/KHf8nN2eF\n",
113 | "EB2TsPdz047XMLL8HAANGg1s2wbTptlf//mqbwm1SnOOEMI9CXs/9+PjNfblV4YOguuugzffpDLY\n",
114 | "9tTsgLNN/PhEzeUOF0IIQMLev23fTmK9rZ2+Qa9lZeQA2/a+ffm7YZB9t9lVJ+HCBcDW2cqUasKc\n",
115 | "bvZ1tUIIPyZh78/eeMO++HlqJGd1Qfb1Dwb353hEMACRTVb4978BR2ertt61QggBEvb+q6UF3n/f\n",
116 | "vrruJoPLy41aLWvNQx0bZJA5IYQbEvb+6uuvodp2dX4mXM9XIyMoLyvHlGrClGqi3FLOJzdEO/b/\n",
117 | "+GM4ckSlYoUQ/k7C3l998ol98cvRA1C0GqxYMWQbMGQbsFqtVEX2YceoCNtOLS3wzjsqFSuE8HcS\n",
118 | "9v7KOezHDLj8bs5X9x984M2KhBA9mIS9Pzp/HjZutK9+OXrgZXfdnDyY5raVLVuIbGzybm1CiB5J\n",
119 | "wt4fFRdDg+2Ry29DgzkxMOSyu9aG6/miX5h9/daac14vTwjR80jY+6PiYvvi9vA+He6+fkA/+/Lt\n",
120 | "NWe9UpIQomeTsPdHW7faF3f17TjsP4sIty+nnK0ntMHqlbKEED1Xh2FfUFDAqFGjSEhIYPHixRe9\n",
121 | "vm/fPiZOnEhoaChLliy56HWr1UpycjJ33XWXZyoOBE5X9l/3De1w9+pgPYwZA0CwopC0T4ZPEEK4\n",
122 | "chv2VquV7OxsCgoKKCkpYeXKlezdu9dln0GDBrF06VLmzp17yXPk5OSQmJiIRqPxXNW92ZEjUFFh\n",
123 | "Ww4L40Cfy7fXu0hPty+mfn3KC4UJIXoyt2FfXFxMfHw8cXFx6PV6pk+fzurVq132iYyMJCUlBb1e\n",
124 | "f9HxFRUV5OfnM3v27C7PhB6wnK7qmTABa2d/STqH/W4JeyGEK7cTjldWVhIbG2tfNxqNbHVqT+7I\n",
125 | "E088wQsvvEBtbe1l95k/f7592Ww2YzabO33+XumLLxzLaWlQuLbDQ8rLykn6TTZFWg19WhSGVdUT\n",
126 | "E9noxSKFEL5UWFhIYWFht87hNuy70/Sydu1aoqKiSE5Odlukc9gLYNcux3JycqfC3oqVgY8O5asX\n",
127 | "T/DdXbar+hvPyDy1QvQW7S+EFyxY0OVzuG3GiYmJwWKx2NctFgtGo7FTJ968eTNr1qzhmmuu4d57\n",
128 | "72XDhg3MmDGjywUGnK+/diyPHdulQ78Y4+h8dUOthL0QwsFt2KekpFBaWkpZWRmNjY2sWrWKzMzM\n",
129 | "S+7bvk1+4cKFWCwWDh06xLvvvsstt9zCihUrPFd5b1RbC+XltmWdDkaO7NLhX4x1hP3E2vPQJL1p\n",
130 | "hRA2bptxdDodubm5pKenY7VamTVrFiaTiby8PACysrKoqqoiNTWV2tpatFotOTk5lJSUEB4e7nIu\n",
131 | "eRqnE3bvdiyPGgXBwV063GLoQ7kWrm6B8JYWKCqCm27ycJFCiJ7IbdgDZGRkkJGR4bItKyvLvmww\n",
132 | "GFyaei5l0qRJTJo06QpLDCDdaMIBQKPhU72W2Q2tc9J+/LGEvRACkB60fsOcbuafz/zGseFKwh5Y\n",
133 | "H+z0T7p+fTerEkL0FhL2fqL6VDWjBzrue/z8jVfsk5R0RaFeQ0tbi9kXX0CN9KYVQkjY+5W4I+ft\n",
134 | "yzU/N9onKemK01oN++NaB0ZraYFuPpsrhOgdJOz9RP9mKxFnbU/PnAeOuRnWuCNfjnaa7OTTT7tZ\n",
135 | "mRCiN5Cw9xNxFxw9Xg8EaVC0V/700vZEp7CXdnshBBL2fuMap7DfH9S9x1R3J/Sn3n6y/fz4e9/t\n",
136 | "1vmEED2fhL2fuOZCg315f1D3ztWk17JR7/iFkdDFm7xCiN5Hwt5PePLKHmCD3vFPO7H2vJs9hRCB\n",
137 | "QMLeT8R5OuyDHeeYWFtnezJHCBGwJOz9gdXKsAbHODaeCPtdQRpq+tnmGBjUbHXtnSuECDgS9v6g\n",
138 | "vJyQ1oHkTvYP5mw3nsRpo2g08lSOEMJOwt4fHDhgX6yI7niC8c7aJmEvhGglYe8PDh2yLx6J8mDY\n",
139 | "O3eu+vxzaGi4/M5CiF5Nwt4fHDxoX6yKDPXYaasHhzr+Uqivhy1bPHZuIUTPImHvD5yu7I8O9lzY\n",
140 | "Q7umnE8+8ei5hRA9h4S9P3AOew8244Dr7FV89JFHzy2E6Dkk7P2BUzOON67sG9tmCdu1Cw4f9uj5\n",
141 | "hRA9g4S92s6cgVOnAGjQaznVv2tTEXbkQmgQW/uFOTbI1b0QAUnCXm1OTThVg0O7Ndrl5RRGOM0H\n",
142 | "vHatx88vhPB/HYZ9QUEBo0aNIiEhgcWLF1/0+r59+5g4cSKhoaEsWbLEvt1isXDzzTczevRoxowZ\n",
143 | "w1/+8hfPVt5bOLfXe/BJHGeF/Z3C/rPPoK7OK99HCOG/3Ia91WolOzubgoICSkpKWLlyJXv37nXZ\n",
144 | "Z9CgQSxdupS5c+e6bNfr9bz00kvs2bOHoqIili1bdtGxgnZh79mbs22OhOhhzBjbSkODLfCFEAFF\n",
145 | "5+7F4uJi4uPjiYuLA2D69OmsXr0ak8lk3ycyMpLIyEg+atcWbDAYMBgMAISHh2MymThy5IjLsQDz\n",
146 | "58+3L5vNZsxmczfeTg/kfHPWS1f2ANx5J+zebVteuxYyM733vYQQHlVYWEhhN6cYdRv2lZWVxMbG\n",
147 | "2teNRiNbt27t8jcpKytjx44dpKWlXfSac9gHpHZt9l5z552waJFtee1aUBTQeP7+gBDC89pfCC9Y\n",
148 | "sKDL53DbjKPxQBicO3eOadOmkZOTQ3h4eMcHBBovDZVwke9+Fwa2PnN/9Ch8+aX3vpcQwu+4DfuY\n",
149 | "mBgsFot93WKxYDQaO33ypqYmpk6dyv3338+UKVOuvMreSlF8d2UfFAR33eVYf+89730vIYTfcRv2\n",
150 | "KSkplJaWUlZWRmNjI6tWrSLzMm29SusQvc7rs2bNIjExkccff9xzFfcmVVVw4QIANUFa6sLctqp1\n",
151 | "349/7Fj+r/+y/bIRQgQEt+mi0+nIzc0lPT0dq9XKrFmzMJlM5OXlAZCVlUVVVRWpqanU1tai1WrJ\n",
152 | "ycmhpKSEnTt38vbbbzNu3DiSk5MBeP755/n+97/v/XfVUzjdnK0I8Wxnqku67TaIiICaGigvh+Ji\n",
153 | "uMR9FCFE79PhpWRGRgYZGRku27KysuzLBoPBpamnzY033kiLTIXnnlMTTkWI3vvfLzgY7r4bli+3\n",
154 | "ra9cKWEvRICQHrRq8nXYA9x7r2P5n/+ExsbL7yuE6DW83Egs3HJuxgn2XtiXl5VjSrX1b6i2HGGP\n",
155 | "XseQpmY4cQLy80FungvR68mVvYp2rv6XfXl77WmvfR8rVgzZBgzZBuqsF1j//RjHi21NOkKIXk3C\n",
156 | "XkWRTmPUfKvx3ZMxH98Q7VhZu1aGPRYiAEjYq8VqJbqx2b5q8eG/RKUhjO2mCNtKSwv89a++++ZC\n",
157 | "CFVI2Kvl6FH7DZPT/fQ0+Hjogg9ud+oc99prtjlqhRC9loS9WpweVz02yIs9Zy9jy/hBVLbdFD55\n",
158 | "Et54w+c1CCF8R8JeLc5hPzDE59++RavhrWinycgXL5bHMIXoxSTs1aJy2AO8NzgCoqIc9cjVvRC9\n",
159 | "loS9WpyegDmuUthfCNLCk086Njz7LNTWqlKLEMK7JOzVonKbvV12NrSNZHrsGCxcqF4tQgivkbBX\n",
160 | "i1PYq3VlX15WjmnSBH6ltzo2LlkCO3d26TzmdDOmVBOmVBPmdLNnixRCeISEvVr8oM2+rWfttmdG\n",
161 | "sC28deKU5mb46U9tc9V2UvWpansP3epT1d4pVgjRLRL2amhogGpbKFo1cCJCnbBvo2g1PBU3BEJb\n",
162 | "m5O++goefVTVmoQQniVhr4bKSvviyQEhtASpPxdseWgw/OlPjg2vvsofh0VLs4wQvYSMeqkGP2jC\n",
163 | "uaTsbCgqgnfeAeApyzHqtY7rAXO62d5MEz0wmsKPCy86RdsIm5d7XQihDrmyV4Mf3Jxtr7ysHNN3\n",
164 | "Ekne+yVFesePxR/Kq+CPfwRF6VTbfNt9AGm7F8K/SNirwekZ+2MDVXzs0klbSEc8NpTMfkGUDgt3\n",
165 | "vPj003D33Qxsar78CYQQfq3DsC8oKGDUqFEkJCSwePHii17ft28fEydOJDQ0lCVLlnTp2IDlr804\n",
166 | "rc5oNTzxm/GOkTEBVq8mf/dBfvBZJdoWmahciJ7GbdhbrVays7MpKCigpKSElStXsnfvXpd9Bg0a\n",
167 | "xNKlS5k7d26Xjw1YftiM015dmI5fPzmOt6Ic4+f0t7bw+D9KyZu/jdtOn7UNjyyE6BHchn1xcTHx\n",
168 | "8fHExcWh1+uZPn06q1evdtknMjKSlJQU9Hp9l48NWH5+Zd+mWadl0bBoKCiA4cPt2+MPn2Ppt5Uw\n",
169 | "bhysXIlWkSt9Ifyd26dxKisriY2Nta8bjUa2bt3aqRN39tj58+fbl81mM2azuVPn79H8ZaiEzkpP\n",
170 | "h927yRkeS9aJU4Q2tl7R79kDP/kJa0OCWblJw2ffdcyA5TzvrTyZI0T3FBYWUlhY2K1zuA17TTcm\n",
171 | "1Ojssc5hHxDq6uC0bb7ZRo2Gmn7em2jco0JD+dvQwRT+ZgQ/+riCH6yroG9rM841DY387rV9zFxd\n",
172 | "zvwLVg41t9hv+AJU5VapWbkQPV77C+EFCxZ0+Rxum3FiYmKwOF2FWiwWjEajmyM8c2yv5vSZVAXr\n",
173 | "ULTqd6jqipqrgnntR9dy67jh8Mwz0L+//bWYY/W8ds7KW7/7gsyGFpDmHSH8htuwT0lJobS0lLKy\n",
174 | "MhobG1m1ahWZmZmX3Fdp9x+7K8cGFKfHLquCe8hV/SWc0QXBc89BWRk5QwdT29fxR2LMsXreO9vM\n",
175 | "i4u/4hrLORWrFEK0cduMo9PpyM3NJT09HavVyqxZszCZTOTl5QGQlZVFVVUVqamp1NbWotVqycnJ\n",
176 | "oaSkhPDw8EseG/CcruyP6v2/A7Nz23u5pRwDBtcdIiL429DBfPLMKKZ8VsnU/z7EwNbf+8n7anh1\n",
177 | "/jb+Gj3INgtWcLCPqxdCtOkwbTIyMsjIyHDZlpWVZV82GAwuzTUdHRvwXJpx/P/K3rnt/eDcg5fd\n",
178 | "73wfHe/ceTXPbKhg2YQofvBpJTpAZ1V45MgJSE2Ff/4TxozxUeVCCGfSg9bX2rXZ9zantRpy70tg\n",
179 | "QoSe3fFXOV7YtQu+8x146y31ihMigEnY+9gXq/9lX95Ve1rFSrxrn07DY79LZtm9w6lvuwldX28b\n",
180 | "K3/27C6Nly+E6D4Jex8bWFdnXy6j5/ZAbWvLN6WaKLeUX3KfFq2G99Nj+ZEpDpzv17z+Ol8MHkDm\n",
181 | "zTf4plghhIS9TykKhsYm+2pFD3vs0llbW74h24DVanW774bqKiaEWlkz0NGsk3qunr9s+QIOHPB2\n",
182 | "qUIIJOx96/Rp+rYOIlYfEkRNz836LrFi5arHhvLSkmR+ExZk3x7X0ATXX29rzxdCeJWEvS+1HxOn\n",
183 | "Gz2UeySNhpfCgnj2P0fT0DZm/vHjcPPN8OWX9t1kAnMhPE/C3pd6yABo3va/qZE8OS+Js0GtP36n\n",
184 | "TsGtt8KWLYBMYC6EN0jY+1IPGNrYV/Yk9OenI4bBwIG2DbW1kJEBO3eqW5gQvZSEvS/1tNEuvayk\n",
185 | "bygUFkJkpG3DmTNwxx1cUy+PZQrhaRL2viTNOC7Ky8ox/ezHTInsy1ldawez48d5Y7+FqJMX1C1O\n",
186 | "iF5Gwt6XJOxdtD2+eWZeHA/Fx0DfvgAYmppZ9OLX9D0vc94K4SkS9r4kzTiX9VV4H1izBlpnPLum\n",
187 | "so7nlu5GL/PdCuEREva+0tIiN2g7csstsHy5ffW6vTU8V37UPi6+PJIpxJWTsPeVY8egydZ7trav\n",
188 | "jgshQR0cEKDuu4+XYwbbV6ecrIWXXwbkkUwhukPC3lekvb7T8gyDyL/Jadz8X/0KPvtMvYKE6AUk\n",
189 | "7H3FpQlH2uvbcxlYreIwL88YwZ7hrWPpWK1wzz0MbWhyfxIhxGVJ2PuKXNm71X5gtSa9lmezR3Nc\n",
190 | "39rcdfIkuQcqCGm4eNA1acsXomMS9r4iN2e77OSAEB4ZbrQ/oWOqb2Du8m8umshc2vKF6JiEva84\n",
191 | "hX21PHbZaV+F94Fly+zrtxUd487CoypWJETP1GHYFxQUMGrUKBISEli8ePEl93n00UdJSEggKSmJ\n",
192 | "HTt22Lc///zzjB49mrFjx/KTn/yEhgCdncicbmbnR2vs63Jl30UPPQQPP2xfzX7nACPOSw9bIbrC\n",
193 | "bdhbrVays7MpKCigpKSElStXsnfvXpd98vPzOXDgAKWlpbz66qvMmTMHgLKyMl577TW2b9/O119/\n",
194 | "jdVq5d133/XeO/Fj1aeqiQl2ND1Im/0VePll9vWxfW4hTS28ePAIOM36JYRwz23YFxcXEx8fT1xc\n",
195 | "HHq9nunTp7N69WqXfdasWcPMmTMBSEtLo6amhurqaq666ir0ej3nz5+nubmZ8+fPExMT47134seC\n",
196 | "FIWBNY6/ak4MkLDvsj59+OW1Q6kPtv3IDr/QCNnZKhclRM+hc/diZWUlsbGx9nWj0cjWrVs73Key\n",
197 | "spLrrruOJ598kmHDhtGnTx/S09O57bbbLvoe8+fPty+bzWbMZvMVvhX/FdXYTFDrhX2VBpr0cqvk\n",
198 | "ShzqE8LLM0bw27/vs214801+Xfgx5fU1GDC4P1iIHqywsJDCwsJuncNt2Gs6OZOSolw8fsm3337L\n",
199 | "yy+/TFlZGf379+dHP/oR//znP7nvvvtc9nMO+97K0OQ072xQgM1O5WGf3Gjgur2nSd9ke+pm/tFj\n",
200 | "/DtMfnmK3q39hfCCBQu6fA63/0tiYmKwOD1FYrFYMBqNbvepqKggJiaGL7/8kuuvv55Bgwah0+n4\n",
201 | "4Q9/yObNm7tcYG9gaHSM3lghudRtLz8wgm9aH7/v02Dl9bPNaK0yYJoQ7riNnpSUFEpLSykrK6Ox\n",
202 | "sZFVq1aRmZnpsk9mZiYrVqwAoKioiIiICKKjoxk5ciRFRUXU19ejKArr168nMTHRe+/Ejw1pdLqy\n",
203 | "18qVfXddCA1iRj8dza1/JU1sVvjJR4cv2q+ts5V0tBKig7DX6XTk5uaSnp5OYmIi99xzDyaTiby8\n",
204 | "PPLy8gCYPHky1157LfHx8WRlZfHKK68AMH78eGbMmEFKSgrjxo0D4GGnx+cCyRCnK/vD0ozTJS7D\n",
205 | "KFjK7dt36rS8OSXOvj5zdRkjDp11Obats5V0tBKigzZ7gIyMDDIyMly2ZWVluazn5uZe8th58+Yx\n",
206 | "b968bpTXOxhcruxVLKQHahtGAeDg3IMur62cPIy0r04y9kAtOqvCU6/updhgvNRphAh4Ej0+IM04\n",
207 | "3tESpOH5h02cbf1Ihx09z9yKY+oWJYSfkrD3AdcbtBL2nnQ0qg9z+zrmBrjveA0/HTnsomYfIQKd\n",
208 | "hL23XbjAoGbbSI1WrYaj8ol73JshWv7vOseEJ8+fOk7c7Eis1otHyBQiUEn0eFtFhX3xREQwLZ3s\n",
209 | "uyC6QKPhxZkjqO1ruwU15MQFHn7vYAcHCRFYJOy9Tcax94nT/YNZel+Cff3uzyr5XlOLihUJ4V8k\n",
210 | "7L3tsOP57+MytLFXrZ8Yxdpgx19OfzvbTOglJjsRIhBJ2Hub8zj2cmXvXRoN2X11nA2zNecMb4HZ\n",
211 | "70tzjhAgYe99MkOVTx0N0pB7X7x9feqnlaScPa9iRUL4Bwl7byt3PP4nM1T5xifXR7MlaZB9/Q9l\n",
212 | "R+G8BL4IbBL23uYc9oMl7H1Co+HFn46gprX5/uqGJvh//0/dmoRQmYS9NylKuyt7acbxlRMDQviV\n",
213 | "U2crXnoJtm1TryAhVCZh700nTkB9PQB1oUGcC+twKCLhQStCtGxLHGBbaWmB2bPBaW4BIQKJhL03\n",
214 | "tW/CkQ5VvtXanFPfNkTFzp3w4ovq1iSESiTsvUluzqruSFQffh/qaM5p+N3v4MABFSsSQh0S9t7k\n",
215 | "1KFK2uvV83IfDfuvDgcgpKWFLdclYUoZJZOaiIAiYe8l5nQzby36vX1dnsRRj1Wj4c8PjsTa2pwz\n",
216 | "8ex5fjoemdREBBQJey+pPlXNtUZH80GVNOOoqjSuH/+V7pjYZM673zK4qdnNEUL0LhL2XhR98oJ9\n",
217 | "Wa7s1ffWlDi+bf2Jv6qumd8elit7ETgk7L0o+oRT2EubveoaQoLIDnc8/jr59Fn4979VrEgI3+kw\n",
218 | "7AsKChg1ahQJCQksXrz4kvs8+uijJCQkkJSUxI4dO+zba2pqmDZtGiaTicTERIqKijxXuZ8Ls7bQ\n",
219 | "v87WTNAAnL4qWN2CBAAbgrUU3GhwbPjFL6C2Vr2ChPARt2FvtVrJzs6moKCAkpISVq5cyd69e132\n",
220 | "yc/P58CBA5SWlvLqq68yZ84c+2uPPfYYkydPZu/evezatQuTyeSdd+GHhjrNO2vRgiLTEfqNv04f\n",
221 | "zul+ettKRQU89ZS6BQnhA27Dvri4mPj4eOLi4tDr9UyfPp3Vq1e77LNmzRpmzpwJQFpaGjU1NVRX\n",
222 | "V3PmzBk2btzIz372MwB0Oh39+/f30tvwP0MbHGFfHiRB709qw/UuI2OybBls3qxeQUL4gNv++5WV\n",
223 | "lcTGxtrXjUYjW7du7XCfiooKgoKCiIyM5MEHH+Srr75iwoQJ5OTkEBYW5nL8/Pnz7ctmsxmz2dyN\n",
224 | "t+M/nK/sD8tVvd/ZkBbF91YeZtKZOtsYRg89BNu3Q4jcWxH+p7CwkMLCwm6dw23YazrZvV9RlIuO\n",
225 | "a25uZvv27eTm5pKamsrjjz/OokWLeO6551z2dQ773sQl7OXK3v9oNCwYZmDDwSqoq4OSEli0CJ59\n",
226 | "Vu3KhLhI+wvhBQsWdPkcbptxYmJisDhNvmGxWDAajW73qaioICYmBqPRiNFoJDU1FYBp06axffv2\n",
227 | "LhfYU7le2atYiLisoyF6WLjQseGPf7SFvhC9kNsYSklJobS0lLKyMhobG1m1ahWZmZku+2RmZrJi\n",
228 | "xQoAioqKiIiIIDo6GoPBQGxsLPv37wdg/fr1jB492ktvw/8MbXB02JErez/2n/8JaWm25aYm28iY\n",
229 | "Vpm3VvQ+bptxdDodubm5pKenY7VamTVrFiaTiby8PACysrKYPHky+fn5xMfH07dvX5YvX24/funS\n",
230 | "pdx33300NjYyfPhwl9d6uyHt2uyHqliLcCMoCF5/HZKTbWG/ZQu88go88ojalQnhUR0OsJ6RkUFG\n",
231 | "RobLtqysLJf13NzcSx6blJTEF1980Y3yeqjGRqJau+K3aKBCi4S9HyovK8eUansc+NexQ/npwdZR\n",
232 | "Sn/7W8jMhKuvVrE6ITxLWpO9oaLC/sGejAihWcax90tWrBiyDRiyDbwYEQJt/UDq6vjfcaNlZEzR\n",
233 | "q0jYe4PTOPZVMkxCj9Ck1dqac1p/MX+vto77J2hlZEzRa0jYe8O339oXj0b1UbEQ0SUTJ0J2tn01\n",
234 | "+50DDJCRMUUvIWHvDU5hf0TCvmdZuJDKYNutrP7nmvit5ZjKBQnhGRL23uA07d2RSBnauEcJD2f+\n",
235 | "1Y6B0u46VQsffaRiQUJ4hoS9N8iVfY/2f/3D+eT6aMeGOXPg7FnM6WZMqSZMqSa5cSt6HAl7T1MU\n",
236 | "CfteYNm98dS0jYxpscBvf0v1qWr70zty41b0NBL2nnbypH189PqQIE5fpVe5INEZbc/cm1JNlFvK\n",
237 | "qe2nJ/cnTiNjvvIKyefOq1egEN0kYe9pTlf1lVGh9kf5hH9zfube2jpcwmffjeLz/n1tOygKvy+r\n",
238 | "Qt/UomKVQlw5CXtPkyac3qN1ZEzCwwEYfqGR+/9d3sFBQvgnCXtPc7myl7Dv6Y6G6G1DH7f6yUeH\n",
239 | "GX74nIoVCXFlJOw9Ta7se585c+CGGwDQWRV+8/d96FuUDg4Swr90OBCa6CLnZ+wl7Hu88rJyTGmj\n",
240 | "ibvQwAdAHyD+8Dl+3nRC7dKE6BK5svc0lyt76VDV07XduL0w92qe7htk3/7w0ZOwbZuKlQnRNRL2\n",
241 | "HvT9W2+CqioAmoBjAyXse5NloVq+GtEfaP2TeOZMaGhQtSYhOkvC3oOCqyrsy+VaaJEZqnoVRaPh\n",
242 | "T7NHUR9Yw59aAAAUSUlEQVTc+t9mzx64grlAhVCDhL0HDWtwzE71rQR9r3Qkqg959wx3bFi8GLZu\n",
243 | "Va8gITpJwt6DYp3C/qCEfa+15uahbOkXZltpaaH81lsYP2GkjJkj/JqEvQfFNjTalyXsey9Fq+Hp\n",
244 | "uCH2zlZX153nqcHnZcwc4dc6DPuCggJGjRpFQkICixcvvuQ+jz76KAkJCSQlJbFjxw6X16xWK8nJ\n",
245 | "ydx1112eqdiPXe0c9loJ+97sSIgeXnzRvv6jTypI2X1KxYqEcM9t2FutVrKzsykoKKCkpISVK1ey\n",
246 | "d+9el33y8/M5cOAApaWlvPrqq8yZM8fl9ZycHBITE9EEwBgxrs04KhYifGP2bLjzTvvqb17bR4TM\n",
247 | "bCX8lNuwLy4uJj4+nri4OPR6PdOnT2f16tUu+6xZs4aZM2cCkJaWRk1NDdXVtj9lKyoqyM/PZ/bs\n",
248 | "2ShKL+9x2NjIUKewPyTNOL2fRgOvv84Jne03+6Azjfy+vMo2zLUQfsZtD9rKykpiY2Pt60ajka3t\n",
249 | "njy41D6VlZVER0fzxBNP8MILL1DbOuTvpcyfP9++bDabMZvNXXwLfuLAAfuHWTU4lHpkdMTerG1I\n",
250 | "ZICR4UF8WGMbKfO2mnPw2mvw8MNqlid6mcLCQgoLC7t1Drdh39mml/ZX7YqisHbtWqKiokhOTnZb\n",
251 | "pHPY92j79tkXDw8Jg6MyWFZv1tazFmDd3IP8920xTF1faXvxiSdg0iQYOVLFCkVv0v5CeMEV9O9w\n",
252 | "24wTExODxWKxr1ssFoxGo9t9KioqiImJYfPmzaxZs4ZrrrmGe++9lw0bNjBjxowuF9hjtA97EVBe\n",
253 | "/fG1HIppHfv+/Hl2Xzee227/nrpFCeHEbdinpKRQWlpKWVkZjY2NrFq1iszMTJd9MjMzWbFiBQBF\n",
254 | "RUVERERgMBhYuHAhFouFQ4cO8e6773LLLbfY9+uVnMK+XMI+4DQGB/HHLBNtgyeMOX+Be3bvUbUm\n",
255 | "IZy5DXudTkdubi7p6ekkJiZyzz33YDKZyMvLIy8vD4DJkydz7bXXEh8fT1ZWFq+88solz9Xrn8Zx\n",
256 | "CnuLhH1A+nZYuMtgaQ9VnYKCAhUrEsKhwyGOMzIyyMjIcNmWlZXlsp6bm+v2HJMmTWLSpElXUF4P\n",
257 | "oSjSjCMAWBqq5cfXXEXq7tO2DfffDzt3QrvmTyF8TXrQesKRI3D2LABnw3QyyXgAUzQaFj5s4nhE\n",
258 | "sG3DyZMwfTo0y/P3Ql0S9p7g1NHs8JAwmWQ8wNVcFcwf5iRibduwaRM8/bSaJQkhYe8Rexw34sqH\n",
259 | "ShOOgF0jI/hLzGDHhsWL4aOP1CtIBDwJe0/4+mv74iFjXxULEf7kNcMg+P73HRseeAAOHlSvIBHQ\n",
260 | "JOw9oOT9/7IvHzSGq1iJ8CeKRgP/+AfExNg2nD4NU6ZAXZ26hYmAJGHfXS0tXH3W0VtWruyFi8GD\n",
261 | "4b//G4Jbb9h+/TXMmiXj5wifk7DvrrIy+rbY/uMe1yBP4oiLpaWBc/+TVavgz39Wrx4RkCTsu2v3\n",
262 | "bseiTiNP4gi7tsHSTKkmIp5+knciI+yvWefN48mUJBWrE4FGwr67nG7OlsiwxsJJ22BphmwD9c31\n",
263 | "LH9+HJt0tp+RIOCZnbvhm2/ULVIEDAn77tq1y764RydhLy6vWafl3qt09g5XEdYW+I//gBMnVK5M\n",
264 | "BAIJ++7avt2+uFOu7EUHqrUann58LPXBrf/1vv3W9oTOhQvqFiZ6PQn77jhzBg4cAKA5SGNrsxei\n",
265 | "A/vj+vGHnyc6prfZtEme0BFeJ2HfHTt32hfLYvrSIDdnRSdtvm4wfzJGOTa88w48+6x6BYleT8K+\n",
266 | "O5yacPZfLZ2pRNe8FT0AnEeQ/f3vYdky9QoSvZqEfXc4hX3p1f1ULET0SBoN5Oa6DqnwyCOwcqV6\n",
267 | "NYleS8K+O7Ztsy+WypW9uBI6Hbz3Hnz3u7Z1RYEZM2TSE+FxEvZXqrbWPmGJFdssRUJckfBw24iY\n",
268 | "o0fb1pub4Yc/hM2b1a1L9CoS9lequNj+9MT+PiFcCAnq4AAhXLn0sB19LZOCLlAZ3DrcRn09ZGTY\n",
269 | "fs6E8AAJ+yvldNW1I7yPioWInqp9D1vtL2P59XPJnNS1XjjU1sLtt8PWreoWKnqFDsO+oKCAUaNG\n",
270 | "kZCQwOLFiy+5z6OPPkpCQgJJSUns2LEDAIvFws0338zo0aMZM2YMf/nLXzxbucq2/uVl+/JnDTJk\n",
271 | "rfCMSkMYPxsRaxstE2yBf8cdsHUr5nSz/S8Bc7pZ1TpFz+M27K1WK9nZ2RQUFFBSUsLKlSvZ6zQF\n",
272 | "H0B+fj4HDhygtLSUV199lTlz5gCg1+t56aWX2LNnD0VFRSxbtuyiY3uslhZG1Zyxr26RFhzhQfvD\n",
273 | "QuGzzy4KfMPhMvtfAtWnqtUtUvQ4bsO+uLiY+Ph44uLi0Ov1TJ8+ndWrV7vss2bNGmbOnAlAWloa\n",
274 | "NTU1VFdXYzAYGD9+PADh4eGYTCaOHDnipbfhY998Q3+rrf9jTT8930pjmPC0ceNgwwaXwH99v4Xr\n",
275 | "9pxWty7RY+ncvVhZWUlsbKx93Wg0srVd++Gl9qmoqCA6Otq+raysjB07dpCWlnbR95g/f7592Ww2\n",
276 | "Yzabu/oefG/jRvvinuFXQcVZFYsRvU3bjVuAAcoF1uqCGNhspW9LC4te3MXCh028q3KNwrcKCwsp\n",
277 | "LCzs1jnchr2mk93/lXZjejgfd+7cOaZNm0ZOTg7h4Rc/nugc9j3Ghg32xZ2mCAl74VFtN24BNs89\n",
278 | "yC8XXMefluwi6lQDeqvCM38rQRsb3cFZRG/S/kJ4wYIFXT6H2waImJgYLBaLfd1isWA0Gt3uU1FR\n",
279 | "QUzrnJtNTU1MnTqV+++/nylTpnS5OL+kKC5hv8M0QMViRCAoj+lL9lPJ7Gu9N6RV4JnD1fDUU9DS\n",
280 | "4v5gIVq5DfuUlBRKS0spKyujsbGRVatWkZmZ6bJPZmYmK1asAKCoqIiIiAiio6NRFIVZs2aRmJjI\n",
281 | "448/7r134EPmdDN3jR0Ox48Dtvb6gzLnrPCB44NCubm/npLhVzk2LlzIJ4P68/1bb1KvMNFjuA17\n",
282 | "nU5Hbm4u6enpJCYmcs8992AymcjLyyMvLw+AyZMnc+211xIfH09WVhavtM61uWnTJt5++23+53/+\n",
283 | "h+TkZJKTkyno4V3Aq09Vc0eS49GbHaMiULQy0qXwjVNaDU/OS6Jo3ED7tjtqzvHili/g8GEVKxM9\n",
284 | "gds2e4CMjAwyMjJctmU5j9QH5ObmXnTcjTfeSEsv/BMzdfcp+/JOU4SbPYXwvAshQTz12Fim/OdG\n",
285 | "Hrlg+/+VWN8AqanwwQdwww0qVyj8lTw02AV9rC1ct7fGvr513CAVqxGBqiVIw9xwHS88OJKmttnR\n",
286 | "jh0DsxleeEHa8cUlSdh3wfW1dQQ32f4j7Q7SUD04VOWKRCDLnzSEJ+clcapteIXmZpg3j88HXsX1\n",
287 | "4xOkl61wIWHfBeYz5+zLHwVLW71Q39cjI5jYT8fOvo4Lj0ln6lhdfpiQrVtkeAVhJ2HfWc3NmGuc\n",
288 | "w14+OuEfyoIU5uZ8h5UZjs6NkTWNfHymkT9EnCXuoUgZXkFI2Hfahg0MbrYCcLJ/MF/I5OLCj1h1\n",
289 | "Wl69ZziZV+k4E663b5+6vpK/P/0FKWfPq1id8AcS9p319tv2xQ1pUbTI5OLCD30crGX271NcHs+M\n",
290 | "OX6Bf3xzGObM4a5bbpCmnQAlYd8ZdXW2x9parb9euqoL/3ViQAi/fWIss8KDOBfm9HT13/7G8sLN\n",
291 | "zB7dwtBfREvTToCRsO+M996zBT5weEgY+2W+WeHvNBreDg3iwT+msnm84xHhwQo8+dZ+/rpgGxOk\n",
292 | "aSegSNh3RFHAaeKVdTcaQJpwRA9xYkAITz02hmn9dBx1elR4RPk53v7msG3qw23bVKxQ+IqEfUc2\n",
293 | "b4bW2bcuaDTkTxqickFCdJFGw79DtPx0YSoLwoJo0Dv9ty8ogJQUmDoVvv5avRqF10nYd+D/7v6B\n",
294 | "ffmdUC21Tk86CNGTNAYHsTAsiJnPf4ePb4jG6vziBx/AuHH8b/9wnkhJsv1FK3oVCXt3tm7lxuMn\n",
295 | "7atLQ6T5RvR81YNDWfSQiZSIEAoG9HN57Xu1dby0bRdMmAArVkB9vUpVCk+TsL8cRYHf/c6+uiEt\n",
296 | "ihKdfFyi9yjRKSx+aQIPLZjAB8EaWpyvZXbsgJkzYcgQeOQR2LVLtTqFZ0h6Xc7KlfZJSqwaeHNK\n",
297 | "nLr1COElB67ux71X6XlgURof3jKUeudhu8+cgdxcSEqyXe2/8AKUl6tXrLhiEvaXMMV8PadmzrCv\n",
298 | "r741BsuQMBUrEsL7jkT3IWfGCEZEhLAkJpLykHb3p7Zvh3nzIC4Orr8eliyBffsw3zFJOmr1AB2O\n",
299 | "Zx9wmpr43favGNg6NIJFC3+feo3KRQnhO8e0Laz942g+alEIeXwL2boQbj99jmDnm7Zbtti+5s5l\n",
300 | "RYieL26K4ssxA/ms8Ih6hQu3JOxbmdPNHDtZxR/Kqvhha2eTFg38PFxHfR/5mETgUbQaNgTDhT9P\n",
301 | "4K/nmxnzp29ZNCoJPv0UrI5neYY1NDFsfSVT11fSApSEhfJlvzAODBnCcx9vgGjpce4PJMVa1Zw4\n",
302 | "ysuhZ7jj5Bn7tjd+eA3rP6/kehXrEsIf1IXpWD24P4vWrYMTJ3g6ZSx3DG4mZc9pwi44gl+Lbeas\n",
303 | "xPoGOHYaDAaIiYHrrrN9JSfbvmJjpXOij0nYA+zYwTv7ykk832DflH+TgXf+Yxh8XumTElqaZHah\n",
304 | "NvJZOPjTZ1FeVo4p1WRbvnCGTY+koW9qIejJzfz0+iEkfVNDwqGzBLU/sLLS9vXvfzu2hYfzjQZK\n",
305 | "9VoOhgazo66Os0OjOBqsRx81lMJPPr/o+xcWFmI2m732/nq7DsO+oKCAxx9/HKvVyuzZs/n1r399\n",
306 | "0T6PPvoo69atIywsjDfffJPk5OROH6saRbG1OebmwqpVJDpN5fb3EC3vPDjSp5OJK03SiaWNfBYO\n",
307 | "/vRZWLFiyDYAcHDuQQCa9Fo+D9ZyYfpwAHb9chM/e9BE0jc1XFtQQXKLQp+WS7yHc+cYCYx03nbG\n",
308 | "9pRPg+ZbSEiAYcNsX7GxMHQohZ9/jjk+HoxGL77L3stt2FutVrKzs1m/fj0xMTGkpqaSmZmJyWSy\n",
309 | "75Ofn8+BAwcoLS1l69atzJkzh6Kiok4d6zOKAtXVsHu37WvnTvjsM6iocNmtUafhlXvj+XV+Gdf7\n",
310 | "MOiF6C3OaTV8OXYgX44dyOaiKm5cPJHYqvPw/HYm3zCEEeXnuPqbGga4+R0Woihw4IDtq71bb4XZ\n",
311 | "s733Bnoxt2FfXFxMfHw8cXFxAEyfPp3Vq1e7BPaaNWuYOXMmAGlpadTU1FBVVcWhQ4c6PNYbrFYr\n",
312 | "iqJwy+RbOH76OAAP7T3EL+sa3B5XEKzln8+lUGEIg3XyHLEQntASpKE8pi+bQ4MovzcegM1PbmLy\n",
313 | "s6mceaaYyXdfS2xVPeEbKhgVFUbUqQb6nW++7Pl+vngBn+ct4WjFUYYYbeNUeWLZeVv0wGgKPy68\n",
314 | "ovdrTjfbh47uznm8QnHjvffeU2bPnm1f/8c//qFkZ2e77HPnnXcqmzZtsq/feuutypdffqm8//77\n",
315 | "HR4LyJd8yZd8ydcVfHWV2yt7TSfvlitXOGjSlR4nhBCia9yGfUxMDBaLxb5usVgwtrs50n6fiooK\n",
316 | "jEYjTU1NHR4rhBDCN9wOl5CSkkJpaSllZWU0NjayatUqMjMzXfbJzMxkxYoVABQVFREREUF0dHSn\n",
317 | "jhVCCOEbbq/sdTodubm5pKenY7VamTVrFiaTiby8PACysrKYPHky+fn5xMfH07dvX5YvX+72WCGE\n",
318 | "ECrociu/hz377LNKTEyMMn78eGX8+PHKunXr1C7J59atW6eMHDlSiY+PVxYtWqR2Oaq6+uqrlbFj\n",
319 | "xyrjx49XUlNT1S7Hpx588EElKipKGTNmjH3byZMnldtuu01JSEhQbr/9duX06dMqVug7l/osAjUr\n",
320 | "Dh8+rJjNZiUxMVEZPXq0kpOToyhK1382NIqi7l3SBQsW0K9fP375y1+qWYZqrFYrI0eOdOmPsHLl\n",
321 | "yoD9K+iaa65h27ZtDBw4UO1SfG7jxo2Eh4czY8YMvm6dInDevHkMHjyYefPmsXjxYk6fPs2iRYtU\n",
322 | "rtT7LvVZBGpWVFVVUVVVxfjx4zl37hwTJkzgww8/ZPny5V362fCLIY5V/n2jKue+DHq93t4fIZAF\n",
323 | "6s/DTTfdxIABA1y2OfdjmTlzJh9++KEapfncpT4LCMyfDYPBwPjx4wEIDw/HZDJRWVnZ5Z8Nvwj7\n",
324 | "pUuXkpSUxKxZs6ipqVG7HJ+qrKwkNjbWvm40Gqms9M14PP5Io9Fw2223kZKSwmuvvaZ2Oaqrrq4m\n",
325 | "unXUyOjoaKqrq1WuSF2BnBUAZWVl7Nixg7S0tC7/bPgk7G+//XbGjh170deaNWuYM2cOhw4dYufO\n",
326 | "nQwZMoQnn3zSFyX5jc72ZQgUmzZtYseOHaxbt45ly5axceNGtUvyGxqNJqB/XgI9K86dO8fUqVPJ\n",
327 | "ycmhXz/XuYM787Phk1EvP/30007tN3v2bO666y4vV+NfOtOXIZAMGWLrsh4ZGcndd99NcXExN910\n",
328 | "k8pVqSc6OpqqqioMBgNHjx4lKipK7ZJU4/zeAy0rmpqamDp1Kg888ABTpkwBuv6zoXozztGjR+3L\n",
329 | "//rXvxg7dqyK1fie9EdwOH/+PGfPngWgrq6OTz75JOB+HtrLzMzkrbfeAuCtt96y/0cPRIGaFYqi\n",
330 | "MGvWLBITE3n88cft27v8s+Hdh4Y69sADDyhjx45Vxo0bp/zgBz9Qqqqq1C7J5/Lz85URI0Yow4cP\n",
331 | "VxYuXKh2Oao5ePCgkpSUpCQlJSmjR48OuM9i+vTpypAhQxS9Xq8YjUbljTfeUE6ePKnceuutAffo\n",
332 | "ZfvP4vXXXw/YrNi4caOi0WiUpKQkl8dOu/qzofqjl0IIIbxP9WYcIYQQ3idhL4QQAUDCXgghAoCE\n",
333 | "vRBCBAAJeyGECAAS9kIIEQD+P3aiVbNtLIGNAAAAAElFTkSuQmCC\n"
334 | ]
335 | },
336 | "metadata": {},
337 | "output_type": "display_data"
338 | }
339 | ],
340 | "source": [
341 | "import scipy.stats\n",
342 | "numSamples = 20000\n",
343 | "\n",
344 | "def fZ(z):\n",
345 | " rv = scipy.stats.norm(loc=0, scale=1) #standard normal\n",
346 | " z1 = (z-3)/(4.0)\n",
347 | " return rv.cdf(z)*rv.pdf(z1)/(4.0) + rv.cdf(z1)*rv.pdf(z)\n",
348 | "\n",
349 | "raynge = [(-3 + i/10.0) for i in range(180)]\n",
350 | "predicted = [fZ(z) for z in raynge]\n",
351 | "n1 = scipy.stats.norm(loc=0, scale=1)\n",
352 | "n2 = scipy.stats.norm(loc=3, scale =4)\n",
353 | "\n",
354 | "X1 = n1.rvs(size=numSamples)\n",
355 | "X2 = n2.rvs(size=numSamples)\n",
356 | "Z = [max(X1[i],X2[i]) for i in range(numSamples)]\n",
357 | "\n",
358 | "fig = pyplot.figure()\n",
359 | "ax = fig.add_subplot(111)\n",
360 | "\n",
361 | "n, bins, patches = ax.hist(Z, 100, normed=1, facecolor='green', alpha=0.75)\n",
362 | "ax.plot(raynge,predicted,'r', linewidth=3)\n",
363 | " "
364 | ]
365 | },
366 | {
367 | "cell_type": "code",
368 | "execution_count": null,
369 | "metadata": {
370 | "collapsed": false
371 | },
372 | "outputs": [],
373 | "source": []
374 | }
375 | ],
376 | "metadata": {
377 | "kernelspec": {
378 | "display_name": "Python 2",
379 | "language": "python",
380 | "name": "python2"
381 | },
382 | "language_info": {
383 | "codemirror_mode": {
384 | "name": "ipython",
385 | "version": 2
386 | },
387 | "file_extension": ".py",
388 | "mimetype": "text/x-python",
389 | "name": "python",
390 | "nbconvert_exporter": "python",
391 | "pygments_lexer": "ipython2",
392 | "version": "2.7.10"
393 | }
394 | },
395 | "nbformat": 4,
396 | "nbformat_minor": 0
397 | }
398 |
--------------------------------------------------------------------------------
/Events_Axioms_And_Such.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "**Set Algebra**\n",
8 | "\n",
9 | "$S \\cap \\left(T \\cup U\\right) = \\left(S \\cap T \\right) \\cup \\left(S \\cap U \\right)$\n",
10 | "\n",
11 | "$S \\cup \\left(T \\cap U \\right) = \\left(S \\cup T \\right) \\cap \\left(S \\cup U \\right)$\n",
12 | "\n",
13 | "**De Morgan's Laws**\n",
14 | "\n",
15 | "$$\\left( \\bigcup_n S_n \\right)^c = \\bigcap_n S_n^c$$\n",
16 | "\n",
17 | "Represents everything that is not in *at least one set* and in words reads as the compliment of the union of a collection of sets equals the intersection of the set compliments.\n",
18 | "\n",
19 | "$$\\left( \\bigcap_n S_n \\right)^c = \\bigcup_n S_n^c$$\n",
20 | "\n",
21 | "Represents everything that is not in all sets and in words reads as the compliment of the intersection of a collection of sets is equal to the union of the compliments."
22 | ]
23 | },
24 | {
25 | "cell_type": "markdown",
26 | "metadata": {},
27 | "source": [
28 | "**Probability Axioms**\n",
29 | "\n",
30 | "1. **Nonnegativity** - For every event *A*, $P(A) \\ge 0$\n",
31 | "2. **Additivity** - For any sequence of **disjoint** events, the probability of their union is the sum of their individual probabilities
\n",
32 | "$$P\\left( A_1 \\cup A_2 \\cup \\ldots \\right) = P\\left(A_1\\right) + P\\left(A_2\\right) + \\ldots$$
\n",
33 | "3. **Normalization** - The probability of the entire sample space is equal to 1"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "**Conditional Probability**\n",
41 | "\n",
42 | "$$P\\left(A \\vert B\\right) = \\frac{P\\left(A \\cap B\\right)}{P\\left(B\\right)}$$\n",
43 | "\n",
44 | "Can think of $P(B)\\hspace{1pt}$ as the fraction of the total sample space $\\Omega$ occupied by the event $B$ and $P(A\\cap B)\\hspace{1pt}$ as the fraction $\\Omega$ occupied by the interesection of $A$ and $B$, thus the conditinal probability is the fraction of $B\\hspace{1pt}$ occupied by the event $A\\cap B\\hspace{1pt}$. **NOTE** Conditional probabilities are themselves a valid probability law and hence all statements that hold for unconditional probabilities also hold for conditional probabilities."
45 | ]
46 | },
47 | {
48 | "cell_type": "markdown",
49 | "metadata": {},
50 | "source": [
51 | "**Multiplication Rule**\n",
52 | "\n",
53 | "Assuming all conditioning events have positive probability, the following holds\n",
54 | "\n",
55 | "$$P\\left(\\cap_{i=1}^n A_i\\right) = P\\left(A_1\\right)P\\left(A_2 \\vert A_1 \\right) P\\left(A_3 \\vert A_1 \\cap A_2 \\right) \\ldots P\\left(A_n \\vert \\cap_{i=1}^{n-1} A_i \\right)$$\n",
56 | "\n",
57 | "Note there is nothing special about the ordering of the events in this statement. Any event, $A_i\\hspace{1 pt}$ can be used as the leading term see page 24 of text."
58 | ]
59 | },
60 | {
61 | "cell_type": "markdown",
62 | "metadata": {},
63 | "source": [
64 | "*Example: Drawing three cards without a heart*\n",
65 | "\n",
66 | "This is example 1.10, page 25 from [1]. Consider three cards drawn from an ordinary 52-card deck without replacement. Find the probability that none of the three cards is a heart. As shown in the text this problem can be solved using the multiplication rule. Namely, define the event\n",
67 | "\n",
68 | "$$A_i = \\left\\{ \\mbox{the} \\hspace{1pt} i^{th} \\hspace{1pt} \\mbox{card is not a heart} \\right\\}$$\n",
69 | "\n",
70 | "The probability we seek is \n",
71 | "\n",
72 | "$$P\\left(A_1 \\cap A_2 \\cap A_3\\right) = P\\left(A_1\\right)P\\left(A_2 \\vert A_1 \\right) P\\left(A_3 \\vert A_1 \\cap A_2 \\right)$$\n",
73 | "\n",
74 | "As shown in the text this equal to \n",
75 | "\n",
76 | "$$P\\left(A_1\\right)P\\left(A_2 \\vert A_1 \\right) P\\left(A_3 \\vert A_1 \\cap A_2 \\right) = \\frac{39}{52}\\frac{38}{51}\\frac{37}{50}\\approx 0.414$$\n",
77 | "\n",
78 | "Below we simulate drawing three cards from a deck. The deck is represented as an array of integers from 1 to 52. Let integers 1-13 represent the cards with hearts. We \"shuffle\" the deck with the [Fisher and Yate's Algorithm](http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle) and examine the cummulative probability of the event of no hearts being drawn in the first three draws as well as the three events used in the calculation above."
79 | ]
80 | },
81 | {
82 | "cell_type": "code",
83 | "execution_count": 1,
84 | "metadata": {
85 | "collapsed": false
86 | },
87 | "outputs": [
88 | {
89 | "name": "stdout",
90 | "output_type": "stream",
91 | "text": [
92 | "[748, 540, 421]\n",
93 | "Theoretical Results:\n",
94 | "P(A1) = 0.75 \t P(A2 | A1) = 0.745098039216 \t P(A3 | A1,A2) = 0.74\n",
95 | "Observed Results:\n",
96 | "P(A1) = 0.748 \t P(A2 | A1) = 0.72192513369 \t P(A3 | A1,A2) = 0.77962962963\n",
97 | "Theoretical probability of no hearts in first three draws\n",
98 | "P(A1,A2,A3) = 0.413529411765\n",
99 | "Observed probability of no hearts in first three draws\n",
100 | "P(A1,A2,A3) = 0.421\n"
101 | ]
102 | },
103 | {
104 | "data": {
105 | "text/plain": [
106 | "[]"
107 | ]
108 | },
109 | "execution_count": 1,
110 | "metadata": {},
111 | "output_type": "execute_result"
112 | },
113 | {
114 | "data": {
115 | "image/png": [
116 | "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD9CAYAAABdoNd6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
117 | "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVGX+B/DPuEPlhbzibYYNBQQMRQyyixZdXLRy1DTD\n",
118 | "dm3XyPjtRlbbtrVtv033t5l02dVi26W2i9qqdMfcxGJtzPUCGmmtukoKNeAtSLymwPD9/fHdYRgH\n",
119 | "BtAZpjif9+s1L86Z88w5zzxz5nu+5znPHEwiIiAiog6tU7ArQEREgcdgT0RkAAz2REQGwGBPRGQA\n",
120 | "DPZERAbAYE9EZAA+g/0dd9yBfv36YdiwYc2WmT17NqKjo5GQkIBPP/3U7xUkIqJz5zPYz5w5E/n5\n",
121 | "+c0uf//99/HFF1+gpKQEL7zwAn7+85/7vYJERHTufAb7MWPGoGfPns0uX7FiBX76058CAEaNGoXq\n",
122 | "6mocPHjQvzUkIqJzZj6XF1dUVCA8PLxh3mq1ory8HP369fMoZzKZzmUzRESG5a+bHJzzBdozK9Jc\n",
123 | "YH/qKYEIH4899ljQ6/BdebAt2BZsC98PfzqnYG+xWOBwOBrmy8vLYbFYzrlSRETkX+cU7G02GxYv\n",
124 | "XgwA2LRpE3r06OHVhePi54MUERG1gc8+++nTp2Pt2rWorKxEeHg45s6di9raWgBARkYGbrjhBrz/\n",
125 | "/vuIiopC165d8corr7RLpb/PUlJSgl2F7wy2hRvbwo1tERgm8XfHUFMbMZmQlSX49a8DvSUioo7D\n",
126 | "ZDL5re+ev6AlIjKAdgv27LMnIgoeZvZERAbAzJ6IyACY2RMRGQAzeyIiA2BmT0RkAMzsiYgMgMGe\n",
127 | "iMgA2I1DRGQAzOyJiAyAmT0RkQEwsyciMgBm9kREBsDMnojIAJjZExEZADN7IiIDYGZPRGQAzOyJ\n",
128 | "iAyAmT0RkQEwsyciMgAGeyIiA2A3DhGRAbQY7PPz8xEbG4vo6GhkZWV5LT98+DAmT56MhIQEjBo1\n",
129 | "Ctu3b29yPczsiYiCx2ewdzqdyMzMRH5+Pnbs2IFly5Zh586dHmXmzZuHkSNHYtu2bVi8eDHuvffe\n",
130 | "gFaYiIjazuxrYVFREaKiohAREQEASEtLQ15eHuLi4hrK7Ny5Ew8//DAAICYmBmVlZfj6668RFhbm\n",
131 | "sa61a+dgzhydTklJQUpKit/eBBFRR2C322G32wOybp/BvqKiAuHh4Q3zVqsVhYWFHmUSEhLw9ttv\n",
132 | "Y/To0SgqKsKXX36J8vJyr2B/1VXuYE9ERN7OTITnzp3rt3X77MYxmUwtruDhhx9GdXU1EhMTkZ2d\n",
133 | "jcTERPzgBz/wKsc+eyKi4PGZ2VssFjgcjoZ5h8MBq9XqUSY0NBQvv/xyw/ygQYMwePBgP1eTiIjO\n",
134 | "hc/MPikpCSUlJSgrK0NNTQ1yc3Nhs9k8yhw5cgQ1NTUAgBdffBFXX301unXr5rUuZvZERMHjM7M3\n",
135 | "m83Izs5GamoqnE4n0tPTERcXh5ycHABARkYGduzYgZ/97GcwmUyIj4/HSy+91C4VJyKi1jOJBD7n\n",
136 | "NplMePhhwRNPBHpLREQdh8lkgr9CNH9BS0RkALw3DhGRATCzJyIyAGb2REQGwGBPRGQA7MYhIjIA\n",
137 | "ZvZERAbAzJ6IyACY2RMRGQAzeyIiA2BmT0RkAMzsiYgMgJk9EZEBMLMnIjIAZvZERAbAzJ6IyACY\n",
138 | "2RMRGQCDPRGRAbAbh4jIAJjZExEZADN7IiIDYGZPRGQALQb7/Px8xMbGIjo6GllZWV7LKysrMW7c\n",
139 | "OIwYMQLx8fF49dVXA1FPIiI6Bz6DvdPpRGZmJvLz87Fjxw4sW7YMO3fu9CiTnZ2NxMREbN26FXa7\n",
140 | "HQ888ADq6uq81sXMnogoeHwG+6KiIkRFRSEiIgIhISFIS0tDXl6eR5kBAwbg6NGjAICjR4+id+/e\n",
141 | "MJvNgasxERG1mc+oXFFRgfDw8IZ5q9WKwsJCjzKzZs3Ctddei4EDB+LYsWN4/fXXm1xXUdEczJmj\n",
142 | "0ykpKUhJSTmnihMRdTR2ux12uz0g6/YZ7E0mU4srmDdvHkaMGAG73Y49e/Zg7Nix2LZtG0JDQz3K\n",
143 | "JSe7gz0REXk7MxGeO3eu39btsxvHYrHA4XA0zDscDlitVo8yGzZswC233AIAiIyMxKBBg7Br1y6v\n",
144 | "dbHPnogoeHwG+6SkJJSUlKCsrAw1NTXIzc2FzWbzKBMbG4uCggIAwMGDB7Fr1y4MHjw4cDUmIqI2\n",
145 | "89mNYzabkZ2djdTUVDidTqSnpyMuLg45OTkAgIyMDDzyyCOYOXMmEhISUF9fjyeffBK9evXyWhcz\n",
146 | "eyKi4DGJBD4Mm0wmZGQI/vrXQG+JiKjjMJlM8FeI5u0SiIgMgLdLICIyAGb2REQGwMyeiMgAmNkT\n",
147 | "ERkAM3siIgNgZk9EZADM7ImIDICZPRGRATCzJyIyAGb2REQGwMyeiMgAGOyJiAyA3ThERAbAzJ6I\n",
148 | "yACY2RMRGQAzeyIiA2BmT0RkAMzsiYgMgJk9EZEBMLMnIjIAZvZERAbAzJ6IyABaDPb5+fmIjY1F\n",
149 | "dHQ0srKyvJY//fTTSExMRGJiIoYNGwaz2Yzq6uqAVJaIiM6OSaT5nNvpdCImJgYFBQWwWCxITk7G\n",
150 | "smXLEBcX12T5lStXYsGCBSgoKPDciMmE224T/P3v/q08EVFHZjKZ4CNEt4nPzL6oqAhRUVGIiIhA\n",
151 | "SEgI0tLSkJeX12z5pUuXYvr06U0uYzcOEVHwmH0trKioQHh4eMO81WpFYWFhk2VPnjyJ1atX4/nn\n",
152 | "n29y+eefz8GcOTqdkpKClJSUs6owEVFHZbfbYbfbA7Jun8HeZDK1ekXvvfceRo8ejR49ejS5PD7e\n",
153 | "HeyJiMjbmYnw3Llz/bZun904FosFDoejYd7hcMBqtTZZdvny5c124RARUXD5DPZJSUkoKSlBWVkZ\n",
154 | "ampqkJubC5vN5lXuyJEj+PjjjzFx4sRm18U+eyKi4PHZjWM2m5GdnY3U1FQ4nU6kp6cjLi4OOTk5\n",
155 | "AICMjAwAwLvvvovU1FR07tw58DUmIqI28zn00m8bMZkwbZogNzfQWyIi6jjabeglERF1DLxdAhGR\n",
156 | "ATCzJyIyAGb2REQGwMyeiMgAmNkTERkAgz0RkQGwG4eIyACY2RMRGQAzeyIiA2BmT0RkAMzsiYgM\n",
157 | "gJk9EZEBMLMnIjIAZvZERAbAzJ6IyACY2RMRGQAzeyIiA2BmT0RkAAz2REQGwG4cIiIDYGZPRGQA\n",
158 | "zOyJiAygxWCfn5+P2NhYREdHIysrq8kydrsdiYmJiI+PR0pKSpNlmNkTEQWP2ddCp9OJzMxMFBQU\n",
159 | "wGKxIDk5GTabDXFxcQ1lqqurcffdd2P16tWwWq2orKwMeKWJiKhtfGb2RUVFiIqKQkREBEJCQpCW\n",
160 | "loa8vDyPMkuXLsWUKVNgtVoBAH369GlyXczsiYiCx2dmX1FRgfDw8IZ5q9WKwsJCjzIlJSWora3F\n",
161 | "Nddcg2PHjuHee+/FjBkzvNb1xRdzMGeOTqekpDTb3UNEZFR2ux12uz0g6/YZ7E0mU4srqK2tRXFx\n",
162 | "Mf75z3/i5MmTuPzyy3HZZZchOjrao1xkpDvYExGRtzMT4blz5/pt3T6DvcVigcPhaJh3OBwN3TUu\n",
163 | "4eHh6NOnDzp37ozOnTvjqquuwrZt27yCPRERBY/PPvukpCSUlJSgrKwMNTU1yM3Nhc1m8ygzceJE\n",
164 | "/Otf/4LT6cTJkydRWFiIoUOHeq2LffZERMHjM7M3m83Izs5GamoqnE4n0tPTERcXh5ycHABARkYG\n",
165 | "YmNjMW7cOAwfPhydOnXCrFmzmgz2REQUPCaRwOfcJpMJY8cKPvgg0FsiIuo4TCYT/BWiebsEIiID\n",
166 | "4O0SiIgMgJk9EZEBMLMnIjIAZvZERAbAzJ6IyACY2RMRGQAzeyIiA2BmT0RkAMzsiYgMgJk9EZEB\n",
167 | "MLMnIjIAZvZERAbAzJ6IyACY2RMRGQCDPRGRAbAbh4jIAJjZExEZADN7IiIDYGZPRGQAzOyJiAyA\n",
168 | "mT0RkQEwsyciMoAWg31+fj5iY2MRHR2NrKwsr+V2ux3du3dHYmIiEhMT8Yc//KHJ9TCzJyIKHrOv\n",
169 | "hU6nE5mZmSgoKIDFYkFycjJsNhvi4uI8yl199dVYsWJFQCtKRERnz2dmX1RUhKioKERERCAkJARp\n",
170 | "aWnIy8vzKietSNuZ2RMRBY/PzL6iogLh4eEN81arFYWFhR5lTCYTNmzYgISEBFgsFjz99NMYOnSo\n",
171 | "17qKi+fghhuA5GTgmmtSkJKS4p93QETUQdjtdtjt9oCs22ewN5lMLa5g5MiRcDgc6NKlC1atWoVJ\n",
172 | "kyZh9+7dXuVqa+dg1Srg178GGOeJiLylpHgmwnPnzvXbun1241gsFjgcjoZ5h8MBq9XqUSY0NBRd\n",
173 | "unQBAIwfPx61tbX45ptvml1nff25VJeIiM6Gz2CflJSEkpISlJWVoaamBrm5ubDZbB5lDh482NBn\n",
174 | "X1RUBBFBr169ml0n++6JiNqfz24cs9mM7OxspKamwul0Ij09HXFxccjJyQEAZGRk4M0338Rf/vIX\n",
175 | "mM1mdOnSBcuXL/e5QWb2RETtzyStGUpzrhsxmQDoZvLzgdTUQG+RiOj7z2QytWq0Y2u0+y9o2Y1D\n",
176 | "RNT+gh7sT5wAli1r71oQERmLzz77QGjcZ19fD3TrptPTp7d3TYiIjKPdM/vGwf7yy9t760RExhS0\n",
177 | "bpx//hMoKmrvrRMRGVPQMvuvvvJ8vq6uvWtCRGQcQQn2x48Dp097Pr9nT3vXhIjIONr9Aq3TCVx8\n",
178 | "sXdmHxvLYZlERIHS7pl9XZ13oCcKli1bgCFDgAsvBBYvDnZtiAKn3YN9gO7eSdQmublATAxw003A\n",
179 | "yJFARgYwdy7w6KPa1cizTOpo2r0bZ+vW5pd9+y3QuXP71YW+W06d0rO+IUNaV/70aeD889u2jcOH\n",
180 | "gRtuALZtA554AoiM1IAP6O23J00CfvADnS8oAK67ruX1VVQA0dFtrwtRewr6L2h/+Uv39OHD7VsX\n",
181 | "8vbWW8C+fe756urA3rzuyy81wD79NNClCzBihAbZ5tTV6T60dSvQu7c+li4Fvv66+dccPw7MmQM8\n",
182 | "8IAG9m7ddNjvvfe6Az0AhIXpkOBly4BFi4CJE4HzztPXlZe7y+XnAyYTEB4O9OoFDBsGXHABMGuW\n",
183 | "bovoO0naAQDRr6jIJZdIwzQgsn69e3r79vaojfHU14uUlrqnhwzR9t6/37Pc55+LnHeeyBVXiOzd\n",
184 | "KzJ7tpa7/34Rp1PXUVMj8sYbInv2NL+tjAyRyZOb/jxPnhR58EGRp5/W9QwfrtswmUSmTRNZvVqk\n",
185 | "Tx+RDz/0fm15uciYMSKdOulrFi4UmTlTp3v2FHnySZFjx0R27xb54x9FqqpEfvpT9/41aJDIXXfp\n",
186 | "e2mNL78Uyc4WGTxYZMAAkY8/FvnHP0TCwkT+/GeR558X+fe/RU6dEtmwQesPiFx6qcizz4ocOSLi\n",
187 | "cHi2TWWlSFlZ67ZP5M8Q3e7BPjHR/eX78Y9dy/Xxr381/fr6epGtW9u+3W+/1S+cUR09KnL4sMjy\n",
188 | "5SJms8iCBSIvvqhtnZQkkpoqMnq0zs+eLXL11SLPPSdyww3uz+SWW0QuvNDzAA2IxMSIjBsn8te/\n",
189 | "urf3f/+nyyIj3eWuuEKDYX29lvnFLzRwupZPm6bL6urc61m7VgN+QYH7uY8/1vLjxon85jciS5a4\n",
190 | "l9XUiOTk6PLkZJELLtDp0FARq1Xk7bf1IHMuVq0S6dtXA/2mTU2Xqa/XA+avfiUSFaXb79JFE5yn\n",
191 | "nhKJiHC/75/8RNtm2jR9n0ePnlv9qGP6Xgf7ESPcO/zvfqfL33hD5997r+nXf/aZSP/+ns99/nnz\n",
192 | "XzoRDfKASLdu/nkPgfbnP4u8/vrZv/70aZHx4zXDrKrSNps61d3Wd93lnrbbNUBedpnOx8a6P5u6\n",
193 | "On39o4+6A/B//qPB6qOPRDIzRdatE7n3Xn19ly4aXP/2N11HQoKWF9GDTEKCHlTCwzVIDx4sUl2t\n",
194 | "2XVlpR4ImrJ2rQbWv/xFX9ezp8i773oeFM5UXy/y+9/rAa2+XuSdd0ROnDj7Nj1TWZnIzp2tK1tT\n",
195 | "o0H8s89EHnhA2/a3v9Wzqa+/1oPe44+7P6Mf/lDPTNavF1mzpvVnH9Sxfa+Dveu0HdCd3eW220QW\n",
196 | "L2769R9+qOVd2dnmze51NGfDhpbLnAunU2TOHD17OBf794tER2s9Bw7UTFxEg1p9vb73P/1Juy9O\n",
197 | "n/Z+/d693lm36zFggHZj/PKXWra8XOS119yvrawU+eornT56VOTgwbbV3ekUKSzUbgtAJD/fu8yp\n",
198 | "UyI2m8jdd4t0767lW2vtWvd7WbiwbXX7PqmvF8nL0wOh6/2ed552h1VWegf+TZtEsrJENm7UbqSO\n",
199 | "xHUGSMqfwT6od7284AL3dM+ezV+gPXRI/5aVAXFxQHJyy9v5z3/c0xUVgMXinv/iC73g1vgfn3/0\n",
200 | "kQ6/27nTPRpj506guFjvyPmnPwH33w90+u8l7eJiveg3Z46OIAkP99z+smU60uPSS/Xre/Ik0LWr\n",
201 | "dz2fegooKQESE4EBA7Qdzj9fR5pMmgRs367Le/YE7r4bCA3VNvz3v3X5Pffoen78Y+Cxx4A33gDM\n",
202 | "Zr3Y2KcPMGGCe1sWi5ZzcV3gBHS9oaEtt2tjnTrp+yss1PaOjfUuc/75QF6eTi9YoHVrrauu0guy\n",
203 | "rs+jozKZAJtNH65hn++8A/zjH/oZjhqln2PfvsDChbpP3Hgj8NBD+hlMmgT86Ee6X6elAUeO6EX2\n",
204 | "u+/W+QkT9KLynj26HwHAnXcC117bdH1EtE7+IgK8+y4wdKgOd62tBVau1PqcPq3vtU8foKpK92tX\n",
205 | "OxQW6nd93z7dn2fMAHbt0nWazXqRPixM31PPnvqaadPc38X6er14v22bPu9w6L504436+hMngL17\n",
206 | "gZAQoH9/oHt3/77v75p2D/a1te7ptgb70lIN9o2tXasjRiZO9Hx+507g8ceBTZuA9ev1w3ZZvBj4\n",
207 | "8ENg40b3c64df/16DTIA8OqrwJNPAj/5ic4nJADXX6/T776rX75Dh4C//U3HaAO6Y69fD9xxB3DZ\n",
208 | "ZXoQyc0Fbr8dmDcP+NWvtMyuXToSZfly4PPPgfh4fX82m+7wrm0kJmp9hw3TaUB3SBEdORIZCWze\n",
209 | "7P4SP/JI020YaE0F+jO1JdC7dPRAfyZXMjF1qj5+/3vg7bd1H/vySx29tnat+yB99KjuV4sW6ZDV\n",
210 | "ceM0eIWGAitWAK+/rkHyuus0cB49qvvOHXcA/frpQeLYMf1Ve1wc8NxzwHvvAePHayIyeLBn/ZxO\n",
211 | "YMMGTXaKioCBA4GLLtJEoqpK98f9+4FnnwWsVl13dbUG1oMHtR5vvqnlr7hCh1vffbd+93v21O/M\n",
212 | "W2/pQSA9Hdi9WwP6vn2aLISFaQJx6pQmGlVVetA4ckT3lccf1xFSPXtqPcLC9GA5ZYqOwgoJAe67\n",
213 | "T+PBCy/o9kWAmhodeXXZZVreYgEuuQS48kqNWeed524D1328zmZ/DqZ2/7eEF12kOy2gO3B6uk7/\n",
214 | "8Y+aIS9Y4P36Rx7RMdHZ2bqTdumiH0Z9vX4Ye/ZoQIyPd7/GZgN+9jN3Fv/ss/r8gQN6a+WvvtLh\n",
215 | "er166Q554YWaEdx8s7sOo0a578zZo4futD/6kQbdrCxgzRrNSIYPB0aP1n+3WFYGvPSSvsZq9Ryy\n",
216 | "B+iOPnWqe37UKD0gNVZbqzvlm29q/VwHot27db6wUA86H3ygf/nbBHL59lvdd1oKRCdP6ndm/XoN\n",
217 | "glu2aLJx6636HVu9GnjmGT0DGDsWWLdOg2lWlgbH4cP1u3fokH6fy8v1AHTggJ7BPvqoPh8Wpvvn\n",
218 | "rbdqwH/xReCaa1p3dn42qqo0+amq0oPZtde6D6AuGzdqxn/HHe4E6sQJPaBs2KDfeYdDz6D27tXl\n",
219 | "F1+s3//Bg3WZ671ZLJqI3XOP+5fY/uTPf0vY7sHelQ0DwGuvubsVXnlFf127aJH36++8U5dNmgT8\n",
220 | "z/9owN27V/8WFmq2AniO4Y+O1szmm2+A2bOBTz7R7KFXL10+fDjw29/qEX7NGuB//1eP9OPH6wd5\n",
221 | "/LhmLdu364Fi1CjPswNAs4GQEO9Tv8sv1/f2wgv65QD0y/D885qFAcDMmdoWV17p2dVC9F2xb59+\n",
222 | "R1avBpKSNNjPnq1nvs2dcdXX6/ehI3SHOJ0aP+rq3GfPBw7o9zY6Wr/T+/ZpL0J2tk5PmqTJ2kUX\n",
223 | "abK3cqX+diQxUZOzwYN1+RVX6IGlqgq46y6NGZ98omdiN9+svQgnTgBhYd/jYB8aqpk0oP3Lriz3\n",
224 | "nXc04K9Y4f16m01ft3cv8POfa3awbp2eji1c6C53/LgG4M6dNRM/dkx3vt699ZRuyxZ3lvzss9rn\n",
225 | "98wz7v7w557T7oi//13Xv2KFdsO4nDgB3HabnuaWl+vBANDtLF2qp5IffaRdM927685SVaU7B6AH\n",
226 | "m+Rk/dFQRITfmpeIgkxE48PSpXqg27tXDwzjxgE7dmhSeuON2gvRpYvGgORkDf45ORorTp7U+JKX\n",
227 | "p/HK6QROn/ZfsG/30Thms3vEQeOhlh99pCNOmjJqlI7GcL3u1lv1edfY6sZDOW+5xXsUzpVX6rC9\n",
228 | "Cy8USUnRETS7d+vol/x8LZuTo2Ufflhkxgx9Lj296focOnT2bcHRBkTUmNOpI6xcv7VwOkUqKnT0\n",
229 | "nT9DdFDuennnnTrd+AJtr156ytSUQ4e0G8XFatW/cXG6jlOn9GZWb76pZwtnuvJKPb06ehQYM0Zf\n",
230 | "ExWlrxs3Ts8WZs3SsjffDCxZotMPPth0fcLCWv9+z9QRTm+JyH86ddL45hoN16mT9ho0vijsl+20\n",
231 | "VCA/Px+xsbGIjo5GlqsDugmbN2+G2WzG22+/3eJGQ0O1z6/xjaP69AEqK93zs2a579Fy6JDnKBzX\n",
232 | "MMqRI4Hf/U7XM2KEni65LFvmnh4zxj09c6b+NZncQXvYMHcQTkrSC7XPPKPDxIiIOgKf1+ydTicy\n",
233 | "MzNRUFAAi8WC5ORk2Gw2xJ0x/tHpdOKhhx7CuHHjWtW/FBKi/eqNM3vXONv6ej2y5ecDkye7+74b\n",
234 | "jwF3BfuuXYHf/EanXVfVAeAPf9DxxS6jR2smX1jovkALaP/aZ5/psEgXk0mvCQwf3uLbICL63vAZ\n",
235 | "7IuKihAVFYWI/15NTEtLQ15enlewf+655zB16lRs3ry5dRs1a7BvnNmfd55euKiu1oB8+LBe0Hjl\n",
236 | "Fb3A6RpbHhPj7sZpLDFR13HypPdIgR499IdJZxo5Uh9nSk1t1dsgIvre8BnsKyoqEN7op6FWqxWF\n",
237 | "hYVeZfLy8rBmzRps3rz5vyNvmjKnYaq8PAWdO6d4ZPaAdqtUVmoWf+KEPjdzpg5zclm5Un+4caak\n",
238 | "JB0fb7Qf4RBRx2G322EP0H948hnsmw/cbvfddx/mz5/fMPi/+W6cORg5Un95Fx2tF2mjojxLhIW5\n",
239 | "f+jUWOOsvHHgb+z88/VCKxHR91VKSgpSGt3HZa7rp/l+4DPYWywWOByOhnmHwwHrGX0on3zyCdL+\n",
240 | "20FeWVmJVatWISQkBDabzWt9V12lwd5s9rxo6uIK9q5x6URE5B8+g31SUhJKSkpQVlaGgQMHIjc3\n",
241 | "F8saD3MBsNf1e2IAM2fOxIQJE5oM9IBemG3890yuYF9d7fk8L5YSEZ0bn8HebDYjOzsbqampcDqd\n",
242 | "SE9PR1xcHHJycgAAGRkZbdqYK8g3d9+OxsH+yiv1TnRvveV5wzIiImq7Fu/bNn78eIwfP97jueaC\n",
243 | "/CuvvOJ7Y2bPv2cKC9PbER8+rLf7XbBAL9R26dJSLYmIyJd2/QWtK8g3143Tp4/eN/7WW3W4pMUC\n",
244 | "rFrVfvUjIuqoghLsfWX2Lj16BL4+RERG0a7BvjUXaF1c/4yDiIjOXVCCfXOZfb9+7mlm9kRE/tOu\n",
245 | "wd51e4TmMvvG4+uZ2RMR+U9Qgn1zmX3j2ycwsyci8p92Dfau+zO35h/1MtgTEflPUIJ9c904gN7Z\n",
246 | "MjOz6ZudERHR2WlFju0/LXXjuDz3XODrQkRkJN+5zJ6IiPzvO9tnT0RE/hOUX9B2avd/c05EZGzt\n",
247 | "GnZd/wulvr49t0pEREHJsRnsiYjaF4M9EZEBMNgTERlAuwX7O+4AEhL0H40nJrbXVomICABMIiIB\n",
248 | "34jJhHbYDBFRh+LP2MlBkEREBsBgT0RkAAz2REQGwGBPRGQADPbtzG63B7sK3xlsCze2hRvbIjBa\n",
249 | "DPb5+fmIjY1FdHQ0srKyvJbn5eUhISEBiYmJuOSSS7BmzZqAVLSj4I7sxrZwY1u4sS0Cw+f9J51O\n",
250 | "JzIzM1FQUACLxYLk5GTYbDbExcU1lLn++usxceJEAMDnn3+OyZMn44svvghsrYmIqE18ZvZFRUWI\n",
251 | "iopCREQEQkJCkJaWhry8PI8yXbt2bZg+fvw4+vTpE5iaEhHR2RMf3njjDbnzzjsb5pcsWSKZmZle\n",
252 | "5d555x2JjY2V7t27S2FhoddyAHzwwQcffJzFw198duOYXPckbsGkSZMwadIkrFu3DjNmzMCuXbs8\n",
253 | "lgt/PUtEFFQ+u3EsFgscDkfDvMPhgNVqbbb8mDFjUFdXh6qqKv/VkIiIzpnPYJ+UlISSkhKUlZWh\n",
254 | "pqYGubm5sNlsHmX27NnTkLkXFxcDAHr37h2g6hIR0dnw2Y1jNpuRnZ2N1NRUOJ1OpKenIy4uDjk5\n",
255 | "OQCAjIwMvPXWW1i8eDFCQkLQrVs3LF++vF0qTkREbeC33v9mrFq1SmJiYiQqKkrmz58f6M0F3Vdf\n",
256 | "fSUpKSkydOhQufjii2XhwoUiIlJVVSXXX3+9REdHy9ixY+Xw4cMNr5k3b55ERUVJTEyMrF69OlhV\n",
257 | "D4i6ujoZMWKE3HTTTSJi3HYQETl8+LBMmTJFYmNjJS4uTjZt2mTI9pg3b54MHTpU4uPjZfr06XLq\n",
258 | "1CnDtMPMmTOlb9++Eh8f3/Dc2bz3LVu2SHx8vERFRcns2bNbte2ABvu6ujqJjIyU0tJSqampkYSE\n",
259 | "BNmxY0cgNxl0+/fvl08//VRERI4dOyZDhgyRHTt2yIMPPihZWVkiIjJ//nx56KGHRERk+/btkpCQ\n",
260 | "IDU1NVJaWiqRkZHidDqDVn9/e+aZZ+S2226TCRMmiIgYth1ERG6//XZ56aWXRESktrZWqqurDdce\n",
261 | "paWlMmiqqvX5AAADxUlEQVTQIDl16pSIiEybNk1effVVw7TDxx9/LMXFxR7Bvi3vvb6+XkREkpOT\n",
262 | "G0Y+jh8/XlatWtXitgMa7Dds2CCpqakN80888YQ88cQTgdzkd87EiRPlww8/lJiYGDlw4ICI6AEh\n",
263 | "JiZGRPTI3fiMJzU1VTZu3BiUuvqbw+GQ6667TtasWdOQ2RuxHUREqqurZdCgQV7PG609qqqqZMiQ\n",
264 | "IfLNN99IbW2t3HTTTfLBBx8Yqh1KS0s9gn1b3/u+ffskNja24flly5ZJRkZGi9sN6L1xKioqEB4e\n",
265 | "3jBvtVpRUVERyE1+p5SVleHTTz/FqFGjcPDgQfTr1w8A0K9fPxw8eBAAsG/fPo8RTh2pje6//348\n",
266 | "9dRT6NTJvZsZsR0AoLS0FGFhYZg5cyZGjhyJWbNm4cSJE4Zrj169euGBBx7AD3/4QwwcOBA9evTA\n",
267 | "2LFjDdcOjbX1vZ/5vMViaVWbBDTYt3acfkd0/PhxTJkyBQsXLkRoaKjHMpPJ5LNtOkK7rVy5En37\n",
268 | "9kViYmKzv7MwQju41NXVobi4GL/4xS9QXFyMrl27Yv78+R5ljNAee/bswYIFC1BWVoZ9+/bh+PHj\n",
269 | "eO211zzKGKEdmtPSez8XAQ32bR2n31HU1tZiypQpmDFjBiZNmgRAj9gHDhwAAOzfvx99+/YF4N1G\n",
270 | "5eXlsFgs7V9pP9uwYQNWrFiBQYMGYfr06VizZg1mzJhhuHZwsVqtsFqtSE5OBgBMnToVxcXF6N+/\n",
271 | "v6HaY8uWLbjiiivQu3dvmM1m3Hzzzdi4caPh2qGxtnwnrFYrLBYLysvLPZ5vTZsENNi3Zpx+RyMi\n",
272 | "SE9Px9ChQ3Hfffc1PG+z2bBo0SIAwKJFixoOAjabDcuXL0dNTQ1KS0tRUlKCSy+9NCh196d58+bB\n",
273 | "4XCgtLQUy5cvx7XXXoslS5YYrh1c+vfvj/DwcOzevRsAUFBQgIsvvhgTJkwwVHvExsZi06ZN+Pbb\n",
274 | "byEiKCgowNChQw3XDo219TvRv39/XHjhhSgsLISIYMmSJQ2v8ckfFxx8ef/992XIkCESGRkp8+bN\n",
275 | "C/Tmgm7dunViMpkkISFBRowYISNGjJBVq1ZJVVWVXHfddU0Or3r88cclMjJSYmJiJD8/P4i1Dwy7\n",
276 | "3d4wGsfI7bB161ZJSkqS4cOHy+TJk6W6utqQ7ZGVldUw9PL222+Xmpoaw7RDWlqaDBgwQEJCQsRq\n",
277 | "tcrLL798Vu/dNfQyMjJS7rnnnlZt2yTCG9cQEXV0/E9VREQGwGBPRGQADPZERAbAYE9EZAAM9kRE\n",
278 | "BsBgT0RkAP8PL67/vVxmNsoAAAAASUVORK5CYII=\n"
279 | ]
280 | },
281 | "metadata": {},
282 | "output_type": "display_data"
283 | }
284 | ],
285 | "source": [
286 | "from functools import partial\n",
287 | "def swap(i,deck):\n",
288 | " j = numpy.random.randint(0,i)\n",
289 | " tmp = deck[j]\n",
290 | " deck[j] = deck[i]\n",
291 | " deck[i] = tmp\n",
292 | " return deck\n",
293 | "\n",
294 | "def shuffledDeck(size=52):\n",
295 | " deck = range(1,size+1)\n",
296 | " idx = [size - i for i in range(1,size)]\n",
297 | " map(partial(swap, deck=deck), idx)\n",
298 | " return deck\n",
299 | " \n",
300 | "totalExperiments = 1000\n",
301 | "\n",
302 | "def experiment(A):\n",
303 | " deck = shuffledDeck()\n",
304 | " hearts = range(1,14)\n",
305 | " a1 = deck[0] not in hearts\n",
306 | " a2 = deck[1] not in hearts and a1\n",
307 | " a3 = deck[2] not in hearts and a1 and a2\n",
308 | " return [a1+A[0],a2+A[1],a3+A[2]]\n",
309 | "\n",
310 | "rslt = [0,0,0]\n",
311 | "cumA = []\n",
312 | "for i in range(totalExperiments):\n",
313 | " rslt = experiment(rslt)\n",
314 | " cumA.append(rslt[2]/float(i+1))\n",
315 | "\n",
316 | "print rslt \n",
317 | "print \"Theoretical Results:\"\n",
318 | "print \"P(A1) = {0} \\t P(A2 | A1) = {1} \\t P(A3 | A1,A2) = {2}\".format(39/float(52),38/float(51),37/float(50))\n",
319 | "print \"Observed Results:\"\n",
320 | "print \"P(A1) = {0} \\t P(A2 | A1) = {1} \\t P(A3 | A1,A2) = {2}\".format(rslt[0]/float(totalExperiments), rslt[1]/float(rslt[0]), rslt[2]/float(rslt[1]))\n",
321 | "print \"Theoretical probability of no hearts in first three draws\"\n",
322 | "print \"P(A1,A2,A3) = {0}\".format(39/float(52)*38/float(51)*37/float(50))\n",
323 | "print \"Observed probability of no hearts in first three draws\"\n",
324 | "print \"P(A1,A2,A3) = {0}\".format(rslt[2]/float(totalExperiments))\n",
325 | "pyplot.plot(cumA)"
326 | ]
327 | },
328 | {
329 | "cell_type": "markdown",
330 | "metadata": {},
331 | "source": [
332 | "**Total Probability Theorem**\n",
333 | "Let $A_1, \\ldots, A_n\\hspace{1 pt}$ be disjoint events that form a partition of the sample space, i.e. each possible event is included in exactly one of the events $A_1, \\ldots, A_n\\hspace{1 pt}$, and assume $P(A_i)>0\\hspace{1 pt}$ for all *i*, then for any event *B*\n",
334 | "\n",
335 | "$$\\begin{eqnarray} P\\left( B \\right) &=& P\\left(A_1\\cap B\\right) + \\ldots + P\\left(A_n \\cap B\\right) \\cr\n",
336 | " &=& P\\left(A_1\\right)P\\left(B \\vert A_1\\right) + \\ldots + P\\left(A_n\\right)P\\left(B\\vert A_n\\right)\n",
337 | "\\end{eqnarray}$$\n",
338 | "\n",
339 | "A simple consequence of this theorem is that for a given set *A* we have the following\n",
340 | "\n",
341 | "$$P\\left(B\\right) = P\\left(A \\cap B \\right) + P\\left(A^c \\cap B \\right)$$"
342 | ]
343 | },
344 | {
345 | "cell_type": "markdown",
346 | "metadata": {},
347 | "source": [
348 | "**Bayes' Rule**\n",
349 | "\n",
350 | "Let $A_1, A_2, \\ldots, A_n\\hspace{1 pt}$ be **disjoint** events that form a partition of the sample space and assume that $P(A_i)>0\\hspace{1 pt}$ for all *i*, then for any event *B* such that $P(B)>0\\hspace{1 pt}$, we have\n",
351 | "\n",
352 | "$$\\begin{eqnarray}\n",
353 | "P\\left(A_i \\vert B \\right) &=& \\frac{P\\left(A_i\\right) P\\left(B \\vert A_i\\right)}{P\\left(B\\right)} \\cr\n",
354 | "&=& \\frac{P\\left(A_i\\right) P\\left(B \\vert A_i\\right)}{P\\left(A_1\\right)P\\left(B\\vert A_1\\right) + \\ldots + P\\left(A_n\\right)P\\left(B\\vert A_n\\right)}\n",
355 | "\\end{eqnarray}$$\n",
356 | "\n",
357 | "where the second equality is a consequence of the Total Probability Theorem. \n",
358 | "\n",
359 | "Bayes' rule is often used for **inference**. There are a number of \"causes\" that may result in a certain \"effect\". We observe the effect and wish to infer the cause. Given that the effect *B* has occurred, we wish to evaluate the probability $P(A_i\\vert B)\\hspace{1 pt}$ that the cause $A_i\\hspace{1 pt}$ is present. Refer to $P(A_i \\vert B)\\hspace{1 pt}$ as the **posterior probability** of the event $A_i\\hspace{1 pt}$ and $P(A_i)\\hspace{1 pt}$ as the **prior probability**."
360 | ]
361 | },
362 | {
363 | "cell_type": "markdown",
364 | "metadata": {},
365 | "source": [
366 | "*Example: The False-Positive Puzzle*\n",
367 | "\n",
368 | "This is example 1.18, page 33 from [1].\n",
369 | "\n",
370 | "Assume a test for a certain *rare* disease is 95% accurte in both postive and negative cases. Assume also that it is known that the 0.1% of the general population has the disease. This requires some clarification. The proper interpretation here is that, given the person has the disease, the test result is positve 95% of the time and given that the person does not have the disease, the test is negative 95% of the time. As we will see, this is **not** the same as saying that the test is 95% accurate accross all patients. Given that a person tests postive for the disease, what is the probability of having the disease?\n",
371 | "\n",
372 | "As shown in the text this can be solved using Baye's Rule as follows: Let *A* be the event that the person has the disease, and *B* be the event the test result is positive. The solution is then\n",
373 | "\n",
374 | "$$P\\left(A \\vert B \\right) = \\frac{P\\left(A\\right)P\\left(B\\vert A\\right)}{P\\left(A\\right)P\\left(B\\vert A\\right) + P\\left(A^c\\right)P\\left(B \\vert A^c\\right)}\n",
375 | "=\\frac{0.001 \\cdot 0.95}{0.001\\cdot 0.95 + 0.99 \\cdot 0.05}=0.0187$$\n",
376 | "\n",
377 | "Below we simulate this result:"
378 | ]
379 | },
380 | {
381 | "cell_type": "code",
382 | "execution_count": 6,
383 | "metadata": {
384 | "collapsed": false
385 | },
386 | "outputs": [
387 | {
388 | "name": "stdout",
389 | "output_type": "stream",
390 | "text": [
391 | "Observed Values\n",
392 | "P(A) = 0.001 \t P(B) = 0.0493 \t P(A|B) = 0.0141987829615\n"
393 | ]
394 | }
395 | ],
396 | "source": [
397 | "numberPatients = 10000\n",
398 | "PA = 0.001 #probability that a random patient has the disease\n",
399 | "PBP = .95 #probability that test is positive if person actually has the disease\n",
400 | "\n",
401 | "ACount = 0 #number of times person actually has disease\n",
402 | "BCount = 0 #number of times test is positive\n",
403 | "ABCount = 0 #number of times person has disease A test is positive\n",
404 | "\n",
405 | "for i in range(numberPatients):\n",
406 | " r = numpy.random.uniform(0,1,2)\n",
407 | " if r[0]<=PA: #person has disease\n",
408 | " ACount += 1\n",
409 | " if r[1]<=PBP: \n",
410 | " ABCount += 1\n",
411 | " BCount += 1\n",
412 | " else: #person doesn't have disease\n",
413 | " if r[1]>PBP: BCount += 1 \n",
414 | " \n",
415 | "print \"Observed Values\"\n",
416 | "print \"P(A) = {0} \\t P(B) = {1} \\t P(A|B) = {2}\".format(ACount/float(numberPatients),BCount/float(numberPatients),ABCount/float(BCount))"
417 | ]
418 | },
419 | {
420 | "cell_type": "markdown",
421 | "metadata": {},
422 | "source": [
423 | "**Independence**\n",
424 | "\n",
425 | "Two events *A* and *B* are defined as **independent** iff\n",
426 | "\n",
427 | "$$P\\left(A\\cap B \\right) = P\\left(A\\right)P\\left(B\\right)$$\n",
428 | "\n",
429 | "The above definition is equivalent to defining the events as independent when \n",
430 | "\n",
431 | "$$P\\left(A \\vert B\\right) = P\\left(A\\right)$$\n",
432 | "\n",
433 | "We use the first definition as it holds even when $P(B)=0 \\hspace{1 pt}$. Note that *set disjointness* does **not** imply independence. Indeed the opposite is true. Given disjoint sets *A* and *B* each with probability greater than 0, then the occurrance or non-oncurrance of either event provides complete information about the occurrance of the other event, e.g. $P(A|B) = 0\\hspace{1 pt}$, so that\n",
434 | "\n",
435 | "$$P\\left(A\\cap B \\right) = 0 \\lt P(A)P(B)$$\n",
436 | "\n",
437 | "**Several** events $A_1, A_2, \\ldots, A_n \\hspace{1pt}$ are independent if\n",
438 | "\n",
439 | "$$P\\left(\\bigcap_{i\\in S} A_i \\right) = \\prod_{i\\in S} P\\left(A_i\\right)$$\n",
440 | "\n",
441 | "for every subset $s \\subset S = \\left\\{1,2,\\ldots,n\\right\\} \\hspace{1 pt}$ Note it is **not** enough that the condition hold for *S*, it must hold for every subset of S. \n",
442 | "\n",
443 | "**Conditional Independence**\n",
444 | "\n",
445 | "Given an event *C*, the events *A* and *B* are called **conditionally independent** if\n",
446 | "\n",
447 | "$$P\\left(A \\cap B \\vert C \\right) = P\\left(A \\vert C\\right) P\\left(B \\hspace{1pt}\\vert\\hspace{1pt} C\\right)$$\n",
448 | "\n",
449 | "The above definition is equivalent to \n",
450 | "\n",
451 | "$$P\\left(A \\cap B \\vert C\\right) = P\\left(B\\vert C\\right) P\\left(A\\vert B \\cap C\\right)$$\n",
452 | "\n",
453 | "which can be interpreted as indicating that if *C* is known to have occurred, the additional information that *B* has occurred does not change the probability of *A*. Note, unconditional independence of *A* and *B* does **not** imply conditional independence and vice versa."
454 | ]
455 | },
456 | {
457 | "cell_type": "code",
458 | "execution_count": 2,
459 | "metadata": {
460 | "collapsed": false
461 | },
462 | "outputs": [],
463 | "source": []
464 | }
465 | ],
466 | "metadata": {
467 | "kernelspec": {
468 | "display_name": "Python 2",
469 | "language": "python",
470 | "name": "python2"
471 | },
472 | "language_info": {
473 | "codemirror_mode": {
474 | "name": "ipython",
475 | "version": 2
476 | },
477 | "file_extension": ".py",
478 | "mimetype": "text/x-python",
479 | "name": "python",
480 | "nbconvert_exporter": "python",
481 | "pygments_lexer": "ipython2",
482 | "version": "2.7.10"
483 | }
484 | },
485 | "nbformat": 4,
486 | "nbformat_minor": 0
487 | }
488 |
--------------------------------------------------------------------------------
/Limit_Theorems.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "metadata": {
3 | "name": "Limit_Theorems"
4 | },
5 | "nbformat": 3,
6 | "nbformat_minor": 0,
7 | "worksheets": [
8 | {
9 | "cells": [
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | "Limit Theorems
\n",
15 | "Consider a sequence $X_1, X_2, \\ldots \\hspace{1pt}$ of independent i.i.d. random variables with mean $\\mu\\hspace{1pt}$ and variance $\\sigma^2\\hspace{1pt}$. Let \n",
16 | "\n",
17 | "$$S_n = \\sum_{i=1}^n X_i$$\n",
18 | "\n",
19 | "be a partial sum of the random variables. By **independence** we have\n",
20 | "\n",
21 | "$$var\\left(S_n\\right) = \\sum_{i=1}^n var\\left(X_i\\right) = n \\sigma^2$$\n",
22 | "\n",
23 | "We now define a new random variable, called the **sample mean** given by \n",
24 | "\n",
25 | "$$M_n = \\frac{1}{n}\\sum_{i=1}^n X_i = \\frac{S_n}{n}$$\n",
26 | "\n",
27 | "which has expected value and variance\n",
28 | "\n",
29 | "$$E\\left[M_n\\right] = \\mu \\quad var\\left(M_n\\right) = \\frac{\\sigma^2}{n}$$\n",
30 | "\n",
31 | "Notice that the variance of the sample mean decreases to zero as *n* increases, implying that most of the probability distribution for $M_\\hspace{1pt}$ is close to the mean value. \n",
32 | "\n",
33 | "We also introduce the random variable \n",
34 | "\n",
35 | "$$Z_n = \\frac{S_n - n\\mu}{\\sigma \\sqrt{n}}$$\n",
36 | "\n",
37 | "for which \n",
38 | "\n",
39 | "$$E\\left[Z_n\\right] = 0 \\quad var\\left(Z_n\\right) = 1$$"
40 | ]
41 | },
42 | {
43 | "cell_type": "markdown",
44 | "metadata": {},
45 | "source": [
46 | "Markov Inequality
\n",
47 | "If a RV *X* can only take nonnegative values, then\n",
48 | "\n",
49 | "$$P\\left(X \\ge a \\right) \\le \\frac{E\\left[X\\right]}{a} \\quad \\forall a \\gt 0$$"
50 | ]
51 | },
52 | {
53 | "cell_type": "markdown",
54 | "metadata": {},
55 | "source": [
56 | "Chebyshev Inequality
\n",
57 | "If *X* is a RV with mean $\\mu \\hspace{1pt}$ and variance $\\sigma^2\\hspace{1pt}$, then\n",
58 | "\n",
59 | "$$P\\left(\\left| X - \\mu \\right| \\ge c \\right) \\le \\frac{\\sigma^2}{c^2} \\quad \\forall c \\gt 0$$\n",
60 | "\n",
61 | "An alternative form of the Chebyshev inequality is obtained by letting $c=k\\sigma\\hspace{1pt}$ where *k* is postive. This gives\n",
62 | "\n",
63 | "$$P\\left(\\left| X - \\mu \\right| \\ge k\\sigma \\right) \\le \\frac{1}{k^2} $$\n",
64 | "\n",
65 | "which indicates that the probability of an observation of the random variable *X* being more than *k* standard deviations from the mean is less than or equal to $$1/k^2\\hspace{1pt}$. "
66 | ]
67 | },
68 | {
69 | "cell_type": "markdown",
70 | "metadata": {},
71 | "source": [
72 | "Weak Law of Large Numbers
\n",
73 | "Let $X_1, X_2, \\ldots \\hspace{1pt}$ be i.i.d. RVs with mean $\\mu\\hspace{1pt}$. For **every** $\\epsilon > 0 \\hspace{1pt}$ \n",
74 | "\n",
75 | "$$\\lim_{n\\rightarrow \\infty} P\\left(\\left|M_n - \\mu \\right| \\ge \\epsilon \\right)= 0$$"
76 | ]
77 | },
78 | {
79 | "cell_type": "markdown",
80 | "metadata": {},
81 | "source": [
82 | "Convergence in Probability
\n",
83 | "Let $Y_1, Y_2, \\ldots \\hspace{1pt}$ be a sequence of RVs, *not necessarily independent*, and let *a* be a real number. We say that the sequence $Y_n \\hspace{1pt}$ **converges to** *a* **in probability** if for every $\\epsilon \\gt 0 \\hspace{1pt}$ we have\n",
84 | "\n",
85 | "$$\\lim_{n\\rightarrow 0} P\\left( \\left| Y_n -a \\right| \\gt \\epsilon \\right) = 0$$\n",
86 | "\n",
87 | "This implies that the probability distribution of the random variables, $Y_n \\hspace{1pt}$ converges to a distribution that is contained within a space of width $2\\epsilon\\hspace{1pt}$ around the point *a*. However this says nothing about the shape of the distribution. \n",
88 | "\n",
89 | "This can be rephrased in the following way: For every $\\epsilon \\gt 0 \\hspace{1pt}$ and for any $\\delta \\gt 0 \\hspace{1pt}$, there exists $n_0 \\hspace{1pt}$ such that\n",
90 | "\n",
91 | "$$ P\\left( \\left| Y_n -a \\right| \\gt \\epsilon \\right) \\le \\delta \\quad \\forall n \\ge n_0$$\n",
92 | "\n",
93 | "where $\\epsilon \\hspace{1pt}$ is known as the **accuracy** and $\\delta \\hspace{1pt}$ is known as the **confidence**. "
94 | ]
95 | },
96 | {
97 | "cell_type": "markdown",
98 | "metadata": {},
99 | "source": [
100 | "The Central Limit Theorem
\n",
101 | "Let $X_1, X_2, \\ldots\\hspace{1pt}$ be a sequence of i.i.d. random variables with common mean $\\mu\\hspace{1pt}$ and variance $\\sigma^2\\hspace{1pt}$ snd define\n",
102 | "\n",
103 | "$$Z_n = \\frac{1}{\\sigma \\sqrt{n}} \\left[\\sum_{i=1}^n X_i - n\\mu\\right]$$\n",
104 | "\n",
105 | "Then, the **CDF** of $Z_n\\hspace{1pt}$ converges to the standard normal CDF\n",
106 | "\n",
107 | "$$\\Phi\\left(z\\right) = \\frac{1}{\\sqrt{2\\pi}} \\int_{-\\infty}^z e^{-x^2/2}dx$$\n",
108 | "\n",
109 | "in the sense that \n",
110 | "\n",
111 | "$$\\lim_{n\\rightarrow \\infty} P\\left(Z_n \\le z \\right) = \\Phi\\left(z\\right)$$\n",
112 | "\n",
113 | "Note that there is an implicit assumption that the **mean and variance**, $\\mu\\hspace{1pt}$ and $\\sigma^2\\hspace{1pt}$, **are finite**. This does not hold for certain power law distributed RVs."
114 | ]
115 | },
116 | {
117 | "cell_type": "markdown",
118 | "metadata": {},
119 | "source": [
120 | "Approximation of Probability of Sum of RVs
\n",
121 | "Let $S_n = X_1 + \\ldots + X_n\\hspace{1pt}$, where the $X_i\\hspace{1pt}$ are i.i.d. RVs each with mean $\\mu\\hspace{1pt}$ and variance $\\sigma^2\\hspace{1pt}$. If *n* is large, the probability $P\\left(S_n \\le c \\right)\\hspace{1pt}$ can be approximated by \n",
122 | "\n",
123 | "1. Calculate $z = \\left(c - n \\mu\\right)/\\sigma\\sqrt{n}\\hspace{1pt}$\n",
124 | "\n",
125 | "2. Use the approximation\n",
126 | "\n",
127 | "$$P\\left(S_n \\le c \\right) \\approx \\Phi\\left(z\\right)$$\n",
128 | "\n",
129 | "where $\\Phi\\left(z\\right)\\hspace{1pt}$ is available from standard normal CDF tables."
130 | ]
131 | },
132 | {
133 | "cell_type": "markdown",
134 | "metadata": {},
135 | "source": [
136 | "Approximation to the Binomial
\n",
137 | "If $S_n\\hspace{1pt}$ is a binomial RV with parameters *n* and *p*, with large *n*, and *k, m* are nonnegative integers, then\n",
138 | "\n",
139 | "$$P\\left(k \\le S_n \\le m \\right) \\approx \\Phi\\left( \\frac{m + \\frac{1}{2} -np}{\\sqrt{np\\left(1-p\\right)}}\\right) - \n",
140 | "\\Phi\\left(\\frac{k - \\frac{1}{2} -np}{\\sqrt{np\\left(1-p\\right)}}\\right)$$"
141 | ]
142 | },
143 | {
144 | "cell_type": "code",
145 | "collapsed": false,
146 | "input": [],
147 | "language": "python",
148 | "metadata": {},
149 | "outputs": []
150 | }
151 | ],
152 | "metadata": {}
153 | }
154 | ]
155 | }
--------------------------------------------------------------------------------
/Misc_Examples.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "metadata": {
3 | "name": "Misc_Examples"
4 | },
5 | "nbformat": 3,
6 | "nbformat_minor": 0,
7 | "worksheets": [
8 | {
9 | "cells": [
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | "**Simple Probability Model**\n",
15 | "\n",
16 | "The following example assumes all points in the unit square are equally likely to occur. Let *A* be the event that a randomly selected point is in some finite region contained in the sample space. As probabalistic model we let the probability of the event *A* be equal to the area of *A*. Selecting *N* random *(x,y)* pairs using a uniform distribution, the observed values of the events $A_1, A_2, A_3\\hspace{1pt}$ are compared to the theoretical model."
17 | ]
18 | },
19 | {
20 | "cell_type": "code",
21 | "collapsed": false,
22 | "input": [
23 | "from numpy import random as r\n",
24 | "\n",
25 | "#draw a uniform random sample on the unit square\n",
26 | "N = 500\n",
27 | "sample = r.rand(2,N)\n",
28 | "pyplot.scatter(sample[0],sample[1], c='k', alpha = 0.3)\n",
29 | "\n",
30 | "#calculate observed probabilities\n",
31 | "def inBoundsCount(v,x1,x2,y1,y2):\n",
32 | " if v[0]>=x1 and v[0]<=x2 and v[1]>=y1 and v[1]<=y2: return 1\n",
33 | " else: return 0\n",
34 | "\n",
35 | "def pA(x1, x2, y1, y2):\n",
36 | " return reduce(lambda s,v: s + inBoundsCount(v, x1,x2,y1,y2), sample.T, 0)/float(N)\n",
37 | "\n",
38 | "print \"\\t\\tTheoretical \\t Observed\"\n",
39 | "print \"p(A1)\\t\\t{0}\\t\\t{1}\".format(.5*.7, pA(0, .7, .5, 1.0))\n",
40 | "print \"p(A1 & A2)\\t{0}\\t\\t{1}\".format(.2*.3,pA(.5, .7, .5, .8))\n",
41 | "print \"p(A1 & A2 & A3)\\t{0}\\t\\t{1}\".format(.2*.1, pA(.5, .7, .5, .6))\n",
42 | "\n",
43 | "\n",
44 | "#fill in regions corresponding to events A1, A2, A3\n",
45 | "#args to fill are X coords, Y coords\n",
46 | "pyplot.fill([0, .7, .7, 0], [.5, .5, 1, 1],'b',alpha=0.1)\n",
47 | "pyplot.fill([.5, 1.0, 1.0, .5], [.4, .4, .8, .8], 'r', alpha = 0.1)\n",
48 | "pyplot.fill([.3, .9, .9, .3], [0, 0, .6, .6], 'y', alpha = 0.2)\n",
49 | "pyplot.fill([.5, .7, .7, .5], [.5, .5, .6,.6], 'k', alpha = .3)"
50 | ],
51 | "language": "python",
52 | "metadata": {},
53 | "outputs": [
54 | {
55 | "output_type": "stream",
56 | "stream": "stdout",
57 | "text": [
58 | "\t\tTheoretical \t Observed\n",
59 | "p(A1)\t\t0.35\t\t0.388\n",
60 | "p(A1 & A2)\t0.06\t\t0.07\n",
61 | "p(A1 & A2 & A3)\t0.02\t\t0.02\n"
62 | ]
63 | },
64 | {
65 | "output_type": "pyout",
66 | "prompt_number": 1,
67 | "text": [
68 | "[]"
69 | ]
70 | },
71 | {
72 | "output_type": "display_data",
73 | "png": "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\nYTfZ8L/GHDx4kMuXLxOPJ4hGvdTX10stBiORMMPDw0A68JmXl4fNVihp51utVqmxuiim2LNnD4WF\nhXR0dEhStnv37pUe/rXIOSxFZ2cnubm5kv91ZmaGSCTCd77zHWZnZ1EqlRQWFkq+2lRKJJlMoVar\npYrjjHa72+3m0qVLqFQqjEYjg4ODdHd380/+ye8DAn6//3nG09JV0S6Xi+7ubgoLCxEEgfHxcfr7\n+zl37hyQdqkNDAzw/e9/n/379/MXf/EXGI1G6uvrKSsrY3h4mO3bt79U/rjZbJZ2OiaTCbfbTWFh\n4YK8+UgkwqVLl3j27Bk+nxe93sDv/u7vLhAbS39GC4PAX21Iv1F27dpFXV0diUQCvV6/aS0fN5NM\nH+sXXVwZSeuXRRRFHj16JFUb19XVcfjw4SV3Ur/tbMjwf/HFF/zJn/wJyWSSf/bP/hn/+l//6wWv\nO51OfvzjH2O320kkEvyrf/Wv+Kf/9J9u5JJvFPn5+bz//vv4fF40mrQ8b+YLkWnikcnXzwhmveim\nKSwsXKRguNmru1QqtSiLRhRFjEbjoqydvLw8rNY8BgcHmZubA9IrUK1WS1ZWFs+ePZMabEC6qffQ\n0JCkoJluxh5iOaLRyIJVt8FgIBqNSCmbicSXjVqqq6vZvXv3gs9nIwZWq9Vy6tRJ2tra8XjclJeX\nLRJCGxsbY2hoCLs93Zt3dnaOv/qrv+JP/uRPpGCmQqGgrq6Onp4esrOziUQimM3mTRcly2gkbRaj\no6P09/ej0WikxvcbxWq1SjUmGo2Gubm5VSVHVhvj3bt3KS0tRaFQ0N3dTXZ2Nk1NTRse67eNlzb8\nyWSSf/Ev/gWXL1+mpKSEffv28f777y/QDPnFL37B7t27+fM//3OcTifbtm3jxz/+8ZrS7WTSGI3G\nRe6AUCiEw5FWdMxUbQYCAVpa9m2KSud6qK+v5+7dO2Rn50jpp8u5JDQaDWfPvo3FYqG9vZ1kMkVN\nTTVHjx5Fq9VisVgQxZQUi0gmk+j1OiKRCCqVCqfTuaJei9mcLbm19Ho9iUSC8vIKqWViMpnk9OnT\nQDods7y8nPHxcbKzsyXX0svUL0xNTXHnzh0ikQiVlRUcP/7RkrII0WiU6elpsrOz0Wg0aLVa3G43\ndrt9QTZOc3OzVOdQXFzMzp07N90tkUgk6OrqYnp6GovFwp49e166qndoaIgLFy6QnZ1NIpFgbGyM\n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\n"
74 | }
75 | ],
76 | "prompt_number": 1
77 | },
78 | {
79 | "cell_type": "code",
80 | "collapsed": false,
81 | "input": [],
82 | "language": "python",
83 | "metadata": {},
84 | "outputs": []
85 | }
86 | ],
87 | "metadata": {}
88 | }
89 | ]
90 | }
--------------------------------------------------------------------------------
/ProbabilityCheatSheet.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/masinoa/probability/10118d999dfb791f966a2830276a3c5b85f89b83/ProbabilityCheatSheet.pdf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | probability
2 | ===========
3 |
4 | A series of ipython notebooks developed while following the MIT Open Courseware class [Probability Systems Analysis
5 | and Applied Probability](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-fall-2010/index.htm).
6 |
7 | The mathematics notes are mostly taken from
8 |
9 | [1] D.P. Bertsekas and J.N. Tsitsiklis, "Introduction to Probability", Aethena Scientific, 2008
10 |
11 | The python sample code is independently developed. There are many examples of using [SciPy](http://www.scipy.org/).
12 |
13 |
--------------------------------------------------------------------------------
/RVs_Additional_Topics.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "Derived Distributions
\n",
8 | "\n",
9 | "Consider the random variable $Y=g\\left(X\\right)\\hspace{1pt}$ where *X* is a continuous RV. Assuming the PDF of *X* is known, the PDF of *Y* can be obtained as follows:\n",
10 | "\n",
11 | "1. Calculate the CDF $F_Y\\hspace{1pt}$ of *Y* using the formula
\n",
12 | "$$F_Y\\left(y\\right) = P\\left(g\\left(X\\right)\\le y\\right) = \\int_{\\left\\{x \\vert g\\left(x\\right)\\le y \\right\\}}f_X\\left(x\\right)dx$$
\n",
13 | "2. Differentiate to obtain the PDF of *Y*:\n",
14 | "\n",
15 | "$$f_Y\\left(y\\right) = \\frac{dF_Y}{dy}\\left(y\\right)$$"
16 | ]
17 | },
18 | {
19 | "cell_type": "markdown",
20 | "metadata": {},
21 | "source": [
22 | "The Linear Case
\n",
23 | "Let *X* be a continuous RV with PDF $f_X\\hspace{1pt}$, and let\n",
24 | "\n",
25 | "$$Y= aX + b$$\n",
26 | "\n",
27 | "where *a* and *b* are scalars with $a\\ne 0\\hspace{1pt}$, then the PDF of *Y* is\n",
28 | "\n",
29 | "$$f_Y\\left(y\\right) = \\frac{1}{\\left|a\\right|}f_X\\left(\\frac{y-b}{a}\\right)$$"
30 | ]
31 | },
32 | {
33 | "cell_type": "markdown",
34 | "metadata": {},
35 | "source": [
36 | "Strictly Monotonic Functions of a Continuous RV
\n",
37 | "Suppose $g\\left(X\\right)\\hspace{1pt}$ is strictly monotonic and that $h\\left(y\\right)$ is the inverse of *g* over the range of *X*, (all *X=x* with positive probability density) and that *h* is differentiable then the PDF of $Y=g\\left(X\\right)\\hspace{1pt}$ is\n",
38 | "\n",
39 | "$$f_Y\\left(y\\right) = f_X\\left(h\\left(y\\right)\\right) \\left| \\frac{dh}{dy}\\left(y\\right)\\right|$$"
40 | ]
41 | },
42 | {
43 | "cell_type": "markdown",
44 | "metadata": {},
45 | "source": [
46 | "Sums/Differences of Independent RVs
\n",
47 | "Consider the RV $Z=X+Y\\hspace{1pt}$ where *X* and *Y* are **independent** random variables. \n",
48 | "\n",
49 | "Suppose first that *X* and *Y*, and therefore *Z*, are **integer valued**. The PMF of *Z*, $p_Z\\hspace{1pt}$, is the convolution of the PMFs of *X* and *Y*\n",
50 | "\n",
51 | "$$p_Z\\left(z\\right) = P\\left(X+Y=z\\right) = \\sum_x p_X\\left(x\\right)p_Y\\left(z-x\\right)$$\n",
52 | "\n",
53 | "Now consider the cae where *X* and *Y* are continuous RVs with PDFs $f_x\\hspace{1pt}$ and $f_y\\hspace{1pt}$, respectively, then the PDF of *Z*, is again a convolution\n",
54 | "\n",
55 | "$$f_Z\\left(z\\right) = \\int_{-\\infty}^{\\infty} f_{X,Z}\\left(x,z\\right)dz = \\int_{-\\infty}^{\\infty} f_X\\left(x\\right)f_Y\\left(z-x\\right)$$\n",
56 | "\n",
57 | "For the RV $Z=X-Y\\hspace{1pt}$, the PDF of *Z* is\n",
58 | "\n",
59 | "$$f_Z\\left(z\\right) = \\int_{-\\infty}^{\\infty} f_X\\left(x\\right)f_Y\\left(x-z\\right)$$"
60 | ]
61 | },
62 | {
63 | "cell_type": "markdown",
64 | "metadata": {},
65 | "source": [
66 | "Covariance and Correlation
\n",
67 | "Covariance
\n",
68 | "Consider two RVs *X* and *Y*. The **covariance** of *X* and *Y* is defined as \n",
69 | "\n",
70 | "$$cov\\left(X,Y\\right) = E\\left[ \\left(X-E\\left[X\\right]\\right) \\left(Y-\\left[Y\\right]\\right)\\right] = E\\left[XY\\right] - E\\left[X\\right]E\\left[Y\\right]$$\n",
71 | "\n",
72 | "The covariance has the following properties:\n",
73 | "\n",
74 | "* For any RVs *X, Y, Z* and scalars *a, b* we have\n",
75 | "\n",
76 | "$$cov\\left(X,X\\right) = var\\left(X\\right)$$\n",
77 | "\n",
78 | "$$cov\\left(X,aY+b\\right) = a \\cdot cov\\left(X,Y\\right)$$\n",
79 | "\n",
80 | "$$cov\\left(X, Y + Z \\right) = cov\\left(X,Y\\right) + cov\\left(X,Z\\right)$$\n",
81 | "\n",
82 | "* If $cov\\left(X,Y\\right)=0\\hspace{1pt}$, *X* and *Y* are said to be uncorrelated\n",
83 | "\n",
84 | "* If *X* and *Y* are *independent*, they are uncorrelated. The converse does not hold in general."
85 | ]
86 | },
87 | {
88 | "cell_type": "markdown",
89 | "metadata": {},
90 | "source": [
91 | "Correlation
\n",
92 | "For two RVs *X* and *Y*, the **correlation coefficient**, $\\rho\\left(X,Y\\right)\\hspace{1pt}$ is defined as \n",
93 | "\n",
94 | "$$\\rho\\left(X,Y\\right) = \\frac{cov\\left(X,Y\\right)}{\\sqrt{var\\left(X\\right)var\\left(Y\\right)}}$$\n",
95 | "\n",
96 | "and is bounded by $-1\\le \\rho \\le 1\\hspace{1pt}$\n",
97 | "\n",
98 | "In the case that $\\left|\\rho\\right| = 1 \\hspace{1pt}$, then there exists a constant *c* such that\n",
99 | "\n",
100 | "$$Y-E\\left[Y\\right] = c\\left(X-E\\left[X\\right]\\right)$$"
101 | ]
102 | },
103 | {
104 | "cell_type": "code",
105 | "execution_count": null,
106 | "metadata": {
107 | "collapsed": false
108 | },
109 | "outputs": [],
110 | "source": []
111 | }
112 | ],
113 | "metadata": {
114 | "kernelspec": {
115 | "display_name": "Python 2",
116 | "language": "python",
117 | "name": "python2"
118 | },
119 | "language_info": {
120 | "codemirror_mode": {
121 | "name": "ipython",
122 | "version": 2
123 | },
124 | "file_extension": ".py",
125 | "mimetype": "text/x-python",
126 | "name": "python",
127 | "nbconvert_exporter": "python",
128 | "pygments_lexer": "ipython2",
129 | "version": "2.7.10"
130 | }
131 | },
132 | "nbformat": 4,
133 | "nbformat_minor": 0
134 | }
135 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | Index page for masinoa probability repository.
2 |
--------------------------------------------------------------------------------