{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Making Model Predictions\n", "> Next we will apply models to real data and make predictions. We will explore some of the most common pit-falls and limitations of predictions, and we evaluate and compare models by quantifying and contrasting several measures of goodness-of-fit, including RMSE and R-squared. This is the Summary of lecture \"Introduction to Linear Modeling in Python\", via datacamp.\n", "\n", "- toc: true \n", "- badges: true\n", "- comments: true\n", "- author: Chanseok Kang\n", "- categories: [Python, Datacamp, Statistics, Modeling]\n", "- image: images/data_tolerance.png" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "plt.rcParams['figure.figsize'] = (10, 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modeling Real Data\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Model in Anthropology\n", "If you found part of a skeleton, from an adult human that lived thousands of years ago, how could you estimate the height of the person that it came from? This exercise is in part inspired by the work of forensic anthropologist Mildred Trotter, who built a regression model for the calculation of stature estimates from human \"long bones\" or femurs that is commonly used today.\n", "\n", "In this exercise, you'll use data from many living people, and the python library scikit-learn, to build a linear model relating the length of the femur (thigh bone) to the \"stature\" (overall height) of the person. Then, you'll apply your model to make a prediction about the height of your ancient ancestor.\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "femur = pd.read_csv('./dataset/femur_data.csv')\n", "legs = femur['length'].to_numpy()\n", "heights = femur['height'].to_numpy()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.ticker import MultipleLocator\n", "font_options = {'family': 'Arial', 'size': 16}\n", "plt.rc('font', **font_options)\n", "fig, axis = plt.subplots()\n", "axis.scatter(legs, heights, color=\"black\", marker=\"o\");\n", "axis.grid(True, which=\"both\");\n", "axis.axhline(0, color=\"black\");\n", "axis.axvline(0, color=\"black\");\n", "axis.set_xlim(-10, 100)\n", "axis.set_ylim(-50, 300)\n", "axis.set_ylabel('Height (cm)');\n", "axis.set_xlabel('Femur Length (cm)');\n", "axis.set_title(\"Relating Long Bone Length and Height\");" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Predicted fossil height = 181.34 cm\n" ] } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "model = LinearRegression(fit_intercept=False)\n", "\n", "# Prepare the measured data arrays and fit the model to them\n", "legs = legs.reshape(len(legs), 1)\n", "heights = heights.reshape(len(heights), 1)\n", "model.fit(legs, heights)\n", "\n", "# Use the fitted model to make a prediction for the found femur\n", "fossil_leg = np.array([50.7]).reshape(-1, 1)\n", "fossil_height = model.predict(fossil_leg)\n", "print(\"Predicted fossil height = {:0.2f} cm\".format(fossil_height[0, 0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Model in Oceanography\n", "Time-series data provides a context in which the \"slope\" of the linear model represents a \"rate-of-change\".\n", "\n", "In this exercise, you will use measurements of sea level change from 1970 to 2010, build a linear model of that changing sea level and use it to make a prediction about the future sea level rise." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "sea = pd.read_csv('./dataset/sea_level_data.csv')\n", "years = sea['year'].to_numpy()\n", "levels = sea['sea_level_inches'].to_numpy()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "font_options = {'family': 'Arial', 'size': 16}\n", "plt.rc('font', **font_options)\n", "fig, axis = plt.subplots()\n", "axis.scatter(years, levels, color=\"black\", marker=\"o\");\n", "axis.grid(True, which=\"both\");\n", "axis.axhline(0, color=\"black\");\n", "axis.axvline(0, color=\"black\");\n", "axis.set_xlim(1965, 2015)\n", "axis.set_ylabel('Sea Level Change (inches)');\n", "axis.set_xlabel('Time (year)');\n", "axis.set_title(\"Relating Long Bone Length and Height\");" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def plot_data_and_forecast(years, levels, years_forecast, levels_forecast):\n", " \"\"\"\n", " Purpose:\n", " Over-plot the forecast data with the measured data used to fit the model\n", " Args:\n", " years (np.array): independent (\"x\") variable of measured data set\n", " levels (np.array): dependent (\"y\") variable of measured data set\n", " years_forecast (np.array): independent (\"x\") variable of forecast/modeled data\n", " levels_forecast (np.array): dependent (\"y\") variable of forecast/modeled data\n", " Returns:\n", " fig (matplotlib.figure): matplotlib figure object containing the plot\n", " \"\"\"\n", " font_options = {'family': 'Arial', 'size': 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(8,4))\n", " axis.plot(years, levels, color=\"black\", linestyle=\" \", marker=\"o\", label='Data')\n", " axis.plot(years_forecast, levels_forecast, marker=\".\", color=\"red\", label='Forecast')\n", " axis.grid(True, which=\"both\")\n", " axis.axhline(0, color=\"black\")\n", " axis.axvline(0, color=\"black\")\n", " axis.xaxis.set_major_locator(MultipleLocator(50.0))\n", " axis.xaxis.set_minor_locator(MultipleLocator(10.0))\n", " axis.yaxis.set_major_locator(MultipleLocator(5.0))\n", " axis.yaxis.set_minor_locator(MultipleLocator(1.0))\n", " axis.set_ylim([0, 20])\n", " axis.set_xlim([1965, 2105])\n", " axis.set_ylabel('Sea Level Change (inches)')\n", " axis.set_xlabel('Time (years)')\n", " axis.set_title(\"Global Average Sea Level Change\")\n", " axis.legend()\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Prediction: year = [[2100]], level = 16.66\n" ] }, { "data": { "image/png": "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RSQJmIZbZvYfuPXl7wHOSYiH9ZR169bFtL+2SU5OpkOHDvz444+sXLmS448/npycHFJSUgA47rjj6NChA4sWLaJnz54cddRRABx66KEcccQRgJMMnjx5MkOGDAHcw8PXX39dL3otDMMwDH/4DfRnAMNV9TUROQnYD7hSVReJyDgguu5sLRAigcuCBQuilsvIyCA3Nzfq8eLi4kqPh3LggQdG7MI+8MADfddRE/vB8kVFRVHPUVWKioro168f/fr1Y8eOHXzzzTd89913fPLJJwDs2rWL3Nxc8vJcnuXu3btL65s+fToAq1evZvXq1Xz99dcsWrSIgoKCal9jVddTk3r37NlT6edfGXl5edU+Nx6YfbNv9pum/VqxXZV0nlPY43/Aid7fd+Hm0Tf33g8AdvipJ9GbHwncyohFgjU7O1vT09MVKN3S09M1Ozvbdx01sa+qetJJJ+npp58e8dju3bu1WbNmevnll2tRUZFed9112rx5c01KStJDDz1UL7/8cgX07rvvVlXV77//XgF96aWXSutYunSp9uzZUwHNyMjQrKwsPeGEE7Rly5bVvsbKqKkEr0ngmn2zb/Ybmv36JIH7JXC2iHQCLgTmquoeLxHvL8C/4/Tc0WAYPHgwjz32GJmZmYgImZmZPPbYYwwePLiuXQNg8eLFpa35cePG8dhjj/Hss8+ya9cuVq9ezQMPPFDp+Tt37uSMM84gMzOTb775hh07djB//nz69u1bS1dgGIZhxAO/XfejgZeB64C9wARv/2pcN/7A+LtW/xk8eHC9CeyhqCoTJ06kffv2nHPOOVxwwQX07t2b888/v7TMnDlzSssCFVaN++qrr9i+fTvDhg3jkEMOAaCkpIR333239BzDMAyj/uMr0KvqmyJyGHAs8LGqfu8dGg8sUtVvEuWgUTk7duzg/fffB9xSrevXr2f69OksXLiQ559/njZt2vCrX/2KiRMnMnXqVH75y1+yfPlyxo4di4iUzhzIyMgAYO7cuRx66KEcfvjhtG7dmjvuuIPi4mJ2797NQw89xOeff46ImFSuYRhGA8H3ojaqug5YJyKZItIH+AJ4QcPU8ozaZenSpRx//PEApKSksP/++3PssceydOlSjjvuOABuvvlmNm7cyO23386ePXs49NBDefDBB3n++ecJBAIAtGnThuHDh/Poo4+ybNkyVqxYwcsvv8yIESM488wz6dixIyeeeCIvvfQS5513Hh988AF9+vSps+s2DMMw/BHL6nXnAhOBnwEluNb9aBHJBS5T1cLEuGhEw2+mZnp6Oo8//jiPP/54uf2XXHJJufe333479957b+n7AQMG8Nlnn1Woz7ruDcMwGg5+BXMGAS8CC4FBIefNAn4PjEqId4ZhGIZh1Ai/LfpRwP2qen2o5K2qPi0i7YBrceI5hmEYhmHUI/xOrzsEeDPKsU+B/ePjjmEYhmEY8cRvoF8H9Ity7FjAVjkxDMMwjHqI+Ems8hazmYybP/8msAw4G+iE07m/Q1UnJ9DPqvwLSuBemZ0dXY03IyOjdE54JIqLiyvMJ69NzH7N7H/77bfs3LmzWufm5eXRqlWratuuKWbf7Jv9pmm/prb79+//sar2rrRQVdJ5wQ0nmpMPFOOy7kuAAuBuv3UkeqtNCdxEYPZNAtfsm32z37Ts14YEbizz6G8XkfuA44H2wE7gA1XdWp2nEMMwDMNo0gQCdH3iCUhLA08PJRH4DvQAqroTmJMgXwzDMAyjcRMIwD//CWvWwKuvkllS4t6/917Cgr2vQC8iLYExQH+gLRWT+FRVfxZf1wzDMAyjEbBsGeTkwPffw5w5EJIbJwCFhbBgQd0GeuAhYDAuEW8pbnzeMGoFNV19wzAaGosXw7PPwnffuSAenvielATJyZQUF5OUmgpZWQlzxW+gPxu4QVXvT5gnRsxkZWWxcOHCiMc6derEpk2batmj+DN27Fg6dOjANddcU9euGIZhVM78+fDkk/Dtt+AtNlYOL7hTUgKpqXDffaxZvpyDhwypF2P0xbhFbIx6xgknnMDkyRVnNqamptaBN/Fn9OjR3H333XXthmEYRkUCAXjzTRCBhQth0aKKZSIEd7Ztcy34449nXffuHJzAIA/+A/1M4ArgvQT6YlSDtm3b2ipyhmEYtUUgAK+9BmvXwosvugAOkJ7uAr5qlcG9tomqjCciDwQ3IBU4X0T+LSLTQ495W9Pt0g8EYMIE91oPWbNmDYMGDaJTp060bt2as846i2+++ab0+JgxY+jduzfDhw/noIMO4oQTTgDc2vajRo2iS5cuNG/enN69ezNv3rxydf/0009cccUVdOrUiYyMDE455RS++KKs4+frr7/m/PPPZ5999iE1NZWuXbtyxx13lFv97plnnqFHjx40b96cww8/nOHDh7Nnzx6A0nH5ESNG0LVr10TdIsMwjMoJBGD4cPj97+GEE2DSJJg5syzIJyfDH/8IzZu7v9PSYOpUuOMOmDcPhg6FW26pkyAPlbfoB4a9Xw+0BH4doawC18XLqVpl2DDwlmJtUVzsPiS/7NwJK1a4DzspCXr2hIyM2H3o1cs98VUDVaWoqKjC/mbNmrF+/XqOPfZYOnfuzLRp01BVxo4dS79+/fj000854IADAPj8889p3rw5zz33HElJ7tnvyiuv5MUXX2Ts2LH06NGD7OxsTj31VBYsWEDfvn0pKiriN7/5DZs2bWLChAl07tyZO++8k1NOOYUvv/ySlJQUsrKy+PnPf84zzzxDSkoKM2bMYNSoUfTq1YuBAwcSCAQYMmRIqU+ffPIJt956K82bN2fChAkEAgGOP/54rr32Wi677LJq3R/DMIxqsXRpWab8229HTaYrbbVfconbFiyos5Z7NKIGelXtVpuO1IQQCdxK12jPyMggNze33L60vXtJKi52b1QpCv7tx+727SSVlCCAlpRQsn07Wg0pw5K9eynIzaW4uLiCf5VRXFzMm2++SUpKSoVj33//Pffccw+7d+9m1qxZdOjQAYDevXvTs2dPJkyYwPjx4ykoKKCoqIhx48Zx5JFHkpyczMcff8zTTz/Ngw8+WLpm/QknnMD69eu55ZZbeOONN5g9ezaffvopc+bMoW/fvoBrnZ988sksWrSIdu3a0a1bN5544gk6duwIwLHHHsusWbN49913ycrKYt68ebRs2ZI///nPpKWlceSRR5KamkqzZs3Izc2lR48egEssPOSQQ6q8N3v27Kn086+MvLy8ap8bD8y+2Tf7dW8/Y8UK9pszh+Y//EDbzz93v+1eGQFUBE1KAlU0JYVvr7mGlF272NGrF7sKClzB44+HggIX8GOwnVCqks4LbsAFwIMh748HlgBn+K0j0VutS+AuW6baooVqcrJ7XbYstvNraP+kk07Sfv366fLlyytshYWF2rt3bx04cGCF884++2wN3qvRo0croHl5eaX2H374YQV0w4YNWlhYWLpNnjxZU1JStKCgQG+88UbNyMio0se9e/fqypUrddasWTpq1Cht2bKl/vWvf1VV1cWLF6uI6GGHHab/+Mc/9L333tOSkpJy5wN69913+7ofJoFr9s2+2Y+ZefN0469/rXrccaqu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Build a model, fit to the data\n", "model = LinearRegression(fit_intercept=True)\n", "years = years.reshape(len(years), 1)\n", "levels = levels.reshape(len(levels), 1)\n", "model.fit(years, levels)\n", "\n", "# Use model to make a prediction for one year, 2100\n", "future_year = np.array([2100]).reshape(-1, 1)\n", "future_level = model.predict(future_year)\n", "print(\"Prediction: year = {}, level = {:.02f}\".format(future_year, future_level[0, 0]))\n", "\n", "# Use model to predict for many years, and over-plot with measured data\n", "years_forecast = np.linspace(1970, 2100, 131).reshape(-1, 1)\n", "levels_forecast = model.predict(years_forecast)\n", "fig = plot_data_and_forecast(years, levels, years_forecast, levels_forecast)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Model in Cosmology\n", "Less than 100 years ago, the universe appeared to be composed of a single static galaxy, containing perhaps a million stars. Today we have observations of hundreds of billions of galaxies, each with hundreds of billions of stars, all moving.\n", "\n", "The beginnings of the modern physical science of cosmology came with the [publication in 1929 by Edwin Hubble](http://www.pnas.org/content/15/3/168) that included use of a linear model.\n", "\n", "In this exercise, you will build a model whose slope will give Hubble's Constant, which describes the velocity of galaxies as a linear function of distance from Earth." ] }, { "cell_type": "code", "execution_count": 11, "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", "
namesdistancesvelocities
0SMC0.032170
1LMC0.034290
2NGC-2210.275-185
3NGC-2240.275-220
4NGC-5980.263-70
\n", "
" ], "text/plain": [ " names distances velocities\n", "0 SMC 0.032 170\n", "1 LMC 0.034 290\n", "2 NGC-221 0.275 -185\n", "3 NGC-224 0.275 -220\n", "4 NGC-598 0.263 -70" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('./dataset/hubble_data.csv')\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "For slope a1=454.16, the uncertainty in a1 is 75.24\n", "For intercept a0=-40.78, the uncertainty in a0 is 83.44\n" ] } ], "source": [ "from statsmodels.formula.api import ols\n", "\n", "# Fit the model, based on the form of the formula\n", "model_fit = ols(formula='velocities ~ distances', data=df).fit()\n", "\n", "# Extract the model parameters and associated \"errors\" or uncertainties\n", "a0 = model_fit.params['Intercept']\n", "a1 = model_fit.params['distances']\n", "e0 = model_fit.bse['Intercept']\n", "e1 = model_fit.bse['distances']\n", "\n", "# Print the results\n", "print('For slope a1={:.02f}, the uncertainty in a1 is {:.02f}'.format(a1, e1))\n", "print('For intercept a0={:.02f}, the uncertainty in a0 is {:.02f}'.format(a0, e0))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Limits of Prediction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpolation: Inbetween Times\n", "In this exercise, you will build a linear model by fitting monthly time-series data for the Dow Jones Industrial Average (DJIA) and then use that model to make predictions for daily data (in effect, an interpolation). Then you will compare that daily prediction to the real daily DJIA data.\n", "\n", "A few notes on the data. \"OHLC\" stands for \"Open-High-Low-Close\", which is usually daily data, for example the opening and closing prices, and the highest and lowest prices, for a stock in a given day. \"DayCount\" is an integer number of days from start of the data collection." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def plot_model_with_data(df, data_label='Data'):\n", " font_options = {'family': 'Arial', 'size': 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(8,6))\n", " RSS = np.sum(np.square(df.Model - df.Close))\n", " df.Close.plot(ax=axis, color=\"black\", marker=\"o\", linestyle=\" \", label=data_label)\n", " df.Model.plot(ax=axis, color=\"red\", marker=\" \", linestyle=\"-\", label=\"Model\")\n", " axis.set_ylabel(\"DJIA\")\n", " axis.set_title('RSS = {:0.1f}'.format(RSS))\n", " axis.grid(True, which=\"both\")\n", " axis.legend()\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "df_monthly = pd.read_csv('./dataset/df_monthly.csv', index_col='Date', parse_dates=True)\n", "df_daily = pd.read_csv('./dataset/df_daily.csv', index_col='Date', parse_dates=True)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "df_monthly = df_monthly.asfreq('MS')\n", "df_daily = df_daily.asfreq('D')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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Lr4Y9tgD/vlPOP30KkMCYN26dVHVtG/fvtaGRDAYZPPmmu6b6enp9c5NYSsTRq0555xz+Otf/8rq1atZtGhRtS0OcLY5oOYfw6ZNm9ixYweZmZlVlerWrVvH3nvvXSUTbjF36tQJgKeffprOnTvTrl27avoOPPBATwvbMAwj6VCFpUvhhhsgKwuGDHFWJc45B1JqPtd3796dtWvX1mgXERYsWFAn/4bc3NxqTvAhOnToUO/cFLYyYdSaAQMGsNdee/Hggw/y5ptv1ojiOPDAA+natStPP/10tfZQFMbxxx9P//79ad26dbW8FeXl5bz44otV74899ljS0tJYt24dRx55JP369aNfv37873//4/bbb49rL9EwDKPJ+ewzGDQITjkF1q2D006D6dPhvPM8DQmAcePGkZ6eXqM9vJpnbfHzi9iwYUOd9IVjKxNGrUlJSeGss87i3nvv5eijj662xQHONsctt9zClVdeyeWXX87w4cP56KOPuOWWWzjvvPOqMlxee+21TJs2jTZt2nDkkUcya9YsfvzxR3r37g1At27d+P3vf88111zDjz/+yG9+8xs++OADcnNzGT58OB07dkzIH4FhGEaD8PHHcOONcNZZ8M03MHMmjB8PrVvHdXrkA1NaWhrHH398nYeTlZVFYWGhZ3t9sZUJo06cc845lJWV+UZUXHHFFTzwwAOsWLGC008/nfvvv59rrrmmWizz7bffzq233kp+fj7nnHMOnTp1Yvz48dX03H333dx0003MmzePIUOGMGPGDCZPnsy8efMa8vYMwzDqztdfQyDg+EW8/DKkpcG338KVV8ZtSMydO7fGlkRZWRm5ubl1HlZeXh4ZGRnV2uINKY2FrUwYcbF69epq7wcNGlTDar7kkku45JJLqt6PGjWKnJwcX50iwg033MANN9zgK5OSksIf/vAHJk6c6Bmx0rNnT9vuMAwjKUj/6Se47TbYvh2efhquuw6uvRa6dKm1Lj8HzPqEcIa2R3JzcykqKiIrKyvukNJYmDFhGIZhGPWhuBimTePYmTMdR8vnnnNSYe+1V51V+jlg1ndLIhAINEghMNvmMAzDMIy6sHkzvPMO9O8P997LTyeeCF98ASedVC9DAhwHzIbakmgIbGXCMAzDMGrD9u0waxZMnQpt2kB+PvTuzec//cSe++9fL9XBYJDc3FwKCwurJeXL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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Build and fit a model to the df_monthly data\n", "model_fit = ols('Close ~ DayCount', data=df_monthly).fit()\n", "\n", "# Use the model fit to the monthly data to make a predictions for both monthly and daily data\n", "df_monthly['Model'] = model_fit.predict(df_monthly.DayCount)\n", "df_daily['Model'] = model_fit.predict(df_daily.DayCount)\n", "\n", "# Plot the monthly and daily data and model. compare the RSS values seen on the figures\n", "fig_monthly = plot_model_with_data(df_monthly)\n", "fig_daily = plot_model_with_data(df_daily)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice the monthly data looked linear, but the daily data clearly has additional, nonlinear trends. Under-sampled data often misses real-world features in the data on smaller time or spatial scales. Using the model from the under-sampled data to make interpolations to the daily data can result is large residuals. Notice that the RSS value for the daily plot is more than 30 times worse than the monthly plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extrapolation: Going Over the Edge\n", "In this exercise, we consider the perils of extrapolation. Shown here is the profile of a hiking trail on a mountain. One portion of the trail, marked in black, looks linear, and was used to build a model. But we see that the best fit line, shown in red, does not fit outside the original \"domain\", as it extends into this new outside data, marked in blue.\n", "\n", "If we want use the model to make predictions for the altitude, but still be accurate to within some tolerance, what are the smallest and largest values of independent variable x that we can allow ourselves to apply the model to?\"" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "def plot_data_model_tolerance(x_data, y_data, y_model, tolerance=100):\n", " \"\"\"\n", " Purpose: \n", " Plot data (x_data, y_data) and overplot model (x_data, y_model)\n", " Args:\n", " x_data (np.array): numpy array of values of independent variable\n", " y_data (np.array): numpy array of values of dependent variable\n", " y_model (np.array): numpy array of values of the modeled dependent variable\n", " tolerance (float): for plotting when np.abs(y_model - y_data) < tolerance\n", " Returns:\n", " fig (matplotlib.figure): matplotlib figure object\n", " \"\"\"\n", " from matplotlib.ticker import MultipleLocator\n", " residuals = np.abs(y_model - y_data)\n", " x_good = x_data[residuals < tolerance]\n", " y_good = y_model[residuals < tolerance]\n", " x_min = np.min( x_good )\n", " x_max = np.max( x_good )\n", " font_options = {'family': 'Arial', 'size': 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(8,6))\n", " x = x_data\n", " y = y_data\n", " axis.plot(x[(x>=0) & (x<=10)], y[(x>=0) & (x<=10)], color=\"black\", linestyle=\" \", marker=\"o\")\n", " axis.plot(x[x>10], y[x>10], color=\"blue\", linestyle=\" \", marker=\"o\")\n", " axis.plot(x[x<0], y[x<0], color=\"blue\", linestyle=\" \", marker=\"o\")\n", " axis.plot(x_data, y_model, color=\"red\")\n", " axis.grid(True, which=\"both\")\n", " axis.axhline(0, color=\"black\")\n", " axis.axvline(0, color=\"black\")\n", " axis.set_ylim([-5*50, 15*50])\n", " axis.set_xlim([-15, 25])\n", " axis.xaxis.set_major_locator(MultipleLocator(5.0))\n", " axis.xaxis.set_minor_locator(MultipleLocator(1.0))\n", " axis.yaxis.set_major_locator(MultipleLocator(5.0*50))\n", " axis.yaxis.set_minor_locator(MultipleLocator(1.0*50))\n", " axis.set_ylabel('Altitude (meters)')\n", " axis.set_xlabel('Step Distance (Kilometers)')\n", " axis.set_title(\"Hiking Trip\")\n", " style_options = dict(color=\"green\", alpha=0.35, linewidth=8)\n", " line = axis.plot(x_good, y_good, **style_options)\n", " plt.savefig('../images/data_tolerance.png')\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "x_data = np.array([-10. , -9.5, -9. , -8.5, -8. , -7.5, -7. , -6.5, -6. ,\n", " -5.5, -5. , -4.5, -4. , -3.5, -3. , -2.5, -2. , -1.5,\n", " -1. , -0.5, 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. ,\n", " 3.5, 4. , 4.5, 5. , 5.5, 6. , 6.5, 7. , 7.5,\n", " 8. , 8.5, 9. , 9.5, 10. , 10.5, 11. , 11.5, 12. ,\n", " 12.5, 13. , 13.5, 14. , 14.5, 15. , 15.5, 16. , 16.5,\n", " 17. , 17.5, 18. , 18.5, 19. , 19.5, 20. ])\n", "y_data = np.array([ 73.33885174, 91.52854842, 41.87555998, 103.06980499,\n", " 77.57108039, 99.70512917, 106.70722978, 128.26034956,\n", " 117.88171452, 136.65021987, 82.60474807, 86.82566796,\n", " 122.477045 , 114.41893877, 127.63451229, 143.2255083 ,\n", " 136.61217437, 154.76845765, 182.39147012, 122.51909166,\n", " 161.78587909, 132.72560763, 210.81767421, 179.6837026 ,\n", " 181.98528167, 234.67907351, 246.48971034, 221.58691239,\n", " 250.3924093 , 206.43287615, 303.75089312, 312.29865056,\n", " 323.8331032 , 261.9686295 , 316.64806585, 337.55295912,\n", " 360.13633529, 369.72729852, 408.0289548 , 348.82736117,\n", " 394.93384188, 366.03460828, 374.7693763 , 371.26981466,\n", " 377.88763074, 320.70120977, 336.82269401, 262.00816122,\n", " 290.35612838, 308.90807157, 259.98783618, 265.86978322,\n", " 271.12330621, 258.58229827, 241.52677418, 204.38155251,\n", " 198.05166573, 174.36397174, 190.97570971, 217.20785477,\n", " 146.83883158])\n", "y_model = np.array([-100. , -87.5, -75. , -62.5, -50. , -37.5, -25. , -12.5,\n", " 0. , 12.5, 25. , 37.5, 50. , 62.5, 75. , 87.5,\n", " 100. , 112.5, 125. , 137.5, 150. , 162.5, 175. , 187.5,\n", " 200. , 212.5, 225. , 237.5, 250. , 262.5, 275. , 287.5,\n", " 300. , 312.5, 325. , 337.5, 350. , 362.5, 375. , 387.5,\n", " 400. , 412.5, 425. , 437.5, 450. , 462.5, 475. , 487.5,\n", " 500. , 512.5, 525. , 537.5, 550. , 562.5, 575. , 587.5,\n", " 600. , 612.5, 625. , 637.5, 650. ])" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Minimum good x value = -5.0\n", "Maximum good x value = 12.0\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhMAAAGRCAYAAADfMzFqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXhU5fXA8e9JyErYwxKBBBWiIhpFFEVsCGpdKmpti9S4VsQWLaK1bqGKS1yqrUtaF6R1g1SpdftZVxapbCqIouICaBbZE3ZCFmbO7487SSYhE2aSmeQmnM/z3Cfk3jM3ZxSSk/e+73lFVTHGGGOMaaqo1k7AGGOMMW2bFRPGGGOMaRYrJowxxhjTLFZMGGOMMaZZrJgwxhhjTLNYMWGMMcaYZrFiwph2RkSmioiKyOWNxDzrixnld05FZLbf5x+IyN79fK0BvtdND0fuzeX3voI5RgV5r34tlL4xbVaH1k7AGOMalwDrQ3zNZt/rVoc/nSZ5Cpjt93ky8DDwDZBbL/brIO+1JWzZGdNOWTFhjAFAVWc04TW7gZBfFymquhhYXP25iAzAKSY2hvr+6t/LGBOYPeYwxhhjTLNYMWGMAfadMxEgJtcX95yIRDc0Z0JECkTkNRE5XUQWiUiZiJSKyPMiklLvfgkicr/vNeUislxEzhWR2SJSEKG36v/1q/OfIiKv+nJYJyKD6s+ZEJHLfZ9nicjTIrJVRLaJyDsicnykczXGzewxhzHtV5KIJAe4FhfqzUTkTuA24B/ABFX1ikig8OOA14B/As8AmThzK1KBUb77CfBfIAt4EfgQOAF4FdgO7Ag1x2a4GfgMmAQcoqqrGnlv/wSqcOZgJAHXAfNFJFNVP2mJZI1xGysmjGm/8nxHs4nIFOB24AngGt3/DoH9gJ+r6mu+z58Wkd7AaSJysKr+APwap5C4X1Vv9cU9LiIrgQdo2WLCA5yvqqVBxApwvKpuBxCRV4BPgYdwiiZjDjj2mMOY9utB4PQAx3vB3kREbgbuBmao6sQgCgmAXcDr9c4t9X3s4/v4C9/HP9eLewTYGWx+YbI4yEIC4OHqQgJAVVcAbwGnNDISZEy7ZiMTxrRfK1W1wTkQInJxkPeIBu4HvMAJIpKgqnuCeN3mBoqOCr97AqQDm1R1q3+QqlaKyBqgW5A5hsOGEGK/bODcN8AY4GCgJCwZGdOG2MiEMWZ//gzcgPPD/54gX+MNIiYGqAxwrSLA+UjxhBDbUG7VBVKjTb6Maa+smDDGNMajqjfjzL1YAkwWkRFhuvcq4CAR6eR/UkSigIFh+hqRMKiBc4fjFBLft3AuxriCFRPGmP1SVS8wHucH5jMiEh+G287C+R50bb3zlwI9wnD/SJkkIrHVn4jIUOBM4B3/uRTGHEismDDGBEVVvwLuI7THHY2ZCcwH7hWRGSLyWxF5CqeNdRUQzETP1nA4sEhErhORu4F5wDacR0HGHJCsmDDGhOJe4CvgehE5qTk38o12nIOzeiMLeBQ4HjgPKKXl500E6wZgJc4Kl4k4KzmOV9VVrZqVMa1Iglvl1XJ8O/nNayRkANATaKg5zF9U9UbffeJwZqH/GugIvAtMUtV14czXGNM0ItId2K2qFfXOC7Ab+ERVXdO3wbcL6zPAJU3Zx8SY9syNS0M/Ber/xhMPvOy7VgycivPN5rR6cf6FwpPAucAfcNa83we8JSLHqWooM7eNMZHxO+AuETlJVT/2O/9zIAH4qHXSMsaEynXFhKruwJk1XkNEHsF5fprta+F7NPClqi5p6B4icijOJK6LVPUl37nPgW9xhlBfieBbMMYE50Wc9tyviMiTONufDwauBn7EabpljGkDXD9nQkQG48z2nqKqm32njwZWNPKy0b6Pb1af8D3P/Apn1rUxppWp6hqcUciFwG+Bx4FfAs8Dw/z+vRtjXM51cybqE5FXgcOAIb4JW4jIZpzWvCk4v8kUAXer6nO+6w/ijEr0rXev14Euqjqq5d6BMcYY07657jGHPxE5GGfewwS/QuIgIBmnccytwFacSZbPioiq6vNAZxru7b8T6N8SuRtjjDEHClcXE8BVOMWC/8zpbTiPKlao6nrfudm+IuMOnCFSoeE16kKANr8iMgGYABAfH39campqUAl6vV6iooJ/WhRKfHuOdUsebogNJb64uBhVJRJ/P9tarFvycEOsW/JwQ6xb8nBDbKjx3333XYmq9gz65v5U1bUHzlru6UHGXodTQCThTNz6sYGY14E5+7tXenq6BmvevHlBx4Ya355j3ZKHG2JDic/MzNSMjIyI5NHWYt2Shxti3ZKHG2LdkocbYkONB5ZqE39eu3YCpoikAkdQb+WFiKT7OuXF1XtJArAHZ8noKqCPiCTUizkEZ0WHMcYYY8LEtcUEcILvY/215n2BJ4Czq0/4mtxcAHzoq67m4OziN8YvZhBwpO+aMcYYY8LEzXMmhgAlqlpa7/z/gAXAkyLSDWdt+tU4y0VHgrPkTET+DTwtIl1w5l3ch7Oc9LUWyt8YY4w5ILi5mOiFM9myDlX1iMh5OHsE3IWzu+CnwOmqutQv9ArgYeABnBGY2TjttK37pTHGGBNGri0mVHViI9e24DS5aez1u3FWZ0wIc2rGGGOM8ePmORPGGGOMaQOsmDDGGGNMs1gxYYwxxphmsWLCGGOMMc1ixYQxxhhjmsWKCWOMMcY0ixUTxhhjjGkWKyaMMcYY0yxWTBhjjDGmWcTZF8sAiMgYYExKSspV+fn5Qb1m165dJCUlBf01Qolvz7FuycMNsaHET548GY/HQ15eXtjzaGuxbsnDDbFuycMNsW7Jww2xocZnZWUtU9VhQd/cX1P3Lm/PR3p6ehA7vzsiubd8e451Sx5uiA0lPjMzUzMyMiKSR1uLdUseboh1Sx5uiHVLHm6IDTUeWKpN/LlpjzmMMcYY0yxWTBhjjDGmWayYMMYYY0yzWDFhjDHGmGaxYsIYY4wxzWLFhDHGGGOaxYoJY4wxxjSLFRPGGGOMaRYrJowxxhjTLFZMGGOMMaZZrJgwxhhjTLNYMWGMMcaYZrFiwhhjjDHNYsWEMcYY0xiPB+69l+QFC1o7E9cSZ9dRAyAiY4AxKSkpV+Xn5wf1mkjuLd+eY92ShxtiQ4mfPHkyHo+HvLy8sOfR1mLdkocbYt2Shxtiw33v2JISjrj3XrotX07BWWdRcNNNLZ5DU2NDjc/KylqmqsOCvrm/pu5d3p6P9PT0oPd/j+Te8u051i15uCE2lPjMzEzNyMiISB5tLdYtebgh1i15uCE2rPd+803V5GTVxETVf/5T582d2/I5NCM21HhgqTbx56Y95jDGGGP8VVTADTfAOefAQQfBsmVwxRUg0tqZuVaH1k7AGGOMcY1Vq2DcOPj0U7j2WnjwQYiPb+2sXM+KCWOMMQbghRdg4kSIjYXXXoPzzmvtjNoMe8xhjDHmwLZzJ1x6qXMceyx89pkVEiGyYsIYY8wBK+nbb2HoUJg5E6ZOhXnzoH//1k6rzbHHHMYYYw48qvDIIwy96Sbo08cpIn7yk9bOqs2yYsIYY8yBZfNmuPxyeOsttpx8Msmvvw49erR2Vm2aFRPGGGMOHHPnwsUXw5Yt8Le/8eXgwYyyQqLZbM6EMcaY9q+qCnJy4LTToEsX+OgjuOYa6x0RJjYyYYwxpn0rLIRf/xoWL4Yrr4RHH4WOHVs7q3bFigljjDHt18svw/jx4PXCv/7lNKQyYWePOYwxxrQ/ZWVw9dXwq1/BYYc5vSOskIgYKyaMMca0Kx1/+AFOOAGmTYObb4YFC+CQQ1o7rXbNHnMYY4xpH1ThqacYet110K0bvPcenH56a2d1QBBn11EDICJjgDEpKSlX5efnB/WaSO4t355j3ZKHG2JDiZ88eTIej4e8vLyw59HWYt2Shxti3ZJHa8Z22LmTwx56iJ7/+x+bhg5lVU4OVd27uzrnSMeGGp+VlbVMVYcFfXN/Td27vD0f6enpQe//Hsm95dtzrFvycENsKPGZmZmakZERkTzaWqxb8nBDrFvyaLXYBQtUU1NVO3RQffBBnTdnTuvk4bLYUOOBpdrEn5s2Z8IYY0zb5PHAPfdAZiZ06AALF8KNN0KU/WhraTZnwhhjTNuzbp3TyXLePKeHxJNPQufOrZ3VAcuKCWOMMW3Lm286e2vs2QPPPAOXXWadLFuZjQUZY4xpGyoqYPJkGDMG+vWDZcucosIKiVZnIxPGGGPc77vvnKZTy5fD738Pf/4zxMe3dlbGx4oJY4wxrtb73XchLw/i4uD11+Hcc1s7JVOPFRPGGGPcaedOmDiRI2bMgJ/8BGbOdB5vGNexORPGGGPcZ9kyGDoU8vP54fLLYe5cKyRczIoJY4wx7uH1wl//CiedBOXl8MEHFF52GURHt3ZmphFWTBhjjHGHTZvgnHPgD3+An/0MPv8cTjmltbMyQbBiwhhjTOubMwcyMpzHGX/7G7zyCgSxt4ZxBysmjDHGtJ6qKrjtNmd3z65d4aOP4JprrHdEG2OrOYwxxrSOggKnFfaSJXDllfDoo9CxY2tnZZrAigljjDEtrucHH8Ajj4AqvPgiXHhha6dkmsGKCWOMMS2nrAyuv54jp02D4cPhX/+Cgw9u7axMM4mzhbkBEJExwJiUlJSr8vPzg3rNrl27SEpKCvprhBLfnmPdkocbYkOJnzx5Mh6Ph7y8vLDn0dZi3ZKHG2Ldksf+Yjt+/z2D77qLxKIi1lxwAWt/+1u0w/5/p22P/y1aIjbU+KysrGWqOizom/tTVTvqHenp6RqsefPmBR0banx7jnVLHm6IDSU+MzNTMzIyIpJHW4t1Sx5uiHVLHgFjvV7Vxx9XjY9X7d1b9b33Dtz/Fi0YG2o8sFSb+HPTVnMYY4yJnK1b4Ze/hIkTITPT6R1x+umtnZUJMysmjDHGRMbChXDMMfDGG/Dgg/DWW9C7d2tnZSLAigljjDHh5fHAPfc4m3N16ACLFsGNN0KU/chpr2w1hzHGmPBZuxYuvhg++AAuugieeAI6d27trEyEWTFhjDEmLHosXuzMj9izB555Bi67zDpZHiCsmDDGGNM8FRVwyy0c9cgjzhyJF1+Eww5r7axMC7JiwhhjTNN99x2MGwfLl/Pjz39Ov/x8iI9v7axMC7NiwhhjTOhU4fnnnU254uPhjTdY3akT/ayQOCDZ1FpjjDGh2bEDLrkELr8chg1zekeMGdPaWZlW5MpiQkR6iIg2cLzsuy4ikiMiRSJSJiLvi8jh9e4RJyIPi8gGEdkpIi+LyEGt846MMaadWLoUhg519tS46y6YMwf69m3trEwrc+tjjgzfxzOAHX7nS30fbwduAW4GCoApwBwRGayq230xTwLnAn8AdgH3AW+JyHGq6ols+sYY0854vfDww3DrrdCnj7P085RTWjsr4xJuLSaOBjaq6nv1L4hIJ+BGYKqqPuY79yFQCFwJ/FVEDgUuBS5S1Zd8MZ8D3wLnAa+0yLswxpj2YNMmZ5nnO+/Az38O06dD9+6tnZVxEVc+5sApJlYEuHYikAS8UX1CVbcC84EzfadG+z6+6RezCvjKL8YYY8x+dFu2DDIyYN48ePxx+M9/rJAw+3BzMZEoIotEpFxEfhSRm0REgHRfzJp6r/ne71o6sEFVdzcSY4wxJpCqKrjtNo7+4x+hWzf45BP43e+sCZVpkDi7jrqHiEThzHHYjfM4owg4G7gBuBOoAu5Q1fh6r7sHmKiq3UXkKSBTVetPypwBDFbVoQ183QnABICePXseN2vWrKDyjeTe8u051i15uCE2lPjJkyfj8XjIy8sLex5tLdYtebghNtz3jt+wgSPuvpsuK1dS9NOfUnD99XiDWPLZHv9btOXYUOOzsrKWqeqwoG/ur6l7l0fqAKJxHlMMrHf+CZwC4zZgTwOvywVKfH+eBnzdQMxMgtivPT09Pej93yO5t3x7jnVLHm6IDSU+MzNTMzIyIpJHW4t1Sx5uiA3rvWfNUu3SRbVzZ9WXXnLF+7O/F02LDTU+mJ+PgQ7XPeZQVY+qzlXV1fUuvQMk4hQUcSISU+96ElC9kmM70KmB2/vHGGOMqVZWBhMmwNixcPjh8Nlnzp+NCYLrigkROUhEJohIz3qXEnwftwICHFzv+iE4qzUAVgF9RCShkRhjjDEAX3wBxx/vrNK45Rb48EM4uP63WGMCc10xAcQBTwEX1zv/C+A7nGWd5cD51RdEpBuQCczxnZqD87hkjF/MIOBIvxhjjDmwqTpbhB9/PJSWwnvvwX33QUz9gV9jGue6PhOq+oOI/Au4W0S8wNfAr3CKifNVdZeI5AH3+K5/B+TgNLea7rvHGhH5N/C0iHTBGc24D2e56Wst/qaMMcZttmyB8ePh1VfhzDPhueegV6/Wzsq0Ua4rJnyuBP4ETAZScAqKX6hqdW+J2wAvzmqPJGARcJnWdr8EuAJ4GHgAZwRmNjBJrfulMeYA1+WLL+DSS2HDBnjoIbj+eohy40C1aStcWUyo6h6cguG2ANf34rTTvqWRe+zGWeo5IRI5GmNMm+PxwL33cszUqc6ciEWLnI26jGkmVxYTxhhjwuzHH+Hii2H+fDadeiq9X3kFOndu7axMO2HFhDHGtHdvvAFXXAEVFfDss3ydmkpvKyRMGNlDMmOMaQc8DU0HKy+HSZPgvPMgNRWWLXM27LKW2CbMrJgwxpg2TFX5atNXLCldQsXeitoL334LJ50EeXlw3XWwZAkcdljrJWraNSsmjDGmjdpTtYd5BfNYsXEF5d5yPlr7kdM74tln4bjjoLjYecTxyCMQF9fa6Zp2zIoJY4xpg9btXMfbq99m466NNefWblzNd1ec68yPOP54+PxzGDOmkbsYEx42AdMYY9oQr3r5bMNnfFtSd2eA+LXrYNo0lm/cTM+7bqPbbXdBdHQrZWkONFZMGGNMG7GzYicLixeydc/W2pPqhbfeZsC/8qF7d7xTb2fRUcdzhqh9gzctRpxdRw2AiIwBxqSkpFyVn58f1Gsiubd8e451Sx5uiA0lfvLkyXg8HvLy8sKeR1uLdUseLRW7oXwD3+z8ps6qjehduznojTfotGYNWwcNYtN55+JJcPY3TIlPYXDnwa2ac2vEuiUPN8SGGp+VlbVMVZvWxaype5e35yM9PX0/u77XiuTe8u051i15uCE2lPjMzEzNyMiISB5tLdYteUQ6tnJvpS4uXqz5K/LrHvm3av7ILpp/bAfN/+sVOuXFnDrX31v9nu717G2VnFsz1i15uCE21HhgqTbx56aNghljjEtt3bOVhcUL2Vmxs/akZy/8+2X4vzfgoIPg1luhfyp8vbIm5MheR3JUr6MQ6ydhWogVE8YY40JFZUVsXLMRr3prT27eBH/7G6xaDaOznM26YmuXfCbEJHBSv5PondS7FTI2BzIrJowxxkUq9law5MclrNq1isHqN+dhyWJ4ejoIcN0kGH5indclxyZz1sCziOtg/SRMy7NiwhhjXGLjro0s/nExe6r21J6sKIfnX4B582DQQLj2WujZq+ZylERxTJ9jWF+63goJ02qsmDDGmFamqnyx6Qu+2vRV3QtFRfDYY7B+HZx3LvzylxBd+227U1wnTu5/Mt0SurGe9S2ctTG1rJgwxphWtLtyN4uKF1FSVuJ3Vun2yVKYMxs6doTbboMjh9R53cHdDmbYQcPoEGXfxk3rs7+FxhjTSoq3F/Px2o+p9FTWnty9C56aRsrSpXDMMfC730Kn2u3CO0R14Pi+xzOg64CWT9iYAIIqJkSkC3AOkAUMALoApUAR8B7wrqruDHgDY4wxNTxeD5+u/5TVW1bXvfDNN/D3v8G27Ww4/TT6XH45SO0WSt0TujOi/wg6xXVq2YSN2Y9GiwkR6QnkAFf4Yr8GCoH1QDfgeN+1ChF5Cvizqm4McDtjjDngbS/fzsLihWwv31570uuF116D//wHeveCu+5kS3k5ffwKicOTDyejTwZRYvszGvcJ+LdSRC4BvgD6AJcD3VV1mKr+QlUvUdVzVPVYoCuQDQwEvhSRy1ogb2OMaVUzZ85kwIABjB49mgEDBjBz5sz9vmbtnrW8u+bduoXEllLIzYWXX4aTR8C998LBh9RcjusQx6gBozg25VgrJIxrNTYycR5wsqquaewGqrobeB14XUQOB+4FngtfisYY4y4zZ85kwoQJlJWVAVBYWMiECRMAyM7O3ie+0lPJx2s/5pud3zDY69c7YtkyeOpJqNrrzI045Sd1Xtc7qTcn9TuJhJiEyL0ZY8IgYDGhqr8M9Waq+g1wQbMyMsYYl8vJyakpJKqVlZWRk5OzTzFRUlbCwqKFlFX5xVdVQv6/4N13YUAa/H4SpKTUXBYRDu14KFkDsqwltmkTgl7NIc7f6KTqiZYi8isgFfivr4gwxpgDQlFR0X7PqyorN6/ki01foP67M69f5/SOKCyCs86EX/8aOsTUXO4Y25ER/UfwZcmXVkiYNiPY1RxHAW8CLwBTRGQqcDuwF7hHRH6mqnMjlqUxxrhIamoqhYWFDZ4H2FO1h8U/LmbjLmc++oKFC5j10kscWVLKoQISF0fsH2+EY4fWfX2XVI7vezyx0bGRfxPGhFGws3n+DGwC8kWkI/BH4J9APDALyI1MesYY4z65ubkkJibWOZeYmEhubi7rdq7j7dVv1ykkZjz9NGNLSrkaWK1wk8fLAr/HJNFR0ZzQ9wROTj3ZCgnTJkmd4bdAQSLbgQtV9R0RuQD4N87kzCUikgW8qaodI5xrxInIGGBMSkrKVfn5+UG9ZteuXSQlJQX9NUKJb8+xbsnDDbGhxE+ePBmPx0NeXl7Y82hrsa2dx+zZs5k+fTqbNm2iV69eXDn+StKGp1G8p7hO3BsPP8wVu3aTDPwHZ7a6Ap27dGbSpEl0jO7IkC5DSOpQ9+u1pf8Wbop1Sx5uiA01Pisra5mqDgv65v5Udb8HsBU4zffn6cBmv2u/ADYGc5+2cqSnp2uw5s2bF3RsqPHtOdYtebghNpT4zMxMzcjIiEgebS3WLXnMmzdPd5Tv0LdXva35K/Jrj89naP69v9bnh6CPDkEHDUHxP45CP1n7ie717G12Dk3Jub3GuiUPN8SGGg8s1Sb+3Ax2AuYS4I8i0gO4EHgRQESOAe4AFjSpkjHGmDZuQ/kG3ln9Dnu9e2tPbt8OTzwBK1bwZVwsf6uopM7aDw/0lb4MO6hpvwQa4zbBzpm4Dmflxr+AtcBU3/m3gBjgxrBnZowxLlblqWJx8WK+2vFV3ULiixVwy83w9dfwm9+w68rx7I3zmwdRBglrE3jgtgdaPmljIiTYkYlyVT1CRJKBUt9wCMAZwEpV9UQmPWOMcZ8te7awqHgROyv8tiTy7IVZs+D/3oS+fZ2dPvunMhJAYNZLsyj5uoTU+FTuffzeBptbNcXMmZCTA0VFmaSmOs00w3RrY4IW7MjEhyKSraolfoUEqvqFFRLGmAOFqvJNyTe8v+b9uoXEpo0w9U6nkDh1NOTeA/1Tay6fPup0vnrzK+a9OI/CgsJGC4mZM2HAABg9OpMBA5zPG4udMAEKC0FVKCx0Pg+is7cxYRXsyEQMsC2SiRhjjJuV7y3nox8/Yt3OdXXOd/7qK3j7HRDgukkw/MQ61/t27svwvsOJ6xDHSlY2+jWqiwNn1WhtcVDNGYGgZgQiJ6c6tlZZmXPeRidMSwq2mJgKPCEiD+PsHLqpfoCqfhrGvIwxxjUef+5xpv5jKpu3bSa5RzJjLxzLyGHD4Pnn6TfvAxg0CK69Fnr2rHlNlERxbMqxpPdID/rrBCoOrrsO9uypvVZdZNSPrRagQacxERNsMfGk7+NffB/9m1OI7/PocCVljDFu4FUvDzzzAFMfn0plRSUAJSUlvDvtaYbm55O4bRubTx5Bz9/+FqJrv512iuvEyf1PpltCt0bvXzvfwRltaKCpJgClpfueKyuD6GjwNPCgOTV133PGRFKwxURWRLMwxhiX2V25m0XFi/jrC3+tKSQATgeyq6rYs3073HYbm6Oi6OlXSBzS7RCOO+g4OkQ1/u217iMNp5AQgSD6CNbweCAxse4IRWKi8wjEmJYU1ARMVZ1ffQALgW+BhfXOG2NMmzZz5kwGDBhA1vlZDDh9AK+9/xolpSUAdARuAK4AvgJu8iocOaTmtTHRMYzoP4Lh/Ybvt5CAhh9pqDoFhb/EROjRo+F7pKXBtGnORxGt+dzmS5iWFuxqDkTkRBGZDewCfgSOFpEZInJPxLIzxpgWMnPmTK66+ioKqwqhP5RsKWH69OkkdUziMOB+4BjgeeBBIC45uea13RO6c8ahZ5DWNS3orxdoXoPqvsXBo486RYW/6hGI7GwoKIC5c+dTUGCFhGkdwe4aOhp4G/gQyMHZ+AvgS5xdQ7eo6l8jk6IxxkTerVNvZc9BeyCu9lxVRSUXqHIOzqzz24ECIDYulrEXjgUgNSGV0w89nSgJ+ncz53UB5kikpTnFwQcfzGfUqFF1rtVfzWGFg3GLYP/2PwC8pKqnAY/iTLpEVe/H2TF0QiOvNcYYV1u9ZTXFccV1ColuwBTg3MoqSg5L5y89ulMgkJyczPjx4zk181RGDRjFoE6D6hQS1Y9KoqKiGDBgADMDNH3IzQ082tCQ6hEIrxcbgTCuE+wEzCE4IxJQdyUHwDzgprBlZIwxLaTSU8nHaz+meHsxyT2TKSlx5kcMBa7GabDzQlISl9wxlQf9XtcnqQ8n9juRhJgEvuXbmvMzZ85kwoQJlPkmQxQWFjLB1yiifqOq6k9ttMG0B8GOTGwCBge4dgQN9J0wxhg327x7M2+vepvi7c6W4WMvHEvH2BguxdlsqAS4IyaGgy+7tOY1IkJGnwxGDRhFQkzCPvfMycmpKSSqlZWVkZOTs08s2GiDaT9Eg1iHJCJ3AdcDk3DmTqwDTgQ6AzOBf6rqrRHMs0WIyBhgTEpKylX5+flBvSaSe8u351i35OGG2FDiJ0+ejMfjIS8vL+x5tLXYpt5bVSkoK+CH3T+gfgOtsSUl9JiZT7cdO3gb+G/nzvxk9GiGHOWs2IiPimdIlyF0iekSMIfRo0fT0PdUEWHu3Lmu+2/RHmPdkocbYkONz8rKWqaqTWSInSUAACAASURBVNvKNph9ynEaUj0DeAGP7+Ne35//DcQ0dQ90Nx7p6en72fW9ViT3lm/PsW7Jww2xocRnZmZqRkZGRPJoa7FNuXdZZZnO+X6OTnxioiaPSlaOQpNH9dCpk7I0/7hYzT+pk+Y/d6NOeWmK5q/IrzkWFC7Qir0V+80hLS1NcR4F1znS0tKalG8ogomfMUM1LU1VxKtpac7n4czDDbFuycMNsaHGA0u1iT83g5ozoc5mXleIyP3AKKAHsB1YoKqfN6mKMcaYFrS5YjNvr36bOfPnMH36dCorKkkALiwpJX3uPLb17UvX226Dbt3ga2cPjeioaI5LOY5Dux8a1NfIzc2tM2cCIDExkVwXdJFqbN8Pe7ximiuoORMicruIHKSq36rqU6p6r6r+XVU/F5E0EXks0okaY0xTeNXLp+s/ZcX2FVTsrWDWS7OorKjkEOBenOe1LwJ3VJQ7hYRP1/iunHHoGUEXEuBMspw2bRppaWmICGlpaUybNi1s2403R2ObghnTXAFHJkSke/UfgTuARSJS3kDoT4GrcOZTGGOMa+ys2MnC4oVs3bO15lxpSQk/Ay4EtgJ3AaugzgYY/RL68dNDf0p0VOhbDmVnZ7uieKgvUJMs2xTMhENjjzlm4hQK1d5tJLaxa8YY0+J+2PoDS9ctZa93b+3J7duZEhPDEVVVfAQ8DVT/sp7cI5nY6FiG9xvO6tLVTSok3CxQkyzbFMyEQ2OPOcYDvwGuxBmdyPV97n9cBpwH/CKyaRpjTK3qxlCjR4/epzFUlaeKxcWLWfLjkjqFRMc1a+CWm0n3enk2OppHqS0kYuNiGX/ReM4adBb9Ovdr2TfTQkJtkmVMKAKOTKjqWuA5ABFR4L+qWtJSiRljTEMaawx11gVnsbBoIbsqd9W+wLMXZs0i7f/ehH79iM7JYWBhIZ++NIuS0hKSeyTzh0v+wM1X3IzU32Wrjaq/tbl/MyznvJKaKtYky4RNsKs5nhORDiJyMXAq0AdnjsRIYJmqrohgjsYYUyNQY6ib/nwTHTI64FVv7YVNG9l533102riJOcBbe8r4eWEhI08eyciTR5IQk8CI/iPo1bFXy76JCGpoa3P/VRvZ2Q3v+2FMcwS7mqMHsASn18RQnLkUnYALcCZmDo9YhsaYA1ZD+1wU1Z8x2AEYAOt0Xd1CYvEi9t50E1EbN/EI8A9gfekWpk+fzoKFC+jbuS9nDTyrXRUSYKs2TOsItp32w0AXYCBwHL6NvoBfAh/hrLAyxpiwqX6cUVhYiKrWPM7o3r17bVBHnO9KSc4ESgAqymHaU5D3N4pUuQX42O++leWVvPb4a/wk7SfEdfDb2audiOSqjZkzYcAAiIpyPgbYw8wcgIItJsYAOapaiN9GX6paAfwFp8AwxpiwCfQ4AyAhMQF6AwcDHfy2BC8qgpwpMH8+nH8+t1ftpdT/BpXAGlj/5foWehctL9DqjOau2qh+fFJYCKq1j0+soDAQfDERDTTUYwKcQcb2MWvJGNMqGlqdsc/jDJ/SnaVMemQSyUckQ/WW4FeOZ2RZGfxpijOmf1sOjB1L9+Tk2hduBVYD5ZDajtdDRmrVhj0+MY0JdgvyucAdIvIhsMN3TkUkBrgOmB+J5Iwx7V+g1Rndu3entLS0bnAXSM5IJuPEDB478TFWfr2Swf37w7RpsHQZHHMM/O630Kkz4OwEOv2p6VT+UOlsAIB72ltHSqS2NremV6YxwRYTfwAWAmuAxTiPOu4GDge64qzqMMaYkAV6nJGQkEBiYqJzTYCDILZPLGN/PbYmLrGwEP7+OGzfDpdcDGedhf9A6bmnncvQjkO5+093U7SjiNTUVHJzc13ZoTKcqldthJM1vTKNCeoxh6quAY4GngK64xQVvYH/A45V1W8ilqExpl0L9Dhjy5YtTJs2jf6D+sNASB6UzPjx4xl58kjweuA/L5P2wgyIjYG77oSzzsa/kDg8+XBOP/R0rrzkSgoKCpg7dy4FBQXtvpCIFGt6ZRojzq6jBkBExgBjUlJSrsrPzw/qNZHcW749x7olDzfEhhI/efJkPB4PeXl5Yc+jtWLHjRvHxo0b9znfu3dvHvrnQ6zatQovtUs+O2zfQd/XXqVjUTGlg49g8znn4I2rXZURGxXL4E6D6RHXI2I5uy02EveePbsX06cfwqZNcfTqVcH48d8D7HPutNM2RSyHpsS6JQ83xIYan5WVtUxVhwV9c3/B7lUODMdpVHV7A8efmroHuhuP9PT0oPZ+V43s3vLtOdYtebghNpT4zMxMzcjIiEgerRU7Y8YMTUxMVJzHpwpoQlKC/unpP2n+ivy6xzM3aP6JHTX/uDjNf/x3OuWlKXWuz/1+ru6p2uOq99cSseG+94wZqomJqs66DedITHTOt1QOTY11Sx5uiA01HliqTfy5GdScCRG5BWdvDi+wq4GQ6jkUxhgTkurHDjk5ORQVFdF3UF9+dcOvOGL4EbVBVZXOGsT33oeDB8DvJ0GfPvD1SgBEhKN7H80RyUe0m5bYramxlRv2lMg0JNgJmJOAGcBVqloZwXyMMQeg7OxsLrroIp5961kS0hKqR0Md69bBY49CUTGcfRaMGwcdYmouJ8UmMaL/CHok9mjgzqYpbOWGCVWwxUQCMMMKCWNMJOyp2sOi4kV8v/t7Butg31mFD+bDc89CbBzc9Ec45tg6r+sV14szB55JTHTMPvc0TWcrN0yogi0mXgAuAt6PYC7GmAPQ2h1r+WjtR1Tsrag9WVYG//gHLF4MRw6GiddAt241l6Ojojku5TiKS4utkIiA3Ny6m4WBrdwwjQu2mLgFWC4i3wGfAvWepqGqemVYMzPGtGte9bJ8/XK+K/2u7oU1qyEvD0pK4MKxMOZcZzMIn67xXTk59WQ6x3WmmOIWzvrAYNuVm1AFW0w8CAwC1gOHNXDd1pcaY4K2o2IHi4oXsXXP1tqT6qXHokXwwQfQrTvcfgekp9d53aAegzi2z7FER0W3bMIHoEhtVz5zZnWRkhm27pym9QVbTFwM3KGqtmLDGNMsP2z9gaXrlrLXu7f25PZt8Pjj9P7iSxh+Alx1FSR2rLkcGx3L8H7D6de5XytkbJqqtnBw5lucfTY891z14xOp2SwMrKBo64ItJipw2mkbY0yTVHmqWLpuKQXbCupe+GKF0xJ7zx7WnX0WB118Mf6dLHt27MmI/iNIjKnXftG4WvUuo9XzLgoL4cknna4V/mzJafsQ7K6h/wSuE5HYSCZjjGmftuzZwjur36lbSOzdC/n5cN/90Lkz5N7DtuOOo7qQEBGG9BrCqQefGlQhUb3zaFRUVM3Oo2b/Zs6EAQOcaSkDBjRtS/Hqe4wenVlzj4Z6VQRquGxLTtu+YIuJOGAUsF5E5onIG/WO18OZlIhEi8gNIvK1iOwWkZUicq34utGIyDAR0QaOh/zuESciD4vIBhHZKSIvi8hB4czTGNM4VaWorIj317zPrkq/fnebNsKdd8Kbb8Kpp8I9d0O//jWXE2ISGH3waI7qfVRQTaiqdx4tLCxEVWt2HrWConHVoweFhc4P+urHDqH8Z6t7j9pHFw0tLQ0kNTU8RY1pPcE+5jgGZxVHtU4RyMXfn3BWkNwNLAFOAR4BEoE/42w6ths4rd7r1vn9+UngXJwdT3cB9wFvichxquqJaPbGGMr3lrPkxyWs2rXKr3cEsHgRTP8HRAlMngwnnFDndX0792V43+HEdYgjWIF2Hs3JybGNvRoRjk6Xge4RHQ2eBr7TitQdoUhMdOZS1H8kYnMp2pagiglVzYp0ItVEJAq4AXhQVatXNc8RkZ7AjdQWE1+q6pIA9zgUuBS4SFVf8p37HPgWOA94JbLvwpgD28ZdG1lUvIjyveW1JyvK4dnnYP58SB8E114LyT1rLkdJFOlJ6fwk7Schf71AO48GOm8c4eh0GSjW43EKhfq9Ki67DN56q+6SU2vf3fYFLCZE5BJVfSHUG4rI5ar6bDNy6gI8z74/8L8FeopIR5xiYkUj9xjt+/hm9QlVXSUiXwFnNnBvY0wYeNXLFxu/YOXmlSxYuIBZL82ipLSEjC5d+T2QuH0bnH8+/PIX4Le8s3NcZ0b0H8HnJZ836eumpqZS2MC4eqq1bGxUODpdBrpHWho1hUL1ag7/ZaD+S04vuaThe1st2HY0NmfiXBFZLiLjRKTR2U8i0lFEfiMiK4AxzUlIVbeq6rWqurzepTHAj6q6GzgK6C8in4lIpYisFpHL/GLTgQ2+WH/f+64ZY5qgepLj6NGj95nkuKtyF3O+n1NTSEyfPp2SkhJ+qnDDtm1UbN/GF+eeC2PH1ikkDul2CGcMPINuCd0a+pJByc3NJTGx7repxMREcq1lY6Nyc53RAn+hdrps7B7Z2VBQAF6v8zHQKEOg4sVqwbYj4MiEqv5KRC4A7gemi8j7OPMminE6YHYB+gEn+Y71wO2q+mK4kxSR8TjzIyb5JlEm4zTRuhXYCvwaeFZEVFWfBzoDOxu41U6gfwPnjTH7UT3JsXpuQvUkR4BTzjmFj9d+TJWnCoBZL80ipqKSa4FhON84nlKIW7iIxy4cB0BMdAzHH3Q8aV3Tmp1b/Z1HU1NTyc3NtfkS+1G30+W+oweh36Np3TIDte8++2xnMqY1uHI/0UBrdaoDnKnU5wPjgCycH+TVNgNzcB4bvKKq3rAnKJINPAe8CozF2XTsFGCFqq73i3sbSFfVQ0VkGnCKqh5R714zgcNUdVgDX2cCMAGgZ8+ex82aNSuo/Hbt2kVSUlLQ7yeU+PYc65Y83BAbSvzkyZPxeDzk5eWFPY/9xY4bN46NGzfWPSnQfUh3Jk6ZWOf0f+6+h4k4v3HkA+/4xU+ZMoVOHTpxVJejSIhOaHK+oca351i35NGc2NmzezF9+iFs2hRHr14VnHhiCe+8k0JFRe0oVlychxtv/JbTTtvkipzdHhtqfFZW1rKGfj4GRVVDOnBWVKQAsaG+tglf63rAC7y2v68HXIfT1jsJp/33jw3EvA7M2d/XTU9P12DNmzcv6NhQ49tzrFvycENsKPGZmZmakZERkTz2Fysi6vs35hzxKINQjkLzV+Q7x2cvaP7tF+iMIehfhqBpQ1D8juRRybp8/XL1eD3NzjfU+PYc65Y8whmblqbqrPuoe6SltWwebTk21HhgqTbx53WwfSb8i48yVV2vEd6OXETuBf6Ks2PpL6u/noiki8hvRaT+urEEYA/OktFVQB8RSagXcwjORE5jzH7UbwLVvXv32ovdgUOBOEju4RusLC2Fe+6BV15h82GHcWdsDP7z8mKjY7nj8js4ps8xREnI33rMASYcK01My3Hlv2gRuQ5nPsSjwOWq6tfEn77AE8DZfvECXAB86Kuu5gDR+E0GFZFBwJG+a8aYRjTUBGrHjh3ExMdAKnAQIBAbF8vYC8fCsqVwyy3OLLuJE+l9xx1cfNVVJCcng0Dvjr158g9Pcu1l17byOzNthU3KbFuCbVrVYkQkBXgA+AJ4ERherwPeImAB8KSIdMOZ+Hk1znLRkQCqukZE/g08LSJdcCZp3oeznPS1FnorxrRZDTWBqoqpotPgTnRJ6kJJaQnJPZIZ94sLGLFqFbz3Phx8MPz+99CnDwAjTx7JKSNPoaKwgkvPvjSoTpbGVAs0KdMW6LiT64oJ4Ayc9t1HAYsbuN4Tp/HUvcBdQA+cyeKnq+pSv7grgIdxCpMoYDYwSa37pTH7tU+zp17OsbNiJ0/98ylWfr2SwV26wGOPQVGxM+1+3DjoUPstJSk2iRH9R/BFyRdWSJiQhWOViGk5rism1Gl49WwQob/dz31246zOmND8rIw5sNQ0geqAs5jatxu4Mz9C6bp8Obz/PsTGwU1/ZMHu3cy64YaaEYuJ2ROZcsUUYqJjWvFdmLYuO9s5/BtcGXcKes6EiHQQkYtF5BkReVtEBonIFSJydCQTNMa0vNzcXOJ7xTvdXHyFRGxcLBedfz7k5XHQm/+FgQPh/vtZsHt3TYMqvFDyeQkPXfcQs14Mbnm1MW5hm401XVDFhIj0wNlw6xlgKPBTnM2+LgAWicjwiGVojGlRXvVyeNbh/ObO35Dc25lAmZyczPVjxnDiG6/DRx+xMWsU3HobdOvGrJdmUVlRCeXAamBr7SZbxrQV4dhB9UAW7MjEwzj9ZwYCxwHVD0B/CXyEM3/BGOMSjbW9bsyOih28t+Y9viv9jpEnj+Sxxx4jf8YMHjv9NDJefRW8CnfcQenIkc6vb0BJaQlsAdYAFbX3sk22TFvS2GZjZv+CnTMxBrhaVQtFpKYdmapWiMhfcJrcGWNcoLG21421l163Zx2bV29mr9dvJfb2bfD44/DFlzB8OFw1HhI7wtcrAad3RN+9fVm7bu0+97NNtkxbYn0tmifYkYlonEHMhnSgdqTCGNPKGlrW2dhjhypPFYuKF/H1zq/rFhIrPoebb4Fvv4Xx4+G6SU4h4dOzY0/OGnQWD+Q8ENImW/WbYQU7amJMJFlfi+YJtpiYC9zh6+tQTUUkBqeN9fywZ2aMaZJAjxcaOr9lzxbeWf0Ohdv8elXu3Qv5M+H+B6BLZ7gnF0aPpvp3BhHh4MSDOfXgU0mMSSQ7O5tp06aRlpaGiJCWlsa0adMaHAVpqBnWhAkTrKAwIYnERMlw7KB6IAv2MccfgIU4T0UX4/Tmvxs4HOiKr1mUMab11SzrbOB8NVXl29Jv+WzDZ9X71jg2boS/5cGa7+H00yD7YoiNrbmcEJPAiP4jWFmysk7viOzs7KB26Gxs1MR2+DTBqJ4oWf3XqHqiJDSvB0U4dlA9kAU1MqGqa3A6TD6F05V/DdAb+D/gWFX9JmIZGmNCkpub2+hjh/K95cwvnM/y9cvrFBKdv/gSbrsVNmyA6yfDFb+pU0j069yPswaeRa+OvZqcWyijJsY0pLGJktUjFqNHZzZpxCI72+kI7/U6H62QCF7QTatUdRPOfhnGGBer/g0/JyeHoqIiUlNTyc3NJTs7mw27NrC4eDHle/2mQJWXw3PP0m/+/+CwdLjmGkjuWXM5SqI4NuVY0nukNzu3YEZNjGlMoLqzeoTCKTQkbCMWJjhSZ4jT/4LIBaHcSFVfCUtGrUhExgBjUlJSrsrPD26BSiT3lm/PsW7Jww2xocRPnjwZj8dDXl5eSPf1qpfvd39PYVndH+TxGzbQ95VXiN2yhQ0nnsi20aPRqNoBy8ToRI7qchRJHZIavG8oOQDMnj2bhx56iIqK2jWkcXFx3HjjjZx22mn2d6iJsW7JoyVix407kY0b4/eJiYry4vXuO9jeu3c5L764ZJ/zs2f3Yvr0Q9i0KY5evSoYP/57TjttU0Rybq3YUOOzsrKWqeqwoG/uL9De5IC33uHxHQ2d8zR1D3Q3Hunp6fvf+N0nknvLt+dYt+ThhthQ4jMzMzUjIyOk++6s2Knvrn5X81fk+x0zNf/BSzX/mGjNP6Wr5r+Yo1NemlInZknxEq3yVDUr34ZiZ8yYoWlpaSoimpaWpjNmzGjSfZubR3uKdUseLRE7Y4ZqYqKq01rKOep/7n+I7Hu/QPfw+6sY1pxbKzbUeGCpNvHnZmNzJg72O34B7ARuBAYA8ThbgV8NbALOb1IlY4yJqI3lG3ln9TuUlpXWnty5Ex76Czz3PBx9tLNqY/CRNZdjomMY0X8Ew/sNp0NU+Lfvyc7OpqCgAK/XS0FBgU28NCHJzoZp0yAtDUScj9WfN6ShJ2jWoCr8An6nUNWa8VAReQO4Q1Uf9QtZD0wXkQ7AgziTMY0xIZg5s3r2eGZYZ4/v9e7l0/Wf8uWOLxnsGVx74euv4e9/gx074NJL4MwzWbBwIbNemkVJaQm9knpx7+/uJW1wgO/MxrhA9QZg9QW7Zbk1qAq/YH/tGAh8G+BaMdAvPOkYc+Cou8QtfBPGtpVvY2HRQnZU7Kg96fVQ9Oij9PtkKRuBF7p2ZUSnTrBwIdOnT3f21iiBTV9uYtLnk4iPircRA9OmhLJleWqqM2GzofOmaYJtWrUcuF5E4vxPikhnIAdYFO7EjGnvIjHUuqp0Fe+ufrduIVFayvabbiL1k6V8CNwGfLZtG9OnT+f5556ncnclFAAbALVNukzbVb20c+7c+TVLOxtqcGUNqsIv2GLiD8AI4EcReVlEnhSRV4BCnFGL6yKVoDHtVTiHWis9lXxY+CFL1y3Fq96a852++RZuuYW49ev5O06jmOp1FJUVlezasMvZ6XNX/RxsvNe0fYF2AgX/eRdaM+/CBuOaLqjHHKr6kYgcBUzCKSqOAkqBx4FHVHVz5FI0pn0K11Dr5t2bWVS8iLIqv2GOykqYOZP+778PBx/MrT/8wMb6L9wAlATKzcZ7TdvX2Ohf9cjFBx/MZ9SoUa2RXrsSStOqAuCGyKVizIElNzf4CWMNUVW+2vwVX276sm5L7HVr4dHHoLiY0uHD6XHNNXhuuAFKfJVDJc5Mpz3Qo0cP9uzZU6fFdWObdBnTlthEy5YTVDEhIrfvL0ZV72p+OsYcOEKZMAbOJllLliyhoqKC1ENTyb4lm6NPPNovQmHePHjuOYiPh5tvYmNsLD06dGDshWOdiZabKmEt4HWKhkcffdSXw77dMo1p62yiZcsJdmTi+gbOdfS9fhvOU1crJowJUfUSt/0NtVbvtllRUQGdoDiumL8+9VfGe8Yz8uSRzvDG9OmwZAkMORImToSu3eDrlQBknpLJwPiBPDr1UYq0iNS0ukVDdnY2H3zwgQ33mnaluaN/JnjBzpno1tB5ETkJeA6w/zXGRFBOTg5le8ogBejhnKusqGTWS7MY2bs35OVBaSmMuxDGjAGpnVvdNb4rJ6eeTOcjO3P95Q39XmBM+2Q7gbacYFdzNEhVFwN3APeFJx1j2qeGlqeFonBDIRxKTSFRbURJCUyd6nwydSqce16dQqJfQj9+euhP6RzXuenJG9OG2U6gLSMcvXK347TcNsY0oG5zKkJuTvX91u9JPjGZktLapRddgIk4y6o4YTiMvxISO9Zcj42OZXi/4awuXU10VHS43ooxxjQoqJEJERnawDFMRM7FGZVYEdk0jWm7mtqcqspTxaLiRXz040eMHTeW2LhYwJmsdD+QDqzKGgWTfl+nkOjVsRdnDTqLfp2tMa0x4VA9sjh6dGaTRhYPBMGOTCwFGtqrXHDmhv8qbBkZ00bU7qvR+LPYpixP27JnCwuLFrKr0ukmNfLkkUR5vLw87Sm6eZXd0dGsHjuW48aMqXmNiDCk1xCO7HkkItKct2aM8YlU2/v2RuqsTw8UJJLZwGkFdgArVP1a7rVhIjIGGJOSknJVfn5+UK+J5N7y7TnWLXk0NXb27F489NBhVFTUPkKIi/Nw443fctppm+rEjht3Ihs3xu9zv969y3nxxSV17q2qFJUVsWb3GtSvfo/dsoW+r77KQ+vWU5nUkYuuvRaNian92lFxHNn5SLrF1p0r7bb/buGMdUseboh1Sx5uiA33vYP59xvpHJoaG2p8VlbWMlUdFvTN/QWzTzlwKdAjwLU+wI1N3QPdjUd6enowW7+ramT3lm/PsW7Jo6mxaWmqToPeukda2r6xM2aoJibWjUtMdM7733tP1R6d98M8zV+RX/d4YqLmHx+v+cMT9Ygz+2nqz1LrXP9fwf+0vKo8rO+vLcS6JQ83xLolDzfEhvveIg3/WxdpuRyaGhtqPLBUm/hzM9jVHM8AhwS4dgJwT5MqGWOaoLkrI8Ih0COKwsJ9n61mZ/vvA0CD+wBsqdzC26veZv3O9bUny8vhySfg7487z1Huvx86daq5HCVRDDtoGKeknUJchzp78BljwiRQgytrfFVXwGJCROaIyA4R2YEzN2Je9ef+B/AK8HlLJWwObIE27mnpgiLQNxKR6tykTm6Blqd51cvnGz5n+bbllO8tr71RYQHk3AYffggX/Bz+9CfokVxzuXNcZ84YeAYfv/MxAwYMICoqigEDBjDTZoYZE1a2w2hwGhuZ+D3wF+Cvvs//5fvc//gzMBn4WQRzNAeAYEcbIrFtd1M09A1GxClw/DWW267KXcz+fjYrN6/0O6vw7jtO8VBeDlOmwC9/BX7LO+N2x3HGwDP473/+y4QJEygsLERVKSwsZMKECVZQGBNGdUcWbYfRQAKu5lDVlcCdACKiwNOquq6lEjMHjlD6MLTGxj21qzYy91m14b+ao6E9AALlVrS9iI/XfkyVp6r25M6d8NST8OlyGDoUrr66zmONmOgYOm/vTPnWcjpEdXC6YtarrMrKysjJybG9NYwJo2Db3h/IGnvMMVREEnyf/h/QJ0C/iaEiMrRl0jXtUSijDeF6fhnsuvG6j1Uaf3SRlrb/3PZ69/Lx2o9ZWLSwTiGRWFAIt9wMK1bw/SmXMqnoD1z0205MmgQLFkKPxB6cOfBM4itqZ5UXBaigAp03xphIaewxx1J8DfZ8f/4kwFF9zZgmCWW0IRzPLxsrEOoLpdDZX27byrfx7up3WbNlTW2A1wP/nkXajBcgPp7lF9zNXR+fSUmJgDq7hv/zgSPYuPg0kmLrLu9KDVBBBTpvjDGR0lgxkQWs9Pvz6ABH9TVjmqSx0Yb6Iwiw/5UR+xNKgRBKodPYs9VVpat4d/W77KjYUfuC0hK4+2549TW2HX005N7LM3MHUFnhu743HgqyKC84hj9N2fefam5uLon1qpfExERybWaYMaaFBSwmVHW+qu7yfZoGfOk7V+cAvgWOb4lkTfsU6Df6s89ueAQBmrdxT2MFQv2JoN27NxwbqACqfvQxd+58CgrgV+Mq+bDwQ5auW4rXv7fbJx/DLbc4X/Taa1h/7rkQH09Jqe/6rj6w+iznY4Ccs7OzmTZtGmlpaYgIaWlpTJs2zeZLGGNanPWZMK0uUB+Gt96KzMqNQIVA9+77LjvdsQNiY+vGBftYZdPuTby96m1+3PFj7cnKSnjmn/DwTu2bGQAAIABJREFUI9C7N9x7H4w4ueZycg+BDcdAwShnZGI/OWdnZ1NQUIDX66WgoMAKCWNMq7A+E6bFNTT5saE+DJFauRFoJAT2LV6qqpwFFaEsC1NVftj9A3N/mEtZld8N1/7oLPl8fzac8zOYeqdTUPgkxSZx9xWnk1h2BM4/udrc7MmFMcbNGtvo6/c4G3gJcDtOn4kf68V4gG3AixHJzrQ7oWyaE2i5ZXPnF9Zd1qmkpgq5uXDJJQ3Hb9niTIQMZllYWVUZi4sX8/3u7xmsg31nFebOg+efg/gEuPlmyMio87recb05c+CZxBwWQ6fo4DYQM8YYt7A+EyYkwe6UGUhjkx/r3yc3t27/CQjfb+kNrRvPyWle8bJ2x1qW/LiESk9l7cmy3fD0dPjoIxgyBK6ZCF261lyOjopm2EHDKCotIiY6pk5uxhjTVjT2mKN79QHkAeX+5+ofLZeyaS2htrJuqKtluFZHREJTl516vB6WrVvG/wr/V7eQWPUd3HorLP0Efj0Obr2lTiHRNb4rZw48k0O6BZqOZIwxbUNjjzlKAG3kuj/dz71MOxDKqEKgrpbdu0NpKftobHVES3Wea6ir5f5GXnZU7GBh0UK2lW+rPaleeixYCPM/gB494I47YOCgOq9L75HOMX2OIdqvTbYxxrRVjRUAvyG4YiINuCI86ZjWEOyji1BGFQIVHgkJzm/7kXh0EQ6hPGL4fuv3LF23FI/XU3ty21Z4/HF6f/kVnHgijL8SEjvWXI6NjuXEfifSt3PfMGdujDGtR7T+zkTBvEikA3AeMB443XefNv8rloiMAcakpKRclZ+fH9Rrdu3aRVJS0v4DmxDfErH/396dx0lRXvsf/xz2TSAu6CCLYhy3XMYorqgjStxxS+LV3GhIrlsUFf1p/MVLriaaxBgTlzEucUsijibem2gSFaOAcQFRUMQNhagIKpsCMiAgM+f+8dRATdMzdE93T1f3fN+vV72aqTpVc56uGfpM1VPP89RT/bj++l1YuzY2kVTXei699G1GjlzcJPbUU/dn0aJumxxv223X8OCDLzSJPeywatxtk1gz54or3uKuu4aweHFX+vVby5lnvsvIkYsL0r5CxK5vWM/slbNZtHZRk+295v6L/n99hA7r1jF/xGGs2nef8KxrpG/nvuzRew+6ddz0Pcw0j7Fjx1JfX09NTU1WOZdjbFLySEJsUvJIQmxS8khCbLbxI0aMmOHuwzI+eJy7Z7wAuwC/BBYRnuT4CLgBGJbNcZK+VFZWeqYmT56ccWy28W0RO3iwe+gB0XQZPHjT2PHj3Xv0aBrXo0dYn+1x26p948eH72kWXhtzbe1xl65a6n+d/VevnVW7cXn5D157+TFe+xW89uiBXvv4dT7uj+M2bH/gtQf8tUWveUNDQ87tq66u9qqqqqxyLtfYpOSRhNik5JGE2KTkkYTYbOOB6d7Kz83N9nOIJvs6hXAV4kDgc6A7MAa4wz0+rJ+Ummw7REJmt0QK+SRGc1Jn9zzmGPj97zObjXRz3J15q+ax8N2FjYV1sGgh1NTAu+/B174WDtylC3wWRqLv0bkHBww8gH49++WhhSIiydTS0xx7m9ltwELgbmA1cAZQSRh74g0VEqUv21k40w0u1VxcrnNoZCPd5F23356fETTXrF/D0+8/zdxVc5sWEs8/B1dcAYsWw8UXw3e/22S4zAG9B3D0zkerkBCRstfScNovAQcRBqwa6O5Huvv9wKo2yUzaRL5m4Uw3nXemhUc+pOvw2Vx3oGxG0FxYt5DH5zzOwrqFG1euWQO33wa/uRUGDYZrfw77bJyepoN1YJdeu3Dw4IPp0rFLmqOKiJSXlm5zzCJMQX4GsI2Z3e/ub7VNWlIIqbcB4rcoWjsQVTYjWhZSNgVCJoNQNXgDsxbN4q0lKT/y778PNTfDwkVw8slw8kkQe7yzd9feDB80nJlLZ2aekIhIiWtpBMw9zewrwHcIj37+0MxeIczF4WQ+BoUkwOY+9Fv7wZ/N2BOF1NzQ22ZNr1BkctWlbl0dU+ZP4ZPV8QExnC2nTYNJk6B3bxg3Dnbbrcl+O225E3tV7EWnDhpyRUTalxZnDXX31939MmAgcCzwDnAFoc/EdWb2fTPbtqVjSDK09KGfi0JNxpWt5m7XnHtudv025i2fx4S5E5oWEis/g1/+ku3+8SQMrYKfX9ukkOjcsTPDBw1n3+33VSEhIu1SRv/zRR0tJwATzKwX4emO04FbgJvN7Dl3H1G4NCVXhfrQL9RkXNlqbvKuTK+OrG9Yz4yPZvDusnebbnjzDbjlN1C3koVHHsl23zmD+IyeW/XYigMHHkivLpk/9y0iUm5avDKRjrvXufs9UfGwA2EysO3ynZjkV7ZPbWQqHx0486Wxw+ekSf/MqsPn8jXLeWLuE00LiYZ6eOhPUQO7w9VX8+m++xAvJHbfZndGDhmpQkJE2r2si4k4d5/v7te4+26bj5ZiKtSHfltPxpVv81fP54m5T/DZ2s82rvxkKVx9NfzlYTjkELjmpzB4hw2bu3XqxogdR1C1XRUdLKdfIRGRsqAbvO1ErrcBNnfstpqMK1/Wrl/Lix++yDt177C7775xw0svhmqooQHGnA8HDm+yX8UWFew/YH+6ddp0SGwRkfZKxUQ7Uoof+oWweNVips6fyuovYj1S162D8ffBUxNhyI5wwYWw7ca+xWbGzr12pnpwNWabzjkiItKeqZiQdsPdeWPJG7y++PWmI1kuWBDGjpi/AI47Fk75d+i08VejV5deDB80nFlLZ6mQEBFJQ8WEtAurv1jN1PlTWbwqPjup03fGy/DUk9CtO1x+OVRVNdlvcN/B7NN/Hzp37Ny2CYuIlBAVE1L2Fny2gGkLprGuft3GlatXwZ130X/aNPjKV+D886BP3w2bO3boyLD+wxjypSFFyFhEpLSYNzeBQTtkZqOAURUVFWfV1tZmtE8h55YvZuxTT/XjrruGsHhxV/r1W8uZZ77LyJGLW9wnae9Fvdczt24uCz5f0GR79wUL2P7Pf6bTypV8fNBBrDj4EOiw8fbFFp22YI/ee9CzU882yTeb+LFjx1JfX09NTU3e8yi12KTkkYTYpOSRhNik5JGE2GzjR4wYMcPdh2V88LjWzl1ezktlZWVz071vopBzyxcrdvx49x493MNA1GHp0SOsz1cO2cZnG7tizQp/7J3HvHZW7cZl5nivvfoUrx1qXjtia6/980983B/HNYmZ/uF0X1+/vk3zzSa+urraq6qqCpJHqcUmJY8kxCYljyTEJiWPJMRmGw9M91Z+buo2h2wiKfNttNaHn3/I4rmLqW+o37hy2TK49TfwxptwwP7wn2eGgTbeehOArp26st/2+7F97+2LlLWISOlSMSGbSMp8G9n6ov4LXvzwRWavnM3uDbGxI2a+ArffHqYOP/ssOPRQ4iNZ9uvZjwMGHkCPzj02OaaIiGyeignZRFLm28jGJ6s/Ycr8KdStq9u4cv16ePBBeOwxGDQQLrwQ+m+88mBmDOk5hMN2PEyPfIqI5EDFhGzipz+NT1ceFGu+jc1xd95a+hazFs1qOnbEwoVQUwPvvQdHfC3cn+ncZcPmHp17cODAA3lj6RsqJEREcqRiQjZRyKG382nN+jVMnT+VhXULm6zv89prMGECdOwEl1wCw5p2Th7QewD7DdiPLh27ICIiuVMxIWmVwtDb85bPa1pIrFkD997L9s8+C7vuAuePga222rC5g3Vgr4q92HmrnYuQrYhI+VIxISWrcqtKPlr5USgo3n8Pbq6BRYtYcsjBbHP22dCh44bY3l17M3zQcPp269vCEUVEpDVUTEjJMjMOGLA/j994Pmtq/wC9e8O4cSzB2SZWSOy05U7sXbE3HWPrREQkf1RMSOlasoRu3/0u+//zUZ4+eS849xzotcWGsSM6d+zMvtvvy6A+CX4MRUSkDHQodgKFZmZnmdkcM/vczKaa2QHFzknyYPLkMCnXk09S8bOb2fXnd4ZCIrJ1j605+stHq5AQEWkDZV1MmNkZwO3AeODrwHLgCTPbsaiJSeutXw/jxsHhh4fbGtOmwQUXUFWxJ1t23xKAwT0Gc/iQw+nZpedmDiYiIvlQtrc5LAwe8BPgt+7+42jdk8DbwMXAhUVMT1pj3jz41rdgyhT47nfDOBI9Q8HQwTowfNBw6tbVMfuT2XSwsq6TRUQSpWyLCeDLwGDgr40r3P0LM3sUOKpoWUmrbP3MM3DSSVBfD7W1cNppm8T06tKLXl16MZvZRchQRKT9KudiojJ6nZuy/l1gJzPr6O71pDF//vyMx1ZYvnw5fftm/rhhNvHlHJtxfEMDzJ0LH38MW2wBu+0Gd9wRljbOuejvBTBz5kzWr19fkJ/PUotNSh5JiE1KHkmITUoeSYhtTXxrWZMhiMuImZ0G1AIV7r4wtv5M4E6gj7t/Flt/NnA2QOfOnffefffdyUR9fT0dO2b+yGE28eUcm0l8xzVr6DFvHh3XrOHzrbdmbf/+kMHQ10loX6F+LubOnYu7s/POmQ28lYT2JeF9K/fYpOSRhNik5JGE2GzjX3311RnuPmzzkWm0du7ypC/AtwAHtk1Zf1a0vldz+1ZWVmY8/3sh55Yv59gW4xsa3O+4w717d/d+/dwnTEhEzkV5L1JUV1d7VVVVQfIotdik5JGE2KTkkYTYpOSRhNhs44Hp3srP3HLupbYiet0iZX0voAFY1bbpSEaWLYNTToFzzoGDDoJXX4Ujjyx2ViIi0oJyLibmRK9DUtYPAd6OqjBJkilTYM894eGH4Re/CJN1bbddsbMSEZHNKPdiYj5wYuMKM+sMHAtMLFZSkkZ9PfzsZ3DIIdCxIzz3HPzgB9ChnH88RUTKR9k+zeHubmbXAreY2TLgeWAMsDVwQ1GTk40++ghOPx0mTYJTT4Xbb4c+fYqdlYiIZKFsiwkAd7/VzLoDFxEGqpoJHOnu7xY3MwHYcupU+OY3YfVquPvuMBBVBk9riIhIspR1MQHg7r8CflXsPCRm7Vr44Q8ZesMNMHQoPPhgGD9CRERKUtkXE5Iwc+aE2xkvv8yCk05iQG0tdOtW7KxERCQHKiak7dx3H5x3HnTpAg8/zNw+fRigQkJEpOSpu7wU3sqVcMYZYfnqV2HmTDjhhGJnJSIieaJiQgrr5Zdh773h/vvhyivDUxsDBxY7KxERySMVE1IY7nDDDbD//uFpjUmT4KqroJPurImIlBv9zy75t2QJjB4Njz0Gxx8P99wDW21V7KxERKRAdGVC8mvSJKiqgokToaYmDI2tQkJEpKypmJD8WL+eHe+6C0aODCNYTpsGY8ZoECoRkXbANN/VRmY2ChhVUVFxVm1tbUb71NXV0atXr4y/RzbxpRLbbeFCdrvmGvq88QYfH3MMc8aMoaF790TnnKTYbOLHjh1LfX09NTU1ec+j1GKTkkcSYpOSRxJik5JHEmKzjR8xYsQMdx+W8cHjWjt3eTkvlZWVmU3+7oWdW74kYh96yL1PH/fevf2NH/0o4+PmPY8Sjs0mvrq62quqqgqSR6nFJiWPJMQmJY8kxCYljyTEZhsPTPdWfm7qNoe0zurVcM45YW6NXXaBV15h8WGHFTsrEREpAhUTkr3XX4d994Xf/jZMFf7cczBkSLGzEhGRItGjoZI591BAjB0LvXvDE0/AEUcUOysRESkyXZmQzCxbFm5pnHsuHHIIzJqlQkJERAAVE5KJKVNgzz3hkUfguuvg8cdh222LnZWIiCSEbnNI8+rrGTR+PPzudzB4MDz/fOgrISIiEqMrE5LeRx/BEUcw5O674ZRTwoRdKiRERCQNFROyqUcfDUNiv/ACsy+7LMz42adPsbMSEZGEUjEhG61dCxdfDMcdB/37w4wZLDzmGA2JLSIiLVIxIcGcOXDggXDjjWFOjWnTYNddi52ViIiUAHXAFLjvPjjvPOjSJczyecIJxc5IRERKiK5MtGcrV8Lpp8MZZ8Bee8HMmSokREQkayom2qsZM0IBUVsLV10FkybBwIHFzkpEREqQbnO0Nw0NDPjTn+Cuu8LAU5MnhxEtRUREWknFRHvz7W/z5QceCLcz7r4bttqq2BmJiEiJszCFuQCY2ShgVEVFxVm1tbUZ7VNXV0evXr0y/h7ZxBcidpunn6Zh0SI+OeWUjB75LFS+hTx2qcVmEz927Fjq6+upqanJex6lFpuUPJIQm5Q8khCblDySEJtt/IgRI2a4+7CMDx7n7lpSlsrKSs/U5MmTM47NNr6cY5OSRxJis4mvrq72qqqqguRRarFJySMJsUnJIwmxSckjCbHZxgPTvZWfm+qAKSIiIjlRMSEiIiI5UTEhIiIiOVExISIiIjlRMSEiIiI5UTEhIiIiOVExISIiIjlRMSEiIiI5UTEhIiIiOVExISIiIjlRMSEiIiI5UTEhIiIiOVExISIiIjlRMSEiIiI5sTDrqACY2ShgVEVFxVm1tbUZ7VPIueXLOTYpeSQhNpv4sWPHUl9fT01NTd7zKLXYpOSRhNik5JGE2KTkkYTYbONHjBgxw92HZXzwuNbOXV7OS2VlZcbzvxdybvlyjk1KHkmIzSa+urraq6qqCpJHqcUmJY8kxCYljyTEJiWPJMRmGw9M91Z+buo2h4iIiORExYSIiIjkRMWEiIiI5ETFhIiIiORExYSIiIjkRMWEiIiI5ETFhIiIiORExYSIiIjkRMWEiIiI5ETFhIiIiORExYSIiIjkRMWEiIiI5ETFhIiIiORExYSIiIjkxMKsowJgZqOAURUVFWfV1tZmtE8h55Yv59ik5JGE2Gzix44dS319PTU1NXnPo9Rik5JHEmKTkkcSYpOSRxJis40fMWLEDHcflvHB41o7d3k5L5WVlRnP/17IueXLOTYpeSQhNpv46upqr6qqKkgepRablDySEJuUPJIQm5Q8khCbbTww3Vv5uanbHCIiIpITFRMiIiKSExUTIiIikhMVEyIiIpITFRMiIiKSExUTIiIikhMVEyIiIpITFRMiIiKSExUTIiIikpNEFhNmdqCZTTaz5Wb2kZn9wcy2TYl53cw8ZVmaEnOimb1mZp+b2atmdlzbtkRERKT8Ja6YMLPdgInASuA04FJgOPCEmXWOYroAlcD/Bw6ILUfGjnMY8D/A08BJwCzgL2a2f1u1RUREpD3oVOwE0hgDfAx83d2/ADCzOcCLwNeAx4Ddgc7AI+4+u5njXAk86e4XRF9PMLPBwBXA8QXMX0REpF1J3JUJ4A3gV42FROTt6HXH6HUosAaYk+4AZtYdOBD4a8qmR4CRZtYxf+mKiIi0b4krJtz9Vnf/TcrqUdFr41WIocAnwB/N7DMzW2Fmd5nZFtH2IYSrLnNTjvMu0B0YWIDURURE2qU2vc0R9XnYqYWQRe6+LGWfgcD1wHRgUrR6KLAd8CpwE7An8BPClYvDgd5R3MqU4zd+3RsRERHJi7buM7E98FYL2y8Gbmz8IiokJhKuoJwazbcOcDnQ1d1fiL5+1swWAw+a2cFAfbS+MX7DIaPXhtRvbGZnA2dHX641s9czaxJ9gBUZxmYbX6jYrYGlm40qbA6FPHYS2lfI92Lr1CeX8nTcJMRmc+4KmUcS2peU36cktC8p70US2lfI92KXLI7blLsncgG+AswHFgJDM4jvQygexgB7RP8emRJzUrR+4GaONT2LPH+bZbsyji9gbEHal6D3oujtK/B7UVLtK1TbEpRz0c9dubcvQe9F0duXlP9bUpfE9ZkAMLP9gGcIVxgOdvdZsW2dzGy0mX01Zbfu0etSQt+IBkLfibghQB3wUR7T/VsB4wsVm41C5lDO7Svke1Go4yYhNltJyDkJ5y7b+FJrX1LeiyTkkJT/W5qwqBpJDDPbAXgZWAQc7u6bfPCb2TxgprufEFt3PnADsLO7zzOzZ4GV7n5MLOYZYIW7j0o9Zsrxp7v7sHy0J4nUvtJWzu0r57aB2lfq1L7mJXGciZsIHSTPBwaZ2aDYtnnu/jHwU+AOM7uJUHXtA/w3cLO7z4tifw48ama/Bf4CfIswsNUhGeTw27y0JLnUvtJWzu0r57aB2lfq1L5mJOrKRPS0x2qaL3Iuc/fro9jRwCXAzoR+FXcC17r7hs6VZvZtQpExiDBWxRXu/mjBGiAiItIOJaqYEBERkdKTyA6YxWZmW5jZPDP7Rpptm51gLMk207aDzWyama02szlm9r1i5JgvZvb3NOfKzaxXsXNrDTM7Kzovn5vZVDM7oNg55YuZbdXMufqfYueWCzM73sxWpqwzM/svM/sg+l170sx2LVaOuWimfcOaOZfXFyvPbJhZRzO7xMzeMrNVZvammY0xM4u2l+z5y6BtrT53SewzUVTRKJqPEG6NpG6LTzD2z9imL1Jjk2gzbdsNmEDog3IlcARwt5l95u6l+h/6UEIfnAdT1q8uQi45MbMzgNsJg7O9BFxAmPyuyt3fK2py+VEVvR4JfBZb/0kRcskLMzsQGM/G8W0a/Tfh/5DLgfeBccBEM9vd3bMZP6CoWmjfUGAVMDJlfT6foiukHxHOz9XAC8DBhPGPegDXUdrnb3Nta/25a+0zpeW4ANWEQbU+JYxH8Y2U7XtG63ctdq4FaNvvCfOiWGzdfcCsYufeyvb2jdp5VLFzyUNbjPCf1m2xdZ0Jj0DfXOz88tTGscDCYueRp7Z0BX4ArI1+3+pi27YgjMR7eWzdlwgF1CXFzj3X9kXbbwReKHaerWxbh+hcXJ2y/jfA4lI+f5trW67nTrc5mnoYeA04qpntLU4wlnCba9tI4O8e/UTF9vk3M+tf6OQKYGj0OqvFqNLwZWAwsYnrPEyE9yjNn89SM5TyOFcARwM/BC4DalK27Q/0oum5XEa40lkq57Kl9kFpn8s+wB+AP6esfxvYBjiM0j1/LbbNzHqSw7lTMdHUwe5+CqECTWdzE4wlWbNti36I+pN+YjQIt3ZKzVDCX07XmNkn0b3Nh8xsu2In1gqN73+687OTlccsuEOBHmY2xczWmNkCM/tB473cEvMSsKO738ymQ/o3nst/pax/l9L5PWupfQD/Bgw0s5lmts7M5prZd9o2xdZx92XuPsbdX0nZNApYAAyIvi6587e5trn7KnI4d+2iz4RlOMGYu29uPo7NTTDW5vLUtpKaGC2TNhPOVVdCG04ijH56DTDJzL7q7msLnmj+tHR+OgA9adrPoKSYWQdgd8K92kuBD4BjCGPFdCP8jpUMd/+whc29gbXuvi5l/UoS9nvWnJbaF13F3JrwyP4PgWXAacDvzMzd/Q9tk2X+mNmZhCu3F1IG5y8u3rZcz127KCbIcoKxFrQ4wZi7P5tjnq2Rj7Y1/vWX8cRoRZZJm38NPODuk6N1z5jZW4ROR6cQ+oOUilI7P9ky4DjgA3dvvPoyOXrq5nIzu87d1xQvvbwy0v81b5T+eQRYTrjcP8vDAIMAT0UfVFcSLrOXDDP7D0LH5/8BbiF8yJbF+UvTtu7kcO7aRTHh7u+zaY/j1hwn9fIQhCcgIPRGb/NiIk9ta/yrNvV2TeMjlInqoZxFm2en7DfNzJYTzlUpFRON7/8WhKsujXoR/gNb1eYZ5ZG71wOT0myaAJxL6DOS6Sy+SbcC6GpmnaN+L416kbDfs9Zw99XAE2k2TQCOMrNe7l7Xxmm1ipldDPyK0D/iP9zdzawszl+6thGecmv1uVOfiQxZZhOMlaToB+Rj0k+MBvBO22aUOzM71cwOSVlnhFsfpXauGjv8pjs/b6d0mi05ZtbfzM42s21SNpX871YacwiF8I4p64cQOsKVNDOrNLNzzaxryqbuwOeUSOFrZj8jXN28j/DkW+NtjZI/f821Lddzp2IiQ+6+HvgxcFXKpq8TxpmY2tY55dlEYFRKZ74TgdfdfVEz+yTZ94GbovvxjY4h/GI8U5yUWm0OMJ9wPoAN/UaOJZy3UtcVuAP4dsr6rwPvuPvCtk+pYKYQngiLn8svER7dLodzuT1wG+F3DdhQxJ8MPFsKha+ZXUS4nXETMDr6v79RSZ+/zbQtp3PXLm5z5FEmE4yVqusJvbQfMrM7CZ1yvk3oX1CKfgY8Dow3s3sJPa2vBv7X3acUNbMsRZdXrwVuMbNlwPPAGEJnqRuKmlweuPt7ZvYAcLWZNRD6w3yTUEyc2OLOJcbd68yshvCUUQPhqt9/EW413lXU5PLjGeA54PboQ/Zj4BxCh+iDiplYJsysAvgF4TH6B4H9Uh4omk54HLbkzl8GbZtCLueu2ANpJHEBdiDNwE7RttGE53A/B94DrgA6FDvnPLXtSGAmofJ+h1C5Fj3nHNp6HPAi4fLcR4SCqXux88qhPf+P8KTD6ugX/4Bi55THtnUnFIDvRT9/rwAnFTuvPLTrKjYd1KkTcC1hgsI64B+U4EB4LbRvS0LHvgXR/5PPEx5NL3q+GbRndPT/Y3PL1qV6/jJsW6vPnSb6EhERkZyoz4SIiIjkRMWEiIiI5ETFhIiIiORExYSIiIjkRMWEiIiI5ETFhEgelOjslpsol3aUMp0DKUUqJkSaYWaHm9kTZrYsmhZ7tpn9ND7lvJl1jQYxO6EN8hltZh5bGsxslZm9amaXR6NixuPdzC7N8Nh9zex+YK+CJF8gZnasmU2O/n1o1OZhaeJujbZdHH39vpndEv278X3dum2z35SZ7UEbjKRowTQzO7TQ30vaB42AKZKGmR1DGOX0XsKId6uBrxKGoh0RzRJbD1QQpiZuy0nejiJMKmRAH+AwwuieB5vZCVFeAAcAmY7MuifwLUpoRE0z600Y/vfkzcRdRxhe/Qfu3ti+kwhTLCfNN4F9C/1N3N3N7AfAXWY21N0/L/T3lPKmYkIkvcuAf7j7mbF1k8xsNvB3wmihjxUlM5jh7vHJryZEed0NfAe4B8DdXyhGcm1oLGGis+nNBZjZVYRz+UN3/2Xjek8/A3C74u6N3J1iAAAJiklEQVT/NLNPCTOzlkwRKcmk2xwi6fUj/e/HPwhj8S8wsx0Iwz9DmNPk6cYgMzvNzF6Lbo/8y8wuiB8kuqx+jpk9Ymarzew9MxuTQ773Eq5CbCh+4rc5zKyjmV1nZh+Y2Voze9PMzo22HQpMjnZ7ycx+F63vbWY3mdk8M1tnZkvM7Pdm1jfle4w2swfNbKWZLTWzG82sUyymu5n90swWmFmdmU0xs4Nj2zuZ2U+i3NaY2XQzO7ylxlqY2fB8whwDzcVcClwJjHP3a1O2bbjN0cy+J5nZS9FtpPlmdnX8NlK0/+VmdqeZrYja/WMz62Nm46N2zjOz0SnH3dvMJkbnfImZ1ZhZj2jbVVG+PRvf12h9zyhukZl9bmZPW2z24uj9X2pml0Wvb5tZDzPbz8yeic7Lp2b2kJkNTmnqH4GL4udLpFWKPV64Fi1JXAjzeDjhVsepwHZpYroSLpc74fbH7tH670TrbgGOIEwGtx64LLavA8uB+wm3LX4drTurhZxGRzFbN7P9XsIMtp1j3+PS6N+XA58AZwCHxr7fkUBv4Lzo69HATtE+fwfeB06L9rk8Ov6v0rSjBjicMLOuA9+PxTxCuC1zIWECub8Q5jT4cizvVYS5R44CxgPrgANbeC+OARqALWPrDo2+9zDCbQ0Hrm5m//eBW9K9r8DZ0de3RufvB4R5Csan7P8Z4SrQYVGsE6ahvj5qx4SoHYOifXaP2vkUYd6Y7wGLgb9H2wcQJotaDewPbEO4lTURWAKcFe03IXo/d4rlvx54Mzqf3wB6ROf7gSi/rwP/AqamvA+Do7xLYu4MLcldip6AFi1JXAiFwj1APRsnwnmL0DfhS7G4HYhNnEa4mvFh/IMnWv+j6MOnZ/S1Ay+kxDwEvNdCTk0+9NJs/0W0fdvY92gsJh4FnkiJv6bxQyT+QRx93Y1wFeaolH0eAabHvnbgsZSYl4G/Rf+uimJOj23vArxBKLp2jbafmXKMicCkFt6LX6a+V7E23EwoNBqA25rZ/33SFBPR+VsMPJASf04UMzS2/1uwYX6j7tHPyqTYPjtF+5wYff0A8C7QNRZzcBRzSPT1VcQmziIUBw6MjK3rRCha7knJ/xuxmH2idQfE1lUTir0OKW1bCvx3sX/ntJT2otscImm4+1p3/x7hL7fzCH9NbwuMA143sx2b2bUS6A88Gl2+7xRdQn4c2IKmnetSL9E/AuxgZgPy2JRGU4AjzGyymV1kZkPcfZy7p+046u5r3P0Id59gZjuY2RFmdgnhr+uuKeGpfTMWAD2jfx8Yvf4tdux17r6Hu/+eUAAAPJbyfj0GHGRmXZppzw7A/Ga2XQD8lFBwnGuhM22mdiNcEXgoZf0D0eshsXUvurtHbfocWEmYorrRJ9Fr422hEYQCrT7WzqmEIrO52zojCFcq/hnbh+g4qfu8Gfv3bOBT4G9mdouZHU0oXq9094aU/T4gvJ8iraZiQqQF7r7A3W9z95MJ/Si+R/iwuaqZXbaKXmsJtwQal5ei9RWx2I9T9l0SvW7ZynS3B9ay8UMs7lrgEkLuNwL/igqL/s0dzMyON7N/EfqF3A98jfDBljoOwuqUrxvY+H/LlsAX7r68mW/T+H59SNP363qgM+FqQTp90nzfRr9y9x8Rbi+9CdxjZts0E5vqS9HrovhKd/+MMDV679jqlWn2by4nCG09h6bt/CI6ZkUL+/Qg3C6J7zMmzT6LY/muJBQ+EwlXgB4DFprZ95vJuU8LeYtsljrdiKQws/0JVwmOd/dpjevdfT1wr5kdT/gLNp0V0ev5wItptr8X+/dWKdv6Ra9LyJKZdSB8eLwQ5dmEh8dFbwBuMLNBwImES953A0enOd7OhL/Ofw9Uu/uCaP2fCFcnMrUC6Gxmfdy98b3BzA4gPJq5gnA5fjjhQzLV0jTrIBRMOzSz7UEIV5eiToxTCX0RMhkL5NPoddv4yqjTaTfSF2qZWkH4ubotzbbm2rmCUCQcm+03c/c3gH+Pru4cDFwE3GpmL8d/rgkF1JvpjiGSKV2ZENnUO4RbEhembjCzjsAQ4PVoVX1KyGzCB84Ad5/euBAKh6tp+hfgcSn7ngjMdvfUKxaZOB0YCNyZbqOZ/cPMfg3g7h+4+83Aw8CgZtqxF6Fvw7WxQqIncBCbXployZTodUNbow+3PxE6gz4XHW+LlPdrJHAxoWNhOvMJHRZb5O4vAdcBx5vZ2Rnk+zbhg/2bKev/PXp9PoNjNOc5Qh+RGbF2zidcNfpKFJN6Hp4jXE2qS3l//gP4dnPfyMyOMrPFZrZNdFtpIuH2D2w8542jbfYn3OoQaTVdmRBJ4e6fmtl/Ab+2MCri7wj9APoTLlMPYONASY1/bY80sznu/mr0iN+vw//TTAR2BH4OzKHplYmjoscT/0r4y/Mk4JQMUtzbzBoHrepLuK9+UXSc2mb2eRYYZ2YfE2657Eb4wGwcX6DxNsSxZlYHvEL4YPuFmd1GuN1wKbAd4VZKRtz9ZTP7O1BjYZCpuYRxDXoCd7j7PDP7X2B89L69RehHMQ64Ls39/UYTgcvMbEBjsdOCq4BRhHMy2d3ntJBvvZn9OMr3U8KVhKGEqzgPufvrze2bgasJxdWfzOwewpWOHxGKwMZxL5YDPczsBMKVrb8RztdjUV4fEJ7MOJ/wPjbnRcLPx5/N7BeE2yRjo+NPjsXtSvgZejKHdonoaQ4tWppb2PgY3hLCJfiPCZf9d0yJu5bwyN+s2LrvEa5erAU+Ijw6GH8KxKP9JhAeO3wd+OZm8hnNxidLGpelhA6Q5wCdUuLjT3N0JHyovhvl9AHhw61TtL0D8AdCv4DGJzG+RfhLfQ3h6YVbCR9g9UD/1O8R+74PA0/Hvu4B3AQsJDwSOhn4amx7V8KTKPOj3N4hDDRlLbwXXQi3JL4XW3cosSdSUuL3is7hNMIfUe/TzKOhsfP3ZpTP+8BPiB65jbZv2D+2bjlwVezrvtFxR8fWDQeeJvRT+JRQLOwR274NoXhYRxixs/E4dxD6cXwOzEo55ib5R+v3JhQJywg/n5OAvVNiLore92bfay1aMlkaH2sSkTZkZk4Yd+L6YudSqqIrGSPd/aBi51KqzOxV4F53v7HYuUhpU58JESlVNwJfNrP9ip1IKTKzkYQ+PHcUOxcpfSomRKQkeXjc9BxCB0vJQtTx8lrgP12TfEke6DaHiIiI5ERXJkRERCQnKiZEREQkJyomREREJCcqJkRERCQnKiZEREQkJyomREREJCf/B36ghWEEGzetAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Compute the residuals, \"data - model\", and determine where [residuals < tolerance]\n", "residuals = np.abs(y_data - y_model)\n", "tolerance = 100\n", "x_good = x_data[residuals < tolerance]\n", "\n", "# Find the min and max of the \"good\" values, and plot y_data, y_model, and the tolerance range\n", "print('Minimum good x value = {}'.format(np.min(x_good)))\n", "print('Maximum good x value = {}'.format(np.max(x_good)))\n", "fig = plot_data_model_tolerance(x_data, y_data, y_model, tolerance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice the range of good values, which extends a little out into the new data, is marked in green on the plot. By comparing the residuals to a tolerance threshold, we can quantify how far out out extrapolation can go before the difference between model and data gets too large." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goodness-of-Fit\n", "- 3 Different R's\n", " - Building Models:\n", " - RSS (Residual Sum of Squares)\n", " - Evaluating Models\n", " - RMSE (Root Mean Squared Error)\n", " - R-Squared\n", "- RMSE vs R-Squared\n", " - RMSE: how much variation is residual\n", " - R-squared: what fraction of variabtion is linear\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### RMSE Step-by-step\n", "In this exercise, you will quantify the over-all model \"goodness-of-fit\" of a pre-built model, by computing one of the most common quantitative measures of model quality, the RMSE, step-by-step." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "def model_fit_and_predict(x, y):\n", " a0=150\n", " a1=25\n", " ym = a0 + (a1*x)\n", " return ym" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RMSE = 180.12, MSE = 32442.25, RSS = 1978976.98\n" ] } ], "source": [ "# Build the model and compute the residuals \"model - data\"\n", "y_model = model_fit_and_predict(x_data, y_data)\n", "residuals = y_model - y_data\n", "\n", "# Compute the RSS, MSE, RMSE and print the results\n", "RSS = np.sum(np.square(residuals))\n", "MSE = RSS / len(residuals)\n", "RMSE = np.sqrt(MSE)\n", "print('RMSE = {:0.2f}, MSE = {:0.2f}, RSS = {:0.2f}'.format(RMSE, MSE, RSS))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that instead of computing RSS and normalizing with division by ```len(residuals)``` to get the MSE, you could have just applied ```np.mean(np.square())``` to the ```residuals```. Another useful point to help you remember; you can think of the MSE like a variance, but instead of differencing the data from its mean, you difference the data and the model. Similarly, think of RMSE as a standard deviation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### R-Squared\n", "In this exercise you'll compute another measure of goodness, R-squared. R-squared is the ratio of the variance of the residuals divided by the variance of the data we are modeling, and in so doing, is a measure of how much of the variance in your data is \"explained\" by your model, as expressed in the spread of the residuals. you're goal is to compute the R-squared measure to quantify how much this linear model accounts for variation in the data." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "x_data = np.array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ,\n", " 4.5, 5. , 5.5, 6. , 6.5, 7. , 7.5, 8. , 8.5,\n", " 9. , 9.5, 10. ])\n", "y_data = np.array([ 161.78587909, 132.72560763, 210.81767421, 179.6837026 ,\n", " 181.98528167, 234.67907351, 246.48971034, 221.58691239,\n", " 250.3924093 , 206.43287615, 303.75089312, 312.29865056,\n", " 323.8331032 , 261.9686295 , 316.64806585, 337.55295912,\n", " 360.13633529, 369.72729852, 408.0289548 , 348.82736117,\n", " 394.93384188])\n", "y_model = np.array([ 150. , 162.5, 175. , 187.5, 200. , 212.5, 225. , 237.5,\n", " 250. , 262.5, 275. , 287.5, 300. , 312.5, 325. , 337.5,\n", " 350. , 362.5, 375. , 387.5, 400. ])" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R-squared is 0.89\n" ] } ], "source": [ "# Compute the residuals and the deviations\n", "residuals = y_model - y_data\n", "deviations = np.mean(y_data) - y_data\n", "\n", "# Compute the variance of the residuals and deviations\n", "var_residuals = np.mean(np.square(residuals))\n", "var_deviations = np.mean(np.square(deviations))\n", "\n", "# Compute r_squared as 1 - the ration of RSS/Variance\n", "r_squared = 1 - (var_residuals / var_deviations)\n", "print('R-squared is {:0.2f}'.format(r_squared))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Notice that R-squared varies from 0 to 1, where a value of 1 means that the model and the data are perfectly correlated and all variation in the data is predicted by the model. A value of zero would mean none of the variation in the data is predicted by the model. Here, the data points are close to the line, so R-squared is closer to 1.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Standard Error\n", "- Uncertainty in Predictrions\n", " - Model Predctions and RMSE:\n", " - predictions compared to data gives residuals\n", " - residuals have spread\n", " - RMSE, measures residual spread\n", " - RMSE, quantifies prediction goodness\n", "- Uncertainty in Parameters\n", " - Model Parameters and Standard Error:\n", " - Parameter value as center\n", " - Parameter standard error as spread\n", " - Standard Error, measures parameter uncertainty" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Variation Around the Trend\n", "The data need not be perfectly linear, and there may be some random variation or \"spread\" in the measurements, and that does translate into variation of the model parameters. This variation is in the parameter is quantified by \"standard error\", and interpreted as \"uncertainty\" in the estimate of the model parameter." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "x_data = np.array([ 0. , 0.08333333, 0.16666667, 0.25 , 0.33333333,\n", " 0.41666667, 0.5 , 0.58333333, 0.66666667, 0.75 ,\n", " 0.83333333, 0.91666667, 1. , 1.08333333, 1.16666667,\n", " 1.25 , 1.33333333, 1.41666667, 1.5 , 1.58333333,\n", " 1.66666667, 1.75 , 1.83333333, 1.91666667, 2. ])\n", "y_data = np.array([ 4.87303609, 2.33139743, 6.74881808, 9.28109413,\n", " 19.26288955, 13.92871724, 30.23443529, 26.88304596,\n", " 34.29045062, 36.75188887, 46.05299048, 39.6529112 ,\n", " 49.03274839, 53.0145036 , 61.73464166, 59.2003262 ,\n", " 66.14938204, 68.19975808, 75.12664124, 80.91511231,\n", " 80.0314758 , 90.93417113, 94.37143883, 97.34081635,\n", " 102.70256785])" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Estimate of the intercept = -0.81\n", "Uncertainty of the intercept = 1.29\n", "Estimate of the slope = 50.78\n", "Uncertainty of the slope = 1.11\n" ] } ], "source": [ "# Store x_data and y_data, as times and distances, in df, and use ols() to fit a model to it.\n", "df = pd.DataFrame(dict(times=x_data, distances=y_data))\n", "model_fit = ols(formula=\"distances ~ times\", data=df).fit()\n", "\n", "# Extact the model parameters and their uncertainties\n", "a0 = model_fit.params['Intercept']\n", "e0 = model_fit.bse['Intercept']\n", "a1 = model_fit.params['times']\n", "e1 = model_fit.bse['times']\n", "\n", "# Print the results with more meaningful names\n", "print('Estimate of the intercept = {:0.2f}'.format(a0))\n", "print('Uncertainty of the intercept = {:0.2f}'.format(e0))\n", "print('Estimate of the slope = {:0.2f}'.format(a1))\n", "print('Uncertainty of the slope = {:0.2f}'.format(e1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The size of the parameters standard error only makes sense in comparison to the parameter value itself. In fact the units are the same! So a1 and e1 both have units of velocity (meters/second), and a0 and e0 both have units of distance (meters)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Variation in Two Parts\n", "Given two data sets of distance-versus-time data, one with very small velocity and one with large velocity. Notice that both may have the same standard error of slope, but different R-squared for the model overall, depending on the size of the slope (\"effect size\") as compared to the standard error (\"uncertainty\").\n", "\n", "If we plot both data sets as scatter plots on the same axes, the contrast is clear. Variation due to the slope is different than variation due to the random scatter about the trend line. In this exercise, your goal is to compute the standard error and R-squared for two data sets and compare." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('./dataset/time_distances.csv', index_col=0)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model 1: SE = 3.694, R-squared = 0.898\n", "Model 2: SE = 3.694, R-squared = 0.335\n" ] } ], "source": [ "# Build and fit two models, for columns distances1 and distances2 in df\n", "model_1 = ols(formula=\"distances1 ~ times\", data=df).fit()\n", "model_2 = ols(formula=\"distances2 ~ times\", data=df).fit()\n", "\n", "# Extract R-squared for each model, and the standard error for each slope\n", "se_1 = model_1.bse['times']\n", "se_2 = model_2.bse['times']\n", "rsquared_1 = model_1.rsquared\n", "rsquared_2 = model_2.rsquared\n", "\n", "# Print the results\n", "print('Model 1: SE = {:0.3f}, R-squared = {:0.3f}'.format(se_1, rsquared_1))\n", "print('Model 2: SE = {:0.3f}, R-squared = {:0.3f}'.format(se_2, rsquared_2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the standard error is the same for both models, but the r-squared changes. The uncertainty in the estimates of the model parameters is indepedent from R-squred because that uncertainty is being driven not by the linear trend, but by the inherent randomness in the data. This serves as a transition into looking at statistical inference in linear models." ] } ], "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.6" } }, "nbformat": 4, "nbformat_minor": 4 }