{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove-input" ] }, "outputs": [], "source": [ "from datascience import *\n", "%matplotlib inline\n", "path_data = '../../../assets/data/'\n", "import matplotlib.pyplot as plots\n", "plots.style.use('fivethirtyeight')\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Confidence Intervals\n", "We have developed a method for estimating a parameter by using random sampling and the bootstrap. Our method produces an interval of estimates, to account for chance variability in the random sample. By providing an interval of estimates instead of just one estimate, we give ourselves some wiggle room.\n", "\n", "In the previous example we saw that our process of estimation produced a good interval about 95% of the time, a \"good\" interval being one that contains the parameter. We say that we are *95% confident* that the process results in a good interval. Our interval of estimates is called a *95% confidence interval* for the parameter, and 95% is called the *confidence level* of the interval.\n", "\n", "The method is called the *bootstrap percentile method* because the interval is formed by picking off two percentiles of the bootstrapped estimates.\n", "\n", "The situation in the previous example was a bit unusual. Because we happened to know the value of the parameter, we were able to check whether an interval was good or a dud, and this in turn helped us to see that our process of estimation captured the parameter about 95 out of every 100 times we used it.\n", "\n", "But usually, data scientists don't know the value of the parameter. That is the reason they want to estimate it in the first place. In such situations, they provide an interval of estimates for the unknown parameter by using methods like the one we have developed. Because of statistical theory and demonstrations like the one we have seen, data scientists can be confident that their process of generating the interval results in a good interval a known percent of the time." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estimating a Population Median\n", "\n", "We will now use the bootstrap method to estimate an unknown population median. You have encountered the dataset before. It comes from a sample of newborns in a large hospital system. we will treat it as if it were a simple random sample though the sampling was done in multiple stages. [Stat Labs](https://www.stat.berkeley.edu/~statlabs/) by Deborah Nolan and Terry Speed has details about a larger dataset from which this set is drawn. \n", "\n", "The table `births` contains the following variables for mother-baby pairs: the baby's birth weight in ounces, the number of gestational days (the number of days the mother was pregnant), the mother's age in completed years, the mother's height in inches, pregnancy weight in pounds, and whether or not the mother smoked during pregnancy." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "births = Table.read_table(path_data + 'baby.csv')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Birth Weight Gestational Days Maternal Age Maternal Height Maternal Pregnancy Weight Maternal Smoker
120 284 27 62 100 False
113 282 33 64 135 False
128 279 28 64 115 True
\n", "

... (1171 rows omitted)

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "births.show(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Birth weight is an important factor in the health of a newborn infant. Smaller babies tend to need more medical care in their first days than larger newborns. It is therefore helpful to have an estimate of birth weight before the baby is born. One way to do this is to examine the relationship between birth weight and the number of gestational days. \n", "\n", "A simple measure of this relationship is the ratio of birth weight to the number of gestational days. The table `ratios` contains the first two columns of `baby`, as well as a column of the ratios. The first entry in that column was calculated as follows:\n", "\n", "$$\n", "\\frac{120~\\mbox{ounces}}{284~\\mbox{days}} ~\\approx ~ 0.4225~ \\mbox{ounces per day}\n", "$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "ratios = births.select('Birth Weight', 'Gestational Days').with_columns(\n", " 'Ratio BW:GD', births.column('Birth Weight')/births.column('Gestational Days')\n", ")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Birth Weight Gestational Days Ratio BW:GD
120 284 0.422535
113 282 0.400709
128 279 0.458781
108 282 0.382979
136 286 0.475524
138 244 0.565574
132 245 0.538776
120 289 0.415225
143 299 0.478261
140 351 0.39886
\n", "

... (1164 rows omitted)

" ], "text/plain": [ "Birth Weight | Gestational Days | Ratio BW:GD\n", "120 | 284 | 0.422535\n", "113 | 282 | 0.400709\n", "128 | 279 | 0.458781\n", "108 | 282 | 0.382979\n", "136 | 286 | 0.475524\n", "138 | 244 | 0.565574\n", "132 | 245 | 0.538776\n", "120 | 289 | 0.415225\n", "143 | 299 | 0.478261\n", "140 | 351 | 0.39886\n", "... (1164 rows omitted)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ratios" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is a histogram of the ratios." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ratios.select('Ratio BW:GD').hist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At first glance the histogram looks quite symmetric, with the density at its maximum over the interval 0.4 ounces per day to 0.45 ounces per day. But a closer look reveals that some of the ratios were quite large by comparison. The maximum value of the ratios was just over 0.78 ounces per day, almost double the typical value." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Birth Weight Gestational Days Ratio BW:GD
116 148 0.783784
" ], "text/plain": [ "Birth Weight | Gestational Days | Ratio BW:GD\n", "116 | 148 | 0.783784" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ratios.sort('Ratio BW:GD', descending=True).take(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The median gives a sense of the typical ratio because it is unaffected by the very large or very small ratios. The median ratio in the sample is about 0.429 ounces per day." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.42907801418439717" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "percentile(50, ratios.column(2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But what was the median in the population? We don't know, so we will estimate it. \n", "\n", "Our method will be exactly the same as in the previous section. We will bootstrap the sample 5,000 times resulting in 5,000 estimates of the median. Our 95% confidence interval will be the \"middle 95%\" of all of our estimates." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Constructing a Bootstrap Confidence Interval \n", "\n", "We will start by defining a function `one_bootstrap_median`. It will bootstrap the sample and return one the median ratio in the bootstrapped sample." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def one_bootstrap_median():\n", " resample = ratios.sample()\n", " return percentile(50, resample.column('Ratio BW:GD'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the cell below to see how the bootstrapped ratios vary. Remember that each of them is an estimate of the unknown ratio in the population." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.43010752688172044" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "one_bootstrap_median()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can use a `for` loop to generate 5000 bootstrapped medians." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Generate medians from 5000 bootstrap samples\n", "num_repetitions = 5000\n", "bstrap_medians = make_array()\n", "for i in np.arange(num_repetitions):\n", " bstrap_medians = np.append(bstrap_medians, one_bootstrap_median())" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.42545455, 0.43272727])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the endpoints of the 95% confidence interval\n", "left = percentile(2.5, bstrap_medians)\n", "right = percentile(97.5, bstrap_medians)\n", "\n", "make_array(left, right)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 95% confidence interval goes from about 0.425 ounces per day to about 0.433 ounces per day. We are estimating the median \"birth weight to gestational days\" ratio in the population is somewhere in the interval 0.425 ounces per day to 0.433 ounces per day.\n", "\n", "The estimate of 0.429 based on the original sample happens to be half-way in between the two ends of the interval, though that need not be true in general.\n", "\n", "To visualize our results, let us draw the empirical histogram of our bootstrapped medians and place the confidence interval on the horizontal axis." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "resampled_medians = Table().with_columns(\n", " 'Bootstrap Sample Median', bstrap_medians\n", ")\n", "resampled_medians.hist(bins=15)\n", "plots.plot([left, right], [0, 0], color='yellow', lw=8);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This histogram and interval resembles those we drew in the previous section, with one big difference – there is no green dot showing where the parameter is. We don't know where that dot should be, or whether it is even in the interval.\n", "\n", "We just have an interval of estimates. It is a 95% confidence interval of estimates, because the process that generates it produces a good interval about 95% of the time. That certainly beats guessing the ratio at random!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Keep in mind that this interval is an approximate 95% confidence interval. There are many approximations involved in its computation. The approximation is not bad, but it is not exact." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estimating a Population Average\n", "What we have done for medians can be done for averages as well. Suppose we want to estimate the average age of the mothers in the population. A natural estimate is the average age of the mothers in the sample. Here is the distribution of their ages, and their average age which was about 27.2 years." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "births.select('Maternal Age').hist()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "27.228279386712096" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.average(births.column('Maternal Age'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What was the average age of the mothers in the population? We don't know the value of this parameter.\n", "\n", "Let's estimate the unknown parameter by the bootstrap method. To do this, we will adapt the code for `bootstrap_median` to instead define the function `bootstrap_mean`. The code is the same except that the statistics are means (that is, averages) instead of medians, and are collected in an array called `bstrap_means` instead of `bstrap_medians`." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def one_bootstrap_mean():\n", " resample = births.sample()\n", " return np.average(resample.column('Maternal Age'))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Generate means from 5000 bootstrap samples\n", "num_repetitions = 5000\n", "bstrap_means = make_array()\n", "for i in np.arange(num_repetitions):\n", " bstrap_means = np.append(bstrap_means, one_bootstrap_mean())" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([26.90630324, 27.55962521])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the endpoints of the 95% confidence interval\n", "left = percentile(2.5, bstrap_means)\n", "right = percentile(97.5, bstrap_means)\n", "\n", "make_array(left, right)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 95% confidence interval goes from about 26.9 years to about 27.6 years. That is, we are estimating that the average age of the mothers in the population is somewhere in the interval 26.9 years to 27.6 years. \n", "\n", "Notice how close the two ends are to the average of about 27.2 years in the original sample. The sample size is very large – 1,174 mothers – and so the sample averages don't vary much. We will explore this observation further in the next chapter.\n", "\n", "The empirical histogram of the 5,000 bootstrapped mean ages is shown below, along with the 95% confidence interval for the population mean age." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEcCAYAAACxsnF2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deVyNef8/8NdRKQqlTokkLSIiZBmNSBhjXyJZZm5jaSwTYybVmMlXlhBmMEn3FLclS5QRY7gtMbclzJCYpiZjsitSUVRTnd8fHp2fo+1U13Wq4/V8PHrMnOv6XJ/r/b5OXW/X+pFkZWXJQEREpKYa1HYAREREYmKhIyIitcZCR0REao2FjoiI1BoLHRERqTUWOiIiUmssdEREpNZY6IiISK2x0L0hJSWltkMQHXOs/9Q9P4A5qou6kiMLHRERqTUWOiIiUmssdEREpNZY6IiISK2x0BERkVpjoSMiIrXGQkdERGqNhY6IiNSaZm0HQKRu0p5k4mnmc1H6NjJoKkq/ROqMhY5IYE8znyNgY4Qofft7TUZDiShdE6ktnrokIiK1xkJHRERqjYWOiIjUGgsdERGpNRY6IiJSayx0RESk1ljoiIhIrbHQERGRWmOhIyIitcZCR0REao2FjoiI1BrfdUlUj0gkwLOcAvz+5x3B+zYyaAoTqYHg/RLVNhY6onok+8VLrNi0G7q6uoL37e81mYWO1BJPXRIRkVpjoSMiIrXGQkdERGqNhY6IiNQaCx0REak1FjoiIlJrLHRERKTWWOiIiEit8YFxIgLw+q0rfOMKqSMWOiIC8PqtK99tPSh4v3zjCtW2Wjt1uX79eri4uKB169awsrKCu7s7EhMTFdrIZDIEBgaiffv2aNGiBYYNG4Y//vhDoU1+fj68vb1haWmJli1bYuLEiXjw4IEqUyEiojqs1grduXPnMH36dBw/fhwxMTHQ1NTE6NGjkZmZKW+zYcMGBAcHY/Xq1Th9+jSkUinGjBmDFy9eyNv4+fnh8OHDCA8Px9GjR/HixQu4u7ujqKioNtIiIqI6ptZOXUZHRyt8Dg0Nhbm5OeLi4vDhhx9CJpMhJCQECxYswKhRowAAISEhsLGxwYEDBzBt2jRkZ2dj586dCA4OhouLi7wfe3t7nDlzBq6urirPi4iI6pY6c9dlTk4OiouLoa+vDwC4c+cO0tLSMGDAAHmbRo0aoU+fPrh06RIAID4+Hv/8849CGzMzM9ja2srbEBHRu63O3Izi6+sLe3t79OzZEwCQlpYGAJBKpQrtpFIpHj16BABIT0+HhoYGDA0NS7VJT08vd10pKSnVmqcumKO4cnILkJubK0rfhUWFACBK/4VFhaL0m5ObU63vg7+n6kEVOdrY2FQ4v04Uuq+++gpxcXE4duwYNDQ0FOZJJBKFzzKZrNS0t1XWpryNkpKSUukGq++Yo/h+//OOKOPFAYCmxus/WTH619TQFKVfPV092Ni0qdIytf0dqgJzVJ1aP3Xp5+eHqKgoxMTEwMLCQj7dxMQEAEodmT19+lR+lGdsbIyioiJkZGSU24aIiN5ttVrofHx8cODAAcTExKBdu3YK89q0aQMTExPExsbKp+Xl5eHixYvo1asXAMDBwQFaWloKbR48eIDk5GR5GyIierfV2qnLL7/8Evv27cOuXbugr68vvyanq6sLPT09SCQSzJ49G+vWrYONjQ2sra2xdu1a6Orqws3NDQDQrFkzTJ06Ff7+/pBKpTAwMMDixYvRsWNH9O/fv7ZSIyKiOqTWCl1YWBgAyB8dKOHj4wM/Pz8AwPz58/Hq1St4e3sjKysL3bt3R3R0NJo0aSJvv3LlSmhoaGDatGnIy8uDs7MztmzZUupaHxERvZtqrdBlZWVV2kYikcDPz09e+Mqio6ODoKAgBAUFCRkeERGpiVq/GYWIiEhMLHRERKTWWOiIiEitKV3ozp8/j6dPn5Y7PyMjA+fPnxckKCIiIqEoXehGjBih8Lza286ePYsRI0YIEhQREZFQlC50MpmswvkFBQVo0IBnQomIqG6p8PGC58+fIzs7W/752bNnuHfvXql2WVlZiIqKgqmpqfAREhER1UCFhW7z5s1Ys2YNgMqfaZPJZPjmm2+Ej5CIiKgGKix0/fv3h46ODmQyGQICAjB27FjY29srtJFIJGjcuDG6du0KR0dHUYMlIiKqqgoLXe/evdG7d28AQH5+PkaMGIGOHTuqJDAiIiIhKP0KMF9fXzHjICIiEkW5hW7Pnj0AgIkTJ0Iikcg/V8bDw0OYyIiIiARQbqGbM2cOJBIJxo0bh4YNG2LOnDmVdiaRSFjoiIioTim30F2/fh0A0LBhQ4XPRERE9Um5hc7c3LzCz0RERPUBX2VCRERqrUoDr545cwbbt29HamoqMjMzS70WTCKRID4+XtAAiYiIakLpQhcSEoLFixfDyMgIjo6O6NChg5hxERERCULpQhccHAwnJydERUXJb1AhIiKq65S+RpeRkYGxY8eyyBERUb2idKFzcHDA3bt3xYyFiIhIcEoXuhUrVmD37t345ZdfxIyHiIhIUEpfowsMDETTpk0xevRoWFlZoXXr1tDQ0FBoI5FIEBkZKXiQRERE1aV0oUtKSoJEIoGZmRny8/Nx69atUm0kEomgwREREdWU0oXuxo0bYsZBREQkCr4ZhYiI1JrSR3T37t1Tql3r1q2rHQwREZHQlC50nTt3Vuoa3LNnz2oUEJEqpD3JxNPM56L0nV9QIEq/RFQ9She677//vlShKyoqwp07d7B3714YGxtjxowZggdIJIanmc8RsDFClL4XfDJGlH6JqHqULnSTJ08ud96CBQswYMAA5OTkCBIUERGRUAS5GUVPTw+TJ0/G5s2bheiOiIhIMILddamlpYVHjx4J1R0REZEgBCl0N27cwJYtW2BraytEd0RERIKp8V2X2dnZeP78OfT09BAcHCxocERERDWldKFzcnIqVegkEgn09fVhaWmJcePGQV9fX/AAiYiIaqJKI4wTERHVN3wFGBERqbVaLXTnz5/HxIkT0aFDB+jr6yMiQvEB3tmzZ0NfX1/hZ+DAgQpt8vPz4e3tDUtLS7Rs2RITJ07EgwcPVJkGERHVYbVa6HJzc2FnZ4dVq1ahUaNGZbbp378/kpOT5T/79+9XmO/n54fDhw8jPDwcR48exYsXL+Du7o6ioiJVpEBERHWc0tfoxDB48GAMHjwYADBnzpwy22hra8PExKTMednZ2di5cyeCg4Ph4uICAAgNDYW9vT3OnDkDV1dXcQInIqJ6o85fo7t48SKsra3RvXt3eHl54cmTJ/J58fHx+OeffzBgwAD5NDMzM9ja2uLSpUu1ES4REdUxSh3R5eXlYcOGDejRo4dCURHbwIEDMWLECLRp0wZ3797F8uXLMXLkSJw5cwba2tpIT0+HhoYGDA0NFZaTSqVIT08vt9+UlJRqzVMXzBHIyS1Abm6uKOsuLCoUtW8AovQvVtw5uTnV+p3j76l6UEWONjY2Fc5XqtDp6Ojg22+/xZo1awQJSlnjxo2T/3/Hjh3h4OAAe3t7HD9+HCNHjix3OZlMVuGQQuVtlJSUlEo3WH3HHF/7/c870NXVFWX9mhqaovYNQJT+xYpbT1cPNjZtqrQMf0/VQ13JUelTl/b29rh9+7aYsVTK1NQULVu2lMdhbGyMoqIiZGRkKLR7+vQppFJpbYRIRER1jNKFzt/fHzt27MDx48fFjKdCGRkZePTokfzmFAcHB2hpaSE2Nlbe5sGDB0hOTkavXr1qK0wiIqpDlL7rcuPGjdDX14eHhwdatmwJCwuLUo8ESCQSREZGKr3ynJwc+dFZcXEx7t+/j4SEBBgYGMDAwACrVq3CyJEjYWJigrt37yIgIABSqRTDhw8HADRr1gxTp06Fv78/pFIpDAwMsHjxYnTs2BH9+/dXOg4iIlJfShe6pKQkSCQSmJmZAQDu3r1bqk1F18XKcu3aNYwYMUL+OTAwEIGBgfDw8MD69euRmJiIvXv3Ijs7GyYmJujbty+2bduGJk2ayJdZuXIlNDQ0MG3aNOTl5cHZ2RlbtmyBhoZGlWIhIiL1pHShu3HjhuAr79u3L7KyssqdHx0dXWkfOjo6CAoKQlBQkJChERGRmqjzz9ERERHVRJUKXVFRESIjIzFv3jy4u7vj5s2bAICsrCwcPHgQjx8/FiVIIiKi6lL61GV2djbGjh2Lq1evQk9PD7m5ufLXdjVp0gSLFy/GxIkT4e/vL1qwRFT/SCSvn1usipzcAqWWMTJoChOpQXVDo3eE0oVu6dKlSEpKwv79+9G1a1dYW1vL52loaGDEiBE4ceIECx0RKch+8RLfbT1YpWVyc3OVenjd32syCx1VSulTlz/99BNmzZqFgQMHlnl3pZWVFe7duydocERERDWldKHLyspC27Zty50vk8lQUFAgSFBERERCUbrQmZubIzExsdz558+fVzidSUREVBcoXejGjx+PHTt24Pz58/JpJacwQ0NDceTIEUyaNEn4CImIiGpA6ZtRPv/8c/z6668YOXIkrK2tIZFI4Ovri2fPniEtLQ3Dhg2Dp6enmLESERFVmdKFTktLC5GRkdi/fz9+/PFHSCQSFBYWokuXLhg7diwmTJhQ5VeAERERiU3pQldi/PjxGD9+vBixEBERCa7KhQ4Abt68KX+UoHXr1ujYsSOP5oiIqE6qUqGLiorCkiVL8PDhQ8hkMgCvb0hp2bIllixZwiM9IiKqc5QudBEREZg3bx5sbGywdOlSWFtbQyaT4a+//sKOHTvg6emJgoICTJ48Wcx4iYiIqkTpQrd+/Xp0794dR44cgY6OjsK8mTNnYujQoVi/fj0LHRER1SlKP0f34MEDjB8/vlSRA16PCefu7o6HDx8KGhwREVFNKV3o2rdvj0ePHpU7/+HDh7C1tRUkKCIiIqEoXegCAgKwfft2HDxY+i3kUVFR2LFjB5YtWyZocERERDWl9DW6TZs2wdDQENOnT4evry/atm0LiUSC27dv48mTJ7CyssLGjRuxceNG+TISiQSRkZGiBE5ERKQMpQtdUlISJBIJzMzMAEB+PU5bWxtmZmbIz89HcnKywjJ8to6IiGqb0oXuxo0bYsZBREQkCqWv0REREdVHLHRERKTWWOiIiEitsdAREZFaY6EjIiK1xkJHRERqTelC16VLFxw9erTc+ceOHUOXLl0ECYqIiEgoShe6u3fvIjc3t9z5ubm58sFYiYiI6ooqnbqs6E0nt27dQpMmTWocEBERkZAqfDPK7t27sWfPHvnntWvXYvv27aXaZWVlITExER988IHwERIREdVAhYUuNzcXaWlp8s/Z2dkoLi5WaCORSNC4cWN8/PHH8PX1FSdKIiKiaqqw0M2cORMzZ84EAHTu3BmrVq3C0KFDVRIYERGREJR+qXNCQoKYcRAREYlC6UJX4sWLF7h//z4yMzMhk8lKzXdychIkMCIiIiEoXegyMzPh4+ODgwcPoqioqNR8mUwGiUSCZ8+eCRogERFRTShd6D7//HMcOXIEM2fOhJOTE/T19cWMi4iISBBKF7qTJ0/C09MTK1asEGzl58+fx6ZNm3D9+nU8evQIwcHBmDx5sny+TCbDqlWrsH37dmRlZaF79+5Yu3YtOnToIG+Tn5+Pr7/+GlFRUcjLy4OzszPWrVuHVq1aCRYnERHVX0o/MN6wYUNYWVkJuvLc3FzY2dlh1apVaNSoUan5GzZsQHBwMFavXo3Tp09DKpVizJgxePHihbyNn58fDh8+jPDwcBw9ehQvXryAu7t7madXiYjo3aN0oRs1ahROnDgh6MoHDx4Mf39/jBo1Cg0aKIYik8kQEhKCBQsWYNSoUbCzs0NISAhycnJw4MABAK+f69u5cycCAgLg4uICBwcHhIaG4vfff8eZM2cEjZWIiOonpQvdZ599hsePH+PTTz/FlStX8PjxYzx58qTUj1Du3LmDtLQ0DBgwQD6tUaNG6NOnDy5dugQAiI+Pxz///KPQxszMDLa2tvI2RET0blP6Gl337t0hkUgQHx+PyMjIctsJdddlyRtZpFKpwnSpVIpHjx4BANLT06GhoQFDQ8NSbdLT0wWJg4iI6jelC92iRYsqfKmzWN5eZ8ljDBWprE1KSkq15qkL5gjk5BZUOBpHTRQWFYraNwBR+hcr7ur2q8wyObk59fr3uT7HrixV5GhjY1PhfKULnZ+fX42DqQoTExMAr4/azMzM5NOfPn0qP8ozNjZGUVERMjIyYGRkpNCmT58+5fZd3kZJSUmpdIPVd/Utx7QnmXia+bxKy+Tk5kBPV6/CNlpagK6ubk1CK5emhqaofQPixC5W3NXpNzc3V6ll9HT1YGPTprqh1ar69rdYHXUlxyq/GQUAioqKkJ2djaZNm0JTs1pdVKpNmzYwMTFBbGwsunXrBgDIy8vDxYsXERAQAABwcHCAlpYWYmNjMX78eADAgwcPkJycjF69eokSF6nW08znCNgYUaVllNlJLvhkTE3CIqJ6pErj0V29ehWjR49Gy5YtYW1tjfPnzwMAMjIyMGHCBJw9e7ZKK8/JyUFCQgISEhJQXFyM+/fvIyEhAffu3YNEIsHs2bPx3XffISYmBomJiZgzZw50dXXh5uYGAGjWrBmmTp0Kf39/nDlzBtevX4enpyc6duyI/v37VykWIiJST0oXusuXL2Po0KH4+++/MXHiRIX3XBoaGiInJwc7d+6s0sqvXbsGZ2dnODs749WrVwgMDISzszNWrlwJAJg/fz7mzJkDb29vuLi44PHjx4iOjlYY4HXlypUYPnw4pk2bhiFDhkBXVxd79+6FhoZGlWIhIiL1pPR5x2XLlsHKygqnTp1Cbm4uduzYoTC/b9++2LdvX5VW3rdvX2RlZZU7XyKRwM/Pr8Lrgzo6OggKCkJQUFCV1k1ERO8GpY/orl69iilTpkBHR6fMOxpbtWqlMEgrERFRXaB0oWvQoEGpt5e8KS0trczXeBEREdUmpQudg4MDjh07Vua8goIC7N+/Hz179hQsMCIiIiEoXegWLlyIX375BfPmzcONGzcAAI8fP8bJkycxcuRI/P333/jiiy9EC5SIiKg6lL4ZxcXFBaGhofD29sbu3bsBALNnz4ZMJkOzZs0QFhaGHj16iBYoERFRdVTpaW83NzcMHToUsbGx+Ouvv1BcXIy2bdvC1dUVenoVv4mCiIioNlT5tSaNGzfGsGHDxIiFiIhIcEpfozt69Ci8vb3Lne/t7V3uzSpERES1RelCt2nTJrx8+bLc+Xl5ediwYYMgQREREQlF6UKXmJgIBweHcud36dIFSUlJggRFREQkFKULXWFhIV69elXu/FevXiE/P1+QoIiIiISidKGzs7NDTEwMiouLS80rLi5GTEwM2rdvL2hwRERENaV0ofv000/x22+/wcPDA/Hx8cjPz0d+fj7i4+MxadIk/Pbbb/D09BQzViIioipT+vGCcePG4e+//0ZgYCBOnDgB4PXoAjKZDBKJBD4+PnB3dxctUCIiouqo0nN0X375Jdzc3HD48GGkpqZCJpOhbdu2GDFiBCwsLEQKkYiIqPqUKnSvXr3ChAkT4O7ujilTpuCzzz4TOy4iIiJBKHWNrlGjRrh+/TqKiorEjoeIiEhQSp+6fP/993HhwgV8/PHHYsZDRKQ0iQT4/c87ovRtZNAUJlIDUfom1VK60K1evRpjx47FN998g+nTp8Pc3LzCgViJiMSW/eIlvtt6UJS+/b0ms9CpCaULXY8ePSCTyRAcHIzg4GA0aNAAWlpaCm0kEgkePnwoeJBERETVpXShGzNmDCQSiZixEBERCU7pQhcSEiJmHERERKLgRTYiIlJrVSp0d+/ehZeXFxwcHNC6dWucO3cOAJCRkYEvvvgC8fHxogRJRERUXUqfukxOTsaQIUNQXFwMR0dH3L17V/5cnaGhIa5cuYL8/Hx8//33ogVLRERUVUoXuiVLlqBJkyY4efIkNDQ0YG1trTB/8ODB+PHHHwUPkIiIqCaUPnV54cIFzJgxA8bGxmXefdm6dWs8evRI0OCIiIhqqkoDr+rq6pY7PzMzExoaGoIERUREJJQqDbz6v//9r8x5MpkMhw8fhoODg2CBERERCUHpQjd79mwcOnQIa9aswbNnzwC8Hln8zz//xCeffIJr165xVAMiIqpzqjTw6r1797BixQqsWrVKPg0ANDQ0sHz5cgwaNEicKImIiKqpSgOvLliwAG5uboiJicHt27dRXFyMtm3bYuTIkWjTpo1YMRIREVVbpYUuPz8fR48eRWpqKpo3b44PPvgAc+bMUUVsRERENVZhoUtLS8PQoUPx999/QyaTAQB0dXWxb98+ODk5qSRAIiKimqjwZpTly5cjNTUVc+bMwb59+xAYGAhtbW0sWrRIVfERERHVSIVHdKdPn4aHhweWL18un2ZsbIwZM2bgwYMHaNWqlegBEhER1USFR3RpaWno1auXwrTevXtDJpPh/v37ogZGREQkhAoLXVFREXR0dBSmlXzOy8sTLyoiIiKBVHrXZWpqKn777Tf55+fPnwMAUlJSoKenV6p99+7dBQsuMDAQq1evVphmbGyMP//8E8DrN7KsWrUK27dvR1ZWFrp37461a9eiQ4cOgsVARET1W6WFLjAwEIGBgaWmv31Dikwmg0Qikb81RSg2NjY4cuSI/POb79PcsGEDgoODERwcDBsbG6xZswZjxozBlStX0KRJE0HjICKi+qnCQhccHKyqOMqlqakJExOTUtNlMhlCQkKwYMECjBo1CgAQEhICGxsbHDhwANOmTVN1qEREVAdVWOgmTZqkqjjKlZqaig4dOkBLSwuOjo7w9/eHhYUF7ty5g7S0NAwYMEDetlGjRujTpw8uXbrEQkdERACq+AowVXN0dMTmzZthY2ODp0+fIigoCIMHD0ZcXBzS0tIAAFKpVGEZqVRa6bh4KSkp1ZqnLupTjjm5BcjNza3ycpUtU1hUWK1+lSF230Dl+VW377rUrzLLiLmtc3JzRP9bqU9/i9WlihxtbGwqnF+nC93bL4l2dHSEg4MDdu/ejR49egBAqUFgS64VVqS8jZKSklLpBqvv6luOv/95p8JxEMuSm5tb6TKaGppV7ldZYvcNQJT+xYq7Ov0q8x1Wt29l6enqwcZGvHf41re/xeqoKzkqPUxPXaCnp4f27dvj9u3b8ut26enpCm2ePn1a6iiPiIjeXfWq0OXl5SElJQUmJiZo06YNTExMEBsbqzD/4sWLpR5yJyKid1edPnX59ddfY8iQITAzM5Nfo3v58iU8PDwgkUgwe/ZsrFu3DjY2NrC2tsbatWuhq6sLNze32g6diIjqiDpd6B4+fIgZM2YgIyMDRkZGcHR0xIkTJ2Bubg4AmD9/Pl69egVvb2/5A+PR0dF8ho6IiOTqdKHbunVrhfMlEgn8/Pzg5+enooiIiKi+qVfX6IiIiKqqTh/RERHVFonk9eMtYjAyaCpKv1Q2FjoiojJkv3iJ77YeFKVvf6/JaFjx474kIBY6qrG0J5l4mvlclL7zCwpE6ZeI3h0sdFRjTzOfI2BjhCh9L/hkjCj9EtG7gzejEBGRWmOhIyIitcZCR0REao2FjoiI1BoLHRERqTUWOiIiUmssdEREpNZY6IiISK2x0BERkVpjoSMiIrXGQkdERGqNhY6IiNQaCx0REak1FjoiIlJrLHRERKTWWOiIiEitsdAREZFaY6EjIiK1xkJHRERqjYWOiIjUGgsdERGpNRY6IiJSa5q1HQCpRtqTTDzNfI6c3AL8/ucdQfvOLygQtD8iIiGx0L0jnmY+R8DGCOTm5kJXV1fQvhd8MkbQ/oiIhMRTl0REpNZ4REdEpGISCfAsR/jLCABgZNAUJlIDwfutz1joiIhULPvFS6zYtFvwywgA4O81mYXuLTx1SUREao2FjoiI1BoLHRERqTUWOiIiUmu8GaUOKXmoWwx8qJuI3lVqU+jCwsKwceNGpKWloX379ggMDESfPn1qO6wqKXmoWwy1/VD3sZ1rqrnkGgxxETQUkftl36rrt+71PWTqInFCqQKJBHxs4S1qUeiio6Ph6+uLdevWoXfv3ggLC8P48eMRFxeH1q1b13Z4REQqk/3iJb7belDwfuvzYwtqcY0uODgYkyZNwscffwxbW1sEBQXBxMQEW7dure3QiIiolkmysrJktR1ETRQUFMDU1BTh4eEYPXq0fPqXX36JxMREHD16tBajIyKi2lbvj+gyMjJQVFQEqVSqMF0qlSI9Pb2WoiIiorqi3he6EhKJROGzTCYrNY2IiN499b7QGRoaQkNDo9TR29OnT0sd5RER0bun3he6hg0bwsHBAbGxsQrTY2Nj0atXr1qKioiI6gq1eLxg7ty58PT0RPfu3dGrVy9s3boVjx8/xrRp02o7NCIiqmX1/ogOAMaOHYvAwEAEBQWhT58+2LFjB4qLi+Hi4gJ3d3ckJiaWWubWrVuYMmUKzM3NYWpqCmdnZyQnJ1e4noKCAqxYsQKdO3eGsbExOnXqhC1btoiVVrnWr18PFxcXtG7dGlZWVoLmuH//frz//vswNTVFu3btMGvWLKSlpYmVSrmUyVFfX7/Mny+//LLCvs+dO4d+/frBxMQEXbp0qbXHUMTKMSYmBmPGjIGVlRXMzMzg6upaa3cfi/k9lrh48SIMDQ3x3nvviZFCpcTMsT7tc6qboyr2OWpR6ABgxowZuHHjBvr164egoCCcOnUKMTEx0NTUxOjRo5GZmSlvm5qaig8++ABt2rRBTEwMLl68iK+//rrSsaGmT5+OU6dOYcOGDbhy5Qr+85//oGPHjmKnVsq5c+cwffp0HD9+XNAc4+Li4OnpCQ8PD1y8eBERERFISkrCzJkzVZGWAmVyTE5OVvjZu3cvACg8ZvK21NRUTJgwAT179sQvv/yChQsXYtGiRTh06JDoOb1NrBzPnz8PZ2dnREZG4pdffsGgQYMwZcoUXLhwQfSc3iZWjiWysrLw6aefol+/fqLlUBkxc6xP+5zq5KiqfU69f46uMjk5OTA3N0dERAQ+/PBDAK+LokQiwQ8//KB0P6dPn8a//vUvXLt2DYaGhmKFWy1C5bqxMk0AABLqSURBVLhp0yaEhobi5s2b8mm7du2Cj48PHjx4IHjcVVFWjm/z8vLChQsX8Ouvv5bbz5IlS3D48GFcvXpVPu2zzz5DUlISTpw4IXjcVSFUjmUZMGAA3nvvPaxYsUKIUKtN6BynTJmCTp06QSaTyf9BV9uEyrG+7XPepkyOqtrnqM0RXXlycnJQXFwMfX19AEBxcTGOHTsGW1tbjBs3DlZWVnBxcUF0dHSF/fz000/o2rUrgoODYWdnh27dumHRokXIyclRRRoVEirHXr16IS0tDT///DNkMhkyMjIQHR2NQYMGqSKNCr2dY1nzo6Oj8fHHH1fYz+XLlzFgwACFaa6urrh27Rr++ecfweKtDqFyLG/Z8vpVJSFzDAsLQ3p6Ory9vYUOs0aEyrE+7XPKmq9Mjqra56h9ofP19YW9vT169uwJAHjy5AlycnLk55wPHjyIcePGYebMmTh27Fi5/aSmpiIuLg43b97Ejh075KdH58yZo6pUyiVUjj179kRYWBhmzZoFqVQKKysryGQyhISEqCqVcr2d49sOHDiA/Px8eHh4VNhPenp6mS8XKCwsREZGhmDxVodQOb7thx9+wMOHD+Hu7i5EmDUiVI6///47Vq9ejX//+9/Q0NAQI9RqEyrH+rTPeZuyOapqn6MWd12W56uvvkJcXByOHTsm/2MoLi4GAAwdOhTz5s0DAHTu3Bnx8fEICwvDkCFDyuyruLhYfiqwWbNmAICgoCCMHTsW6enpMDY2VkFGpQmZY1JSEnx9feHt7Y0BAwYgLS0N33zzDRYsWIDQ0FDVJFSGsnJ82/bt2zFs2DAYGRlV2l9ZLxcoa7oqCZ1jiUOHDsHf3x/h4eEwNzcXKtxqESrH/Px8TJ8+HcuWLYOFhYVI0VaPkN9jfdrnvE3ZHFW1z1HbIzo/Pz9ERUUhJiZG4Y/B0NAQmpqasLW1VWjfrl073L9/v9z+TExMYGpqKv+FK1kGQIXLiUnoHNevX49u3brBy8sLnTp1gqurK9atW4d9+/bVuRzflJCQgGvXril1usvY2LjMlwtoamqiefPmQoRcZULnWOLQoUP49NNPsWXLFgwdOlSgaKtHyBwfP36MpKQkzJ07F4aGhjA0NMSaNWvwxx9/wNDQEKdPnxYhg8oJ/T3Wp33Om6qSo6r2OWp5ROfj44Po6GgcOXJE/otRomHDhujWrRtSUlIUpt+6davCIX169+6NQ4cOIScnB3p6egCAv/76CwBqZSggMXJ89epVqX+hlXwuOepRpYpyfNP27dthbm6O/v37V9pnz5498dNPPylMi42NRdeuXaGlpVXTkKtMjBwB4ODBg5g9ezZCQkIwatQogaKtHqFzbNmyZak7SMPDwxEbG4tdu3bVypGrGN9jfdrnvKkqOapqn6N2R3Rffvkldu/ejbCwMOjr6yMtLQ1paWkKF3C9vLxw8OBB/Oc//8Ht27exfft2REdHY8aMGfI2np6e8PT0lH92c3ND8+bNMXfuXPzxxx+Ii4uDr68vRo0apfJXjYmV45AhQ3D06FGEh4fLrw/4+PigS5cuKv/DUiZHAHj58iX279+Pjz76qMxTj2/nOG3aNDx8+BC+vr5ITk7Gjh07sHv3bvkpXlUSK8eoqCjMnDkTS5YsQZ8+feT9vnkruKqIkaOWlhbs7OwUfoyMjKCtrQ07Ozt5UVAVsb7H+rbPAaqeo6r2OWr3eEF5dwH5+PjAz89P/jkiIgLr16/HgwcPYGlpiYULF8LNzU0+f9iwYQCg8K//lJQULFq0CHFxcdDX18ewYcOwZMkSNGnSRKRsyiZmjqGhodi2bRvu3LmDpk2bom/fvli6dClatWolUjZlUzbHXbt2Yf78+bh58yZMTU1LtS8rx3PnzuGrr75CUlISWrRogQULFuCTTz4ROIPKiZXjsGHDcP78+VLtnJycSh3Nik3M7/FNgYGBtfZ4gZg51rd9TnVyVMU+R+0KHRER0ZvU7tQlERHRm1joiIhIrbHQERGRWmOhIyIitcZCR0REao2FjoiI1BoLHYkqIiJCYRDG5s2bo0OHDvjXv/5V6s0tQsrKykJgYCDi4+OrvOyRI0fw/fffixBVzSUkJGDq1Kno1KkTjI2NYWtri+HDh9fKYJzKKvkduHPnjiD9DRs2DPr6+hg8eHCZ82fPng19fX3Y2dkJsj6q/1joSCW2b9+OEydO4OjRo/D390dCQgJGjRqF7OxsUdaXnZ2N1atXIyEhocrL/vTTT9i8ebMIUdXM1atXMWjQIGRkZGDp0qWIiopCQEAAbGxscOTIkdoOT6WaNGmCy5cv4/bt2wrTX758iSNHjqj8gWqq29TyXZdU99jb28PS0hLA63f4mZqaYvTo0bh8+XKdGO+uuvLz86Gtra2SdYWGhqJZs2Y4ePCgwjrd3d3lI1a8Kzp27Ij09HTs27dP4c0chw8fhkwmg6urK65cuVKLEVJdwiM6qhUl/+J+e7DTkydPYtCgQWjRogXMzc0xadKkUqc4ZTIZgoOD4ejoCKlUCltbW3h7e+P58+cAgDt37qBLly4AXr/zs+S0aUREBADg1KlTGDx4MMzNzdGqVSs4Ojpi9erVAF6f9tqzZw8ePnwoX87e3h4A8L///Q/6+vqIiYmBl5cXrKysYGNjAwC4ffs2Zs2ahc6dO6NFixbo0qULFi5ciKysLIXYZ8+eDTs7O1y6dAkuLi4wMTGBvb29UkOSZGVlQV9fv8zC2qCB4p/yypUr4ezsDHNzc1haWmLEiBGldvwl+Rw5cgQLFiyAhYUF2rRpAz8/PxQVFeHq1asYMmQIWrZsid69e+PUqVOC5QK8Psp3cnKCiYkJLC0tMW/evCq9j9Pd3R2RkZEK0/bu3Yvhw4ejcePGpdoXFhZi/fr16NGjB4yNjdG+fXssXrwYeXl5Cu2qsu2OHj0Kb29vWFpawsrKCrNmzSr1nVPtY6EjlSgqKkJhYSHy8/ORnJyMgIAASKVSvP/++/I2J0+exIQJE6Crq4utW7di3bp1+OOPPzBkyBA8fPhQ3m7ZsmVYvHgxXFxcsHfvXnh5eWH37t3yI5sWLVpg586dAICFCxfixIkTOHHiBD744AOkpqbCw8MDbdq0wdatW7F7927MnTsXL1++BAAsWrQIgwcPhpGRkXy5Xbt2KeTi4+MDmUyG0NBQ+SnOR48eoVWrVggMDERUVBQWLVqEs2fPYvz48aW2xYsXL/DJJ5/Aw8MDEREReP/99+Hj4yMvxOXp1q0b/vzzT3z++ef47bffUFhYWG7bR48eYc6cOdi1axc2b94MqVSKoUOH4ubNm6Xa+vn5oXHjxti2bRtmzpyJkJAQ+Pr64tNPP8XkyZOxc+dOGBgYYOrUqaUGp61uLv/3f/+HL774Av3798eePXsQEBCAU6dOwc3NDUVFRRUuW8Ld3R2pqam4dOmSPOezZ8+WO9jnrFmzsHbtWri5uSEyMhKff/45du7ciZkzZ1Z72/n6+gJ4Pdr5okWLEBMTI59GdQdPXZJK9OjRQ+Gzqakp9u3bh6ZNm8qnLV++HBYWFjhw4AA0NTXlyzk6OuL777/HypUrkZmZieDgYHh4eCAoKAgA4OrqCiMjI3h6euLYsWMYOnQoOnfuDACwsLBQWPf58+dRUFCAdevWydfdr18/+fy2bdvC0NAQDRs2LBVziW7dumHTpk0K05ycnODk5CT/3KtXL1haWuLDDz/E9evX5UeYwOvi8N1332HcuHEAgIEDB+LRo0cIDAzEpEmTyh0A1svLCwkJCdi2bRu2bduGRo0aoXfv3hg9ejSmTJmiMNzJm/EVFRVh4MCB6N27N3bu3Ck/ei3h7OyMlStXAgBcXFzw3//+Fz/88AN+/vlnvPfeewBej432/vvv4/jx45g0aVKNcrlz5w42btwIHx8f+Pj4yKdbW1tjyJAh+PnnnzF8+PAyt8GbLCws0Lt3b+zduxe9evVCZGQkTE1N0bdvX+zdu1eh7YULFxAdHY2QkBB5Iezfvz8MDAwwa9YsJCQkyH9nqrLt+vTpI/89HDBgAG7duoUdO3YgJCSkVgfyJUU8oiOV2LVrF2JjY3H69GlERETA1tYW48ePR3JyMgAgNzcX169fx9ixY+VFDni9M+vVq5f8bfxXrlxBfn4+3N3dFfofN24cNDU1y3xr/5vs7e2hpaWF6dOn49ChQ3jy5EmVcylrJ1xSPHv06IEWLVrAyMgIH374IYDX4wC+SUNDAyNHjlSYNnbsWNy/f1/hyPVtjRo1QkREBOLi4rBs2TIMHDgQ165dw/z58zF+/HiF8bvOnDmD4cOHywu3kZERbt26VSoWAKWukbZr1w66urryIlcyDQAePHhQ41zOnDmD4uJiTJgwAYWFhfIfR0dHNG3atNRYcxXx8PDAwYMHkZ+fj3379mHChAmlTuMCr09XN2zYECNHjlRY54ABAwBAYZ1V2XYffPCBwmc7Ozvk5+eXGtyXahcLHamEnZ0dunbtim7dumHYsGHYs2cPZDIZVq1aBeD19SeZTAYTE5NSy5qYmMiv3ZT89+12JSOEV3aNx9LSElFRUSguLoanpyfatWsHV1dXnDt3TulcWrRoUWra0qVLsWrVKkyYMAH79u3D6dOn5adP374GpK+vX2qQV2NjYwCvT5tVpn379vjss8+wc+dOJCUlYcKECTh9+jSOHz8OAIiPj8f48eOhq6uLTZs24eTJk4iNjUWnTp1KxVISz5u0tLQURrUGXg/mC7y++aamuZT846Jr164wMjJS+Hn+/DmePXtW6TYoMXr0aOTn52PNmjVITEzExIkTy11nQUEBWrVqpbA+a2trAJCvs6rbzsDAQOFzyXYqqy3VHp66pFrRqFEjWFhY4PfffwfweocpkUiQlpZWqm1aWhqaN28O4P/vWNLT09GhQwd5m8LCQjx79kzeriLOzs5wdnZGfn4+4uLiEBgYCHd3dyQkJMDQ0LDS5cs6JRUdHY2JEyfC29tbPu3tQSlLZGVl4Z9//lEoECVHAGWN4VURHR0deHl5ITIyEsnJyRgyZAgOHz4MTU1N7Nq1S2EdWVlZpQpYTVUnl5Lv6ODBg2WOc/Z28ahI06ZN8eGHH+Lbb79F165dYWtrW+46dXR08PPPP5c5v+QfL6rcdqQ6PKKjWvHy5Uv8/fff8sKiq6sLBwcHHDp0SOFmhLt37+Ly5cvy6189evSAtrY2oqKiFPqLjo5GYWGhvF3JnYmvXr0qNwZtbW3069cPXl5eyM3NlT/QrK2tXeFy5eXz9pFNeTdkFBUVISYmplT8ZmZmaNmyZbnrePu0YYmSu1JLjnJfvnwJDQ0NhYJ89uxZ3L9/v/JEqqg6ubi4uKBBgwa4d+8eunbtWurHwsKiSjHMnDkTQ4YMwfz588tt4+rqiry8PDx//rzMdZYUZVVuO1IdHtGRSty4cQMZGRmQyWR4/PgxfvjhB2RmZsLT01PeZvHixZgwYQLc3d0xffp05ObmIjAwEE2bNsW8efMAvP7X/ty5c7F+/Xo0btwYgwcPRnJyMlasWIH33ntPfs3E2NgYzZs3R3R0NDp27AhdXV20adMGP/74Iy5cuIBBgwahVatWyMjIwLfffgtTU1P5EaKtrS0yMzMRHh6Orl27QltbGx07dqwwv4EDB2LPnj2ws7ODpaUlDh8+jMuXL5fZtkmTJliyZAkyMjJgZWWFAwcO4MyZM9i8eXOFNzAsXLgQ6enpcHd3R4cOHVBcXIyrV69iw4YNaNu2rfza4cCBAxESEoI5c+Zg8uTJuHXrFoKCgiosotVVnVzatm2LBQsWYNGiRbh16xacnJygo6OD+/fv48yZM5g6dSqcnZ2VjuG9995TuJ5Ylr59+8LNzQ0fffQR5s6di+7du6NBgwa4e/cu/vvf/2Lp0qWwtrZW6bYj1WGhI5X4+OOP5f9vZGSEDh06ICoqCq6urvLpAwcORGRkJFavXo1p06ahYcOGcHJyQkBAgMJpsG+++QaGhobYtm0bwsPD0bx5c0ycOBH+/v7yGxEaNGiAjRs3YtmyZRg9ejQKCwsRHByMTp064cSJEwgICMCTJ09gYGCA3r1744cffkCjRo0AAB999BF+/fVXBAQEIDs7G61bt8aNGzcqzG/NmjWQyWRYtmwZAGDw4MEIDw+X3+zwpiZNmiA8PBy+vr5ITEyEVCrFqlWrFO5mLMusWbOwf/9+hIWF4fHjxygoKEDLli3h7u4Ob29v6OnpAXh99LJ69WoEBwcjJiYGHTp0wJYtW+R3Bwqpurn4+/ujXbt2CAsLQ1hYGCQSCVq1aoV+/frByspK8DgB4N///jdCQ0Oxa9curFu3Dtra2mjdujVcXV0hlUoBqHbbkepIsrKyZJU3IyIhzJ49G2fPnkViYmJth1Jj6pQLqTdeoyMiIrXGQkdERGqNpy6JiEit8YiOiIjUGgsdERGpNRY6IiJSayx0RESk1ljoiIhIrbHQERGRWvt/bnjYYCRgI9YAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "resampled_means = Table().with_columns(\n", " 'Bootstrap Sample Mean', bstrap_means\n", ")\n", "resampled_means.hist(bins=15)\n", "plots.plot([left, right], [0, 0], color='yellow', lw=8);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once again, the average of the original sample (27.23 years) is close to the center of the interval. That's not very surprising, because each bootstrapped sample is drawn from that same original sample. The averages of the bootstrapped samples are about symmetrically distributed on either side of the average of the sample from which they were drawn." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice also that the empirical histogram of the resampled means has roughly a symmetric bell shape, even though the histogram of the sampled ages was not symmetric at all:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "births.select('Maternal Age').hist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a consequence of the Central Limit Theorem of probability and statistics. In later sections, we will see what the theorem says." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## An 80% Confidence Interval\n", "You can use the bootstrapped sample means to construct an interval of any level of confidence. For example, to construct an 80% confidence interval for the mean age in the population, you would take the \"middle 80%\" of the resampled means. So you would want 10% of the distribution in each of the two tails, and hence the endpoints would be the 10th and 90th percentiles of the resampled means." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([27.01277683, 27.44293015])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "left_80 = percentile(10, bstrap_means)\n", "right_80 = percentile(90, bstrap_means)\n", "make_array(left_80, right_80)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "resampled_means.hist(bins=15)\n", "plots.plot([left_80, right_80], [0, 0], color='yellow', lw=8);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This 80% confidence interval is much shorter than the 95% confidence interval. It only goes from about 27.0 years to about 27.4 years. While that's a tight set of estimates, you know that this process only produces a good interval about 80% of the time. \n", "\n", "The earlier process produced a wider interval but we had more confidence in the process that generated it.\n", "\n", "To get a narrow confidence interval at a high level of confidence, you'll have to start with a larger sample. We'll see why in the next chapter." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estimating a Population Proportion\n", "In the sample, 39% of the mothers smoked during pregnancy." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3909710391822828" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "births.where('Maternal Smoker', are.equal_to(True)).num_rows / births.num_rows" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remember that a proportion is an average of zeros and ones. So the proportion of mothers who smoked could also be calculated using array operations as follows." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3909710391822828" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "smoking = births.column('Maternal Smoker')\n", "np.count_nonzero(smoking) / len(smoking)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What percent of mothers in the population smoked during pregnancy? This is an unknown parameter which we can estimate by a bootstrap confidence interval. The steps are analogous to those we took to estimate the population median and mean.\n", "\n", "In a process that is now familiar, will start by defining a function `one_bootstrap_proportion` that bootstraps the sample and returns the proportion of smokers in the bootstrapped sample. Then we will call the function multiple times using a `for` loop, and get the 2.5th perentile and 97.5th percentiles of the bootstrapped proportions." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def one_bootstrap_proportion():\n", " resample = births.sample()\n", " smoking = resample.column('Maternal Smoker')\n", " return np.count_nonzero(smoking) / len(smoking)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# Generate proportions from 5000 bootstrap samples\n", "bstrap_proportions = make_array()\n", "num_repetitions = 5000\n", "for i in np.arange(num_repetitions):\n", " bstrap_proportions = np.append(bstrap_proportions, one_bootstrap_proportion())" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.36286201, 0.41908007])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the endpoints of the 95% confidence interval\n", "left = percentile(2.5, bstrap_proportions)\n", "right = percentile(97.5, bstrap_proportions)\n", "\n", "make_array(left, right)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The confidence interval goes from about 36% to about 42%. " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "resampled_proportions = Table().with_columns(\n", " 'Bootstrap Sample Proportion', bstrap_proportions\n", ")\n", "resampled_proportions.hist(bins=15)\n", "plots.plot([left, right], [0, 0], color='yellow', lw=8);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Care in Using the Bootstrap Percentile Method\n", "The bootstrap is an elegant and powerful method. Before using it, it is important to keep some points in mind.\n", "\n", "- Start with a large random sample. If you don't, the method might not work. Its success is based on large random samples (and hence also resamples from the sample) resembling the population. The Law of Averages says that this is likely to be true provided the random sample is large.\n", "\n", "- To approximate the probability distribution of a statistic, it is a good idea to replicate the resampling procedure as many times as possible. A few thousand replications will result in decent approximations to the distribution of sample median, especially if the distribution of the population has one peak and is fairly symmetric. We used 5,000 replications in our examples but would recommend 10,000 in general.\n", "\n", "- The bootstrap percentile method works well for estimating the population median or mean based on a large random sample. However, it has limitations, as do all methods of estimation. For example, it is *not* expected to do well in the following situations.\n", " - The goal is to estimate the minimum or maximum value in the population, or a very low or very high percentile, or parameters that are greatly influenced by rare elements of the population.\n", " - The probability distribution of the statistic is not roughly bell shaped.\n", " - The original sample is very small, say less than 10 or 15.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 1 }