ml-finance-python
python scripts for finance machine learning
git clone https://9o.is/git/ml-finance-python.git
notebook.ipynb
(173873B)
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {},
6 "source": [
7 "# Tutorial: Confidence Intervals\n",
8 "By Delaney Granizo-Mackenzie, Jeremiah Johnson, and Gideon Wulfsohn\n",
9 "\n",
10 "Part of the Quantopian Lecture Series:\n",
11 "\n",
12 "http://www.quantopian.com/lectures\n",
13 "\n",
14 "http://github.com/quantopian/research_public\n",
15 "\n",
16 "Notebook released under the Creative Commons Attribution 4.0 License."
17 ]
18 },
19 {
20 "cell_type": "markdown",
21 "metadata": {},
22 "source": [
23 "## Sample Mean vs. Population Mean\n",
24 "\n",
25 "Sample means and population means are different. Generally, we want to know about a population mean, but we can only calculate a sample mean. We then want to use the sample mean to estimate the population mean. We use confidence intervals in an attempt to determine how accurately our sample mean estimates the population mean.\n",
26 "\n",
27 "## Confidence Interval\n",
28 "\n",
29 "If I asked you to estimate the average height of a woman in the USA, you might do this by measuring 10 women and estimating that the mean of that sample was close to the population. Let's try that."
30 ]
31 },
32 {
33 "cell_type": "code",
34 "execution_count": 1,
35 "metadata": {
36 "collapsed": false
37 },
38 "outputs": [],
39 "source": [
40 "import numpy as np\n",
41 "import seaborn as sns\n",
42 "from scipy import stats\n",
43 "import matplotlib.pyplot as plt"
44 ]
45 },
46 {
47 "cell_type": "code",
48 "execution_count": 2,
49 "metadata": {
50 "collapsed": false
51 },
52 "outputs": [
53 {
54 "name": "stdout",
55 "output_type": "stream",
56 "text": [
57 "[ 70.65793252 67.57639487 56.27299854 63.95808075 67.10667987\n",
58 " 60.3995722 65.32755793 64.54274263 64.02145715 63.12699895]\n",
59 "sample mean: 64.2990415407\n"
60 ]
61 }
62 ],
63 "source": [
64 "# We'll set a seed here so our runs are consistent\n",
65 "np.random.seed(10)\n",
66 "\n",
67 "# Let's define some 'true' population parameters, we'll pretend we don't know these.\n",
68 "POPULATION_MU = 64\n",
69 "POPULATION_SIGMA = 5\n",
70 "\n",
71 "# Generate our sample by drawing from the population distribution\n",
72 "sample_size = 10\n",
73 "heights = np.random.normal(POPULATION_MU, POPULATION_SIGMA, sample_size)\n",
74 "print heights\n",
75 "mean_height = np.mean(heights)\n",
76 "print 'sample mean: ', mean_height"
77 ]
78 },
79 {
80 "cell_type": "markdown",
81 "metadata": {},
82 "source": [
83 "Unfortunately simply reporting the sample mean doesn't do much for us, as we don't know how it relates to the population mean. To get a sense for how it might relate, we can look for how much variance there is in our sample. Higher variance indicates instability and uncertainty."
84 ]
85 },
86 {
87 "cell_type": "code",
88 "execution_count": 3,
89 "metadata": {
90 "collapsed": false
91 },
92 "outputs": [
93 {
94 "name": "stdout",
95 "output_type": "stream",
96 "text": [
97 "sample standard deviation: 3.75987801845\n"
98 ]
99 }
100 ],
101 "source": [
102 "print 'sample standard deviation: ', np.std(heights)"
103 ]
104 },
105 {
106 "cell_type": "markdown",
107 "metadata": {},
108 "source": [
109 "This still doesn't do that much for us, to really get a sense of how our sample mean relates to the population mean we need to compute a standard error. The standard error is a measure of the variance of the sample mean.\n",
110 "\n",
111 "#### IMPORTANT\n",
112 "Computing a standard error involves assuming that the way you sample is unbaised, and that the data are normal and independent. If these conditions are violated, your standard error will be wrong. There are ways of testing for this and correcting.\n",
113 "\n",
114 "The formula for standard error is.\n",
115 "\n",
116 "$$SE = \\frac{\\sigma}{\\sqrt{n}}$$\n",
117 "\n",
118 "Where $\\sigma$ is the sample standard deviation and $n$ is the number of samples."
119 ]
120 },
121 {
122 "cell_type": "code",
123 "execution_count": 4,
124 "metadata": {
125 "collapsed": false
126 },
127 "outputs": [
128 {
129 "name": "stdout",
130 "output_type": "stream",
131 "text": [
132 "standard error: 1.18897782627\n"
133 ]
134 }
135 ],
136 "source": [
137 "SE = np.std(heights) / np.sqrt(sample_size)\n",
138 "print 'standard error: ', SE"
139 ]
140 },
141 {
142 "cell_type": "markdown",
143 "metadata": {},
144 "source": [
145 "There is a function in scipy's stats library for calculating the standard error. Note that this function by default contains a degrees-of-freedom correction that is often not necessary (for large enough samples, it is effectively irrelevant). You can omit the correction by setting the parameter ddof to 0."
146 ]
147 },
148 {
149 "cell_type": "code",
150 "execution_count": 5,
151 "metadata": {
152 "collapsed": false
153 },
154 "outputs": [
155 {
156 "data": {
157 "text/plain": [
158 "1.1889778262717268"
159 ]
160 },
161 "execution_count": 5,
162 "metadata": {},
163 "output_type": "execute_result"
164 }
165 ],
166 "source": [
167 "stats.sem(heights, ddof=0)"
168 ]
169 },
170 {
171 "cell_type": "markdown",
172 "metadata": {},
173 "source": [
174 "Assuming our data are normally distributed, we can use the standard error to compute our confidence interval. To do this we first set our desired confidence level, say 95%, we then determine how many standard deviations contain 95% of the mass. Turns out that the 95% of the mass lies between -1.96 and 1.96 on a standard normal distribution. When the samples are large enough (generally > 30 is taken as a threshold) the Central Limit Theorem applies and normality can be safely assumed; if sample sizes are smaller, a safer approach is to use a $t$-distribution with appropriately specified degrees of freedom. The actual way to compute the values is by using a cumulative distribution function (CDF). If you are not familiar with CDFs, inverse CDFs, and their companion PDFs, you can read about them [here](https://en.wikipedia.org/wiki/Probability_density_function) and [here](https://en.wikipedia.org/wiki/Cumulative_distribution_function). Look [here](https://en.wikipedia.org/wiki/Student%27s_t-distribution) for information on the $t$-distribution. We can check the 95% number using one of the Python functions. \n",
175 "\n",
176 "NOTE: Be careful when applying the Central Limit Theorem, however, as many datasets in finance are fundamentally non-normal and it is not safe to apply the theorem casually or without attention to subtlety.\n",
177 "\n",
178 "We can visualize the 95% mass bounds here."
179 ]
180 },
181 {
182 "cell_type": "code",
183 "execution_count": 6,
184 "metadata": {
185 "collapsed": false
186 },
187 "outputs": [
188 {
189 "data": {
190 "image/png": "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\nQmCC\n",
191 "text/plain": [
192 "<matplotlib.figure.Figure at 0x7f3068f92650>"
193 ]
194 },
195 "metadata": {},
196 "output_type": "display_data"
197 }
198 ],
199 "source": [
200 "# Set up the x axis\n",
201 "x = np.linspace(-5,5,100)\n",
202 "# Here's the normal distribution\n",
203 "y = stats.norm.pdf(x,0,1)\n",
204 "plt.plot(x,y)\n",
205 "\n",
206 "# Plot our bounds\n",
207 "plt.vlines(-1.96, 0, 1, colors='r', linestyles='dashed')\n",
208 "plt.vlines(1.96, 0, 1, colors='r', linestyles='dashed')\n",
209 "\n",
210 "# Shade the area\n",
211 "fill_x = np.linspace(-1.96, 1.96, 500)\n",
212 "fill_y = stats.norm.pdf(fill_x, 0, 1)\n",
213 "plt.fill_between(fill_x, fill_y)\n",
214 "\n",
215 "plt.xlabel('$\\sigma$')\n",
216 "plt.ylabel('Normal PDF');"
217 ]
218 },
219 {
220 "cell_type": "markdown",
221 "metadata": {},
222 "source": [
223 "### Here's the trick\n",
224 "\n",
225 "Now, rather than reporting our sample mean without any sense of the probability of it being correct, we can compute an interval and be much more confident that the population mean lies in that interval. To do this we take our sample mean $\\mu$ and report $\\left(\\mu-1.96 SE , \\mu+1.96SE\\right)$.\n",
226 "\n",
227 "This works because assuming normality, that interval will contain the population mean 95% of the time.\n",
228 "\n",
229 "### SUBTLETY:\n",
230 "In any given case, the true value of the estimate and the bounds of the confidence interval are fixed. It is incorrect to say that \"The national mean female height is between 63 and 65 inches with 95% probability,\" but unfortunately this is a very common misinterpretation. Rather, the 95% refers instead to the fact that over many computations of a 95% confidence interval, the true value will be in the interval in 95% of the cases (assuming correct calibration of the confidence interval, which we will discuss later). But in fact for a single sample and the single confidence interval computed from it, we have no way of assessing the probability that the interval contains the population mean. The visualization below demonstrates this. \n",
231 "\n",
232 "In the code block below, there are two things to note. First, although the sample size is sufficiently large to assume normality, we're using a $t$-distribution, just to demonstrate how it is used. Second, the $t$-values needed (analogous to the $\\pm1.96$ used above) are being calculated from the inverted cumulative density function, the ppf in scipy.stats. The $t$-distribution requires the extra parameter degrees of freedom (d.o.f), which is the size of the sample minus one. "
233 ]
234 },
235 {
236 "cell_type": "code",
237 "execution_count": 7,
238 "metadata": {
239 "collapsed": false
240 },
241 "outputs": [
242 {
243 "data": {
244 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAG0CAYAAAAFP+K7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4lNXd//FPEkLYFAFZXVjdwiKWKiIogkAAixaVEBBc\naq27KKBI8HHBWhYrbmi1VQS0TUQRBeUhiFaf/kQUggUU9ZJdiSwiQYRAWO7fH3EGQmaSWe79fr+u\n61zIZDJzckD4cs4n35NiGIYhAAAAWCLV6QkAAAD4GcUWAACAhSi2AAAALESxBQAAYCGKLQAAAAtR\nbAEAAFiIYguQdPDgQU2YMEFnnnmmtm7dWu5jf/3rX9W3b1/1799fU6ZMCT/+ww8/6A9/+IOysrJ0\nxRVX6NNPP4342qtWrdKQIUPUu3dvXXnllfr2228lSZ999pk6duyo/v37q1+/furfv7+eeOIJSdJr\nr72m3r17a9iwYSouLg6/1vLly3XbbbdV+rWsXbtWt99+u3r37q2srCzl5OToww8/TGRZwlauXKmL\nL75Yt9xyixYtWqRx48ZFfN7111+vt956K6n3SsacOXN0/fXXV/m8HTt26IMPPrBhRtLw4cM1b968\nmJ9/9Fr72ZQpU3TRRRdpzpw5FT727rvvasCAAerXr5/uvPNO/fLLLw7MEDCRAcD44x//aDz//PPG\nmWeeaWzZsiX8+DvvvGMMHjzYOHDggFFaWmoMHjzYKCgoMAzDMG644QZj5syZhmEYxldffWV07drV\n2L9/f7nXLS0tNbp37258+OGHhmEYxuuvv25ceumlhmEYxqeffmoMHz68wlwOHTpk9OzZ09i3b5/x\nwgsvGC+99FL48cGDBxtFRUVRv44tW7YYXbp0MWbNmhV+7PPPPze6dOlifPzxx4ksjWEYhvHss88a\n9957b5XPu+6664w5c+Yk/D7JevPNN43rr7++yue98847xrhx4+J67cOHDyc0p2HDhhlz586N+fmx\nrvXREp2bk3r16mV88sknFR4vKioyzj///PD/hxMnTjTGjx9v9/QAU7GzBUgaNWqUbrrpJhnH9Pgt\nKCjQwIEDVa1aNaWnp+uyyy7TggUL9Msvv2jJkiUaNGiQJOnMM89Us2bNKuxurVu3TgcOHFD37t0l\nSVdeeaW2bt2qNWvWRJ3Ljz/+qIYNGyojI0OZmZnasGGDJOmVV15R9+7d1bRp06ifO2PGDF1wwQXh\neUlSx44d9dxzz6lVq1aSpE8//VRXXHGF+vfvr8GDB+vLL7+UVLYrNGLECI0bN05ZWVm69NJLtXbt\nWhUUFGjmzJn697//rZtuuqnc7tF3332n7Oxs9enTR/fee68OHjwYft/CwkJdddVV6tOnj3JycvT9\n999X+j6StHPnTt18883q1auXLr/8cn388ceSpN27d+vee+9VVlaWevfurTfffDPqGoR89tlnysnJ\n0ZQpU9S/f3/16tVLy5Yt0+rVq/XII49o4cKFGjVqlCRp0aJFGjBggHr37q0bbrghvJs4depUPfDA\nA8rOztaMGTN09tlna+fOneH3+Mtf/qIpU6bIMAw9/PDDysrKUq9evXTvvffq0KFDFeb0xBNPqG/f\nvurXr5+uu+46bd++vdzHj11rSZo5c6YuvfRS9e/fX7fddlv4/ceOHatJkybp8ssv14IFC8q9zubN\nm9WtWze9+OKL6tu3r/r27auVK1fq5ptv1kUXXaTc3Nzwc6N97fv27dNdd92lvn37qlevXpo0aVL4\nc4YPH67p06dr6NChuuiiizRy5MiIvwa7du0Kv8bvfvc7vfjii5Kk0aNH64cfflBubq5ef/31cp/z\n/vvv64ILLlDjxo0lSVdddVWFrw/wGootQGXFUiTr16/XqaeeGv75qaeeqnXr1mnjxo1q0KCBatSo\nEf7YKaeconXr1pX7/JSUFB0+fLjcz2vUqKGNGzdKkoqKivTHP/5Rffv21YgRI7Rt2zalpqaGi75D\nhw4pLS1NP/74o+bNm6fzzjtPN998s0aPHq1du3ZVmO/SpUt18cUXV3i8Y8eOatKkifbu3au77rpL\nDzzwgObPn68bbrih3F+U//d//6dhw4apoKBAnTt31owZM5SVlaVhw4YpKytLL7zwQvjrkKTHH39c\nXbp00cKFCzVs2DB9/vnnkqQ9e/bo1ltv1ahRo7Rw4UJdc801GjFiRKXvE3q90047TYsWLdLEiRM1\natQoHThwQBMmTFBaWpoKCgo0a9YsPfPMM5UWrCGrV6/WOeeco/nz52vIkCH629/+pszMzPDX8/jj\nj+u7777TmDFj9OSTT+q9995T586d9cADD4Rf46OPPtI//vEPXXfddTr//PPLHckuWrRI/fr108KF\nC7V06VLNnz9f8+fP15dffqn58+eXm8uaNWu0YMECzZ8/X//7v/+r/v37a/HixeWec+xa//e//9XL\nL7+sV199VfPnz1fTpk3LHWV/8skneuONN9SvX78KX3txcbEaNWqkBQsW6PTTT9fdd9+tSZMmae7c\nuXrnnXf03XffVfq1/+tf/9Lu3bu1YMECzZkzR3PmzNHy5cvDr//vf/9b06dPV0FBgT799NPwr/3R\npkyZorp162rBggX65z//qX/9619avny5/vrXv6pRo0Z6/PHHy/3DQJI2bNigU045JfzzU045RTt2\n7NDu3bsr+6UGXI1iC6jEvn37VL169fDPa9SooZKSEpWUlCgjI6PcczMyMlRSUlLusVatWqlmzZrh\nHNNbb72l4uJi7d+/Xw0bNlSfPn302GOP6d1331WjRo1077336sQTT9Tu3bu1a9cuLV26VG3bttWk\nSZN099136/HHH9fDDz+snj17hguUo+3atUsNGjSI+vWsWLFCTZs2VceOHSVJffr0UXFxcXjXqU2b\nNjrrrLMkSZmZmSoqKqp0fZYtW6b+/ftLkjp06KCWLVuGH2/SpIm6dOkiSerfv782bdqkLVu2VPo+\nH330kS699FJJ0llnnaUPPvhA6enp+vDDD3XNNddIkurVq6fevXtr4cKFlc5NkurUqaMePXpU+vX8\n5z//UefOndW6dWtJ0uDBg/XBBx+EC96zzz5bdevWDa/X+++/L0n68ssvlZ6errPOOktZWVmaPXu2\n0tLSVL16dbVv317fffddufc57rjjVFxcrLfffls///yzsrOzdfnll1c6/48++khZWVmqV6+epLJd\nntBunyR16dJF6enpET/30KFD6tu3ryTp9NNPV7t27VS3bl2dcMIJatSokbZt21bp1/6HP/xBzz33\nXHjup512WrmvKSsrS9WrV1fNmjXVokUL/fDDDxHnP3ToUElS3bp11bt373LzP3YnWVKF/7eqV6+u\nlJQU7d27t9K1AtysmtMTANysZs2aKi0tDf+8pKREtWrVUq1atbRv375yz923b59q1apV7rFq1arp\nmWee0Z///Gf9/e9/V+/evdWyZUvVrVtXLVu21L333ht+7u23367zzz9f+/bt06hRo3T11VerVatW\nOu+881RaWqquXbvqgQceUOPGjXXmmWfq7bffrjDfevXqVQj4H23nzp06/vjjyz123HHH6aeffgr/\nd0haWlq5XblIiouLy31OqCjZvXu3Nm3aFC7EDMNQRkZGle9z7PxC6/nzzz/rrrvuUlpamgzD0P79\n+8OFRGVi+Xp2796tpUuXlptr3bp1w8d1oa9JUvg4rbS0VO+//354R+mnn37Sn//8Z3355ZdKTU3V\njh07wsVhSOPGjfXMM8/opZde0iOPPKLzzjtPDz30kJo0aRJ1/j/99FP4OC00lx07dpT7eTShwi/0\n30f/3kxNTdXhw4cr/dp3796tCRMmaP369UpNTdWWLVt05ZVXhl/j6LVNTU2NeGz6008/lZvj8ccf\nX+Ho9Fg1a9bU/v37wz8P/f9Xu3btSj8PcDOKLaASrVq10saNG8M7NBs3blTr1q116qmnaufOnSop\nKVHNmjUllR1/XHXVVRVeo23btsrLy5NUVpC98sorOvPMM/Xjjz/q0KFD4b9MDx48qNTUVKWlpemS\nSy7RJZdcokOHDmnIkCF65plnJClcLBiGEfEvt86dO6ugoEC///3vyz3+wQcfqEaNGmrQoEG5zJF0\nZDcslJuKR926dcsd74SKqUaNGql169Z64403KnzON998E/X16tWrp507d6pZs2aSyrJHjRs3VuPG\njfXss8+qTZs2cc+xKo0aNdIFF1ygp556qsrn1q1bV+3bt9cnn3yiRYsW6bHHHpMkPfnkk0pPT9e7\n776ratWqafTo0RE//7zzztN5552nffv2aeLEiXr88cfDrxHJiSeeWO67UXfu3FnpzmW8Kvva77nn\nHrVr107PP/+8JGnIkCFxv35o/qGCsri4WCeeeGKln9OqVSstXbo0/PP169erYcOGqlOnTtzvD7gF\nx4hAJfr166dZs2appKREe/bs0WuvvaYBAwaoTp066tq1q1555RVJ0pIlS7Rjxw6de+655T7fMAxd\nccUVWrVqlSRp2rRp+u1vf6sGDRrogw8+0IgRI8JHjzNnztT5559f7lho+vTp6tOnT7ggq1evnn74\n4QetXLlSp59+eoX5XnvttVq1apVefPHF8BFNYWGhHnzwQWVkZKhDhw7asWOHVqxYIUl655131KRJ\nE5100kkJrU/Hjh313nvvSSprS7Fp0yZJZUdv27dv18qVKyWVBemP3sWLpmfPnuFWAGvWrNEVV1yh\nw4cPq2fPnuGCNdSm46uvvkpozlLZjuPPP/8sSerWrZsKCwvDR2QrV67Uo48+GvVzs7KyNGvWLB08\neFBnnHGGpLJWEqeffrqqVaumr7/+WsuXL69w7PXxxx9r/PjxMgxDNWrU0JlnnhnOvkXTvXt3vffe\ne+F83muvvRY+Fq1KpCO6Y0X62v/yl7+Ev6bQUe/HH3+sjRs3as+ePTG9d0iPHj302muvSSorxN97\n772ImcKjXXLJJVqyZEn4G0OmT58ePloGvIqdLQTe1q1b1bt3b6WkpCglJSX83wsWLFBWVpZWr16t\n3//+90pJSdGAAQPC31n48MMPa8yYMXrjjTdUp04dPf300xXyMykpKbrjjjt0zz336MCBA2rZsmX4\nu7oGDRqkDRs26Pe//71SU1PVpk0bTZgwody8CgoKwkWGJN1111269tprddxxx4XzNEdr0KCB8vLy\nNGnSJPXu3VsZGRlq2LChnn76aZ1zzjmSynZhHn74Ye3bt0/169fXk08+mfDa3XPPPRo5cqTmzp2r\ns88+W127dpVUll97+umn9cgjj2jv3r1KT0/XXXfdFdPrjRkzRj179lSdOnU0ZcoUVa9eXSNGjND4\n8ePVt29fpaSkqFu3buFCJxFdu3bVyy+/rEGDBun111/X+PHjdfvtt+vgwYOqXbt2ue/WO1avXr00\nfvz48HcLSmX9xe677z69+eab6tSpk8aOHatx48apY8eO4YLq3HPP1TvvvKOsrCxlZGSofv36lRZ1\nUlkO7sYbb9TQoUNlGIbOOussPfTQQzF9jZUVcqGPNWzYUI888kjEr/2WW27RhAkT9Oyzz6pXr166\n/fbb9fTTT6tt27YVXjvae40YMUIPPfSQ+vXrp7S0NN10001q165dpZ/TuHFjPfjgg7r11lt16NAh\ntW3bVnfeeWdMXzPgVilGDP/8+frrr3XHHXfouuuu09VXX60tW7bonnvukWEYatiwoSZPnqz09HTN\nnTtXM2fOVFpamgYNGhTxSAUAACBIqjxGLCkp0aRJk8L/YpWkp556SsOHD9err76qU089VbNnz1ZJ\nSYmee+45zZgxQzNnztSMGTPC2/QAAABBVWWxlZGRoRdeeKFcqPGzzz4L5wZ69OihxYsXa8WKFerQ\noYNq166tjIwM/eY3vynXkwUAACCIqiy2UlNTy/UZksp2u0LZlAYNGmjbtm3asWOH6tevH35O/fr1\nq/wWXwAAAL9L+rsRo0W+YvlOGAAAAL9L6LsRa9eurdLSUlWvXl1bt25V48aN1ahRo3I7WVu3bg1/\n91M0hYWFibw9AACAIzp16hT35yRUbHXp0kUFBQUaMGCACgoKdOGFF6pDhw66//779csvvyglJUWf\nf/65xo0bZ8mkkbjCwkLW3Gasub1atJBKS/erqCijyudWJT9f+stfpNWrpcxMKTdXyslJfo5+xO9z\n+7Hm9kt0k6jKYmvFihW6//779dNPPyktLU35+fl66aWXdN999+m1115Ts2bNNHDgQKWlpWnUqFH6\nwx/+oNTUVN1xxx10/AXgWfn50tFN01etOvJzCi4A8aiy2Dr77LM1b968Co9PmzatwmN9+vRRnz59\nzJkZADjo10bqFUyYQLEFID50kAc8rl076csvnZ6F22SoiptwErZypSx7bW9L7jirbVvpiy9MmopL\nhC5Nt9K+ffssff0gy8jIqPJKrVhxNyLgcV98IRmGP0dentS+vZSWVvZjXl7Vn9O8udS06f6k37t9\n+8jr3aGD8+vixrFsWWFSn++3QkuS9u/fb2mx1bZtW8teO+jM/rVjZwuAKzmdmcrNLf/+IWPHWv/e\n8I+MjAzVqFHD6WnAYexsAXClyjJTldmwQZo3L/ltkpycsp20Dh2katXKfszLI68FIH7sbAGyOvfE\nt2abKbbMlPlrvnJl2U5XpN2uoGvbVpoxw+lZAO7FzhYga3NPyWZZvDoSyVsdPZLJTAV1zZ0afsxb\n+cXmzZv1m9/8Rtdcc42GDx+unJwcLVq0yLTXvvLKKyt9zsKFCyVJc+bMSep9P/vsM2VmZmrHjh3h\nxwzDULdu3TR16tSEX9cu7GwBMJ0ZeSsyU4A5WrVqpZkzZ0qSdu3apYEDB+qiiy6qcO9xIir7br3v\nv/9e77zzjvr06aOBAwcm/V4nn3yyFixYoKuvvlqStGzZMtWqVSvp17UDxRYA05nRoyr0vAkTjnRw\nHzuWzBSQjLp166phw4bavn27qlWrptzcXJWWliotLU2PPvqoJGnEiBFq2bKl1q9frw4dOuiBBx7Q\n2LFj1bdvX3Xv3l0ffvihCgoKdPvtt4dfd968eXrllVeUnp6u1q1ba/z48XrkkUe0atUqPffcczp8\n+LDq1aunq6++Wo899piWL1+uw4cP6+qrr9Zll12m4cOHq2vXrlqyZImKi4v1/PPPq0mTJuXm3rVr\nVy1cuDBcbBUUFKhbt27hjy9cuFAvv/yyqlWrpnbt2mnMmDH65ZdfNHLkSO3bt0/79+/X/fffr/bt\n26tPnz4aPHiw/v3vf+vAgQN6+eWXLS3cOEaEL7RrV5bjceP47W87OT4Hu8eqVZF/nUJ5q1jHkCFl\n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\n6P8DDZ7fLWVadoIAAAAASUVORK5CYII=\n",
245 "text/plain": [
246 "<matplotlib.figure.Figure at 0x7f30566ca390>"
247 ]
248 },
249 "metadata": {},
250 "output_type": "display_data"
251 }
252 ],
253 "source": [
254 "np.random.seed(8309)\n",
255 "n = 100 # number of samples to take\n",
256 "samples = [np.random.normal(loc=0, scale=1, size=100) for _ in range(n)]\n",
257 "\n",
258 "fig, ax = plt.subplots(figsize=(10, 7))\n",
259 "for i in np.arange(1, n, 1):\n",
260 " sample_mean = np.mean(samples[i]) # calculate sample mean\n",
261 " se = stats.sem(samples[i]) # calculate sample standard error\n",
262 " h = se*stats.t.ppf((1+0.95)/2, len(samples[i])-1) # calculate t; 2nd param is d.o.f. \n",
263 " sample_ci = [sample_mean - h, sample_mean + h]\n",
264 " if ((sample_ci[0] <= 0) and (0 <= sample_ci[1])):\n",
265 " plt.plot((sample_ci[0], sample_ci[1]), (i, i), color='blue', linewidth=1);\n",
266 " plt.plot(np.mean(samples[i]), i, 'bo');\n",
267 " else:\n",
268 " plt.plot((sample_ci[0], sample_ci[1]), (i, i), color='red', linewidth=1);\n",
269 " plt.plot(np.mean(samples[i]), i, 'ro');\n",
270 "plt.axvline(x=0, ymin=0, ymax=1, linestyle='--', label = 'Population Mean');\n",
271 "plt.legend(loc='best');\n",
272 "plt.title('100 95% Confidence Intervals for mean of 0');"
273 ]
274 },
275 {
276 "cell_type": "markdown",
277 "metadata": {},
278 "source": [
279 "### Further Reading\n",
280 "\n",
281 "This is only a brief introduction, Wikipedia has excellent articles detailing these subjects in greater depth. Let's go back to our heights example. Since the sample size is small, we'll use a $t$-test."
282 ]
283 },
284 {
285 "cell_type": "code",
286 "execution_count": 8,
287 "metadata": {
288 "collapsed": false
289 },
290 "outputs": [
291 {
292 "name": "stdout",
293 "output_type": "stream",
294 "text": [
295 "sample mean height: 64.2990415407\n",
296 "t-value: 2.26215716274\n",
297 "standard error: 1.18897782627\n",
298 "confidence interval: (61.609386834663141, 66.988696246744738)\n"
299 ]
300 }
301 ],
302 "source": [
303 "# standard error SE was already calculated\n",
304 "t_val = stats.t.ppf((1+0.95)/2, 9) # d.o.f. = 10 - 1\n",
305 "print 'sample mean height:', mean_height\n",
306 "print 't-value:', t_val\n",
307 "print 'standard error:', SE\n",
308 "print 'confidence interval:', (mean_height - t_val * SE, mean_height + t_val * SE)"
309 ]
310 },
311 {
312 "cell_type": "markdown",
313 "metadata": {},
314 "source": [
315 "There is a built-in function in scipy.stats for computing the interval. Remember to specify the degrees of freedom."
316 ]
317 },
318 {
319 "cell_type": "code",
320 "execution_count": 9,
321 "metadata": {
322 "collapsed": false
323 },
324 "outputs": [
325 {
326 "name": "stdout",
327 "output_type": "stream",
328 "text": [
329 "99% confidence interval: (60.43505913983995, 68.163023941567928)\n",
330 "95% confidence interval: (61.609386834663141, 66.988696246744738)\n",
331 "80% confidence interval: (62.654651037653949, 65.94343204375393)\n"
332 ]
333 }
334 ],
335 "source": [
336 "print '99% confidence interval:', stats.t.interval(0.99, df=9,\n",
337 " loc=mean_height, scale=SE)\n",
338 "print '95% confidence interval:', stats.t.interval(0.95, df = 9, \n",
339 " loc=mean_height, scale=SE)\n",
340 "print '80% confidence interval:', stats.t.interval(0.8, df = 9, \n",
341 " loc=mean_height, scale=SE)"
342 ]
343 },
344 {
345 "cell_type": "markdown",
346 "metadata": {},
347 "source": [
348 "Note that as your confidence increases, the interval necessarily widens."
349 ]
350 },
351 {
352 "cell_type": "markdown",
353 "metadata": {},
354 "source": [
355 "Assuming normality, there's also a built in function that will compute our interval for us. This time you don't need to specify the degrees of freedom. Note that at a corresponding level of confidence, the interval calculated using the normal distribution is narrower than the interval calcuated using the $t$-distribution."
356 ]
357 },
358 {
359 "cell_type": "code",
360 "execution_count": 10,
361 "metadata": {
362 "collapsed": false
363 },
364 "outputs": [
365 {
366 "name": "stdout",
367 "output_type": "stream",
368 "text": [
369 "(61.236437614523354, 67.361645466884525)\n",
370 "(61.968687822794635, 66.629395258613243)\n",
371 "(62.775305146047593, 65.822777935360293)\n"
372 ]
373 }
374 ],
375 "source": [
376 "print stats.norm.interval(0.99, loc=mean_height, scale=SE)\n",
377 "print stats.norm.interval(0.95, loc=mean_height, scale=SE)\n",
378 "print stats.norm.interval(0.80, loc=mean_height, scale=SE)"
379 ]
380 },
381 {
382 "cell_type": "markdown",
383 "metadata": {},
384 "source": [
385 "## What does this mean?\n",
386 "\n",
387 "Confidence intervals allow us to set our desired confidence, and then report a range that will likely contain the population mean. The higher our desired confidence, the larger range we report. In general, one can never report a single point value, because the probability that any given point is the true population mean is incredibly small. Let's see how our intervals tighten as we change sample size."
388 ]
389 },
390 {
391 "cell_type": "code",
392 "execution_count": 11,
393 "metadata": {
394 "collapsed": false
395 },
396 "outputs": [
397 {
398 "name": "stdout",
399 "output_type": "stream",
400 "text": [
401 "(61.968687822794635, 66.629395258613243)\n",
402 "(63.343692029946574, 65.254391051461297)\n",
403 "(64.00593339807287, 64.592149683335009)\n"
404 ]
405 }
406 ],
407 "source": [
408 "np.random.seed(10)\n",
409 "\n",
410 "sample_sizes = [10, 100, 1000]\n",
411 "for s in sample_sizes:\n",
412 " heights = np.random.normal(POPULATION_MU, POPULATION_SIGMA, s)\n",
413 " SE = np.std(heights) / np.sqrt(s)\n",
414 " print stats.norm.interval(0.95, loc=mean_height, scale=SE)"
415 ]
416 },
417 {
418 "cell_type": "markdown",
419 "metadata": {},
420 "source": [
421 "## Visualizing Confidence Intervals\n",
422 "\n",
423 "Here is some code to visualize a confidence interval on a graph. Feel free to play around with it."
424 ]
425 },
426 {
427 "cell_type": "code",
428 "execution_count": 12,
429 "metadata": {
430 "collapsed": false
431 },
432 "outputs": [
433 {
434 "name": "stdout",
435 "output_type": "stream",
436 "text": [
437 "(63.588854219913536, 65.573463595434731)\n"
438 ]
439 },
440 {
441 "data": {
442 "image/png": "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\n9ppx48blyiuvfFezVqxYkYceeuhdfS8Aex8hBECfdNNNN2X69OmZNm1abrzxxiTJsmXLcvbZZydJ\nfvOb3+T2FqmjAAACI0lEQVSv/uqvMmPGjHzve9/Lqaee2vO9y5cvzxe/+MWcfvrp+ed//uds27Yt\nV155ZR599NF885vfrOT+ANC3CCEA+pRarZaHHnooa9asyfe///3ceeedWblyZX75y18m+f9XjK6/\n/vr83d/9XW677bZs2LDhDVeStmzZkm9961v5zne+k3nz5mXAgAE577zz8tGPfjQXX3xxFXcLgD6m\nf9ULAFCu9evXZ8aMGanVamlqaur559KlS/Pkk0/2fG7r1q1ZtWpVWltbe773ueeey4QJE5IkkydP\nzgMPPNDzuY985CNJkoMOOihdXV2p1WqNvWMA9HlCCIDKDB8+PLfddtsbbhs3blwGDBiQM888M1/4\nwhfe8Llly5b1/HutVku/fm//xIbm5uY3fCyEAHgzT40DoDLvFCjHHntsFi9enO7u7iTJrbfemt//\n/vdv+Jr3v//9Wb58eZLkZz/72Z+c0dTUlO3bt++OtQHYCwghACrzTu8aN2XKlHz4wx/OWWedlbPO\nOisbNmzI6NGj3/B1F198cb7+9a/n3HPPTf/+/dO//9s/yeG1Gcccc0x+/etf54orrtj9dwSAPU5T\nzfMFANgDPfbYYxkxYkSOOOKI/OQnP8m9996b+fPnV70WAHsIrxECYI/U3NycSy+9NC0tLdmxY0e+\n/vWvV70SAHsQV4QAAIDieI0QAABQHCEEAAAURwgBAADFEUIAAEBxhBAAAFCc/wcTM+vUJalG9gAA\nAABJRU5ErkJggg==\n",
443 "text/plain": [
444 "<matplotlib.figure.Figure at 0x7f3064935b90>"
445 ]
446 },
447 "metadata": {},
448 "output_type": "display_data"
449 }
450 ],
451 "source": [
452 "sample_size = 100\n",
453 "heights = np.random.normal(POPULATION_MU, POPULATION_SIGMA, sample_size)\n",
454 "SE = np.std(heights) / np.sqrt(sample_size)\n",
455 "(l, u) = stats.norm.interval(0.95, loc=np.mean(heights), scale=SE)\n",
456 "\n",
457 "print (l, u)\n",
458 "\n",
459 "plt.hist(heights, bins=20)\n",
460 "plt.xlabel('Height')\n",
461 "plt.ylabel('Frequency')\n",
462 "\n",
463 "# Just for plotting\n",
464 "y_height = 5\n",
465 "plt.plot([l, u], [y_height, y_height], '-', color='r', linewidth=4, label='Confidence Interval')\n",
466 "plt.plot(np.mean(heights), y_height, 'o', color='r', markersize=10);"
467 ]
468 },
469 {
470 "cell_type": "markdown",
471 "metadata": {},
472 "source": [
473 "## Miscalibration and Violation of Assumptions\n",
474 "\n",
475 "The computation of a standard deviation, standard error, and confidence interval all rely on certain assumptions. If these assumptions are violated then the 95% confidence interval will not necessarily contain the population parameter 95% of the time. We say that in this case the confidence interval is miscalibrated. Here is an example."
476 ]
477 },
478 {
479 "cell_type": "markdown",
480 "metadata": {},
481 "source": [
482 "### Example: Autocorrelated Data\n",
483 "\n",
484 "If your data generating process is autocorrelated, then estimates of standard deviation will be wrong. This is because autocorrelated processes tend to produce more extreme values than normally distributed processes. This is due to new values being dependent on previous values, series that are already far from the mean are likely to stay far from the mean. To check this we'll generate some autocorrelated data according to the following process.\n",
485 "\n",
486 "$$X_t = \\theta X_{t-1} + \\epsilon$$\n",
487 "$$\\epsilon \\sim \\mathcal{N}(0,1)$$"
488 ]
489 },
490 {
491 "cell_type": "code",
492 "execution_count": 13,
493 "metadata": {
494 "collapsed": false
495 },
496 "outputs": [
497 {
498 "data": {
499 "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAHxCAYAAACiQxf/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYXGd5Jvz71L71vqi1b14kWbZsSzIYAo4NTpiEECCY\nmI+EgY9kQoJnYsIM42Rg+CbJQEIWDyEhNom/QFjCFmITcAAbiPdFasmrWpIla+9Wt3qtqlPrqTrz\nx6n3VHV37XWWOlX377q48GW3uo9apa7znOd570dSVVUFERERERFRl3LZfQFERERERER2YlFERERE\nRERdjUURERERERF1NRZFRERERETU1VgUERERERFRV2NRREREREREXc22oiidTuPWW2/F/fffb9cl\nEBERERER2VcUff7zn0d/f79dX56IiIiIiAiATUXRq6++ilOnTuGmm26y48sTERERERHpbCmKPvOZ\nz+Cuu+6y40sTEREREREt47H6C95///3Yv38/1q1bBwBQVbXmrxkfHzf7soiIiIiIyOH27t3b1K+z\nvCh65JFHcP78efzoRz/CxYsX4ff7MTY2hhtvvLHqr2v2N0jUqPHxcb7eyDJ8vZGV+Hojq/E1R1Zq\npZFieVF099136//813/919iwYUPNgoiIiIiIiMgs3FNERERERERdzfJOUak77rjDzi9PRERERETE\nThEREREREXU3FkVERERERNTVWBQREREREVFXY1FERERERERdjUURERERERF1NRZFRERERETU1VgU\nERERERFRV2NRREREREREXY1FERERERERdTUWRURERERE1NVYFBERERERUVdjUURERERERF2NRRER\nEREREXU1FkVERERERNTVWBQREREREVFXY1FERERERERdjUURERERERF1NRZFRERERETU1VgUERER\nERFRV2NRREREREREXY1FERERERERdTUWRURERERE1NVYFBERERERUVdjUURERERERF2NRRERERER\nEXU1FkVkuCOn5nDgyEW7L4OIiIiIqC4sishw9/7Li/jzr47bfRlERERERHVhUUSGi8oZJFIKskre\n7kshIiIiIqqJRREZLpHKAgDiyYzNV0JEREREVBuLIjJUPq8imVYAAPFE1uarISIiIiKqjUURGSqZ\nVqCq2j+zKCIiIiIiJ2BRRIaSU8VCiONzREREROQELIrIUHKytChip4iIiIiI2h+LIjJUIqXo/8zx\n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\n8kYLv/71r/Xcc89Jkk6ePKmmpiarlwAAAAAAWZZnivr7+7V161bFYjEl17eezwAABjRJREFUEglt\n27aNltwAAAAAbGN5UAQAAAAAxcTy8jkAAAAAKCYERQAAAADKGkERAAAAgLJmy/DWfG3fvl0nTpyQ\nw+HQQw89pBUrVti9JJSgHTt26NixY0qn0/rqV7+qFStW6IEHHpBhGGpoaNCOHTvk8XjsXiZKSDwe\n1x133KGNGzdq7dq17DcUTFtbm/bs2SO32637779fy5cvZ7+hIGKxmLZs2aKBgQElk0lt3LhRH/vY\nx9hvWHDvvPOONm3apPvuu0933XWXOjs7Z9xnbW1t2rdvn1wulzZs2KA777wz5/sWbaboyJEjOn36\ntPbv36+HH35YjzzyiN1LQgl6/fXX9e6772r//v368Y9/rO9973vauXOn7r77bv3sZz/TZZddpmef\nfdbuZaLE7N69WzU1NZKknTt36p577mG/YcFduHBBjz/+uPbv368nn3xSv/3tb9lvKJhf/vKXuuKK\nK7Rv3z7t3LlTjzzyCN+nWHDDw8N69NFH1dramn1tpuva8PCwdu/erb1792rfvn3au3evBgcHc753\n0QZFr732mj7zmc9Ikq688koNDg4qGo3avCqUmuuvv147d+6UJFVVVSkWi+nIkSO69dZbJUnr16/X\noUOH7FwiSsx7772nU6dO6eabb5ZhGDpy5IjWr18vif2GhXXo0CG1trbK7/ervr5e3/3ud3X48GH2\nGwoiHA6rv79fkjQwMKBwOMz3KRacz+fTk08+qfr6+uxrM13XTpw4oZUrVyoYDMrn82n16tU6duxY\nzvcu2qDo/PnzCofD2f+ura3V+fPnbVwRSpHT6ZTf75ckHTx4ULfccouGh4ez6f26ujr19PTYuUSU\nmB07dmjr1q3Z/2a/oVDa29s1PDysr3/967r77rv12muvaWRkhP2Ggvjc5z6nzs5O3Xbbbbr33nu1\nZcsWrm9YcE6nU16vd9JrU/dZd3e3ent7J8UR4XB4zv1X1GeKJmKcEgrpN7/5jZ599lnt2bNHt912\nW/Z19h0W0nPPPafrr79eTU1NM/45+w0LyTCMbAlde3u77r333kl7jP2GhdTW1qZFixbpqaee0smT\nJ7Vt27ZJf85+gxVm22f57L+iDYoaGxsnZYa6u7vV0NBg44pQql599VU99dRT2rNnj0KhkILBoBKJ\nhLxer7q6utTY2Gj3ElEiXn75ZZ07d04vvviiurq65PF4FAgE2G8oiPr6eq1atUpOp1MtLS0KBoNy\nu93sNxTEsWPHtG7dOknS8uXL1dXVJb/fz35DwU29b4tEImpsbJyUGerq6tKqVatyvk/Rls+1trbq\nhRdekCS99dZbikQiCgQCNq8KpWZoaEiPPfaYnnjiCVVWVkqSbrjhhuzee+GFF7IXeeCj+sEPfqAD\nBw7o6aef1p133qmNGzfqhhtu0K9+9StJ7DcsrNbWVr3++usyDEP9/f2KxWLsNxTM0qVLdfz4cUmZ\n0s1AIKAbb7yR/YaCm+m+beXKlXrzzTc1NDSkaDSqN954Q2vWrMn5Pg6jiPOZ3//+93X48GG5XC59\n5zvf0fLly+1eEkrMM888o127dmnZsmUyDEMOh0OPPvqotm3bpkQioaamJm3fvl0ul8vupaLE7Nq1\nS0uWLNFNN92kBx98kP2GgnjmmWd04MABORwOfeMb39AnPvEJ9hsKIhaL6aGHHlJvb6/S6bS++c1v\n6vLLL9eWLVvYb1gwJ06c0Le//W319fXJ5XKpurpae/bs0datW6ftsxdffFE/+clP5HQ6dc899+j2\n22/P+d5FHRQBAAAAQKEVbfkcAAAAAFiBoAgAAABAWSMoAgAAAFDWCIoAAAAAlDWCIgAAAABljaAI\nAAAAQFkjKAIAXHLa2trsXgIAoIQQFAEALinpdFqPP/643csAAJQQgiIAwCVl27Zt6ujo0Je//GW7\nlwIAKBEOwzAMuxcBAEC+2tvbddddd+mll16yeykAgBJBpggAAABAWSMoAgAAAFDWCIoAAJcUp9Op\nVCpl9zIAACWEoAgAcElpbGxUXV2dvvjFL2pkZMTu5QAASgCNFgAAAACUNTJFAAAAAMoaQREAAACA\nskZQBAAAAKCsERQBAAAAKGsERQAAAADKGkERAAAAgLJGUAQAAACgrP1/ooVi4lpOrOAAAAAASUVO\nRK5CYII=\n",
500 "text/plain": [
501 "<matplotlib.figure.Figure at 0x7f305669efd0>"
502 ]
503 },
504 "metadata": {},
505 "output_type": "display_data"
506 }
507 ],
508 "source": [
509 "def generate_autocorrelated_data(theta, mu, sigma, N):\n",
510 " # Initialize the array\n",
511 " X = np.zeros((N, 1))\n",
512 " \n",
513 " for t in range(1, N):\n",
514 " # X_t = theta * X_{t-1} + epsilon\n",
515 " X[t] = theta * X[t-1] + np.random.normal(mu, sigma)\n",
516 " return X\n",
517 "\n",
518 "X = generate_autocorrelated_data(0.5, 0, 1, 100)\n",
519 "\n",
520 "plt.plot(X);\n",
521 "plt.xlabel('t');\n",
522 "plt.ylabel('X[t]');"
523 ]
524 },
525 {
526 "cell_type": "markdown",
527 "metadata": {},
528 "source": [
529 "It turns out that for larger sample sizes, you should see the sample mean asymptotically converge to zero. This is because the process is still centered around zero, but let's check if that's true. We'll vary the number of samples drawn, and look for convergence as we increase sample size."
530 ]
531 },
532 {
533 "cell_type": "code",
534 "execution_count": 14,
535 "metadata": {
536 "collapsed": false
537 },
538 "outputs": [
539 {
540 "data": {
541 "image/png": "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\nrMj+Qme+cnTu+5d6PuBQTz8VUE/MV3rC46bLYyDN12reX1XP+8D+ZJeh6bjjjktDQ0Nefvnl3HPP\nPTuMF5r2jM489Fw9H3Doelmje8P6hstF6Sn73/LYfr729/uEqrUO1fM+sD/ZZWi67rrrKlkHQKF6\n7vAU3RvWNUS55GP31fM6Af2R+4TKx/au+nbrQRB9bf78+VmxYkUaGhoyZ86cTJo0qWPcQw89lJtv\nvjmlUin/8T/+x3zuc5+rRon9jlO7UDuKQtRAfaRuPd0vYHu6c/V+f0sl9ed1SOe+/tTy9reWLsWu\neGhatmxZVq1alcWLF6e5uTnXXHNNFi9e3DH+2muvzXe+852MGjUq5513Xk4//fRe/xgVfX9qtz9v\n8Ck/609nOhn19XssLpXZuYF0f0tvWYeoJbW8/a2lS7ErHpqWLl2aqVOnJtnWUXrttdfS2tqafffd\nN6tXr85+++2X0aNHJ0lOOumkPPzww0JTH+nLjpkNPr1h/WFn6ik81lOtlWS+7D7zilpSy+tjrdTW\nbWh6+umnM2fOnGzcuDH3339/vv71r+fEE0/M+973vj2aYEtLSyZOnNgxPGLEiLS0tGTfffdNS0tL\nRo4c2TFu5MiRWb169R5Nh/KrlZWYnav1sznWn4Gl1tdHBpauDyzY/v8AO9NtaPrKV76Sv/qrv8q1\n116bJDnjjDMye/bsTpfU9UZ7e/sejduVnV2XuXH92iTbLhXoem1kT8a/8forSRo6xrW+uqbThvZd\n73pX/v3f/32Xw91Nq7v3J027/PvnnnuuY9zOatt+/O5Mu7ffpWh8d7V29713HE6naW//+u7UVvT5\n3S3zntbal/N9Z7U899xzGTZsWMfwOV/4m7xj6Mi8ueGV/MMtn9/hgQO9mU89WX97uz72tu0Uvb/r\n+th1mW8/3BfttqfD20/vrevM31qOvZ2P3S3T3qwDO6v1ir/+8W6vj72ZT2/VsmrVqo720JNl3t22\nvafrY2+WQ2+XeSWHu87XjevX7vAkte33z72ddm/a+Ssv/SZX/PWv846h2w7Urv/dv2W/g8ft1mf1\ndNo9/fuuy7zrcF9vc3rzXYvaUl/Mx77eBvVlrd3V0nV9L1r/u1vm5ew/dvf+ov33zsZ3/Z5vf2Z5\nat/dZb59zXuqob2bZHLBBRfk9ttvz/nnn59FixYlSc4777x873vf26MJLly4MKNGjconPvGJJMnU\nqVNzzz33pLGxMS+++GIuu+yyjkC2cOHCjBgxIueee27hZy5fvrzj/6tWrcqC7z/RcdnP5dOP7LRj\n3rp1a274wZN7NL6trS0NDQ0ZNGhQkuSll17Kon9u6Xjv+ScfUDjc3bS6e//BBx+c//t//+9O/771\n1TW54JRROeSQQ3aoLckO47ubdm+/S9H4olp353t3HR4zZkxeeOGFXQ53V1vR53e3zHtaa1/O967L\neN0LT2WfYfuXZd3fk+9SVGtP18fetp2i93etpesy7zrc23bb0+Htp7fuhaeS9raOjt4br7fkMx+b\nuMfzsbtl2pt1YPv1cXeWeW/nW0/aVnfLvLtte0/Xx94sh57Ox55uU/pyuGttb9X31nxN0mn/3Ntp\n11I77+06ULTMu27b+3qb05vv2t187e18LOc2qK+37V3//qpzj0pXu1r/u1vmu7O+3frjX3cclPri\nzJP7bFvf3f676/ay6/furk/W2/nck2U+ZsyYlEqlTJ48eYdlszu6PdM0ePDgrF69Og0N29L4z3/+\n8z06A/SWKVOmZOHChfnEJz6RlStXZvTo0WlsbEySHHrooWltbc1LL72UUaNG5Wc/+1luvPHG3frc\nt2bAsGHD0jh8TcdlP+973/s63SvxzDPPpPEna/d4/PaeeeaZ3P3Ygx3vfc97mtL42KBdDnc3re7e\nv7Ppb//3p502teP9XWvb2fiiaff2u3Q3vqjW7r73zhxzzDG7HO7JMu1Ob2vd2XzPP7d0jH/Pe96z\n2/O9ay0b1/+u0yVv5Vz3d+e7FNWa9Gx97G3b6e7929fSnd62257afnrtW7dm9iffk7Fjx3aM3/4y\nt77epuzJOvDW9Lquj0nxMu/tfOvpNq1omXe3be/p+tWb5dDT+djTbfnuDHfdRhVts7qbr9vvn3tb\nWy21896uA0XLvOvwnmxzli9fvsuOYm+/a7fLvBefXc5tUG9r7e7vJ06cuON328X6v3H973b4vJ7s\nz0899eScdtppHeO7u/y5N33dpLgP1/V7J8V9st7O554u8+1PtPRUt6HpyiuvzOc+97k899xzmTx5\ncg499NAsWLBgjyd49NFH58gjj8z06dNTKpUyd+7cLFmyJMOGDcvUqVPzpS99KbNmzUqSnHnmmTni\niCP2eFpQDn15qvfwww/Povlvd4C3nVpu3vUf1Jjt58Xhh5/c6bt4gEvfeWs+v/F6S8aOPa3fPDSj\nL9sS5dF1G/Wud70ri8bW7zaL/u/t7eUraRw+eo/+9q3Lwipln2EHdjog9txzTbnuH3a/XZVKpX6z\nX6hl3YamCRMm5N57780rr7ySvffeO0OHDu31RN8KRW8ZP358x///w3/4D312vxT0taampiyaP6PT\ncE9tv1HuuqHrem9WLdvZvHBjf9/ri3WuFtXb9xqoAW9nnbF63WaVW7U63Lxt+5Df0+DRdZtUyQMC\nDYMGZezYsV3aWvG0B+o2qZp2GZquuOKKjkvydub6668vS0EDjY1sfent0Zx66ygWqfaRrYHSdno7\nn2t1x1rt9acnup5tqbd2O1DaSjX1dYd7+/a6J2dMBqodtyt7framHAcE+qot9qe+RFK7+6mudhma\nTjjhhErWMSBV86hGYkdaDfXUUaxl1W47tcwlk32vntttrV0C3F/3O33Z4e7tpVq8bftOeCU65EWd\n/77cb9XzNqmrPTkoVa3tyC5D08c//vGO/z/zzDN59tln09DQkPHjx+fd7353RYrr76p5aZZOJ/Ws\nni9rLCeXTNJVLbWVne13Nq5fmqT/haje2JNLtXqrP4bZruvbW69Vanpdp1VLbbGW9DQAVrP/2u09\nTQsWLMg//dM/ZdKkSdm6dWtuvPHGnHnmmfmv//W/VqI+ykTjhf6nPx19rHf9sRPaW13Xz7a2Ngfv\nakB/PYha6e2h7W9lVLP/2m1oeuSRR/I//+f/zF577ZUk2bx5c6ZPny40AcBOVPuSuN7eH1Cp+wsc\nvOusWvd1WA6we7oNTQcccEAGD377bXvttVfGjBlT1qIAapmzCBSpZid0d+4PKFp/6/2hF/Wqv93Y\n3xv18lAA9ly9LuNuQ9OIESPyp3/6pznuuOPS3t6eZcuW5fDDD8/Xvva1JMmll15a9iIrrV4XJlB+\n/fVSFvqH7i4R6m79rfYlRgP1gES153utEB7rU0/6zfW8jLsNTYcddlgOO+ywjuEPfehD5ayn6up5\nYQLl51IWdqZeDrbV8vrrgAS1Fh7rpV3vib76bj3tN9faMu6JbkPTJZdcUok6akY9L0wAKs/Btr5R\ny4GOgac/t+uefreiR7cPpH5zt6Hpm9/8Zr797W9nw4YNSZL29vY0NDTkqaeeKntxwMDR9bKc/nyE\nj/6l3J2GSv/WDNC/w0BPvlulH91ey7oNTT/60Y/yox/9KAcddFAl6gEGoK4b5Xe9611ZNNbN6FRP\nrYT2rj90mmgPPdGb5ThQ76+C7fXn8NhT3Yam97znPTnooIP8QCJUyEDcUe9so2wjTV/b3Q50LV2W\ns/MfOmV39OZJgO6vKp9aOSABPdVtaProRz+aP/mTP8nEiRM7Baf58+eXtTAYiHq6o95+p/PG66+k\ncfjocpYHPVJLl5X1pAPtyGr/0Jvl6P6q8vBIe+pZt6FpwYIFOeusszJ6tM4YlFtPdtRdA9ZzzzVl\n7q1Lk1S/gwq1dlmZIATVpx125qxbfek2NB1++OED7gl6UA+67nyamprS2tqaiRMndgxTGXZ8O3JZ\n2cAxUNb/gfI9qYxaugyY3dNtaHrf+96XW265Je9///s7XZ53/PHHl7UwYJvd3VGXSqUcccQROqkV\nZsfHQFbu9b+n93iWK9ho5/S17s66Cem1p9vQtGzZsk7/JklDQ4PQBBVgR137XG7CQFbO9b+n93iW\nc3tZa+283B1qHfbqsu+vTd2GpkWLFu3w2gMPPFCWYoDOam1HTf+ns0St6OnDGAbK9rLcD1PQYa++\ngbIu15tuQ9NLL72U733ve/n973+fJNm8eXMeeeSRnH766WUvDoDKqffO0kB8XD8DT7k71DrssHPd\nhqarrroqH/zgB/PP//zPOe+88/Lggw9mwYIFlagNgAqq586S39UBoJy6DU2lUikzZ87ML37xi5x7\n7rk5++yzc+mll2bKlCmVqA/oQ/350qv+/N3ont/VAaCcvw/YbWh644038uKLL6ahoSGrV6/OIYcc\nkjVr1vRpEVBuOtT1f+lVkf783QCA7pX79wG7DU0XX3xxli1blosuuihnnXVWSqVSzjzzzD4rAMpN\nh3qber70qjv9+btBdxwUAij/7wN2G5qmTp3a8f9HH300ra2tGT58eFmKgXLQoQb6KweF6odwC/Vt\nl6Fpw4YNufPOO3PhhRcmSRYvXpwf/OAHOeKIIzJ37twccMABFSsSoLc8Wa08zNfdU64Oc18cFNKZ\nL79yPyYcKL9dhqa5c+fm4IMPTpI899xzuemmm/LVr341q1evzrXXXpubb765YkUC9IYnq5WH+bp7\navlsUC3X1p/0tyseehK0hXLKrVLr2C5D0+rVq3PTTTcl2fZjtn/8x3+cE044IUly3333lbUo+kY5\nnyAC9WRnT1azI++9Wn9iXa0s41ruMNdybdSmngRtoZxyq+Q6tsvQ1NjY2PH/Rx99NGeffXbHcEND\nQ9kKom90XYneeg2wIx8ImpqactW5R2XixIkdw0Dv9SRoC+WUWyXXsV2Gpra2tqxbty6tra15/PHH\nOy7H27D2s/qFAAAWKElEQVRhQzZu3FiR4thze7ISuTeBgcKOvP8rlUo54ogjLOd+plbOHgIDzy5D\n08UXX5wzzjgjb775Zi655JIMHz48b775ZmbMmJFzzjmnkjVSAe5NAKCWOUMMVNMuQ9NJJ52Uf/mX\nf8mmTZsydOjQJMk73vGOXHnllTnxxBMrViCVUev3JlAZjuICtcoZYqCaCn+naa+99spee+3V6TWB\nCfonR3EBAHau2x+3BQYGR3EBqDeukKBShCYAAOqOKySoJKEJAIC64woJKmlQtQsAAACoZUITAABA\nAZfnAdBn3JQNQH8kNAHQJ9yUDUB/JTQB0CfclA1AfyU0AUCNcZkjQG0RmqgJOggA27jMEaD2CE1U\nnQ4CwNtc5ghQe4Qmqk4HAQB2zdUYUH1CEwBAjXI1BtQGoQkAoEa5GgNqw6BqFwAAAFDLhCYAAIAC\nQhMAAEABoQkAAKCAB0EAAPQxjwmH/kVo6mOdN5IeCwoAA43HhEP/IzT1ocMPPzyL5o/tGG5ra0vS\nXL2CAICK85hw6H+Epj7UdSP5zDPPVLGaynMpAgAA/ZHQRJ9wKQIAAP2V0ESfcCkCAAD9lUeOAwAA\nFHCmqca4LwgAAGqL0FRD3BcEAAC1R2iqIbV2X5DfnAIAAKGJXeh61stvTgEAMFAJTezUQP/NKfre\n9vfpuWcPAKgnQhNQdl3PXL71GgBAPRCaesnT7qB7tXa/HgBATwhNveBpdwAA0P8JTb3g6DkAAPR/\nFQ9NW7ZsydVXX52XXnoppVIp8+fPz5gxYzq95yc/+Um++93vplQq5dhjj81f/MVfVLpMAACAJMmg\nSk/wvvvuy/Dhw3PHHXfks5/9bG688cZO499888389V//df7+7/8+ixcvztKlS9Pc7FHXtWDj+rXZ\n8PsX3b8FAMCAUvEzTUuXLs3HPvaxJMkJJ5yQOXPmdBr/jne8I/fcc08aGxuTJPvtt19effXVSpdZ\nNyr1IAr3bwEAMFBVPDS1tLRk5MiRSZKGhoYMGjQoW7ZsyeDBb5cydOjQJMlvfvObvPTSS/mjP/qj\nSpdZFyoZZNy/BQDAQFXW0HTnnXfmrrvuSkNDQ5Kkvb09TzzxRKf3bN26dad/++///u+5/PLLc+ON\nN6ZUKnU7reXLlydJVq1a1en1J598Mq+//nrHcHfj+1Ilp5Uk//qv/1q2z+6tSs+LgeyttgBoD/AW\nbQF6p6yhadq0aZk2bVqn12bPnp2WlpaMHz8+W7Zs2VbE4M5lrFmzJp///Odzww03ZPz48bs1rcmT\nJydJhg0blty3puP1iRMndjpD0t34vlTJadU686Iyli9f3tEWYKDTHmAbbQG26c3Bg4o/CGLKlCm5\n//77kyQ//elPc+yxx+7wnmuuuSZf+tKXMmHChEqXBwAA0EnF72k644wz8stf/jIzZszIkCFDct11\n1yVJbr311hx77LEZPnx4Hnvssdxyyy1pb29PQ0NDLrzwwpx88smVLhUAAKDyoWnQoEGZP3/+Dq/P\nnDmz4/+PP/54JUsCAADYpYpfngcAAFBPhCYAAIACQhMAAEABoQkAAKCA0AQAAFBAaAIAACggNAEA\nABSo+O80MXBtXL+2078AAFAPhCYqoqmpKYvmz+g0DAAA9UBooiJKpVLGjRtX7TIAAKDH3NMEAABQ\nQGgCAAAoIDQBAAAUEJoAAAAKCE0AAAAFhCYAAIACQhMAAEABoQkAAKCA0AQAAFBAaAIAACggNAEA\nABQQmgAAAAoITQAAAAWEJgAAgAJCEwAAQAGhCQAAoMDgahdQDhvXr+30LwAAwJ7qd6Gpqakpi+bP\n6DQMAACwp/pdaCqVShk3bly1ywAAAPoJ9zQBAAAUEJoAAAAKCE0AAAAFhCYAAIACQhMAAEABoQkA\nAKCA0AQAAFBAaAIAACggNAEAABQQmgAAAAoITQAAAAWEJgAAgAJCEwAAQAGhCQAAoIDQBAAAUEBo\nAgAAKCA0AQAAFBCaAAAACghNAAAABYQmAACAAkITAABAAaEJAACggNAEAABQQGgCAAAoIDQBAAAU\nEJoAAAAKCE0AAAAFhCYAAIACQhMAAEABoQkAAKCA0AQAAFBAaAIAACggNAEAABQQmgAAAAoITQAA\nAAWEJgAAgAKDKz3BLVu25Oqrr85LL72UUqmU+fPnZ8yYMTt976xZszJkyJDMnz+/wlUCAABsU/Ez\nTffdd1+GDx+eO+64I5/97Gdz44037vR9v/zlL/PCCy9UuDoAAIDOKh6ali5dmqlTpyZJTjjhhDz2\n2GM7vGfz5s35u7/7u/z5n/95pcsDAADopOKhqaWlJSNHjkySNDQ0ZNCgQdmyZUun99x6660577zz\nsu+++1a6PAAAgE7Kek/TnXfembvuuisNDQ1Jkvb29jzxxBOd3rN169ZOw6tWrcpvfvObXHLJJXnk\nkUd2e1rLly/frfetWrWq0/CTTz6Z119/fben0xOVnBa8ZXfbAgwE2gNsoy1A75Q1NE2bNi3Tpk3r\n9Nrs2bPT0tKS8ePHd5xhGjz47TJ+9rOf5fnnn8/06dPz+uuv5/e//31uu+22XHTRRYXTmjx58m7V\nNGzYsOS+NR3DEydOzLhx43b3K/VIJacFybad4u62BejvtAfYRluAbXpz8KDiT8+bMmVK7r///kyZ\nMiU//elPc+yxx3Ya/6lPfSqf+tSnkiSPPvpolixZ0m1gAgAAKJeK39N0xhlnZMuWLZkxY0Z+8IMf\n5LLLLkuy7T6mFStWVLocAACAQhU/0zRo0KCd/u7SzJkzd3jtmGOOyTHHHFOJsgAAAHaq4meaAAAA\n6onQBAAAUEBoAgAAKCA0AQAAFBCaAAAACghNAAAABYQmAACAAkITAABAAaEJAACggNAEAABQQGgC\nAAAoIDQBAAAUEJoAAAAKCE0AAAAFhCYAAIACQhMAAEABoQkAAKCA0AQAAFBAaAIAACggNAEAABQQ\nmgAAAAoITQAAAAWEJgAAgAKDq11Af7dx/dpO/wIAAPVFaCqjpqamLJo/o9MwAABQX4SmMiqVShk3\nbly1ywAAAHrBPU0AAAAFhCYAAIACQhMAAEABoQkAAKCA0AQAAFBAaAIAACggNAEAABQQmgAAAAoI\nTQAAAAWEJgAAgAJCEwAAQAGhCQAAoMDgahdQDRvXr+30LwAAwK4MuNDU1NSURfNndBoGAADYlQEX\nmkqlUsaNG1ftMgAAgDrhniYAAIACQhMAAEABoQkAAKCA0AQAAFBAaAIAACggNAEAABQQmgAAAAoI\nTQAAAAWEJgAAgAJCEwAAQAGhCQAAoIDQBAAAUEBoAgAAKCA0AQAAFBCaAAAACghNAAAABYQmAACA\nAkITAABAAaEJAACggNAEAABQQGgCAAAoIDQBAAAUEJoAAAAKCE0AAAAFhCYAAIACgys9wS1btuTq\nq6/OSy+9lFKplPnz52fMmDGd3vP000/nmmuuSUNDQ0455ZR87nOfq3SZAAAASapwpum+++7L8OHD\nc8cdd+Szn/1sbrzxxh3eM3fu3Fx77bW566670tzcnE2bNlW6TAAAgCRVCE1Lly7N1KlTkyQnnHBC\nHnvssU7j161blzfeeCMTJkxIktx4440ZMmRIpcsEAABIUoXQ1NLSkpEjRyZJGhoaMmjQoGzZsqVj\n/Isvvph3vvOdmT17dmbMmJG///u/r3SJAAAAHcp6T9Odd96Zu+66Kw0NDUmS9vb2PPHEE53es3Xr\n1k7D7e3tefHFF/ONb3wje++9d84555yceOKJaWpqKpzW8uXL+7Z4qFPaArxNe4BttAXonbKGpmnT\npmXatGmdXps9e3ZaWloyfvz4jjNMgwe/Xcb++++fP/iDP8g73/nOJMnkyZPz29/+tjA0TZ48uQzV\nAwAAVOHyvClTpuT+++9Pkvz0pz/Nscce22n8mDFj0tramtdeey1bt27NU089lbFjx1a6TAAAgCRJ\nQ3t7e3slJ7h169Zcc801WbVqVYYMGZLrrrsuo0ePzq233ppjjz0273vf+/LEE09k3rx5GTRoUE48\n8cRccskllSwRAACgQ8VDEwAAQD2p+OV5AAAA9URoAgAAKCA0AQAAFCjrI8crYf78+VmxYkUaGhoy\nZ86cTJo0qdolQUU8+uijufTSS/Oe97wn7e3tGT9+fP7sz/4sV1xxRdrb23PggQfm+uuvz1577VXt\nUqFsnn766Xz+85/Ppz/96Zx77rlZs2bNTtvAPffck9tvvz2lUinTpk3L2WefXe3SoU91bQuzZ8/O\nk08+mREjRiRJLrroopx00knaAv3e9ddfn8ceeyxtbW2ZOXNmJk2a1Cf7hboOTcuWLcuqVauyePHi\nNDc355prrsnixYurXRZUzDHHHJOvfe1rHcOzZ8/O+eefn9NOOy0333xz7r777kyfPr2KFUL5vPHG\nG1mwYEGmTJnS8drXvva1HdrAWWedlb/927/N3XffncGDB+fss8/Oaaed1vF7gFDvdtYWkuTyyy/P\nSSed1Ol92gL92SOPPJJnn302ixcvzquvvpqPf/zjOe6443Leeefl9NNP79V+oa4vz1u6dGmmTp2a\nJGlqasprr72W1tbWKlcFldP14ZePPvpoTj755CTJySefnIceeqgaZUFFDBkyJN/85jdzwAEHdLy2\nszawYsWKHHXUUdl3330zZMiQvP/9789jjz1WrbKhz+2sLeyMtkB/94EPfKDjYPI73/nObNy4McuW\nLcspp5ySpHf7hboOTS0tLRk5cmTH8IgRI9LS0lLFiqCympub87nPfS7nnntuHnroobz55psdl+Pt\nv//+efnll6tcIZTPoEGDsvfee3d67Y033ujUBtauXZt169Z12leMHDlS26Bf2VlbSJLvfe97+dSn\nPpXLLrssv//973foN2kL9DeDBg3KPvvskyS566678qEPfajP9gt1fXleV35yioHkiCOOyCWXXJIP\nf/jDWb16dS644IJs2bKlY7z2wEC3qzagbTAQnHXWWdlvv/0yYcKE3HrrrVm4cGGOPvroTu/RFuiv\nHnzwwdx999257bbbctppp3W83pv9Ql2faRo1alSnM0tr167NgQceWMWKoHJGjx6dD3/4w0mSww47\nLAcccEBee+21bN68OUnyu9/9LqNGjapmiVBx++67b6c2MHr06IwaNarTEURtg4HguOOOy4QJE5Ik\np556ap555pmMHj1aW6Df+8UvfpFbb7013/72tzN06NA+2y/UdWiaMmVKHnjggSTJypUrM3r06DQ2\nNla5KqiMe++9NwsXLkySrFu3LuvWrct//s//Offff3+S5IEHHsgHP/jBapYIFXf88cd37BfeagNH\nHXVUnnzyyWzYsCGtra15/PHHM3ny5CpXCuX1hS98Ib/5zW+SbLvXb9y4cdoC/d6GDRtyww035O/+\n7u8ybNiwJH23X2hor/NzszfddFMeffTRlEqlzJ07N+PHj692SVARra2tueyyy7J+/fq0t7fnv/yX\n/5IJEybkqquuyubNm3PIIYdk/vz5KZVK1S4VymLFihX5y7/8y7zyyisplUoZPnx4brvttlx99dU7\ntIF//Md/zLe//e0MGjQo559/fj7ykY9Uu3zoMztrC1/4whfyjW98I/vuu2/23Xff/NVf/VVGjhyp\nLdCv/fCHP8zChQvzrne9K+3t7WloaMiCBQtyzTXX9Hq/UPehCQAAoJzq+vI8AACAchOaAAAACghN\nAAAABYQmAACAAkITAABAAaEJAACgwOBqFwBA//bzn/883/rWt1IqlbJx48Ycdthh+cpXvpKhQ4eW\nZXpLlizJQw89lBtuuGG33r9p06bMmzcv//Zv/5ZBgwZl48aNueiii3LGGWfkF7/4RX7961/nM5/5\nTFlqBaA+CE0AlM3/+3//L1deeWV+8pOfZP/990+S3HDDDbnzzjtz4YUXlm26DQ0Nu/3e7373u9ln\nn33y/e9/P0myZs2aXHzxxTn55JPzwQ9+MB/84AfLVSYAdUJoAqBsNm3alDfffDOtra0doemKK67o\nGP/ggw/mW9/6VvbZZ5+0tbVlwYIFOeSQQ3L++efnAx/4QFasWJHnn38+V111Ve6555789re/zcc+\n9rF85jOfycKFC7N69er8/ve/T0tLS4499thcddVVnab/9NNP5/rrr8+WLVuyZcuWzJ07NxMmTOj0\nnvXr16e1tbVj+KCDDsq9996b5O2zVrNmzcqVV16ZhoaGtLe35/HHH88dd9yRo446KjfffHMee+yx\nbNq0KR/4wAc6fT8A+gehCYCyGTp0aC655JKcddZZOfroo3PMMcfk9NNPz9ixY5MkGzZsyE033ZRD\nDz00t956a773ve/lyiuv7Pj72267LQsXLsxNN92Ue++9N2vWrOkITUny29/+NnfffXe2bNmSj3zk\nI/n4xz/eafpXXHFF/vZv/zaHHXZYnn766cyZMyf/43/8j07vueCCCzJz5syceuqpOf7443PiiSfm\n1FNPzV577ZVk21mrgw8+OIsWLUqSfP/738/BBx+co446Kvfff3/Wrl3bMe6SSy7Jz372s3zoQx8q\ny/wEoDqEJgDK6uKLL84nPvGJ/PKXv8zDDz+cc845J7Nmzcr06dMzYsSIzJ49O+3t7Wlpackf/dEf\ndfzd+9///iTJ6NGjM3HixJRKpRx00EHZsGFDx3uOO+64NDQ0ZK+99sqkSZPy7LPPdox75ZVX8txz\nz+Waa65Je3t7kmTjxo071HfwwQfn3nvvza9+9as8/PDD+c53vpOvfe1rueuuu3Z47+OPP54lS5Z0\nXMr3yCOP5PHHH88FF1yQ9vb2tLa25oUXXuibGQdAzRCaACirN998M8OHD88ZZ5yRM844I3/8x3+c\nBQsW5Oyzz85f/MVf5Mc//nEOO+ywfP/738+TTz7Z8XelUmmn/9/eW2EoSbZu3drpXqa99947Q4YM\nye23315Y3+bNm7P33ntn0qRJmTRpUi6++OLMmDEjS5cu7fS+lpaWzJ07N9/4xjcyZMiQjmmcc845\nZb0/C4Dq88hxAMrmX/7lX/KJT3yi09mh1atX54gjjkhra2tKpVIOOeSQbNq0KQ8++GA2b97c7Wdu\nH5SWLVuW9vb2bN68Ob/61a8yfvz4jnFDhw7NoYcemp///OdJkueeey5f//rXd/i8Cy64IEuWLOkY\nbm1tzauvvpoxY8Z0vNbW1pZZs2bl8ssv7/T65MmT84//+I9pa2tLknz961/P888/vzuzBoA64kwT\nAGVz4oknZtWqVfn0pz+dxsbGtLe354ADDsjcuXMzfPjwnHnmmfnTP/3THHTQQfmzP/uzXHXVVXng\ngQcKn363/bjDDz88l156aV544YWceeaZefe7350VK1Z0jF+wYEHmzZuXb33rW9myZUtmz569w+fd\ndNNNmTdvXv7hH/4hQ4YMyaZNmzJz5sxMmDAhTz31VJLkgQceyMqVK3Pbbbfl29/+dhoaGvLJT34y\nH/7wh7NixYpMnz49pVIpRx55ZA477LA+nIMA1IKG9u0P2QFAnVi4cGHa2tpy6aWXVrsUAPo5l+cB\nAAAUcKYJAACggDNNAAAABYQmAACAAkITAABAAaEJAACggNAEAABQ4P8PDCZR5FKyv/4AAAAASUVO\nRK5CYII=\n",
542 "text/plain": [
543 "<matplotlib.figure.Figure at 0x7f30562cf690>"
544 ]
545 },
546 "metadata": {},
547 "output_type": "display_data"
548 }
549 ],
550 "source": [
551 "sample_means = np.zeros(200-1)\n",
552 "for i in range(1, 200):\n",
553 " X = generate_autocorrelated_data(0.5, 0, 1, i * 10)\n",
554 " sample_means[i-1] = np.mean(X)\n",
555 " \n",
556 "plt.bar(range(1, 200), sample_means);\n",
557 "plt.xlabel('Sample Size');\n",
558 "plt.ylabel('Sample Mean');"
559 ]
560 },
561 {
562 "cell_type": "markdown",
563 "metadata": {},
564 "source": [
565 "Definitely looks like there's some convergence, we can also check what the mean of the sample means is."
566 ]
567 },
568 {
569 "cell_type": "code",
570 "execution_count": 15,
571 "metadata": {
572 "collapsed": false
573 },
574 "outputs": [
575 {
576 "data": {
577 "text/plain": [
578 "-0.0085719962029766478"
579 ]
580 },
581 "execution_count": 15,
582 "metadata": {},
583 "output_type": "execute_result"
584 }
585 ],
586 "source": [
587 "np.mean(sample_means)"
588 ]
589 },
590 {
591 "cell_type": "markdown",
592 "metadata": {},
593 "source": [
594 "Pretty close to zero. We could also derive symbolically that the mean is zero, but let's assume that we've convinced ourselves with the simple empiral analysis. Now that we know the population mean, we can check the calibration of confidence intervals. First we'll write two helper functions which compute a naive interval for some input data, and check whether the interval contains the true mean, 0."
595 ]
596 },
597 {
598 "cell_type": "code",
599 "execution_count": 16,
600 "metadata": {
601 "collapsed": false
602 },
603 "outputs": [],
604 "source": [
605 "def compute_unadjusted_interval(X):\n",
606 " T = len(X)\n",
607 " # Compute mu and sigma MLE\n",
608 " mu = np.mean(X)\n",
609 " sigma = np.std(X)\n",
610 " SE = sigma / np.sqrt(T)\n",
611 " # Compute the bounds\n",
612 " return stats.norm.interval(0.95, loc=mu, scale=SE)\n",
613 "\n",
614 "# We'll make a function that returns true when the computed bounds contain 0\n",
615 "def check_unadjusted_coverage(X):\n",
616 " l, u = compute_unadjusted_interval(X)\n",
617 " # Check to make sure l <= 0 <= u\n",
618 " if l <= 0 and u >= 0:\n",
619 " return True\n",
620 " else:\n",
621 " return False"
622 ]
623 },
624 {
625 "cell_type": "markdown",
626 "metadata": {},
627 "source": [
628 "Now we'll run many trials, in each we'll sample some data, compute a confidence interval, and then check if the confidence interval contains the population mean. We'll keep a running tally, and we should expect to see 95% of the trials succeed if the intervals are calibrated correctly."
629 ]
630 },
631 {
632 "cell_type": "code",
633 "execution_count": 17,
634 "metadata": {
635 "collapsed": false
636 },
637 "outputs": [
638 {
639 "name": "stdout",
640 "output_type": "stream",
641 "text": [
642 "Empirical Coverage: 0.732\n",
643 "Expected Coverage: 0.95\n"
644 ]
645 }
646 ],
647 "source": [
648 "T = 100\n",
649 "trials = 500\n",
650 "times_correct = 0\n",
651 "for i in range(trials):\n",
652 " X = generate_autocorrelated_data(0.5, 0, 1, T)\n",
653 " if check_unadjusted_coverage(X):\n",
654 " times_correct += 1\n",
655 " \n",
656 "print 'Empirical Coverage: ', times_correct/float(trials)\n",
657 "print 'Expected Coverage: ', 0.95"
658 ]
659 },
660 {
661 "cell_type": "markdown",
662 "metadata": {
663 "collapsed": true
664 },
665 "source": [
666 "Clearly the coverage is wrong. In this case we'd need to do what's known as a Newey-West correction on our standard error estimate to account for the autocorrelation. In practice it's important to check for the assumptions you make. It is quick and easy to check if your data are stationary (which implies not autocorrelated), and it can save you a lot of pain and suffering to do so. A normality test such as `Jarque Bera` will also be a good idea, as it may detect certain distribution properties which may violate assumptions of many following statistical analyses."
667 ]
668 },
669 {
670 "cell_type": "markdown",
671 "metadata": {},
672 "source": [
673 "*This presentation is for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation for any security; nor does it constitute an offer to provide investment advisory or other services by Quantopian, Inc. (\"Quantopian\"). Nothing contained herein constitutes investment advice or offers any opinion with respect to the suitability of any security, and any views expressed herein should not be taken as advice to buy, sell, or hold any security or as an endorsement of any security or company. In preparing the information contained herein, Quantopian, Inc. has not taken into account the investment needs, objectives, and financial circumstances of any particular investor. Any views expressed and data illustrated herein were prepared based upon information, believed to be reliable, available to Quantopian, Inc. at the time of publication. Quantopian makes no guarantees as to their accuracy or completeness. All information is subject to change and may quickly become unreliable for various reasons, including changes in market conditions or economic circumstances.*"
674 ]
675 }
676 ],
677 "metadata": {
678 "kernelspec": {
679 "display_name": "Python 2",
680 "language": "python",
681 "name": "python2"
682 },
683 "language_info": {
684 "codemirror_mode": {
685 "name": "ipython",
686 "version": 2
687 },
688 "file_extension": ".py",
689 "mimetype": "text/x-python",
690 "name": "python",
691 "nbconvert_exporter": "python",
692 "pygments_lexer": "ipython2",
693 "version": "2.7.11"
694 }
695 },
696 "nbformat": 4,
697 "nbformat_minor": 0
698 }