{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Examples and Exercises from Think Stats, 2nd Edition\n", "\n", "http://thinkstats2.com\n", "\n", "Copyright 2016 Allen B. Downey\n", "\n", "MIT License: https://opensource.org/licenses/MIT\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from __future__ import print_function, division\n", "\n", "%matplotlib inline\n", "\n", "import numpy as np\n", "\n", "import brfss\n", "\n", "import thinkstats2\n", "import thinkplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll start with the data from the BRFSS again." ] }, { "cell_type": "code", "execution_count": 9, "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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", "
agesexwtyragofinalwtwtkg2htm3
082.0276.363636185.87034570.91157.0
165.0272.727273126.60302772.73163.0
248.02NaN181.063210NaN165.0
361.0173.636364517.92627573.64170.0
426.0188.6363641252.62463088.64185.0
542.01118.181818415.161314109.09183.0
640.0250.000000422.81054150.00157.0
724.02131.8181821280.585980122.73178.0
837.0187.7272731245.06044090.00178.0
965.0177.272727382.73815877.27173.0
1028.0152.2727273131.56157063.64170.0
1168.0286.363636506.41210978.18168.0
1240.0262.727273422.81054162.73175.0
1349.01127.272727274.170333127.27183.0
1424.0295.4545452561.17196095.45175.0
1549.0288.636364181.06321088.64157.0
1636.02113.636364211.40527190.91168.0
1748.02NaN181.06321050.00155.0
1865.02100.000000253.206055100.00160.0
1975.0272.727273185.87034572.73165.0
2067.0176.363636382.73815876.36157.0
2127.0263.636364330.71725363.64155.0
2255.0254.545455153.40381455.45165.0
2378.0179.545455438.14334778.18183.0
2430.02NaN661.43450590.91160.0
2548.0261.818182271.50246671.82157.0
2665.0177.272727382.73815877.27173.0
2742.0252.272727422.81054162.73157.0
2870.0259.090909126.60302759.09157.0
2980.0265.909091185.87034565.91165.0
.....................
41447952.0268.18181818.64961470.45160.0
41448062.0189.0909097.70906589.09178.0
41448150.0179.54545513.33918376.36178.0
41448261.0251.36363610.34751151.36157.0
41448365.0277.27272713.56114168.18160.0
41448439.0281.81818215.22549287.27170.0
41448527.0268.18181837.49518277.27157.0
414486NaN261.3636365.59406961.36168.0
41448755.02NaN12.395319NaN157.0
41448870.01100.00000014.994430102.27175.0
41448923.0292.72727322.63243786.36163.0
41449054.0171.81818230.92634171.82170.0
41449127.02NaN28.121387NaN160.0
41449265.0270.4545456.78057070.45157.0
41449350.0256.81818222.37627656.82170.0
41449449.0290.90909112.43307668.18152.0
41449561.0268.18181812.39531972.73165.0
41449637.0261.36363615.22549256.82157.0
41449766.0270.90909113.56114165.91163.0
41449834.0177.27272746.87540075.00173.0
41449938.02118.18181815.225492129.55173.0
41450043.0266.3636367.61274675.00168.0
41450141.0186.36363625.98979286.36175.0
41450268.02NaN13.561141NaN165.0
41450340.0178.181818106.77188278.18168.0
41450423.0184.09090943.43932088.64191.0
41450549.0270.4545456.21653872.73170.0
41450645.0186.36363620.61756090.91178.0
41450752.0289.09090911.18813889.09157.0
41450838.0175.00000025.98979275.00178.0
\n", "

414509 rows × 6 columns

\n", "
" ], "text/plain": [ " age sex wtyrago finalwt wtkg2 htm3\n", "0 82.0 2 76.363636 185.870345 70.91 157.0\n", "1 65.0 2 72.727273 126.603027 72.73 163.0\n", "2 48.0 2 NaN 181.063210 NaN 165.0\n", "3 61.0 1 73.636364 517.926275 73.64 170.0\n", "4 26.0 1 88.636364 1252.624630 88.64 185.0\n", "5 42.0 1 118.181818 415.161314 109.09 183.0\n", "6 40.0 2 50.000000 422.810541 50.00 157.0\n", "7 24.0 2 131.818182 1280.585980 122.73 178.0\n", "8 37.0 1 87.727273 1245.060440 90.00 178.0\n", "9 65.0 1 77.272727 382.738158 77.27 173.0\n", "10 28.0 1 52.272727 3131.561570 63.64 170.0\n", "11 68.0 2 86.363636 506.412109 78.18 168.0\n", "12 40.0 2 62.727273 422.810541 62.73 175.0\n", "13 49.0 1 127.272727 274.170333 127.27 183.0\n", "14 24.0 2 95.454545 2561.171960 95.45 175.0\n", "15 49.0 2 88.636364 181.063210 88.64 157.0\n", "16 36.0 2 113.636364 211.405271 90.91 168.0\n", "17 48.0 2 NaN 181.063210 50.00 155.0\n", "18 65.0 2 100.000000 253.206055 100.00 160.0\n", "19 75.0 2 72.727273 185.870345 72.73 165.0\n", "20 67.0 1 76.363636 382.738158 76.36 157.0\n", "21 27.0 2 63.636364 330.717253 63.64 155.0\n", "22 55.0 2 54.545455 153.403814 55.45 165.0\n", "23 78.0 1 79.545455 438.143347 78.18 183.0\n", "24 30.0 2 NaN 661.434505 90.91 160.0\n", "25 48.0 2 61.818182 271.502466 71.82 157.0\n", "26 65.0 1 77.272727 382.738158 77.27 173.0\n", "27 42.0 2 52.272727 422.810541 62.73 157.0\n", "28 70.0 2 59.090909 126.603027 59.09 157.0\n", "29 80.0 2 65.909091 185.870345 65.91 165.0\n", "... ... ... ... ... ... ...\n", "414479 52.0 2 68.181818 18.649614 70.45 160.0\n", "414480 62.0 1 89.090909 7.709065 89.09 178.0\n", "414481 50.0 1 79.545455 13.339183 76.36 178.0\n", "414482 61.0 2 51.363636 10.347511 51.36 157.0\n", "414483 65.0 2 77.272727 13.561141 68.18 160.0\n", "414484 39.0 2 81.818182 15.225492 87.27 170.0\n", "414485 27.0 2 68.181818 37.495182 77.27 157.0\n", "414486 NaN 2 61.363636 5.594069 61.36 168.0\n", "414487 55.0 2 NaN 12.395319 NaN 157.0\n", "414488 70.0 1 100.000000 14.994430 102.27 175.0\n", "414489 23.0 2 92.727273 22.632437 86.36 163.0\n", "414490 54.0 1 71.818182 30.926341 71.82 170.0\n", "414491 27.0 2 NaN 28.121387 NaN 160.0\n", "414492 65.0 2 70.454545 6.780570 70.45 157.0\n", "414493 50.0 2 56.818182 22.376276 56.82 170.0\n", "414494 49.0 2 90.909091 12.433076 68.18 152.0\n", "414495 61.0 2 68.181818 12.395319 72.73 165.0\n", "414496 37.0 2 61.363636 15.225492 56.82 157.0\n", "414497 66.0 2 70.909091 13.561141 65.91 163.0\n", "414498 34.0 1 77.272727 46.875400 75.00 173.0\n", "414499 38.0 2 118.181818 15.225492 129.55 173.0\n", "414500 43.0 2 66.363636 7.612746 75.00 168.0\n", "414501 41.0 1 86.363636 25.989792 86.36 175.0\n", "414502 68.0 2 NaN 13.561141 NaN 165.0\n", "414503 40.0 1 78.181818 106.771882 78.18 168.0\n", "414504 23.0 1 84.090909 43.439320 88.64 191.0\n", "414505 49.0 2 70.454545 6.216538 72.73 170.0\n", "414506 45.0 1 86.363636 20.617560 90.91 178.0\n", "414507 52.0 2 89.090909 11.188138 89.09 157.0\n", "414508 38.0 1 75.000000 25.989792 75.00 178.0\n", "\n", "[414509 rows x 6 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = brfss.ReadBrfss(nrows=None)\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the mean and standard deviation of female height in cm." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(163.22347500412215, 7.269156286641344)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "female = df[df.sex==2] #select only rows of females\n", "female_heights = female.htm3.dropna() \n", "mean, std = female_heights.mean(), female_heights.std()\n", "mean, std #cm???" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`NormalPdf` returns a Pdf object that represents the normal distribution with the given parameters.\n", "\n", "`Density` returns a probability density, which doesn't mean much by itself." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.03328731904744125" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pdf = thinkstats2.NormalPdf(mean, std)\n", "pdf.Density(mean + std) #why are we adding the mean and std?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`thinkplot` provides `Pdf`, which plots the probability density with a smooth curve." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "thinkplot.Pdf(pdf, label='normal')\n", "thinkplot.Config(xlabel='x', ylabel='PDF', xlim=[140, 186])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Pdf` provides `MakePmf`, which returns a `Pmf` object that approximates the `Pdf`. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAG55JREFUeJzt3X+QXWWZ4PHvQ+cXy0KMIbhuApMgWCUYidKApbJkYHWJNRBnBBN0B9iiNsLKjuOUbkltwQilteowpY66zgYIEKr4NTAOXSUMrpvRUURMs6IYhDFAKBpYDb8ZNQnNPPvHPQ03N/f27e7b5/78fqq6cu657zl57+nu+/T7Ps95b2QmkiTN1H6d7oAkqbcZSCRJLTGQSJJaYiCRJLXEQCJJaomBRJLUEgOJJKklpQaSiDg1Ih6KiO0R8ek6z8+PiJuK5++JiOXF/vdGxL0RcX/x78lVx3y3OOd9xdchZb4GSdLk5pR14ogYAr4OvBcYA7ZGxEhmPlDV7Dzgucw8IiLWA18A1gFPA6dl5pMR8VbgTmBp1XEfyczRsvouSZq60gIJcDywPTMfAYiIG4G1QHUgWQt8pti+BfhaRERm/qSqzTZgQUTMz8zdM+nIwQcfnMuXL5/JoZI0sO69996nM3NJs3ZlBpKlwONVj8eAExq1yczxiHgBWExlRDLhg8BPaoLI1RHxCnAr8Nlsss7L8uXLGR11ACNJ0xERj02lXZk5kqizr/YNf9I2EXE0lemuj1Y9/5HMXAmcWHz9cd3/PGJDRIxGxOjOnTun1XFJ0tSVGUjGgEOrHi8DnmzUJiLmAAuBZ4vHy4BvAmdn5sMTB2TmE8W/LwHXU5lC20dmbszM4cwcXrKk6chMkjRDZQaSrcCREbEiIuYB64GRmjYjwDnF9hnAlszMiHgd8C3gosy8a6JxRMyJiIOL7bnAHwA/L/E1SJKaKC1HUuQ8LqRScTUEbMrMbRFxGTCamSPAVcB1EbGdykhkfXH4hcARwMURcXGx733Ab4A7iyAyBHwHuKKs1yCpf7z88suMjY2xa9euTnel6yxYsIBly5Yxd+7cGR0fg/B5JMPDw2myXRpsjz76KAceeCCLFy8mol56djBlJs888wwvvfQSK1as2Ou5iLg3M4ebncM72yUNhF27dhlE6ogIFi9e3NJIzUAiaWAYROpr9bqUeR+JpEnctuWn3HTHKLv3vAzA/HlzWbdmmLUnH9PhnknTYyCR2qg2eFTbvedlNt92N5tvu9ugolKsXr2ayy+/nOHhpmmPaTGQSCWbLHg0Uh1UwNGKYHx8nDlzuvMtuzt7JfW4qQaPiQABTNre0Up/2LFjB2vWrOE973kPP/zhD1m6dCm33XYbDz30EOeffz6//e1vedOb3sSmTZtYtGgRq1ev5l3vehd33XUXp59+Ovfffz/7778/Dz74II899hhXX3011157LXfffTcnnHAC11xzDQAXXHABW7du5Xe/+x1nnHEGl156aamvy0AilWCyoNAoEEw8bhaEdu95mZvuGDWQtOCDH//r0s5961fOn/T5X/7yl9xwww1cccUVfOhDH+LWW2/li1/8Il/96lc56aSTuOSSS7j00kv58pe/DMDzzz/P9773PQDOPfdcnnvuObZs2cLIyAinnXYad911F1deeSXHHXcc9913H6tWreJzn/scr3/963nllVc45ZRT+NnPfsbb3va20l6zgUQqQW0QmM4oYu3Jx+zVrl5gmc40mbrLihUrWLVqFQDHHnssDz/8MM8//zwnnXQSAOeccw5nnnnmq+3XrVu31/GnnXYaEcHKlSt5wxvewMqVKwE4+uij2bFjB6tWreLmm29m48aNjI+P89RTT/HAAw8YSKRuN9kootlfqM1UB5bqv6Q/+PG/dpqrB82fP//V7aGhIZ5//vlJ2x9wwAF1j99vv/32Otd+++3H+Pg4jz76KJdffjlbt25l0aJFnHvuuaXfzW8gkWZBoyAyf97MlpxoZP68ufuMTJzmmr5Wg/tsWrhwIYsWLeL73/8+J554Itddd92ro5OZePHFFznggANYuHAhv/rVr7jjjjtYvXr17HW4DgOJNAsaBZGJRPpsWbdm2GmuPnTttde+mmw//PDDufrqq2d8rmOOOYa3v/3tHH300Rx++OG8+93vnsWe1udaW9IMNZrOatdfu7UJY6e5JveLX/yCt7zlLZ3uRteqd31ca0sqWb0gMttTWZOp/b8mprmkdjOQSDPUqDKrXdatGa4bTKR2M0cizYJOJG8bVXOpscx04cY6Wk1xGEikaZjJciftZllwfQsWLOCZZ55xKfkaE59HsmDBghmfw0AiTUOn8yKNWBbc3LJlyxgbG2Pnzp2d7krXmfiExJkykEjT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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pmf = pdf.MakePmf()\n", "thinkplot.Pmf(pmf, label='normal')\n", "thinkplot.Config(xlabel='x', ylabel='PDF', xlim=[140, 186])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you have a `Pmf`, you can also plot it using `Pdf`, if you have reason to think it should be represented as a smooth curve." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "thinkplot.Pdf(pmf, label='normal')\n", "thinkplot.Config(xlabel='x', ylabel='PDF', xlim=[140, 186])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using a sample from the actual distribution, we can estimate the PDF using Kernel Density Estimation (KDE).\n", "\n", "If you run this a few times, you'll see how much variation there is in the estimate." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XeclOW5+P/PPWV3ttfZwhZ2YeksvUoVBEUE7C0aPEk0TZPoz5Py/ebrSTw5xZycVJOTmBglnsQSjYCKogjSRUB6X9i+y/Y2W6bevz9mmC0sLG2YLdf79dqX88zzPDPX4u5ec7frVlprhBBCiIsxBDsAIYQQvZ8kCyGEED2SZCGEEKJHkiyEEEL0SJKFEEKIHkmyEEII0SNJFkIIIXokyUIIIUSPJFkIIYTokSnYAVwriYmJOisrK9hhCCFEn7J3795qrbW1p+v6TbLIyspiz549wQ5DCCH6FKVU4aVcJ91QQggheiTJQgghRI8kWQghhOhRvxmzEEL0fk6nk5KSEtra2oIdyoBjsVhIT0/HbDZf0f2SLIQQ101JSQlRUVFkZWWhlAp2OAOG1pqamhpKSkrIzs6+oteQbighxHXT1tZGQkKCJIrrTClFQkLCVbXopGUhxDXS1OakrK4Nk0FhNhkIMRpIjArBZJTPZB1JogiOq/13l2QhxFUoqW1hz5k6Dpc2UFjdQtddikPNBoYlRzJyUDTjMmIYFBcWnECFuEqSLIS4AnaXm7d3l/Lx0crzEkSn65weDpc0crikkTc/K2F4SiTzRycxaXCstDgGqPnz5/Ozn/2MKVOmBDuUyyLJQojLlFdh46XN+VQ02js9rxRkJoRjNChcbk1Tm5O6Zmena06etXHyrI2YcDO3jk9h7kgrZkkafYbL5cJkGph/Ngfmdy3EFdp+spqXtxZ0ak2MTotm7shERg2KJiK0869UVZOd42WNHCxu4EBhPR7ffQ0tTl7dWcz6QxUsm5jKDcMSMRqkL/96KCgoYMmSJcyePZsdO3aQlpbGmjVrOHHiBF/72tdoaWlh6NCh/PnPfyYuLo758+dzww03sH37dpYvX86hQ4cICwvj+PHjFBYW8tJLL7Fq1Sp27tzJ9OnTefnllwH4+te/zu7du2ltbeXuu+/mxz/+cXC/8askyUKIS3SgqJ5VHRKFxWzgvhkZzB6eeMHBQ2tUKNYRVuaMsFLf7GDryWo2H6uivsXb4qi1OVi1tZBNR6t4ePZgsq0R1+vbCbq7vv37gL32W7/62kXPnzp1ildffZU//vGP3Hvvvbz11lv89Kc/5Te/+Q3z5s3jmWee4cc//jG//OUvAaivr2fz5s0APPLII9TV1bFx40bWrl3LsmXL2L59O3/605+YOnUq+/fvZ8KECfzbv/0b8fHxuN1uFi5cyMGDBxk3blzAvudAk2QhxCU4U2nj9x+f9rcMMuLDeHxxDgmRoRe8p6m5jaLyWmrqbVTXNdPSaic2OpwVIyI50+BiX2kLNrsbgKKaFv597TEWjE7i9slphIUYr8e3NWBlZ2czYcIEACZPnszp06epr69n3rx5AKxcuZJ77rnHf/19993X6f5ly5ahlCI3N5fk5GRyc3MBGDNmDAUFBUyYMIE33niDF154AZfLRXl5OUePHpVkIUR/dra+jV+tP4XT7c0UCZEhfPvmYcRGhJx3bUNTK7sO5rNz/xkOnyrFc5HRb0toCDHp6dTqMMLDQzFg4OMjlewvrOerC4YwJCkyYN/TQBca2p7kjUYj9fX1F70+IqJzi+/c/QaDodNrGQwGXC4X+fn5/OxnP2P37t3ExcXxyCOP9PlV65IshLgIl9vD7zeeptnXAoi0mHjyluHnJYpGWytvfbiP97cdxu32XNJrt9kdtJ0+gxMDlZZ4ohITSIyNpMbm4Ll3T3DX1DQWjU3ut+sSeuoqup5iYmKIi4tj69atzJkzh1deecXfyrgSjY2NREREEBMTQ0VFBe+//z7z58+/dgEHgSQLIS7iw0MVlNS2AmA2Kr61OIeUWIv/vNPpZu0nB3h7w35a2xzn3Z+dnkhKYgyJsRGEh4VQ39hKTb2NwrJaquqavK+Lh9i2appLmjhRE09KchyxUeG8sauEk2dtPDo/m1CzdEsF2qpVq/wD3EOGDOGll1664tcaP348EydOZMyYMQwZMoRZs2Zdw0iDQ+mLTRLvQ6ZMmaJl8yNxLVU0tPEv/ziCy9f9dO/0dBbnpvjPl1c18N8vf0R+SXWn+4ZmWJk3dTgzxmeTENt9V5LWmvySanbuP8Omz05Q19gCgBMDFSqa6Pg4MlLjMCgDQ5Ii+NbiYURa+v5nu2PHjjFq1KhghzFgdffvr5Taq7XucdFH3//pEyIAtNa8sr3QnygGJ4azcEyy//z2faf5n9c2d2pNDLLG8IVl05k+LrvHriOlFEMyrAzJsHLX4km8u/kQb2/YB3Ynabqemlonx1rsDM2wcqaymefePc6TtwwnPvL8cRIhrgdJFkJ0Y/upGo6XebuJDApWzsnCaFBorfnrO7t4++P9/muNRgMPLZvO0rm5GK9ggZ0l1Mzdiyex+IZR/Omt7Wz/PI9E3UxDq5tjp10MyfBuj/wf7xzju0tHYo2+8AwsIQJFlo4K0UWL3cXfdxX7j28am0xmQjhaa174+9ZOiSIpPop///btLL9x/BUlio6iI8N48osL+eq9czGZjMTQRqK7gdPFldQ1NlPX7OSX609ia3Nd1fsIcSUkWQjRxcajlf7ZTwmRIayYNAi328Ov/3cjH24/6r9u8ujB/Oy7d5MzOOmavbdSisWzRvOfT96BNS6KSOwku+s5U1xFTb2NigY7z3+Uh8N1aTOuhLhWJFkI0UGL3cWHhyv8x8snDcJsVPziLx+zZc8p//NzJg/ju19eTERYYLqEstMT+cm3VzDIGkM4TpI8jeSXVlNdZyOvwsaLm/PpL5NTRN8gyUKIDjYeraTF16pIig5lRk4CL6/eyc79p/3XLLphFN9+eAEmU2CnsybGRfKv315BZmo8kThI8DRTWFZDQ1Mre/PrWL23LKDvL0RHkiyE8Gl1uDu1KpZOSGXd5kO8t/mQ/7klc8by1XvnXreFcrFR4Tz7xHKy0hKJoZVo3cLp4ipa2hysO1DO8bLG6xKHuDLz58/ncqb0P/LII7z55psA1NbWMnHiRF566SUKCgoICwtj4sSJjBo1imnTprFq1Sr/fS+//DJWq5UJEyb4v44ePXqht7kikiyE8OnaqtC2elat3uE/P2NcNl++a9Z1X1EdFWHh/351Cda4SBJ0M6EeO6cKKmlzuHhxcz7Ndhnw7m8aGhq4+eabeeyxx/inf/onAIYOHcq+ffs4duwYr732Gr/4xS86LRy877772L9/v/9r9OjR1zQmSRZC4G1VrD901n88JT2c5/+6iXOjAiOyU/j2FxcGrfRGfEwE//ertxJhCSFJN+FxOckrrKTGZuev24tk/OISNTc3s3TpUsaPH8/YsWN5/fXXAXj22WeZOnUqY8eO5bHHHvP/e86fP58nn3ySuXPnMmrUKHbv3s2dd97JsGHD+OEPfwh4S56PHDmSlStXMm7cOO6++25aWlrOe+8PP/yQmTNnMmnSJO655x5sNlu3MdpsNpYsWcKDDz7I17/+9W6vGTJkCD//+c/59a9/fS3+WS6JrLMQAthxqtrfqogPN7Nhwy6cLu/xIGsMP3j0FkLMwf11yUyN53tfuZln/+c9Et1NVNgNFJXVYlAGcjNimDksIajxXa6v/ClwFRf+9JXuFyR/8MEHDBo0iPfeew/wfoIHePzxx3nmmWcAePjhh3n33XdZtmwZACEhIWzZsoVf/epXrFixgr179xIfH8/QoUN58sknAThx4gQvvvgis2bN4ktf+hK/+93vePrpp/3vW11dzU9+8hM2bNhAREQEzz33HD//+c/979nRU089xVe+8hX/a1/IpEmTOH78uP/49ddfZ9u2bf7jnTt3EhZ27bbxDWjLQil1i1LqhFIqTyn1/W7OhyqlXved36WUyvI9n6WUalVK7fd9Ba7wvRjwtNZsPFp57oiWqnIqarxjAaEhZr7/2BKiIiwXfoHraOywNL5y12wicRClW6mub6am3sarO4tobHX2/AIDXG5uLhs2bOB73/seW7duJSYmBoBNmzYxffp0cnNz2bhxI0eOHPHfs3z5cv+9Y8aMITU1ldDQUIYMGUJxsXc9TkZGhr/+00MPPdTpjzbAp59+ytGjR5k1axYTJkxg1apVFBYWdhvjggULWLNmDZWVld2eP6dra7JrN9S1TBQQwJaFUsoI/BZYBJQAu5VSa7XWHUddvgzUaa1zlFL3A88B5wrHn9ZaTwhUfEKcc7S0kYoG7xap9Q023EUF/k9R37h/HmlJscELrhuLbhjFkdNlbNmbRxshFJbVEG4JYfXeUr44OyvY4fVqw4cPZ+/evaxbt44f/OAHLF68mO9+97t84xvfYM+ePWRkZPCjH/2oUznxnsqRA+d1T3Y91lqzaNEiXn311R5jvP/++5k9eza33normzZtIioqqtvr9u3bd13rbAWyXT0NyNNanwFQSr0GrAA6JosVwI98j98Enlf9tR6z6LXOtSpaWu3UlJYS73v+5lljmD05J3iBXYBSiq/fN4/84mpaK22c1TGcKa5mc6iZuSOsZPWR3fYu1FUUSGVlZcTHx/PQQw8RGRnJyy+/7E8MiYmJ2Gw23nzzTe6+++7Let2ioiJ27tzJzJkzefXVV5k9e3an8zNmzOCb3/wmeXl55OTk0NLSQklJCcOHD+/29b7zne9QXl7OHXfcwbp16847X1BQwNNPP80TTzxxWXFejUB2Q6UBxR2OS3zPdXuN1toFNADnOl6zlVL7lFKblVJzAhinGMCqmuwcLG7wVoEtrSHK7S1Hnp2eyCN3zAxydBdmCTXz//3TYmJNbsK1nVaHk9KKel7dKYPdF3Po0CGmTZvm3/b0hz/8IbGxsTz66KPk5uZy++23M3Xq1Mt+3VGjRrFq1SrGjRtHbW3teQPTVquVl19+mQceeIBx48YxY8aMTuMN3XnuuefIyMjg4YcfxuPxcPr0af/U2XvvvZcnnnjCP1MKvGMWHafO7tix4yKvfvkCVqJcKXUPcLPW+iu+44eBaVrrJzpcc8R3TYnv+DTeFokNiNRa1yilJgOrgTFa68Yu7/EY8BhAZmbm5Av1AQpxIW/sKubDQxWUVtTRUFVNqm7AbDLy8+/dw6Be1v3UnQ+3H+U3b2ynxBCHRjEyO5lvLxnVawe7+2OJ8oKCAm677TYOHz4c7FB6dDUlygPZsigBMjocpwNdl5z6r1FKmYAYoFZrbdda1wBorfcCp4Hz2mta6xe01lO01lOsVmsAvgXRn9ldbradrKa51U55dSPR2tuqeHj5jD6RKMA7fjF1RCoxvtjzS2t449Mi7E53kCMT/U0gk8VuYJhSKlspFQLcD6ztcs1aYKXv8d3ARq21VkpZfQPkKKWGAMOAMwGMVQxAn52uxdbmJL+kGrN2E46DMTmDuHXu2GCHdsmUUnzjgfmkhjgxaTd2h4sjBVUdZneJQMvKyuoTrYqrFbBk4RuDeBxYDxwD3tBaH1FKPauUWu677EUgQSmVBzwFnJteOxc4qJQ6gHfg+2ta69pAxSoGpu0nayivbKDN4SJat2IJMfPNB+f3uT2vE+MiefTOG4jT3oVglbVN/H1nQa9tXciYSnBc7b97QFcZaa3XAeu6PPdMh8dtwD3d3PcW8FYgYxMDW3l9K4eK6jhb04hCE0UbK1fMJjkhOtihXZEbp49gx/4zrD5uw6WMHCuo4qPDFdw2cVCwQ+vEYrFQU1NDQkJCn0vKfZnWmpqaGiyWK18vJCu4xYC0/WQ1RWU1aA0R2sHo7GQWz7q2tXSuJ6UUX713Dtv/bTXlnnBa7U5e3niCm8YkYwkJbHXcy5Genk5JSQlVVVXBDmXAsVgspKenX/H9kizEgOP2aFZ/WkBTi3chXgx2vnrvzX3+k641Poov3zyG/1yXh0sZOVNax+rdRdw/KzvYofmZzWays3tPPOLSSSFBMeDszqvmeFE1AEbt4e65wxk8qHdONb1cty8Yz/BY76+1R2v+vOE4rY7eOXYh+hZJFmLAeWHdQVxu77akKWGaB269/EVYvZXJZOT7D87ErL0JorK+hZc2HAtyVKI/kGQhBpTjhVXsL6zzH3/9tvGEWUKCGNG1N254GvNGxPuPX9t6GrtD9rwQV0eShRhQfv73z/DgHZtIjw1l6Q3d1+bp6757/wxCDN6pko1tLv7w7oEgRyT6OkkWYsDYd6yYAyXtG848vGBknx/UvpCkuEgWj0v1H7+xMx9bS9tF7hDi4iRZiAHB7fbwP2/txK68EwCT4yJZNi0ruEEF2FN3TsZi9k6btbkUv3t7d5AjEn2ZJAsxIGzYeYyT1d6psgaluGXKYMJD+/fM8fgoC7dMbJ9Xv3ZvCWerGy9yhxAXJslC9HttdievrtuDDe/GNanWGBaMSQlyVNfHV5eMITLMO4Bv0yH8/h+fBjki0VdJshD93jufHKSy2YVLGQkxGRmSFseY9L5Z1uNypcaGcdOE9uLPG49Wkl9SHcSIRF8lyUL0a422VtZsPECT8rYqBiXFMiMnAZNx4PzoPzBnKHFR3v2YbcrCy2t3BTki0RcNnN8YMSC9vWE/zW0OmgklLMRMQmwEM3P6x2rtSzU8JZJJw73dbh4U209Uc/hUaZCjEn2NJAvRb1XX2Vi39TAthOJRBgYlx5AcYyG7j+xRfa0opVg2OZ3EWO/33agsvLJ2l5QKF5dFkoXot15/fw8ulxubCiUiLIS46HBm5AzM0tgzhiaQPSgepcChTBwqqmP3YdmGWFw6SRaiXyqrrOeTz07gRtGiQkhPjgMUM3Lie7y3P7KEGLlxTApJcVEANKgw/vbeZ9K6EJdMkoXol/6+fi8erbERSlREGFERFoYkRZAUfeWbv/R180dZSbXGYFDeBJpfXs+O/bJbsbg0kixEv1NaWc/WPacA7+yfQUkxAEwfOjBbFecMigtjTEYsSQlRaBSNysLfP9gjrQtxSSRZiH7n7x/sRQNODIRERhEZbsGgYOqQgZ0sAG4cbSUlMRqDUjRhoehsHdv3nQ52WKIPkGQh+pWSijq27W1vVaQlxQIwOi2a6DBzMEPrFSZkxpIYZSE5IQqXMtJCCH//YC8ejyfYoYleTpKF6Ffe8LUqNGCJSyAi3LsYb6CtrbgQk9HArOGJJCdGYzQoGlUYJRV17NgnYxfi4iRZiH6j+GwdOz7PA8CBkZh4b6si1GxgwuDYYIbWq8wekYjZZCQpIYoWZcaJgTc+2COtC3FRkixEv/GPjz7n3FBtQloaEWHeVsXEwbGE+kp1C7BGhTI6LZrkhBiMBgNNykJpZT07D+QHOzTRi0myEP1CeVUD2/Z6WxUaCI1tH8yePlS6oLqaO8KKyWggKT6KJixo4M31e2VmlLggSRaiX1j98X48vj90GYPT8Ri8e1VEWUyMThsYFWYvx/jMGGLCzSQnROMxmGghhKLyWvYckVXdonuSLESfV11nY9NnJ/zHSYPbN/yZNjQeo2HglffoicloYPbwREwmI9b4SBqVd7Him+s/l9aF6JYkC9Hnrdm4H7fbOzg7LDuFsqb2gVqZBXVhs0ckApCSGE2bIRQnBvKKKjl4UirSivMFNFkopW5RSp1QSuUppb7fzflQpdTrvvO7lFJZXc5nKqVsSqmnAxmn6LvqGlv4aMcx//Ho3BHYXd5kkRprYXBieLBC6/WsUaGMSYvGbDKREBtJk6918fcP9gY5MtEbBSxZKKWMwG+BJcBo4AGl1Ogul30ZqNNa5wC/AJ7rcv4XwPuBilH0fe99chCnyw3AkAwrVfb2H+mZwwZmhdnLMXekFYAUaww2FYYGjp0p59jp8uAGJnqdQLYspgF5WuszWmsH8Bqwoss1K4BVvsdvAguV77dbKXU7cAY4EsAYRR/W3Grng+1H/ceL54zjeHkTAEp5y3KLixufGUOUxUSo2URMbBQtePfrfnvD/iBHJnqbQCaLNKC4w3GJ77lur9Fau4AGIEEpFQF8D/jxxd5AKfWYUmqPUmpPVVXVNQtc9A3rtx2ltc0BQFpSLC5LJOfGZkemRhEfGRLE6PqGcyu6AVISY/xdUXuPFlJYVhPM0EQvE8hk0V37v+s0iwtd82PgF1pr28XeQGv9gtZ6itZ6itVqvcIwRV/kcLp455OD/uPbF05gZ177H7eZw6RVcanm+Aa6LaFmQmJicfn+LEjrQnQUyGRRAmR0OE4Hyi50jVLKBMQAtcB04KdKqQLgO8D/UUo9HsBYRR+z8dMTNNpaAUiIjSArO42yujYAQkwGJmfFBTO8PiU5xsLIQd5NkTq2LrZ/nkdFTWMwQxO9SCCTxW5gmFIqWykVAtwPrO1yzVpgpe/x3cBG7TVHa52ltc4Cfgn8u9b6+QDGKvoQt9vDmo3tn3qX3zieXWfq/MeTsqS8x+WaO8LbMo8IC8UUE48GPFqzduOB4AYmeo2AJQvfGMTjwHrgGPCG1vqIUupZpdRy32Uv4h2jyAOeAs6bXitEVzv3n6Gy1juQHRkeytypIzp1Qc0alhis0PqsiVmxRIR6E2xsXAyteMu5f/zpcRqaWoMZmuglTIF8ca31OmBdl+ee6fC4Dbinh9f4UUCCE32S1pp/bNjnP14ydyzHzzbTYvdOn02MCvF3qYhLZzYauGFYIh8driA60kJrbCLUl+N0uVm35RAPLJ0W7BBFkMkKbtGnHDxZ6p+lE2I2sXRuLltOtM+Emz08UdZWXKF5I89NElGExsT5B7rf33qENrszeIGJXkGShehTVneYoXPTzJG0uRXHy9rXVtwgXVBXLCW2faA7JioMFeWdJNDcaufjT48HMzTRC0iyEH3GmeIqDp4sAbxzrm+bP45tJ6v958emx8jaiqt0bkW3UorwxCT/XPe1mw7g8q2UFwOTJAvRZ6zuMDPnhkk5JMZFseNUe7I4t15AXLlJg2OJsniHMi3hYRAWCXgr++7cL1uvDmSSLESfUFHT6N8yFeD2BeM5XNJAXbO3Lz3KYmJcRkywwus3TEaDvxqtwWAgIb293PvbH++X8uUDmCQL0Se8+8lBf5fIuOHpDMmwsvVEe6ti5rAETEb5cb4W5o6wcm6OgMscjjJ5u/YKy2o4cKIkiJGJYJLfLtHrNTW3sWFn+wDrioXjqW6yc6Co3v/cuUVl4upZo0P9uwsajQbShmb5z635WBbpDVSSLESvt377URxOFwCZqfGMH5HO5uNV/qKBo9OiSYm1BDHC/mf+yPbkaw+N8rfqDp4soaC0uvubRL8myUL0ag6ni3VbDvmPb184Aadbs+V4+9qKBaOTghFavzYuM9Y/s8ylFYNzsv3n1kgJkAFJkoXo1bbsOeUvNxEfE8GsiUPZfaaWZt+K7YTIEBnYDgCjQTF/VHvrwhTbPtNs2+enqa67aEFo0Q9JshC9lu5SyO62+eMwGg1sPFrpf27+KCsGg6zYDoTZwxMxGb3/tnV2TXpmKgAej4f3Nh+62K2iH5JkIXqtvUeLKK30DmKHWUJYNHMU+VXNFFa3AGA2KubIwHbARIeZmTYk3n8cl9Y+jfbDHUdpbrUHIywRJJIsRK+15uP20h6LZo4iPCykU6ti2tB4Ii0BrYU54N3YYTyovAWSEmMBaLM7O81QE/2fJAvRK+UVVnL0dDngXRy2dF4utTYHezrsWyED24GXbY1gSFIEAG6PZvCIof5z720+KCVABhBJFqJXWrOpfaxi9qShJMZF8tHhClwe7yTOnORIBidGBCu8AeXGUe1JucJhIioiDICa+mZ27D8drLDEdSbJQvQ6lbVN7NzX/kdo+Y3jaba7OpUiXzI+JRihDUhThsQRHebt7mtqczNy7HD/uTUbD0oJkAFCkoXodd775FCn0h7Z6Yl8cqwKu9MDwKA4i0yXvY7MRkOnLj+bKQKT0burXkFpNYdPlQUrNHEdSbIQvYqtxc5HO4/5j5fdOA6Hy8OGwxX+524ZlyIbHF1n80ZZMfum0Z5tdJCbO8x/ruN+6KL/kmQhepUPtx/F7vBWks1IjWfiqAx2nKqmqc1b7iMuovN0TnF9RFnM3DC8fWGeik3gXLred6yYovLa4AQmrhtJFqLXcPn2ez5n+fxxeDR8eKi9VbE4N0WqywbJojHJ/sf5NXZGj8ryH6/dJCVA+jv5rRO9xrbP86hr9C64i40KZ87kYXyaV0Nlo3fxV3iokbmywVHQpMRaGJ/ZPlYUlZLmf7xlzylqG5qDEZa4TiRZiF5Ba92pQN2t88aiDIp39rUPni4am0yo2RiM8ITP4tz2WWhn6hxkZXpbG263hw+2HglWWOI6kGQheoUDJ0r8/d6hIWYW3zCa7SdrqG5yABARauSmDt0gIjiGp0SSZQ0HwOnWJGVl+c99sO0IbXZnkCITgSbJQvQKHTfVWThjBKGhIby7v71Vccu4FMJCpFURbEoploxL9R8XNWkSE7wbJTW32vn4UykB0l9JshBBV1BazcGT3u06Fd7qsltPVHXaX1tKe/Qek7Ji/ZtN2V0eMobl+M+9+8lB3G5PsEITASTJQgRdx7GKGROGEhsTwXv7y/3PLZ2QKmMVvYhSils7rKCvcJgIDwsFvKvvPz2YH6zQRAAFNFkopW5RSp1QSuUppb7fzflQpdTrvvO7lFJZvuenKaX2+74OKKXuCGScIniq62xs+7y9tMftC8az4XAlja3t6yrmjpQy5L3NtCHxJPh20mt1esga2WGR3sf7pQRIPxSwZKGUMgK/BZYAo4EHlFKju1z2ZaBOa50D/AJ4zvf8YWCK1noCcAvwB6WU1KLuh97bfAiPx9ttMWpIKlZrHOsOtLcqbpswiBCTNIB7G5PRwC3j2lsXDSoMg68EyOniKn/FYNF/XPS3UCn1YYfHP7jM154G5Gmtz2itHcBrwIou16wAVvkevwksVEoprXWL1trle94CyMeUfqi51c6HO476j1csHM/qvaWdakDNlnUVvdas4YnEhJsBaHFqsoYP8Z/rOGFB9A89fWTr2P6/5zJfOw0o7nAzd+cWAAAgAElEQVRc4nuu22t8yaEBSABQSk1XSh0BDgFf65A8/JRSjyml9iil9lRVVXU9LXq5j3Yc80+1TEuKJTnFyraT1f7z907PwChbpvZaISYDi8e2T2duDon2f6rbe7SQ4rN13d8o+qSeksXVfKLv7re86+td8Bqt9S6t9RhgKvADpZTlvAu1fkFrPUVrPcVqlX7tvsTlcvPuJwf9x8sXjOONz0o419U9Nj2aselSWba3mz/a6m9dODyKpMGD/eekwGD/0lOyGKKUWquUeqfDY/9XD/eWABkdjtOBrrWM/df4xiRigE4VybTWx4BmYGwP7yf6kK17O5f2iE1K5nhZEwAG5W1ViN4v1GTsNDPKGR7LuYmzUgKkf+lp0LjjGMPPLvO1dwPDlFLZQClwP/Bgl2vWAiuBncDdwEattfbdU6y1dimlBgMjgILLfH/RS3lLe7R/6rx5zlje3FPqP5470sqguLBghCauwJwRVj44eJa6ZifKZCYyOZWWinLcbg/rNh/ioeUzgh2iuAYu2rLQWm8+9wUcBY52ee5i97qAx4H1wDHgDa31EaXUs0qp5b7LXgQSlFJ5wFPAuem1s4EDSqn9wNvAN7TW1Yh+4fOjRf7+7NAQMzo6wV/WIzzUyPJJg4IZnrhMISYDt01o/3+moxLw+HqY128/SkurI1ihiWvooi0L5d1h5hngCbzjCwallAv4jdb62Z5eXGu9DljX5blnOjxuo5uBc631K8Arl/INiL5n9cftrYoZk0aw6Vj754C7pqQTHWYORljiKswansC6A+XU2BxYwkJpjU6Axmpa2hx8tPMYKxaMD3aI4ir1NGbxHbyf8qdqrRO01nHAdGCWUurJgEcn+p2TBRX+OfjKYKDJEovL4x3VzrZGMEemyvZJJqOhQ4tQoWITcflaF+9sOoDT6Q5ecOKa6ClZfBF4QGvtX7+vtT4DPOQ7J8Rl6diqyBkxhPyaNgCUgi/ckIlBpsr2WTNzEhgU5520GB0djt0SB0BdYwtb9p4MZmjiGugpWZi7GyvQWlcB0lcgLktpZT2f+eoGuVHUm6L95+aPspJljQhWaOIaMBgUd09L9z5WBsxxCTjwrupe8/EBKQHSx/WULC42MiWjVuKyrN6w37/QJjI1A5fvxy86zMQdk7uu1xR9UW56DCMHRQGQGBdFk9n7uLSynt2HC4MZmrhKPSWL8UqpRqVUk++r8dwxkHs9AhT9Q21DM5v3eLsiWjHjDG9vVTwwM5PwUCn91R8opbhrqrd1YTQasMQm0OabR/P2hn3SuujDepo6a9RaR2uto3xf0R2OpRtKXLJz+xx4AGd0ElHh3pLWEwbHMiU7LrjBiWsq2xrBtCHxACQnRlFrjELTeXKD6Ht6KiRoUUp9Ryn1vK8Ok3z8E5fN1mLng23egoH1KpyY+BhAYTEbeHBmJt4Z2qI/uWNqGiaDwmwyERETgw3vh4O3N+wLcmTiSvXUDbUKmIK3mN+twH8HPCLR76zbcgi7w4kdI22WGGKjvKuz75qaTrxvTwTRv1ijQlmU6y0ymJIYQ62KwAPsO1ZMfomsr+2LekoWo7XWD2mt/4C3HMec6xCT6Efa7E7e23wIDVSpKFISva2KnORI5o+S4o/92dLxqcSEm7GEmomKiaJehQPw1kfSuuiLekoWznMPuisRLkRPPtpxDFuLnQbC0CEW4mMiMBkVK+cMlu6nfs4SYuTOKd5ZbqnWGOpVOE4MfLr/NKWV9UGOTlyuS50NdW4G1LgOs6Mar0eAou9yOt2s3XQAB0ZqDRGkJMaglGL5pEGkxkqhwIHghmEJZFnDCbeEEB0ZRo2KROOdRi36lkudDXVuBpSpw+Poi90rxJa9J6lpaKZKRWEyGkmMiyAzIZybc1N6vln0C0opHpiRCXhbF80qlBbMbN5zkuo6W5CjE5dDNjcWAeF2e/jHR/toxEKbMpOcGI3ZaOSf5mbJ7ncDzNDkSGYOSyAy3EJkeCjVKhKX2yObI/UxkixEQGz7PI/iahu1hkiMBoU1Lool41LISAgPdmgiCO6Zlk54iJHUxBicykS9CuejHcf8G2CJ3k+ShbjmPB4Pb67/nCoVhQdFckI0GYnhLJ2YGuzQRJBEh5m5fUoaMVEWIiwh1KlwWlyatRsPBDs0cYkkWYhrbueBfI5XtdGqQjAaFMmJ0TwyJwuzUX7cBrL5I61kJkSQmhSDRlGtIvlg2xEaba3BDk1cAvntFdeU1pq/vr+XGuWtIJsUH8WtE1IZkhQZ5MhEsBkMiodmZRIXFU5YqJkWFUqd08C7nxwKdmjiEkiyENfUZ4cK2F/pxqMMGJQiN9vKiklSUVZ4DUmKZM7IRFKtMQBUq0jWbj6ErcUe5MhETyRZiGtGa83v3tlPi/KW8EiKj+LRBUMJMcmPmWh355R0MpOjsYSYcCkj5c4Q3t18MNhhiR7Ib7G4ZrbsO8PhKu9Cf4OCu2/IZlhKVJCjEr1NpMXEAzMy/a2LBhXGm5uO0twqrYveTJKFuCa01vxs9SHcyvsjlZUcw8NzsoMcleitpg2NZ9aoVCwhJkBR7AhltcyM6tUkWYhr4q8fH6O4yQ14WxX/fHsuoWZjkKMSvZVSii/OGUxGSiwAdmXmfzedpKm5LciRiQuRZCGuWnObkz9uPOU/nj40npkjkoMYkegLkqItfHFejq91ARVuC6+ul1XdvZUkC3HV/uvtAzS0escqQpTmmfumBDki0VcsGZ/KuOxEADwoXtleKOsueilJFuKqHCttYP2BMv/xionJpCbKoLa4NCajge/enktYqHeX5iaPiV//Y0+QoxLdkWQhrpjd5ea/1hym1e7d9iTG4OSJO6RVIS5PTko0t05sX4uzZn8FpdWyA0JvE9BkoZS6RSl1QimVp5T6fjfnQ5VSr/vO71JKZfmeX6SU2quUOuT774JAximuzOrdpRwp9G6RadAeHp6dRXSk7FMhLt/Td4wnNsw7duHUimdf3R3kiERXAUsWSikj8FtgCTAaeEApNbrLZV8G6rTWOcAvgOd8z1cDy7TWucBK4JVAxSmuTEFVM69uO43d4R2rSDPbeeCWiUGOSvRVYSEmvrZ4uP/4s/x6th8rD2JEoqtAtiymAXla6zNaawfwGrCiyzUrgFW+x28CC5VSSmu9T2t9riP8CGBRSoUGMFZxGVxuDy9tyaessgGAMO3gkUWjiQiT/0Xiyt03byTZcd6xC63hp28fxOHyBDkqcU4gk0UaUNzhuMT3XLfX+Pb4bgASulxzF7BPay3LO3uJDw9X8HleJQ6XG4VmSISLpfNygx2W6OOUUnzvzgkYtDdBFFbZWPXJqR7uEtdLIJNFd9uh6cu5Rik1Bm/X1Fe7fQOlHlNK7VFK7amqqrriQMWlq2hoY/WeEsqrvK2KeE8zD90yEYtvNosQV2PG2EympbdvkPXq1tMU18gGSb1BIJNFCZDR4TgdKLvQNUopExAD1PqO04G3gS9qrU939wZa6xe01lO01lOsVus1Dl90pbXmL9sKKa6ox+X2EKpd5MSaWDRzVLBDE/3I0/dMJUw7AKhtbOWX7x3F4+n6OVNcb4FMFruBYUqpbKVUCHA/sLbLNWvxDmAD3A1s1FprpVQs8B7wA6319gDGKC7D1hPVHC6uo6K6EYXGqpt4YOkUTCYp6yGunZzBSdw8OgHl62TYdeIsG49WBDkqEbBk4RuDeBxYDxwD3tBaH1FKPauUWu677EUgQSmVBzwFnJte+ziQA/w/pdR+31dSoGIVPatvdvDmZyWUVtTj0RCjWxmRFsu8qcN7vlmIy/TVO6aToLwruW0tdl7ceIpamyPIUQ1spkC+uNZ6HbCuy3PPdHjcBtzTzX0/AX4SyNjEpdNa89cdRdQ0tlJd34xZu4nTzXxxxY0o1d2wkxBXJ9Uaw70zs/jT9jIcykR+aS3/u72Ab90sH06CRVZwix59XlDPvsJ6SirqAbDqJiaPymD8iPQgRyb6s/uXTCE9xFuFts3h4uMDpXxeUBfkqAYuSRbioprtLv62s4im5jYabK1E61bCcfLw8hnBDk30c9GRYTy0aBzR2tsdVVpZz1+2FtDqcAc5soFJkoW4qDd2FVPf7KCovBaTdhOvm5k/fQSDB3VdDiPEtXfb/FxyojVG7cHl9nC8qJrVe0uDHdaAJMlCXNDhkga2n6yhus5Gq91JorYRHmLigVunBjs0MUCEmE08snw6idoGQEVNI+v2lVJQ1RzkyAYeSRaiW60ON6u2FuByeyitrCdStxGBgzsXTSQhNjLY4YkBZM7kYUwcHEu4dqA1FJ+t45XthbL24jqTZCG69dbuEuqanZRX1qNdLhK1DWtcFMtvHBfs0MQAo5TiK3fNIlE3odDUN7VyqKCGTccqgx3agCLJQpzneFkjnxyrotXupLK2iURtw4hm5e0zCTEHdLa1EN3KGZzEomnDiNPe0h/FZ+v4x+5S6ppl7cX1IslCdGJ3unl5awGgKS6vJVzbicDOmJxBzBifHezwxAD2hdumkWRyEqJdtNqdFFXU8/qnxT3fKK4JSRaikzc+K6G6yUFtQws2WwuJ2oYB+NKdN8gCPBFU8TER3HvzJP9gd1llPTtPVXG4pCHIkQ0MkiyE35GSBjYfq8Lt9lB8to5EbcOEh1vn5ZKVlhjs8IRg+Y3jyEmKIEq34fZois/W8bcdRbLvxXUgyUIA0GJ3+bqfvJ/YQpwtRGInLjqc+5fIVFnRO5hMRh69Zw4J2oZBe6htaCGvrJ51B2RXvUCTZCEAeO3TYuqanbS0OaiuacCqm1DAI7ffQHhYSLDDE8Ivd3ga8yYPJV5711oUldeybn85Z+vbghxZ/ybJQrAnv5Ydp2rQWlNYVkOibsKIJnd4GrMmDQ12eEKcZ+WKmSSHegjVTtocLkoq6vnbziK0lrUXgSLJYoCrtTn4y7ZCACprm1AtjUTiwGg08Og9c2RQW/RK8TERPLh0KlbdBGjKqxvYe6aa3flSaDBQJFkMYFpr/rwlnxa7G7vDSUVFjX+myd2LJ5GWFBvkCIW4sCVzxjB2cAIxuhWtoaC0htd3FkmhwQCRZDGArT9UwfEy7yezwrJaEt2NGNFkpsZz500Tgx2eEBdlMBj4xgPzSTS0YdQemlsdnCypZY0UGgwISRYDVH5VM6v3eH+pqutsGG01hOFEAd98YL5slSr6hMzUeO5dNNHfIi6tqGfd/jKKalqCHFn/I8liAGq2u/j9x6dxeTQOp4vqimp/GYVlN44nZ7DsYCv6jrsWTWRkSgRh2oFHa/JLq3llmxQavNYkWQwwWmte2lJAjc0BaErKq4l31qGA5IRo7r91SrBDFOKymExGHn9wHlZtQ6Fparbz6fFyNh+vCnZo/YokiwHmo8MV7C/0bo9aWdNESEMlZjwo4FsPLSA0xBzcAIW4AsMGJ3P/ovHE+lrIJRV1/HVbPvVSaPCakWQxgJw628Rbu73jFK12J7aKciLw/jLdvnACI4ekBDM8Ia7KvbdMZkJqOGbtQms4ml/JqzuLgh1WvyHJYoCosdn53YbTuD0arTXVZyuJdTcBMHhQAvfL7neijzOZjDz5xQWkGLyti5Y2B2t35XOoWAoNXguSLAYAu8vNbz86TVObC4DqmgZCGytQgNFo4NsPL5TZT6JfyEyN59Flk4jS3tIf5dWN/Ob9Y9idsvbiakmy6Oe01ry8pcA/lbDR1oqzvBAz3iqdDy2bzuBB8cEMUYhratn8ccwZEo1Be3/G9508y6s7CoIbVD8gyaKfe2dfObvPeEsgOJwuWsuLCMMJwOTRg1k2X7ZJFf2LUoqnVy4gw+L9OXe63bz00XHOVNqCHFnfJsmiH9tyvIq1n5cB3haGvaaKkDbvOEV8TASPf2G+1H4S/VJ8TAQ/WjmbMO2dwNHQ3MYzf9uDyy37XlypgCYLpdQtSqkTSqk8pdT3uzkfqpR63Xd+l1Iqy/d8glJqk1LKppR6PpAx9lf7C+t5ZXuh/9jV3ISzyjsTSgFPrryJ6MiwIEUnROBNHJXJytlZGPAuzjtcWMPvPzga5Kj6roAlC6WUEfgtsAQYDTyglBrd5bIvA3Va6xzgF8BzvufbgP8HPB2o+Pqz0xU2/rDxNOeqNZvcDhrzT3GuDXH/0mmMHpoatPiEuF4evWM6Y63ta4dWbTrJgTOyWO9KBLJlMQ3I01qf0Vo7gNeAFV2uWQGs8j1+E1iolFJa62at9Ta8SUNchvyqZn61/hROtzdTWAya6hNH/Z+upo7N4q5FUiRQDAxGo4Gff2MhMb584XRrnv7zDppb7cENrA8KZLJIA4o7HJf4nuv2Gq21C2gAEgIYU7+WX9XML94/SYuvRLPFpLAVnEK7vVNmB1lj+NZDC2ScQgwoibGR/OQLUzH4fuyrml089YdPZKOkyxTIZNHdX6Su/3cu5ZoLv4FSjyml9iil9lRVDeymZUGXRBEeYsBUXUJTQyMAllAz33v0FtkiVQxIc8Zncv/Mwf7jXYVN/PYfnwUxor4nkMmiBMjocJwOlF3oGqWUCYgBai/1DbTWL2itp2itp1it1qsMt+86ebaJn3dIFBGhRuLaaigu9m5ir4BvP7yQ9OS4IEYpRHD9892TGZ0W7TtSrNpayIZdx4MaU18SyGSxGximlMpWSoUA9wNru1yzFljpe3w3sFFL2/Cy7C+s79yiCDUyzNLG4SOn/dc8vGIm03KzghShEL2DUopffmU28ZEWAJzKyL++/jlH8rp+hhXdCViy8I1BPA6sB44Bb2itjyilnlVKLfdd9iKQoJTKA54C/NNrlVIFwM+BR5RSJd3MpBrwthyv4rcb8vyD2dFhJmYkG9i07YD/mptnjWH5jbLwTgiApNgwfnjfJMJCvSPeDTqUH7ywieKzsnd3T1R/+SA/ZcoUvWfPnmCHcV14PJo3d5fw4aEK/3NJ0aHMSg/hpdc3+Qd9Jo3O5PtfuQWjUdZeCnGO1ppfvX+cv248gdPtRqEZE97Gfz+1nOSE6J5foJ9RSu3VWve4kY38FeljWuwufv3hqU6JIjMhnFtyInj575v9iSI7PZGnVt4kiUKILpRSfH3RcGaOScOgFBrFyWYzzzz/LrUNzcEOr9eSvyR9SGldK/+29hiHSxr9z43PjOG2UdH87q8f4/F4SxmkJ8fxzNeXEmaRmU9CdCfUbOR7K8YyKjsZgwKHMnGkTvOj59+l0dYa7PB6JUkWfYDWmq0nqvjJ6qNUNLQvJlo6IZV5g8P4rz99gNPlHeBOio/imW8slVIeQvQgLT6Mb9w8giEZVhRgUxYOV9n5l+ffoaFJEkZXkix6uTaHmxc357Nqa6F/INtsVDy2YAhZER7+/YX3cTi9i+7iosP5l28uIyE2MpghC9FnzBqeyPKpmWSnJwJQqyI4Wm7j//16jXRJdSHJohc7dbaJH799lE/z2peepMZa+OGK0Rham/iPP77vb1HEx0Tw4yeWk5I48AbohLgaD87M5IZRKWSneYtHVBqiOV3pTRjVdVLW/BxJFr2Q0+3hzc9K+Ol7J6hqau92mj08kR/ePorjJwt47o8f4PaVW06Mi+TZJ5aTlhQbrJCF6LNMRgNfWzCU0ZkJDElPBBRnVQzF1Tb+zy/fprDsktcJ92uSLHqZM5U2/nX1UT44eNZfNTY8xMij87NZOWcwazbs43evbsbjO5mcEM2/fmsFqdaYIEYtRN8WaTHxxOJhpCdFMzTTisdgoEzFUlHfyg9/tZpDJ0uDHWLQSbLoJewuN2/sKuY/3jlOWV17sd3RadH86M4xTM6K5X9e28zr77evJRk8KIGffHsFSfFRwQhZiH4lJdbCE4tysMZGMCwzCW00UaZiaGxz8q+/f48te04GO8SgkkV5vcCRkgb+d3tRpy6nEJOBu6amsWB0Eg22Vv7rzx9y/MxZ//lxw9P55y8tlsKAQlxjh0saeP7DPBpb7JwqrEQ57QzS9RjRrFgwnoeWTcdg6D+fsy91UZ4kiyCqb3bw+q5i/x7Z54xOi+bh2YOxRoWSV1jJcy+u7zQzY+6UYXzzgfmYTMbrHbIQA8Le/Dr+sPE0rQ4XeQWVuOytpOoGzHgYPyKdJ1feRFSEJdhhXhOSLHoxt0fzybFK1uwt8xcABO/YxL0zMpg1zDsr44NtR3h59U5cvhlPCnjwtunccdME2ZNCiADbeaqGP2/Jx+XycKakmuYmG6m6gRDcWOOieOqRmxielRzsMK+aJIte6uTZJv62o4iS2s6LfmbkxHPv9Ayiw8w0Nbfx2799wu7DBf7z4ZYQnlx5E5NGZ17fgIUYwPbm1/HHTWdweTyUVjZQWVlHim7AgguDUty/dCp3LJzQp7ulLjVZmK5HMAJqbQ7e/KyEz850noaXHB3KQ7MGM8pXZ//zo0X8z2ubO3U7DR6UwD9/abHMeBLiOpucHUdYyDCe/yiPtKRYwi1mCkuNxLsaiNJ2/vbuZxw4XsI3H5zf74sQSssiwOxON+8fPMv6g2f9K7DBO4B928RUFo1Nxmw00NTcxsurd/LJZyc63b90Xi4PLZtOiFnyuhDBcrrCxq8/PEWz3Y3d6SK/uBpTSx3xuhkFhJhNPLRsOrfOHdvnuoilGyrI3B7NjlPVrNlbRn2Ls9O5Kdlx3Ds9g/jIELTWbP/8NH9+e3unejRRERYe/8KNTBkzuOtLCyGCoLKxjd98mEd5fRtaa8qq6mmorMaqGzH56j2PyE7hsXtmk5WWGORoL50kiyDRWnOgqIG3dpdQXt/W6VxmQjj3zchgRKp3XUR+STV/emtbpymxALMm5fDlO2cREyXFAIXoTVodbv646QwHixsAaG61U1JWTWRLNeF4PxQqYPGsMTywdGqfmDElyeI601pzpLSRNXvLyK/qXIAsNtzMismDmDUsEYNBUVnbxN8/2MumXcfp+K8fFx3OY/fOlS1QhejFPB7N2s/LeO9AOVrja2U00FZ1lliPzb/SOSIslDsXTWTJnDGEhpiDGvPFSLK4TrTWHC5p5L395eRVdC46ZjEbuGVcCovGJhNqNlLX2MI/Pvqc9duP+us6ARgMBm6bl8s9N0+WRXZC9BHHShv50+Z8GnzdzG12J9VVtRjqygnD5b8uLjqcuxdPZuGMkZjNvW9tlCSLAPN4NHsL6nj/wFmKalo6nTMZFfNHWrl1QirRYWbKKutZu+kAmz476V8zcc7EURk8cscNpCfHXbfYhRDXRmOrkz9vzu+wIZmmoamV1upKTLYajB36DuKiw7lt/jgW3zC6V30olGQRIC12F9tP1bDhcAU1NkencyaDYvaIRG4dn0pchJmDJ0v5cNsRdh3Mp+u/8vCsZB5cOo3c4WkBj1kIEThaa7adrOaNXSW0+hbZaq2x2VpwVpVBcwMd50eFWUK4acZIFs8azaBeUClaksU1VlTTwpbjVezMq8Hu9HQ6ZzYq5o60sjg3GeV2sXVvHh/tOEp5VcN5rzM0w8o9t0xmypjBfW6KnRDiwmptDv6yraDTtscejwdtb6WlvARXc9N594wbns7CmSOZlpsVtOnxkiyuAVubiz35tWw7WU1BVct55yNCjcwflcTMobEcP1XClj2nOHii5LxWBHi7m25fOIExOYMkSQjRT2nt7Z5+/dNi6pqdnZ63aAct5SU01tadd1+YJYSZ44cwe3IOY4amXte6b5IsrpDd6eZgcQO7TtdyuLgBl+f8f5/UWAtTB0ejmhv5/EgBh/PK8Hg8510XZgnhxmnDWTxrDBkpMiYhxEBhd7l5/8BZPjh4Fpe7498QTVwIuOurKDxd1O29EWGhTB6TybTcbMaNSCMiLDSgsUqyuAwtdhcHihrYW1DHkZKGTiutz9EeD6kRigh3C6WFZZRXn9/FdM6YnEHMmzqMWRNzsIT23ilzQojAqrU5eHdfGdtOVtP1c2dcmJFIdwtlBYVU1zR2e79BKYZlJTNhZDpjcgYxbHDSNe+ukmRxibTWPPXXAzS1uTo919rmoLnVQYh2YmhpxF7feWZDV0MzrMwYP4Q5k3OwymZEQogOKhraeGdfGZ+drj0vaZiNiowYE56megpOF1HX0Nz9iwBGo4GczCSGD04iJzOJoZlWUhKjr6prW5LFJXC53JRXN/LHjafZW9hAq91Ja5sDj72NcN1GpLYTgrvbe80mI2OHDWLiqEymj8smMS7yWnwbQoh+rLrJzsdHKtlyouq8iTIAoSYDqZFGdEsTFeUVlJVV0VMaCLOEkJkaT9agBNJTYklLjmOQNYbEuMhLSiK9IlkopW4BfgUYgT9prf+zy/lQ4C/AZKAGuE9rXeA79wPgy4Ab+JbWev3F3qunZOHxePjHhv1UVDdSUeP9qqmzoYFmQqhT4URoOxE4uk0Q5zL66CEp5I5IZ9SQFCnuJ4S4Ii12Fzvzath+sua8dVodhZsNWHDS2mSjtqqGxvoGTHgwXKSX4xyzyUhSfBTJidEkJ0QzamgqsyYOPe+6oJcoV0oZgd8Ci4ASYLdSaq3W+miHy74M1Gmtc5RS9wPPAfcppUYD9wNjgEHABqXUcK119x/zL4HBYGDNx/tpaXOcdy4CBxG68/NJ8VEMzUxi2OAkcjKt5GRae/WSfSFE3xEeamLhmGQWjkmmqKaFnadqOFBUT2WjvdN1LU4PLRjBEkNYRgymVDfNrXYcdgfONjvNzS24nC4MeHwtEN3eEnFDaZULqurQ1JGV38zeSg8uj8blPvffS28sBPKj8TQgT2t9BkAp9RqwAuiYLFYAP/I9fhN4XnnbTSuA17TWdiBfKZXne72dVxNQUkI0BaXV/mMFJMRFkpYUS1pyLOnJcQwelEBmanyvWmEphOi/MhPCyUwI597p6ZTVt3GgqJ6T5U2crmz2L/I7x2wyEhsVDlHhvmc0TpebllYnrXYHbXYnbXYXbQ4nLnfnbq4ap9FfAPFKBDJZpAHFHY5LgOkXukZr7VJKNQAJvuc/7XLvVS91vu9wCf0AAAXZSURBVG1eLnaHi6QEb9PMGhcpXUlCiF5BKUVaXBhpcWHcOj4Vj0dTUtdKUU0LZXWtlNW1UtFgp67F0aFFoDCbTMREmc6rUu12e7A7XdgdTuwOF5HhVzcFN5B/KbsbWena5rnQNZdyL0qpx/7/9u4vRKoyDuP495mddCvLjE0S0lxCg+hCBEsCSyWIvCiKCLtRutCQDBIskMAigqI/RN0EhntRkGkgsRdFEVJdhP8ILYWWjIxWTQkpIrXV3V8X59WZXWbmbNrsOGeeDyyeeecIr49nzm/Pe868L7AaYNas/OVGl9x5a+4+ZmaXg1JJF646qkUEf/8zzB+nhjg9NMzps8OcGRrh7PAIIxEMjwQR2WO3pVL2Z7kkyl0lukqi3CWu6CpRLomukti8anz9aWaxGARmVr2+CThaZ59BSWVgKnBynH+XiNgEbILsBvf/1nMzs8uUJKZ0l5nSPbGjIs1cZXwPMEdSr6RJZDes+8fs0w+sTNuPADsiezyrH1guabKkXmAOsLuJfTUzswaaVprSPYi1wGdkj872RcRBSS8CeyOiH9gMvJ9uYJ8kKyik/baR3Qw/Bzx5KU9CmZnZpenoL+WZmXW68X7PopnDUGZmVhAuFmZmlsvFwszMcrlYmJlZrsLc4Jb0FzDQ6n5c5nqA33P36mzOKJ8zaqzd8rk5Im7I26lIc10MjOeOfieTtNcZNeaM8jmjxoqaj4ehzMwsl4uFmZnlKlKx2NTqDrQBZ5TPGeVzRo0VMp/C3OA2M7PmKdKVhZmZNUnbFAtJfZJOSDpQ4731kkJST3otSW9LOiTpO0nzJ77HE69WRpJekHRE0r70s6zqvQ0powFJ97Wm1xOr3nEk6amUw0FJr1a1d1RGdY6hrVXHz2FJ+6re66h8oG5G8yTtTBntlXRHai/OuSgi2uIHuBuYDxwY0z6TbGbbX4Ce1LYM+JRsEaWFwK5W979VGZEtW7u+xr63AfuByUAv8BPQ1ep/Q4syWgJ8AUxOr6d3akb1PmdV778BbOzUfBocQ58D96ftZcCXVduFOBe1zZVFRHxNNo35WG8CzzJ6Jb0HgfcisxO4TtKMCehmSzXIqJYL65xHxM/A+XXOC61ORmuAVyJb852IOJHaOy6jRseQJAGPAltSU8flA3UzCuDatD2VymJthTkXtU2xqEXSA8CRiNg/5q1a639f8hrebWxtugTukzQttTmjirnAIkm7JH0laUFqd0ajLQKOR8SP6bXzqXgaeE3Sr8DrwIbUXpiM2rZYSLoKeA7YWOvtGm2d+tjXO8AtwDzgGNkwAjijamVgGtkwwTPAtvRbtDMa7TEqVxXgfKqtAdZFxExgHdnCblCgjNq2WJCdAHuB/ZIOk63T/a2kGxnnGt6dICKOR8RwRIwA71IZJnBGFYPA9jRUsBsYIZvfxxklksrAw8DWqmbnU7ES2J62P6KAn7O2LRYR8X1ETI+I2RExm+w/ZX5E/Ea2hveK9CTCQuDPiDjWyv62ypjx0YeA809weJ3zio+BpQCS5gKTyCaCc0YV9wI/RMRgVZvzqTgK3JO2lwLnh+oKcy5qm4kEJW0BFgM9kgaB5yNic53dPyF7CuEQcAp4fEI62WK1MgIWS5pHdul7GHgCOned8zoZ9QF96VHIIWBlZI+ydFxGDT5nyxk9BOVjaPQxtAp4K12BnQFWp90Lcy7yN7jNzCxX2w5DmZnZxHGxMDOzXC4WZmaWy8XCzMxyuViYmVkuFwszM8vlYmFmZrlcLMyaRNKCNIFjt6Sr01oZt7e6X2YXw1/KM2siSS8B3cCVwGBEvNziLpldFBcLsyaSNAnYQzYFxF2dMB2GFZOHocya63pgCnAN2RWGWVvylYVZE0nqBz4km05/RkSsbXGXzC5K28w6a9ZuJK0AzkXEB5K6gG8kLY2IHa3um9l/5SsLMzPL5XsWZmaWy8XCzMxyuViYmVkuFwszM8vlYmFmZrlcLMzMLJeLhZmZ5XKxMDOzXP8CwXgfJCosvq0AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "thinkplot.Pdf(pdf, label='normal')\n", "\n", "sample = np.random.normal(mean, std, 500)\n", "sample_pdf = thinkstats2.EstimatedPdf(sample, label='sample')\n", "thinkplot.Pdf(sample_pdf, label='sample KDE')\n", "thinkplot.Config(xlabel='x', ylabel='PDF', xlim=[140, 186])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Moments\n", "\n", "Raw moments are just sums of powers." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def RawMoment(xs, k):\n", " return sum(x**k for x in xs) / len(xs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first raw moment is the mean. The other raw moments don't mean much." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(163.22347500412215, 26694.74321809659, 4374411.46250422)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "RawMoment(female_heights, 1), RawMoment(female_heights, 2), RawMoment(female_heights, 3)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "163.22347500412215" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def Mean(xs):\n", " return RawMoment(xs, 1)\n", "\n", "Mean(female_heights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The central moments are powers of distances from the mean." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def CentralMoment(xs, k):\n", " mean = RawMoment(xs, 1)\n", " return sum((x - mean)**k for x in xs) / len(xs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first central moment is approximately 0. The second central moment is the variance." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-9.903557940122168e-14, 52.84042567529328, -46.88569506887073)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CentralMoment(female_heights, 1), CentralMoment(female_heights, 2), CentralMoment(female_heights, 3)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "52.84042567529328" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def Var(xs):\n", " return CentralMoment(xs, 2)\n", "\n", "Var(female_heights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The standardized moments are ratios of central moments, with powers chosen to make the dimensions cancel." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def StandardizedMoment(xs, k):\n", " var = CentralMoment(xs, 2)\n", " std = np.sqrt(var)\n", " return CentralMoment(xs, k) / std**k" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The third standardized moment is skewness." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-1.3624108479155668e-14, 1.0, -0.1220649274510512)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "StandardizedMoment(female_heights, 1), StandardizedMoment(female_heights, 2), StandardizedMoment(female_heights, 3)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.1220649274510512" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def Skewness(xs):\n", " return StandardizedMoment(xs, 3)\n", "\n", "Skewness(female_heights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Normally a negative skewness indicates that the distribution has a longer tail on the left. In that case, the mean is usually less than the median." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def Median(xs):\n", " cdf = thinkstats2.Cdf(xs)\n", " return cdf.Value(0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But in this case the mean is greater than the median, which indicates skew to the right." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(163.22347500412215, 163.0)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Mean(female_heights), Median(female_heights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the skewness is based on the third moment, it is not robust; that is, it depends strongly on a few outliers. Pearson's median skewness is more robust." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "def PearsonMedianSkewness(xs):\n", " median = Median(xs)\n", " mean = RawMoment(xs, 1)\n", " var = CentralMoment(xs, 2)\n", " std = np.sqrt(var)\n", " gp = 3 * (mean - median) / std\n", " return gp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pearson's skewness is positive, indicating that the distribution of female heights is slightly skewed to the right." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0922289055190516" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PearsonMedianSkewness(female_heights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Birth weights\n", "\n", "Let's look at the distribution of birth weights again." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "import first\n", "\n", "live, firsts, others = first.MakeFrames()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on KDE, it looks like the distribution is skewed to the left." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "birth_weights = live.totalwgt_lb.dropna()\n", "pdf = thinkstats2.EstimatedPdf(birth_weights)\n", "thinkplot.Pdf(pdf, label='birth weight')\n", "thinkplot.Config(xlabel='Birth weight (pounds)', ylabel='PDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mean is less than the median, which is consistent with left skew." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7.265628457623368, 7.375)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Mean(birth_weights), Median(birth_weights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And both ways of computing skew are negative, which is consistent with left skew." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-0.5895062687577989, -0.23300028954731833)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Skewness(birth_weights), PearsonMedianSkewness(birth_weights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adult weights\n", "\n", "Now let's look at adult weights from the BRFSS. The distribution looks skewed to the right." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XmYXHWZ6PHvW9VrektvSTrdCZ0VCRCT0CyyGwWCIoELMkEUePQRYeSq947egfECyjj3KjrOVXFkEUZlxkQmDBAVCSpgCLKkw5YFAp0F0tl673Qnvfd7/zinqk9VqruTdFfXqar38zz95NSpX516Tyrpt367qCrGGGPM8QokOgBjjDHJzRKJMcaYMbFEYowxZkwskRhjjBkTSyTGGGPGxBKJMcaYMbFEYowxZkwskRhjjBkTSyTGGGPGJCPRAUyEsrIyra6uTnQYxhiTNMrKyli7du1aVV02Wtm0SCTV1dXU1tYmOgxjjEkqIlJ2NOWsacsYY8yYWCIxxhgzJpZIjDHGjEla9JEYY/ynr6+P+vp6uru7Ex1K2svJyaGqqorMzMzjer0lEmNMQtTX11NQUEB1dTUikuhw0paq0tzcTH19PbNmzTqua1jTljEmIbq7uyktLbUkkmAiQmlp6ZhqhpZI0tSehjZ6+/oTHYZJc5ZE/GGsn4M1baWZnt4+fvTIs7zy1k6mlhby/26/hqxM+2dgjDl+ViNJI20dh7njx2t45a2dABxoPsiWun0JjsqYxHr88ccREd55551hy9x4442sXr16xOv84he/4NZbbwXgiSeeYOvWreMaZ21tLV/5yldGLLNr1y5OOeWUYePbu3fvuMYUYokkTexrbOf2Hz7O9t2NEed31jclKCJj/GHlypWce+65rFq1atyuGY9EUlNTw49//OPjfr0lEjNmDzz6Ag0tHUec37nHEolJX52dnbz44os89NBDEYlEVbn11ltZsGABn/zkJ2loaAg/V11dTVOT8/+mtraWCy+8MOKaf/3rX1mzZg3f+MY3WLRoEdu3bw8/NzAwwOzZs1FV2traCAQCrFu3DoDzzjuPuro6Dh06xOc//3lOP/10Fi9ezJNPPgnA888/z2WXXQZAY2MjF110EUuWLOFLX/oSJ5xwQjimgYEBvvjFL3LyySdz8cUX09XVxerVq6mtreW6665j0aJFdHV1jevfozWOp4Hunj42v7cHAAGuuuQ0Vq/dCMAuq5EYH7jqq/fF7dqP/ejmYZ974oknWLZsGfPnz6ekpITXXnuNJUuW8Pjjj7Nt2zY2bdrEgQMHWLBgAZ///OeP6v3OPvtsLr/8ci677DKuvvrqiOeCwSDz589n69at7Ny5k9NOO40XXniBM888k/r6eubOncs//MM/sHTpUh5++GHa2to444wz+PjHPx5xnW9/+9ssXbqU22+/naeffpoHHngg/Nx7773HypUrefDBB7nmmmt47LHH+OxnP8u9997LD37wA2pqao7hb+/oWI0kDWzbdYBBVQBmVJRw1UWLCbijNPY1ttPd05fI8IxJmJUrV7JixQoAVqxYwcqVKwFYt24d1157LcFgkOnTp7N06dJxe8/zzjuPdevWsW7dOm6//XbWr1/Phg0bOP300wF45pln+O53v8uiRYu48MIL6e7u5oMPPoi4xvr168NxL1u2jOLi4vBzs2bNYtGiRQCcdtpp7Nq1a9xiH47VSNLA1u1DHeoL5lSQlZlB5dTJ7N7figK79jTzodnTEhegMQnQ3NzMs88+y+bNmxERBgYGEBHuueceYPghsRkZGQwODgIc19yL8847j/vuu4+9e/dy99138/3vf5/nn3+e888/H3Ca1R577DFOPPHEiNcdOHAgfKzuF8NYsrOzw8fBYHDcm7FisUSSBrbWDXWwnTSnAoDqyjJ2728FnH6S6ETS0NLBr558mSkl+Xzu8rNsvL+Jq5Gan+Jl9erVXH/99dx///3hcxdccAHr16/n/PPP5/777+f666+noaGB5557js985jOA00eyceNGLr30Uh577LGY1y4oKKCj48g+SYAzzzyT66+/ntmzZ5OTk8OiRYu4//77+d3vfgfAJZdcwk9+8hN+8pOfICK8/vrrLF68OOIa5557Lo8++ih///d/zzPPPENra+uo9ztSTGNlTVsprq9vgPfeH+ooXOAmkllVQ9sMRI/cGhgY5J6H1vLSG9t58tk3eXNb/cQEa8wEWrlyJVdeeWXEuauuuopf//rXXHnllcybN49TTz2VW265hQsuuCBc5q677uKrX/0q5513HsFgMOa1V6xYwfe//30WL14c0dkOTo1hxowZnHXWWYBTQ+no6ODUU08F4I477qCvr4+FCxdyyimncMcddxxx/bvu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "adult_weights = df.wtkg2.dropna()\n", "pdf = thinkstats2.EstimatedPdf(adult_weights)\n", "thinkplot.Pdf(pdf, label='Adult weight')\n", "thinkplot.Config(xlabel='Adult weight (kg)', ylabel='PDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mean is greater than the median, which is consistent with skew to the right." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(78.99245299687198, 77.27)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Mean(adult_weights), Median(adult_weights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And both ways of computing skewness are positive." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1.054840012109306, 0.2643673381618039)" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Skewness(adult_weights), PearsonMedianSkewness(adult_weights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The distribution of income is famously skewed to the right. In this exercise, we’ll measure how strong that skew is.\n", "The Current Population Survey (CPS) is a joint effort of the Bureau of Labor Statistics and the Census Bureau to study income and related variables. Data collected in 2013 is available from http://www.census.gov/hhes/www/cpstables/032013/hhinc/toc.htm. I downloaded `hinc06.xls`, which is an Excel spreadsheet with information about household income, and converted it to `hinc06.csv`, a CSV file you will find in the repository for this book. You will also find `hinc2.py`, which reads this file and transforms the data.\n", "\n", "The dataset is in the form of a series of income ranges and the number of respondents who fell in each range. The lowest range includes respondents who reported annual household income “Under \\$5000.” The highest range includes respondents who made “\\$250,000 or more.”\n", "\n", "To estimate mean and other statistics from these data, we have to make some assumptions about the lower and upper bounds, and how the values are distributed in each range. `hinc2.py` provides `InterpolateSample`, which shows one way to model this data. It takes a `DataFrame` with a column, `income`, that contains the upper bound of each range, and `freq`, which contains the number of respondents in each frame.\n", "\n", "It also takes `log_upper`, which is an assumed upper bound on the highest range, expressed in `log10` dollars. The default value, `log_upper=6.0` represents the assumption that the largest income among the respondents is $10^6$, or one million dollars.\n", "\n", "`InterpolateSample` generates a pseudo-sample; that is, a sample of household incomes that yields the same number of respondents in each range as the actual data. It assumes that incomes in each range are equally spaced on a `log10` scale." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "def InterpolateSample(df, log_upper=6.0):\n", " \"\"\"Makes a sample of log10 household income.\n", "\n", " Assumes that log10 income is uniform in each range.\n", "\n", " df: DataFrame with columns income and freq\n", " log_upper: log10 of the assumed upper bound for the highest range\n", "\n", " returns: NumPy array of log10 household income\n", " \"\"\"\n", " # compute the log10 of the upper bound for each range\n", " df['log_upper'] = np.log10(df.income)\n", "\n", " # get the lower bounds by shifting the upper bound and filling in\n", " # the first element\n", " df['log_lower'] = df.log_upper.shift(1)\n", " df.loc[0, 'log_lower'] = 3.0\n", "\n", " # plug in a value for the unknown upper bound of the highest range\n", " df.loc[41, 'log_upper'] = log_upper\n", " \n", " # use the freq column to generate the right number of values in\n", " # each range\n", " arrays = []\n", " for _, row in df.iterrows():\n", " vals = np.linspace(row.log_lower, row.log_upper, row.freq)\n", " arrays.append(vals)\n", "\n", " # collect the arrays into a single sample\n", " log_sample = np.concatenate(arrays)\n", " return log_sample\n" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "import hinc\n", "income_df = hinc.ReadData()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/daphka/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:26: DeprecationWarning: object of type cannot be safely interpreted as an integer.\n" ] } ], "source": [ "log_sample = InterpolateSample(income_df, log_upper=6.0)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "log_cdf = thinkstats2.Cdf(log_sample)\n", "thinkplot.Cdf(log_cdf)\n", "thinkplot.Config(xlabel='Household income (log $)',\n", " ylabel='CDF')" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "sample = np.power(10, log_sample)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cdf = thinkstats2.Cdf(sample)\n", "thinkplot.Cdf(cdf)\n", "thinkplot.Config(xlabel='Household income ($)',\n", " ylabel='CDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the median, mean, skewness and Pearson’s skewness of the resulting sample. What fraction of households report a taxable income below the mean? How do the results depend on the assumed upper bound?" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All of this is based on an assumption that the highest income is one million dollars, but that's certainly not correct. What happens to the skew if the upper bound is 10 million?\n", "\n", "Without better information about the top of this distribution, we can't say much about the skewness of the distribution." ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'DataFrame' object has no attribute 'height'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mheight\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mheight\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mheight\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 4374\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4375\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4376\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4377\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4378\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'height'" ] } ], "source": [ "height = df.height/100\n", "print (height)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'DataFrame' object has no attribute 'htm4'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhtm4\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 4374\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4375\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4376\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4377\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4378\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'htm4'" ] } ], "source": [ "df.htm4" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "height = (df.htm3/100)**2" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "mass = df.wtkg2" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "bmi=mass/height" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.10378269254177287" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bmi.std()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.4660379974821338" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bmi.mean()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "coefficient = bmi.std()/bmi.mean()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.2226914824595424" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "coefficient" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.7.1" } }, "nbformat": 4, "nbformat_minor": 1 }