{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Regression (From Scratch)\n", "In the following notebook, my goal is to demonstrate an understanding of linear regression by building a linear regression model from scratch.\n", "\n", "## What is Linear Regression?\n", "Linear regression is a statistical method used to model the relationship between a dependent variable $Y$ and one or more independent variables $X$. It assumes a linear relationship between the variables, where the dependent variable can be expressed as a linear function of the independent variables plus an error term.\n", "\n", "For a simple linear regression with one independent variable $X$, the model is:\n", "$Y=β_0 + β_1X+ϵ$\n", "\n", "For multiple linear regression with multiple independent variables $X_1, X_2, ..., X_p$, the model is:\n", "$Y=β_0+β_1X_1+β_2X_2+...+β_pX_p+ϵ$\n", "\n", "where:\n", "- $Y$ is the dependent variable,\n", "- $X$ is the independent variable,\n", "- $β_0$ is the intercept,\n", "- $β_n$ is the coefficient (contributes to slope)\n", "- $ϵ$ is the error term" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5" }, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "import numpy as np # linear algebra\n", "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", "from sklearn.datasets import load_diabetes\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 188, "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", "
agesexbmibps1s2s3s4s5s6target
059.02.032.1101.00157.093.238.04.004.859887.0151.0
148.01.021.687.00183.0103.270.03.003.891869.075.0
272.02.030.593.00156.093.641.04.004.672885.0141.0
324.01.025.384.00198.0131.440.05.004.890389.0206.0
450.01.023.0101.00192.0125.452.04.004.290580.0135.0
....................................
43760.02.028.2112.00185.0113.842.04.004.983693.0178.0
43847.02.024.975.00225.0166.042.05.004.4427102.0104.0
43960.02.024.999.67162.0106.643.03.774.127195.0132.0
44036.01.030.095.00201.0125.242.04.795.129985.0220.0
44136.01.019.671.00250.0133.297.03.004.595192.057.0
\n", "

442 rows × 11 columns

\n", "
" ], "text/plain": [ " age sex bmi bp s1 s2 s3 s4 s5 s6 target\n", "0 59.0 2.0 32.1 101.00 157.0 93.2 38.0 4.00 4.8598 87.0 151.0\n", "1 48.0 1.0 21.6 87.00 183.0 103.2 70.0 3.00 3.8918 69.0 75.0\n", "2 72.0 2.0 30.5 93.00 156.0 93.6 41.0 4.00 4.6728 85.0 141.0\n", "3 24.0 1.0 25.3 84.00 198.0 131.4 40.0 5.00 4.8903 89.0 206.0\n", "4 50.0 1.0 23.0 101.00 192.0 125.4 52.0 4.00 4.2905 80.0 135.0\n", ".. ... ... ... ... ... ... ... ... ... ... ...\n", "437 60.0 2.0 28.2 112.00 185.0 113.8 42.0 4.00 4.9836 93.0 178.0\n", "438 47.0 2.0 24.9 75.00 225.0 166.0 42.0 5.00 4.4427 102.0 104.0\n", "439 60.0 2.0 24.9 99.67 162.0 106.6 43.0 3.77 4.1271 95.0 132.0\n", "440 36.0 1.0 30.0 95.00 201.0 125.2 42.0 4.79 5.1299 85.0 220.0\n", "441 36.0 1.0 19.6 71.00 250.0 133.2 97.0 3.00 4.5951 92.0 57.0\n", "\n", "[442 rows x 11 columns]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Load in the diabetes dataset from SKLearn, only instance of SKLearn to be used in this notebook\n", "X, y = load_diabetes(return_X_y=True, as_frame=True, scaled=False)\n", "diabetes_data = X\n", "diabetes_data['target'] = y\n", "display(diabetes_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# About the Dataset\n", "Ten baseline variables, age, sex, body mass index, average blood pressure, and six blood serum measurements were obtained for each of n = 442 diabetes patients, as well as the response of interest, a quantitative measure of disease progression one year after baseline.\n", "\n", "## Data Set Characteristics:\n", "Number of Instances: 442\n", "\n", "Number of Attributes: First 10 columns are numeric predictive values\n", "\n", "**Target**: Column 11 is a quantitative measure of disease progression one year after baseline\n", "\n", "Attribute Information:\n", "- Age (years)\n", "- sex\n", "- bmi (body mass index)\n", "- bp (average blood pressure)\n", "- s1 (total serum cholesterol)\n", "- s2 (low-density lipoproteins)\n", "- s3 (high-density lipoproteins)\n", "- s4 (total cholesterol / HDL)\n", "- s5 (possibly(?) log of serum triglycerides level)\n", "- s6 (blood sugar levels)\n", "\n", "Source URL: https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html\n", "\n", "For more information see: Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani (2004) “Least Angle Regression,” Annals of Statistics (with discussion), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Going to use BMI as the independent variable for demonstrating simple linear regression" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAekAAAHpCAYAAACmzsSXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhH9JREFUeJztnXt4U2W2/79p2rRNS9MbvSBtrbQjFChUQSxtUcEbF0Vk/CnDUbAePSMtjnKOIgrej3h3REXP/EbQ83uEOUdHYGS8DMKI3EYFw1AQkVaGMtJSWpr0kjZp0/z+gB1y2Xtn72Rf0/V5Hp7HJjt7v3snvutda33Xeg0ej8cDgiAIgiA0R4zaAyAIgiAIgh0y0gRBEAShUchIEwRBEIRGISNNEARBEBqFjDRBEARBaBQy0gRBEAShUchIEwRBEIRGISMNwOPxoKOjA1QyThAEQWgJMtIAOjs7YbFY0NnZqfZQCIIgCMILGWmCIAiC0ChkpAmCIAhCo5CRJgiCIAiNQkaaIAiCIDQKGWmCIAiC0ChkpAmCIAhCo5CRJgiCIAiNQkaaIAiCIDQKGWmCIAiC0ChkpAmCIAhCo6hqpN966y2UlpYiJSUFKSkpKC8vx6effup9/8orr4TBYPD79+tf/9rvHI2NjZg5cybMZjOysrLw4IMPor+/X+lbIQiCIAjJiVXz4sOHD8dzzz2H4uJieDwevPfee5g9ezasVitGjx4NALj77rvx1FNPeT9jNpu9/+12uzFz5kzk5ORg9+7daGpqwh133IG4uDg8++yzit8PQRAEQUiJwaOxrZ/S09Px4osv4q677sKVV16J8ePH47e//S3rsZ9++ilmzZqFkydPIjs7GwDw9ttvY+nSpTh9+jRMJpOga3Z0dMBiscButyMlJUWqWyEIgiCIiNBMTtrtduMPf/gDuru7UV5e7n39/fffR2ZmJsaMGYNly5bB4XB439uzZw/Gjh3rNdAAcN1116GjowOHDh3ivJbT6URHR4ffP4IgCILQGqqGuwGgrq4O5eXl6O3tRXJyMjZs2ICSkhIAwK9+9SsUFBRg2LBhOHDgAJYuXYojR47go48+AgA0Nzf7GWgA3r+bm5s5r7ly5Uo8+eSTMt0RQRAEoVXsDhdau1zo6O1DSmIcMpNMsJiFRV3VQHUjffHFF2P//v2w2+348MMPsWDBAmzfvh0lJSW45557vMeNHTsWubm5mDZtGhoaGjBixIiwr7ls2TIsWbLE+3dHRwfy8vIiug+CIAhC25y09WDpHw9gx9FW72tTijPx3NxSDEtNVHFk3Kge7jaZTCgqKsKll16KlStXYty4cXjttddYj500aRIAoL6+HgCQk5ODU6dO+R3D/J2Tk8N5zfj4eK+inPlHEARBRC92hyvIQAPAV0db8fAfD8DucKk0Mn5UN9KBDAwMwOl0sr63f/9+AEBubi4AoLy8HHV1dWhpafEes2XLFqSkpHhD5gRBEATR2uUKMtAMXx1tRWuXNo20quHuZcuWYfr06cjPz0dnZyfWrVuHL7/8Ep9//jkaGhqwbt06zJgxAxkZGThw4AAeeOABTJkyBaWlpQCAa6+9FiUlJbj99tvxwgsvoLm5GcuXL0dNTQ3i4+PVvDWCIAhCQ3T09vG+3xnifbVQ1Ui3tLTgjjvuQFNTEywWC0pLS/H555/jmmuuwYkTJ/DFF1/gt7/9Lbq7u5GXl4e5c+di+fLl3s8bjUZs3rwZ9957L8rLy5GUlIQFCxb41VUTBEEQREpCHO/7Q0K8rxaaq5NWA6qTJgiC4EZvimg27A4XFq+34iuWkPeU4ky8Pq9Mk/dERhpkpAmCILjQoyKai5O2Hjz8xwN+hnpKcSaen1uKXI3eCxlpkJEmCIJgw+5woXa9lVVwpWXvkw8mKtDZ24chCXHITNZ2VED1OmmCIAhCmwhRRGvZwLFhMWvbKAeiuRIsgiAIQhvoVREdTZCRJgiCIFjRqyI6miAjTRAEEWXYHS40tHTB2tiOhtNdYXfTykw2YUpxJut7U4ozkZmsn7CxXiHhGEg4RhBE9CC1GluPiuhogow0yEgTBBEdyKXG1psiOpogdTdBEESUIJcaW2+K6GiCctIEQRBRAqmxow/ypAmCIM6h9/aXpMaOPshIEwRBIDraXzJqbK7+1KTG1h8U7iYIYtBjd7iCDDRwNo/78B8PhF3CpDQWswnPzS0NKpti1Nh6igoQZyFPmiCIQU80tb8clpqI1+eVkRo7SiAjTRDEoCfaBFekxo4eKNxNEMSghwRXhFYhI00QxKCH2l8SWoWMNEEQgx4SXBFahdqCgtqCEgRxFmp/SWgNEo4RBEGcgwRXhNagcDdBEARBaBQy0gRBEAShUchIEwRBEIRGISNNEARBEBqFhGMEQRA6Qe+7dBHiISNNEAShA6Jhly5CPBTuJgiC0DjRsksXIR4y0gRBEBpHyC5dRHRC4W6CIGSHcqmREW27dBHCISNNEISsUC41cmiXrsELhbsJgpANyqVKA+3SNXghI00QhGxQLlUaaJeuwQuFuwmCkA3KpUrHsNREvD6vjHbpGmSQkSYIQjYolyottEvX4IPC3QRByAblUgkiMshIEwQhG5RLJYjIMHg8Ho/ag1Cbjo4OWCwW2O12pKSkqD0cIsoZjDXDzD1TLpUgxEE5aYJQkGioGQ5nkSE2l6rnhYyex05oD/KkQZ40oQx2hwu1662sJUlTijPx+rwyzU/mSiwy9LyQ0fPYCW1COWmCUAi91wwr0ZhEz81P9Dx2MdgdLjS0dMHa2I6G011Rc19ahcLdBKEQeq8ZFrLIiDQSoMQ15ELPYxcKRQqUhzxpglAIvdcMK7HI0PNCRs9jF8JgiRRoDTLSBKEQeq8ZVmKRobeFjG/oN9Fk5D1Wa2MXi97TNXqFjDRBKITea4aVWGToaSFz0taD2vVWTHtlO+as3o3NB5pQWZTBeqzWxh4O0R4p0CqUkyYIBdFz/2VmkfHwHw/gq4CcpFSLDCWuIQVsod81O49h1bwyAMDO+jbv61obe7joLcoRLVAJFqgEiyDEoERjklMdvWjvdqGjtx8pibFIM5uQnZIg6TUioaGlC9Ne2R70utlkRHVlIWaNzUVvn1tXi7BQ2B0uLF5v9Vs8MeilhFCPkCdNEIQo5N7kQQ8KYq7Qr8Plxhvb6nH1yCyMz09TeFTyopcoR7RBRpogBiFa7YoVSkGsFW9tsIZ+9Zyu0StkpAlikKFlT1UvtcaMwI0r9Kt3kRgftF2msqiq7n7rrbdQWlqKlJQUpKSkoLy8HJ9++qn3/d7eXtTU1CAjIwPJycmYO3cuTp065XeOxsZGzJw5E2azGVlZWXjwwQfR39+v9K0QhC7Qeq2rXhTEelfqE/pBVU96+PDheO6551BcXAyPx4P33nsPs2fPhtVqxejRo/HAAw/gz3/+Mz744ANYLBbU1tbi5ptvxq5duwAAbrcbM2fORE5ODnbv3o2mpibccccdiIuLw7PPPqvmrRGEJtG6p6qnMDKFfgkl0Jy6Oz09HS+++CJ++ctfYujQoVi3bh1++ctfAgB++OEHjBo1Cnv27MHll1+OTz/9FLNmzcLJkyeRnZ0NAHj77bexdOlSnD59GiaTsP9ZSN1NDBasje2Ys3o35/sbF01WVfBECmKC8EczzUzcbjf+8Ic/oLu7G+Xl5di3bx/6+vpw9dVXe48ZOXIk8vPzsWfPHgDAnj17MHbsWK+BBoDrrrsOHR0dOHToEOe1nE4nOjo6/P4RxGBA654qhZEJwh/VhWN1dXUoLy9Hb28vkpOTsWHDBpSUlGD//v0wmUxITU31Oz47OxvNzc0AgObmZj8DzbzPvMfFypUr8eSTT0p7IwQhE1IqsfUgeKIwMkGcR3UjffHFF2P//v2w2+348MMPsWDBAmzfHtwkQEqWLVuGJUuWeP/u6OhAXl6erNckiHCQWonNVutqNhmxYlYJLslPxU+t3UhJdKlekkUKYoI4i+pG2mQyoaioCABw6aWX4ttvv8Vrr72GW2+9FS6XCzabzc+bPnXqFHJycgAAOTk5+Oabb/zOx6i/mWPYiI+PR3x8vMR3QhDSIlfNsK+n2u3sQ0qiCSs2HsSyj+q8x2ilJEtqtFofThBcaCYnzTAwMACn04lLL70UcXFx2Lp1q/e9I0eOoLGxEeXl5QCA8vJy1NXVoaWlxXvMli1bkJKSgpKSEsXHThBSIueuQxazCSOyklGQkYQVmw5iR702S7KkJHBDjGkvb8fi9VactPWoPTSC4ERVT3rZsmWYPn068vPz0dnZiXXr1uHLL7/E559/DovFgrvuugtLlixBeno6UlJSsHjxYpSXl+Pyyy8HAFx77bUoKSnB7bffjhdeeAHNzc1Yvnw5ampqyFMmdI8SNcNaKsmS08vVSyczgghEVSPd0tKCO+64A01NTbBYLCgtLcXnn3+Oa665BgDw6quvIiYmBnPnzoXT6cR1112H1atXez9vNBqxefNm3HvvvSgvL0dSUhIWLFiAp556Sq1bIgjJUEKJrZXmIXJ3QdPSYoQgxKCqkX7nnXd4309ISMCbb76JN998k/OYgoICfPLJJ1IPjRiESOHJ6U2JrYWSLCW8XK0sRghCLKoLxwhCC0jhySmhxGbOKVXNsBZKspTwcrWwGCGIcCAjTQx6pPDklFBiy1EzrIXtB5XwcrWwGCGIcCAjTQx6pPDk5PQG5a4ZVrt5iBJerhYWIwQRDmSkiUGPFJ6c3nOeajYPUcLLtTtc6O1zY/msEgx4PHA43bAkUiczQvuQkSYGPVJ4cpTzDB+5vVw+rQAZaELrkJEmBj1SeHKU84wMuULuVB9N6B3NdRwjCKWRYucl2r0pcpguaOPz0zAiK1mSZyZn1zaCUALypAkC0nhyaguwiGD0rhUgCDLSBHEOKcRTtHuTtiCtAKF3KNxNEETUwmgF2CCtAKEHyEgThAjsDhcaWrpgbWxHw+kuXe0SpeexhwtpBQi9Y/B4PB61B6E2HR0dsFgssNvtSElJUXs4hEaRexMIOdHz2KWA6alOWgFCb5CRBhnpaETqbQ/tDhdq11tZlcJTijM1UcrDdc96GLtY5NzWkjgLPWNtQMIxIuqQw2vU+laHfPfc2+fW1NgjnfwHe1RACegZawfKSRNRRajmFeHmYbVcyhPqnvsH+INlSo79pK0HteutmPbKdsxZvRvTXt6OxeutOGnrEfR5ub5fKdF77l8Pz3gwQZ40EVXI5fFquZQn1D0PhDDSSo1diu5feo5o6MUD1fozHmyQJ01EFXJ5vFou5Ql1zw6XWxNjl6L7l54jGnrxQLX8jAcjZKSJqEIuj1eOUh6pwqKh7tmSGKeJMiQpJv9wvl+lws/R0oJUy1GjwQiFu4moQs6NLqRs+8kXFk0yGUUJq4Tcs8VsUr1lqRSTv9jvV8nwc7R4oLRZjLagEixQCVa0cdLWw7ntYa4G8oJ8JVFVxZmYMTYXyz6q874mxKho/Z6Bs/e9eL2Vc/Lnykn7qsEtiXEwGWPwyIa6kPcaqvTsxVvGoau3H/YeF8zxsYgxGBAbY0BGmKVGDS1dmPbKds73ty65AiOyknnvTyulTnr4PQ0WyEiDjHQ0ouXmFaEm83cWTMBd7+31e01IPbOW75lB7OTP5glfMyoLT9w4Gr19A7z3Guo5r/vXSfjV77/2/l1RlIE7KwrxP9804snZY0R72uEsQv55xoFlHx3Ajvo2v2O1IDTTw+9pMEDhbiIq0fJGF6HCos7+gaDXhKhqtXzPDGJSBlxCrC2HW+DsH8Dr88pYPVOGUM/Z1uP//q5zhrIsPy2svaYZ3QLXIiTwXD+3O7D0owPe6zJoZa9rPfyeBgNkpAlCYULlZuNj2fWcbDlNLYZKQyF08o+0FCic57yrvg3VFYV4Y1t9WKVGQhchdocLx9scQQaagUqdCAYy0gShMHzCnIqiDFhP2Fg/Fyis0npNbiQLCLvDBWe/G6vnX4KEOCO+a2zHmp3H4HC5vceEEmKF+5yZSEa4Qi8hi5DWLleQJx+IXoRmhLxQCRZBKAxfOdfiqcVYs/NY0GcCVbVar8mNpLMY89kZq3Zi0fvfofrdb2FtbMeqeWUwm4ze40Kpwbmec1VxJu6sKGR9zsB5D1vOUqOO3j7OiAkDlToRAHnSBKEKXGFRh8uNCQVpIXOacnaFijSEHklnMa7PMmHh6sqzoWihpUBszzk5IRbLN9T5eeUMjIctd6lRSkIctv7QgoqiDNaQdxXH9fWY3iAig4w0QagEW1jUYoagnKZcNblShNAjWUDwfZbJF4ttwsL2nJ+cPQbOfn+Bl6+6W+4mL5nJJhxp6sCdFYUA4GeoK4sysHLO2KDraz29QcgDGWmC0BhCcppydIWSorc2ENkCItRnLYlxkqiefT1se08fzCYjjDEGGGMMeOmWcbJ7pxazCU/OHoPHNx1EWX4aqisK4ewfQGpiHAoyzLggzex3vFTfDaE/yEgThM6wO1yIjTGgqjiTs1FHOKFaqULokSwguD5rNhlRXVmI5PhY/NTajZREV8ShXrVLjIalJuKlW8YJKkejTS8GL2SkCUJHMCHPfcfPCqkGPB6/UGkk/bilCqFH0laS7bNmkxGr5pVh7a5jeGNbvd+59B7qFbpQiJaWo4R4SN1NEDrBN+TpcLlx33oryvLT8M6CCXhnwQRseWAKXp9XFnbbRqlC6JFsRsL22erKQqzddYyz6YfaSnYloE0vBi/kSROETuALeTr7B+D26fBrd7hgc/Sh29WPbpcbqYlxyBoSH/FGHUKJZDOSwM8mxBn9PGhfBkuolza9GLyQkSYIneAb8uQLAT9z0xg0d/Tita1H/bzPqnOeLFd4WGxby1BEkvP1/ay1sZ33WK2FeuUok5L6uyH0AxlpgtAJviFPvhDwoxvqMH1sbtB7OwQogaXcjlMq9BTqlbNMSovfDSE/ZKQJQif4hjzL8lI5Q8A76tuw8Fz9bSB63KgjM9mEa0Zl4eLcFJTlpcLZP+BtFXqkqUMzoV6hZVKReNpa+24I+SEjTRAiULPjk2/Ik22nLF9cbu73tRYeDoXFbMKKWSVYtqHOb2FSWZSBZ1mafqiFkDKpbpebGpIQoiB1N0EIJJJ+1FLBhDwvykziPW54WqJfn2tftBQeFoLd4cKjGw8Ghe931rdh+caDqqq77Q4XGlq6YG1sh7PfjdqpRZzP3d7Tp+l+64Q2ISNNEALQ0oYWFrMJuZaEoBInhoqiDBz8px3VlcEhbz0qgYV4qGoQuGibsWon60YgDGaTUZP3QWgbMtIEIQCtGQqL2YSnZo9BRVGG3+tM/+mn/3wY5Rf5v1elUyWwFht58G0EsnbXsaAF0pTiTMTEGHjPqbc0BKEMlJMmCAGIMRRK5a3tPS6/vs/xsTGwnrDhvvVWOFxuxMfG4JP7KuFwuWERUCetVcJVd8v5PQjZCISBKZPq6QvedcsXPaUhaDcu5SAjTRACEGoofNt2VlcWoiwvFf9o7UZemhnZKdIayeT4OE6FNwCkmU0YkZUs2fUiIZJJPZxGHnLvGCVkI5CNiyb7lUnZHS7ZG5IoYTxpNy5lISNNEBz4TnjpSaENBRMCZfpqy91rWi9dqCKd1MU28pByxyguoxdq0ca2QJK7IYkSxpN241Ieg8fj00twkNLR0QGLxQK73Y6UlBS1h0NogMAJz2wyYs3CiXjzr/VBk+Dzc0uRm5qIhpYuTHtlO2qnFsHa2B6kRmaOl3IiO2nr4Zz0w+3hLSV2hwu1662cu3WFYzBDNfJgvgcuti65QlCEgc/oJZmMWLzeyrlA4rsvofchBimfMx9SPVtCOORJE0QAbN6Cw+VG9bvfYsWsEjw2qwTdzv6gCZYJgfI1GpG617TWu1BJucWikjtGCfEYw/WK5WhIotRWlloU8UU7ZKQJIgCuCc/hcmPZR3XYuuQKjM9PC3qfCYGGajQi9USm5S5UakzqUrQRFWL0RmQla2aBpNRz1lOL1miBSrAIIoBwJzwmRxwfy/+/1WCayNSY1JnvgQ2huXqhvwHLudzz+Pw0jMhKVm2xpNRzluLZEuIgI00ojm+XpobTXZrrtBTuhMcIg1o6nUH1ywyDbSJTY1KPZD9rBr15jEo9ZymeLSEOEo6BhGNK1jxKrUCVY+x2hytsURDz+XZHH1ZsOsgpMhtMqCVuYxNoARD0e4n0N6AGSj5nOcRvBDtkpDG4jbSSNY9SK1DlHLsUEx5NZOfRwrMQ+3vRunKeDS08Z0JayEhj8Bpppco2GKQs31Bi7DThRQ/h/l7oN0Cojao56ZUrV2LixIkYMmQIsrKycNNNN+HIkSN+x1x55ZUwGAx+/37961/7HdPY2IiZM2fCbDYjKysLDz74IPr7+5W8FV2idD9qKRWoSoxdK6IgInLC/b3Qb4BQG1VLsLZv346amhpMnDgR/f39eOSRR3Dttdfi+++/R1LS+a347r77bjz11FPev81ms/e/3W43Zs6ciZycHOzevRtNTU244447EBcXh2effVbR+9EbSpfHSCnG0XO9JvU9Vh49/16IwY2qRvqzzz7z+/vdd99FVlYW9u3bhylTpnhfN5vNyMnJYT3HX/7yF3z//ff44osvkJ2djfHjx+Ppp5/G0qVL8cQTT8BkCp78nE4nnE6n9++Ojg6J7khfKK1glbKNpdJjl8qw6kE4p8Y15EZvam2CYNBUCZbdbgcApKen+73+/vvvIzMzE2PGjMGyZcvgcDi87+3Zswdjx45Fdna297XrrrsOHR0dOHToEOt1Vq5cCYvF4v2Xl5cnw91oH6XLY6Qs31By7IH7Bk97eTsWr7fipK1H1Hmk3pNaqnGpfQ0loPpeQq9oRjg2MDCAG2+8ETabDTt37vS+/rvf/Q4FBQUYNmwYDhw4gKVLl+Kyyy7DRx99BAC45557cPz4cXz++efezzgcDiQlJeGTTz7B9OnTg67F5knn5eUNOuEYoI6CVSoxjhJjl1KgppRwrqo4E8/cNAapiXERebxs1zCbjKiuLMTkizKQEBcDi9mkG89aj2ptgtBMW9CamhocPHjQz0ADZ40ww9ixY5Gbm4tp06ahoaEBI0aMCOta8fHxiI+Pj2i80YIavZ+lamOpxNgj7YnsGyqOj41B7dQirNl5DA5X8N7CUgnndhxtRX1LF97b/Y+IytECr2E2GRXZ3YuPSELvWu9zThBsaMJI19bWYvPmzfjqq68wfPhw3mMnTZoEAKivr8eIESOQk5ODb775xu+YU6dOAQBnHpvwR8u9n0Mh99gjERyx5Z8rijKwal4Z7ltvDTLUUgrnnP0DEW8fGHiN6spCrN11LGh3L6W2KZQin6/n3zoxOFE1J+3xeFBbW4sNGzZg27ZtKCwsDPmZ/fv3AwByc3MBAOXl5airq0NLS4v3mC1btiAlJQUlJSWyjJsYPIQrOOLKP++qb8PaXcdQXen/W5daOMf0DxdSjsbVpjXwGmV5qazbbwq9TiRInc8nCL2gqiddU1ODdevWYdOmTRgyZAiam5sBABaLBYmJiWhoaMC6deswY8YMZGRk4MCBA3jggQcwZcoUlJaWAgCuvfZalJSU4Pbbb8cLL7yA5uZmLF++HDU1NRTSJiImXEU6Xzh6V30bqivOG+lIhHNs46ooyoD1hM37t1hvn/FOA6+h9O5evrR2ubDveDtqpxahLC8Vzv4BJMQZ8V1jO9bsPCbp9p9qEQ0qekJ6VBWOGQwG1tfXrl2LhQsX4sSJE/iXf/kXHDx4EN3d3cjLy8OcOXOwfPlyP4HX8ePHce+99+LLL79EUlISFixYgOeeew6xscLWIIO14xghjHAER9bGdsxZvZvznB/+uhyxMQZRedHASTwhNgZP/OkQthw+H0WqKMrAnRWFfuF0LkGaEFFct8vtvfd3FkzAXe/t5RyfGOGbWP5+oh2nu1xB4faqogysuGE0YgxAUdYQWa6tBEq25yXCQ61FlGbU3WpCRjp6kep/LLGKdCmV3AD3JP7snLHo7XfjeNvZskTrCZufMI1PgS50jMy9D3g8eGrz94q1kfXleGs3HtlYxxpuryjKwKzSYbjiF0N1adCUbs9LiEfNRZSm6qQJQkqkrPEV2x5SyrpcvnzsIxvqMDQ5HqNyU/De7n/gjW31fgaaL4wuds/k4uwheF6lbQpd7gHOfPiu+jZkDYnXbW5a6fa8hDjU1kNoQt1NEFIT6n8sub0TpnELV5hczLWFTOIjspJFlxeFI4pTq4ypy8nfi59Rs+sxN00tS7VNpGWYkUJGmohK1P4fC5DOoInxeKUSn/F5+2qUMQlVs+vRoFHLUm2j9iKKwt1EVKL2/1gMUuyiJNckLmWbVrnhSx/4qtn1aNCoZam2UXsRRZ40EZWo/T+WlITyeJMTYtHQ0hXVXbi40ge+ana9GjQpUyNcUHlX+Ei5MVA4kLobpO6ORuwOFxavt3L+j6U3xSxXGdgzN43BU5u/xxc+ZVhSqU61OLHbHS40d/Tin+1nxX+Mmn1CQZrue3BL1dM+ECrvihw1+76TkQYZ6Wgl2jZUCJzEkxNi8eiGOj8DzRDpQkTrE7tcBi3aoPIu6VDrN0fhbiJq0Usol8HXc02Oj4XJGANbjwvJCee9WN+xN7R0sRpoIDJxnNrKeCFQD25haEFAGS2o9ZsjI01ENXqZzLk247izohDz/u/XmFCQFuTFyiWOo4k9etCKgJIIHzLSRFSjxbxqIHybcQBnd596Y1t9kBcrlzhusE/sevjNCEVLAspoeq5KQkaaiFq0nldlELoZR6AXy6U6NZuMWDGrBAMeD6yN7aInRKkmdj1Oynr5zQhFbWUyQ7Q9VyWhOmkiKlG7lZ8YhOwNzeDrxbLVOZtNRqxZOBGfHGjCNa9+FVY7VCnqdqVsyaoUevrNCEULtfDR+FyVhDxpIirRU15VaDctINiLDRTHpZlNWL7xIHbUhy/6irRuVw/CMzb09JsRg9oCymh9rkpBRpqISuTMq0odxhW6NzSXF+srjmto6Qoy0AxiJsRIJnYxk7KWQuLRnItXU0AZzc9VCchIE1GJXIIZMbk1oQZIaDctIV6slBNiuBO70DFoLU+pJZFVNEHPNTLISBNRiRyCGTFhXLEGKNBzTTpXJ23vceHj2krBXqwWJkQhY9BiSFwrIqtog55rZJBwjIhK5BDMCN33N1yhjO9mHMXZQ1CQmYTSPHEbc2hhswYhY9DiHspaEFlFI/RcI4M8aSJqkVowIzSMq6ZQRonNGqQYw0+t3bznUCtPqbbIKlqh5xo+ZKSJqEZKwYzQULLaQhktTIihxqCFsDwXeulSpzfouYYHGWmCEIjQ3JrcBkiIII1rQlRSTc03KVOekiCEQUaaIAQiNJQspwGKRBGtJTW1FsLyBKEHaKtK0FaVhDiEbFknxzaZkWw7qNUtC2nLSYLghzxpghCJkNyaHHnhSARpXJ81m4wozUtFk70XP7V2K95QhPKUBMEPGWmCkAmpDVAkgjS2z5pNRqyaV4a1u47hjW313tflDoFrqcsYQWgdMtIEoRMiEaSxfba6shBrdx3zbonJIGdDES3lxQlCD1AzE4LQOHaHCw0tXbD3uLD+7kmonVoEs8nod0woQRpbg5GyvNQgA83A11CEGY+1sR0Np7sE72Kk1m5IzHj/fqIdx9u6cfRUp+ixE4RakCdNRD1ShleVDtWyeZ6VRRlYNa8M9623wuFyC1JEs6mpfbfAZIMtfB6JJ6xGkxdmvPuOt2PVvDK88PkRv4UJefGE1iEjTUQ1UoZXlQ7VcnmeO+vbYDAYsKmmAjEGg2BBWqCYLSHOyHt8YPg80n7bSjd58R1v7dQixUP7BCEFFO4mohYpw6tc59p7vB3bfzwtSwiVz/PccbQVMQaDqL7egH9/8FxLgqg+35H225aryQtX+N13vOGG9glCbciTJqIWKcOrbOfyVUcv+6jO+7pU3rXcnqfYhiKRjkeOJi980Q3f8YYT2icILUBGmohahBoVIXlmtnPJrY5Wor+1mHruSMcjdZexUJGSFbNKvK/Fx/IHDWlPY0KrkJEmohYhRkVonpntXGV5qX71xb5IIYRSqr+10HpuKcYTaZMX3wVVosmIcXmp2He8HQ6X2++4r462wmSM8Y7XesKGiqIM1pA39QontAzlpKOUcMtktIBUYw+1r3FyQqzgnDXbueQOoWptH16pxuObFxeTUz9p60HteiumvbIdc1bvxvW/3QFr41nVdmBJGgDYe1ze8a7ZeQx3VhSioigjorEThNJQ725EX+9uPTeMkHrsjW3deGRDHXb6eFCVRRl4ds5Y9A94MPXl7Zyf3brkCozISvYbm2+o9p0FE3DXe3sFfz5ctNbfWo3x8PUeryjKQFl+WlBUg3n+zHi7nX2wJJrgcg+g29mviWdJEKGgcHeUEWmZjJpIPXa7w4WnNn+P8flpuLOiEM7+AcTHxsB6woanN3+Pe68cwfv5QE84MFSbZlYnHM1EGtRqq6lGv20+EeCu+jZUVxT6veb7/Kk/OKFnyEhHGWo0jJAKqcfe2uXCF4db8MXhFtb3//3ai3k/zyYmCpzwld5uUc9RkkgIJQL0TT1QCJuIJshIRxlKN4yQEqnHHup8xhiD6kIoMeg5ShIpoUSAF2UmYeOiyRTCJqIOMtJRhhJlO3Ih9dhDnc8YY5DEE5YqnBqqFEzPUZJICaUsz7UkRO29E4MbMtJRhlJlO3IgdOxC+2eHOl/Guc8p5QnzISSMrecoSaRIXWNNEHqB1N2ITnU312SWq/G8Zaixi83J6uFZ8CmXpxRnesPYDS1dmPaKcDV6uGPR8l7PWlO6E4TckJFG9BlpQN+TGdfYhRozoefTCkKNr93hwuL1Vs7IQKQ56cEqSiMILUPh7ihFz2UnXGMPNyer9WchNIwtZ8h3MIvSCELLkJEmFCfckKoSOVk1wr1iBHNyqckHsyiNILQMGWlCUSIJqcqtXFcr3CtW7CdHZGAwi9IIQstQ725CMSLd3zlUL+5IlOtS7j0tFi306NZz6R5BRDPkSROKEWlIVc6crNrhXiWborCh59I9gohmyEgTiiFFSFUuY9bl7EPt1CKU5aXC2T+AhDgjvmtsx5qdx+BwuVnHJnX+Wi2BG3Mf900rxr1XjsCuhjbvfUeyANJ6ORdB6AEy0oRiSBVSlcOYWRJNsDa2++2kVFGUgVXzynDfemvQ2KKlXIntPqqKM/Hx4koYAG/DFynOq8fnQxBqQzlpQjHkzClHgt3hwoqNB7HLZztL4OzuSmt3HcOKWSV+Y1Mrfy31HuFc97HjaCue/NOhsA20mvl9gog2VDXSK1euxMSJEzFkyBBkZWXhpptuwpEjR/yO6e3tRU1NDTIyMpCcnIy5c+fi1KlTfsc0NjZi5syZMJvNyMrKwoMPPoj+/n4lb2VQI9R4cAmkqooz8fiNo9HW7QprAo/UeLV2ubCjvhVmkxG1U4vwzoIJWD3/EqxZOBFl+Wm4tCBVdA9tqcd50taD2vVWTHtlO+as3o1pL2/H4vVWnLT1iLpXX8K9D7XOq3ekXmQRgwNVw93bt29HTU0NJk6ciP7+fjzyyCO49tpr8f333yMpKQkA8MADD+DPf/4zPvjgA1gsFtTW1uLmm2/Grl27AAButxszZ85ETk4Odu/ejaamJtxxxx2Ii4vDs88+q+btDQrEhjV9c8q2HhecfQPY/VMbbnh9pzcHKiYk+nO7A8fbHLD19CEhzoitP7TgSFMHnpw9RvA5Onr7YDYZsWpeGdbuOhYU8p5TdkHQ8Xyw5a8jCf/K1WhErrIrKucKhsL/RLhoqi3o6dOnkZWVhe3bt2PKlCmw2+0YOnQo1q1bh1/+8pcAgB9++AGjRo3Cnj17cPnll+PTTz/FrFmzcPLkSWRnZwMA3n77bSxduhSnT5+GySSgSUYUtgVVgnDbdEb6WYZ/nnFg6UcH/MLUFUUZuLOiEP/zTSNeumWcIOPV0NKFDft/hrWxPSjkDZz19N/wGU9DSxdueGMnqisLWYVmH9dW+vXQjvRe5erZzXZes8nova+UxDikJ5l4BV9s4rDWLpfsPcb1hBS/dWLwItqTbmxsRF5eHgwGg9/rHo8HJ06cQH5+ftiDsdvtAID09HQAwL59+9DX14err77ae8zIkSORn5/vNdJ79uzB2LFjvQYaAK677jrce++9OHToEMrKyoKu43Q64XQ6vX93dHSEPebBTCRlS5GWPNkdLiwLMNAAvH+X5acJLpvKTDZh8kUZfh60r7Fy9g+gqaMXwNmQfWayCWsWTsTr244Ged1rFk4Myq1Heq9CPVOxaurAsiuuaAKXx8flHa68eSyVc/mgdnkfoW9E56QLCwtx+vTpoNfPnDmDwsLCsAcyMDCA+++/HxUVFRgzZgwAoLm5GSaTCampqX7HZmdno7m52XuMr4Fm3mfeY2PlypWwWCzef3l5eWGPezATSVgz0pDo2TxysNcLnDXUZXmpgsOqFrMJptjz/yswxsra2I673tuLRe9/h+t/u8MvB/zmtnrWBcKbf61HIJHeqxBVfDg560CNQHVlIdbuOhZ0X2yCL74Q/BN/OoRn54xVtTmLlqDwPxEJoj1pj8cT5EUDQFdXFxISEsIeSE1NDQ4ePIidO3eGfQ6hLFu2DEuWLPH+3dHRQYY6DCIpqYq0HCvUxOfsHxDVJSvNx3CEMlYrZpVgRz27Z7TDxzNiPNv+AQ/WLJzoV3ftS6hxhmo0kpwQi//44O8hc9ZsnravRsDZ7/bzoAPP5evx8XmHWw63YNmMUZrYp1sLUDc3IhIEG2nGqBkMBqxYsQJms9n7ntvtxtdff43x48eHNYja2lps3rwZX331FYYPH+59PScnBy6XCzabzc+bPnXqFHJycrzHfPPNN37nY9TfzDGBxMfHIz4+PqyxEueJpEtVpB2uQk18qYlxosKqvuMpy0vlNVa2ntCeEVso2LfumjHUQu41VKe1bmc/bzi1rduFbpebV7hkMZ+tEw91XwyBi6TA9ICz7+z9DabcMxfUzY2IBMHhbqvVCqvVCo/Hg7q6Ou/fVqsVP/zwA8aNG4d3331X1MU9Hg9qa2uxYcMGbNu2LShcfumllyIuLg5bt271vnbkyBE0NjaivLwcAFBeXo66ujq0tLR4j9myZQtSUlJQUlIiajyEOCLpOR1pv2q+muvKogwUZJhFeW2+43H2D/Aem2Qy8r8fH8saCmbqrqsrz/7OxYR/GY9365IrsHHRZGxdcgVen1eG3NRE2EMsGtwDHkF1y2I8Pt9j2dID01ftjLhELFrQQm92Qr8I9qT/+te/AgDuvPNOvPbaa5KooGtqarBu3Tps2rQJQ4YM8eaQLRYLEhMTYbFYcNddd2HJkiVIT09HSkoKFi9ejPLyclx++eUAgGuvvRYlJSW4/fbb8cILL6C5uRnLly9HTU0NecsKEEmbzkg+y+VdVhVnYuWcsbggzczzaf7xNNl7eY9LMsXyekYmYwynZ7urvg2PzhiFOeMvEB3+5eq0Fsq4ugc8goRLYjw+32NDpQdIvax+b3ZCv4jOSa9duxYAUF9fj4aGBkyZMgWJiYmcuWo+3nrrLQDAlVdeGXSNhQsXAgBeffVVxMTEYO7cuXA6nbjuuuuwevVq77FGoxGbN2/Gvffei/LyciQlJWHBggV46qmnxN4aESaRtOmM5LNyTHzMZ/mMVao5jjf83NLJb+Rd/QMoGWYJe4yBhDKuDhd/Yx8mjC1mAxPfY0OlB0i9fBa1erMT+kZ0nfSZM2dwyy234K9//SsMBgOOHj2Kiy66CNXV1UhLS8PLL78s11hlg+qkiUBO2no4jVXuuVIkRogVuECQq6453PE6XG5R4+G6LzbsDhd+bOnCLW/v4Tz/xkWTMT4/LeQ90IYcBBGMaE/6/vvvR1xcHBobGzFq1Cjv67feeiuWLFmiSyNNEIEI8dK5PCM2z5YRVk2+KAP2HhcaTncJNkJCjBffeO0OlyjhkhiPz2I2IT3EsULUy9SRiyDYEe1J5+Tk4PPPP8e4ceMwZMgQ/P3vf8dFF12En376CaWlpejq6pJrrLJBnrQ20IInJdUYfD1b3yYhvnlbIUZIKuMlJDIQLnaHC4vXWzkXAaFy0tSRiyC4Ee1Jd3d3+5VfMZw5c4aEWoMAuQypFjwpKcfg69kOeDx46uNDooVVUvbsllO4JCaXzQZ15CIIbkQb6aqqKvz3f/83nn76aQBn66YHBgbwwgsv4KqrrpJ8gIR2kMuQyrWBhNpjYMLGDS1dnN3R+IyQ1MZLTuFSJIsA6shFENyINtIvvPACpk2bhr1798LlcuGhhx7CoUOHcObMGe/OVET0Iach1YInJecYwjVCejNe4S4CqCMXQXAjunf3mDFj8OOPP6KyshKzZ89Gd3c3br75ZlitVowYMUKOMRIaQM49grVgjOQcQ7hGaLAYL77GNNSRixjshLWftMViwaOPPir1WAgNo0UjJiVyjiHctpCDpZ2kxWzCMzeNwSMb6rDTJy1QWZSBZ24a4+eda0FcSBBKItpIHzhwgPV1g8GAhIQE5Ofnk4AsConEiIWaWLVgjCIdA989hiusilSQpRfsDhee2vw9xuen4c6KQjj7BxAfGwPrCRue3vy9d19wLYgLCUJpRJdgxcTEeDuLMR/17TQWFxeHW2+9Ff/1X/8V0a5YSkIlWKEJt8xGyMTaZOvB8TMOvL7tqJ8Cuqo4Ey9IUCIklHDLlIQaDzFNQnwJ93NSIbf3KqT5S2ayicq0iEGJaCO9adMmLF26FA8++CAuu+wyAMA333yDl19+GY8//jj6+/vx8MMP49Zbb8VLL70ky6Clhoz0WUJNxmKNmJD6VwCoXW/FvuPtfrsoxcfGoKXTiRljclQxSEINYrTX+CrhvVob2zFn9W7O9zcumowhCXGKd3EjCC0gOtz9n//5n3jttddw3XXXeV8bO3Yshg8fjhUrVuCbb75BUlIS/v3f/103RpoQNhmLLbMRKjZjjmHr/3zZhemKGjmxCmUtKNPlQqnSOCGpFC2ICwlCDUQb6bq6OhQUFAS9XlBQgLq6OgDA+PHj0dTUFPnoCEUQMxmLMWJCJtZQYRytTL5cUYZIjIdSIqhwr6PUAkQKTUK0KN0JIhDRRnrkyJF47rnn8Lvf/Q4m09n/efr6+vDcc89h5MiRAICff/4Z2dnZ0o6UkI1Qk3FLpzOsSV4KxbTSky+bQXO43HiII8pgSQzvHpUSQUVyHaW8V6ECObXFhQShBqKN9Jtvvokbb7wRw4cPR2lpKYCz3rXb7cbmzZsBAD/99BMWLVok7UgJ2Qg1GTeeceCu9/Z6/xY6yQv1kLQy+XIZtEVXFWHf8Xa/Y5kow4u3jBM9fqXCyJFeh2+RZTYZkXaum5oUkYBQqRS1le5U+kWohWjhGAB0dnbi/fffx48//ggAuPjii/GrX/0KQ4YMkXyASjDYhWOh1LXvLJjgZ6QB4aIoIWIzoYI0OSdKPgFYRVEGyvLTWHPmW5dcgUSTUZSgTqmtLCO9Dpei32wyYs3CiXhzWz121CtbDqWG0p1Kvwg1EeVJ9/X1YeTIkdi8eTN+/etfyzUmQmH4PN6KogxYT9iCXg/MSXIZ0GGpiXjxlnFo73aho7cfKYmxSDObkJ1yvjxPiCBN7omSL+S/q74N1RWFrO919vZhRFayKEGd1GFk32efHB8LkzEGth4X4owxqJ1ahDU7j8Hhcou+Dpf3umJWSZCBBuTvta6GN6uFvvLE4EaUkY6Li0Nvb69cYyFUgmsyrirOxILJF+K+9VbWzzGTPJcBfX5uKTyAIOPKJ0hTYqIMZTid/QOsrzM5ZzGCOim7m7E9+4qiDNxZUYj71ltRlp+KVfPKcN96a5ChFnIdtgXUgMeDZR/VsR4vl6JdLW82mtX7hD4QnZOuqanB888/j9///veIjQ2rqyihQdgm49gYA6av2sHqhQFnJ3k+A/rlj6fxyYGmiD0uJSbKUIYzPja4zX24OXOpOqxxPXumIUx1ZaE3RO/732KvE7gAsTa28xwtvSJfTW+WSr8ItRFtZb/99lts3boVf/nLXzB27FgkJSX5vf/RRx9JNjhCWQInY7vDhQkFabzGhM+AZg2JDzLQDGKMqxITJZ/hrCrKxKkO/whSVQSCJalEUEJD9IHh+kjFVkr3WlfTm9VCX3licCPaSKempmLu3LlyjIXQGEKMyU+t3Zyf5woRMwg1rkpMlMy9BnpslUUZuLPyQtT9bMc7Cyb4dUMzm4xhXy+S/ZcZxIToLYlx3s5dkYqthEYCpMohq+nNaqGvPDG4EW2k165dK8c4CI0SypjwGVC2ELEvQo2rUhPlsNREvHTLODS0dMHW04e89ER8fugUatcF53OByLuh+UYuGIP2U2u3YIMmJkSfZjZJ1jZTyOKNLYdcVZyJlXPGYni6WdT11PRm1S79IghKKhMh4RNF8RnQlk6nJMZVyYkyOyUB7gEPHv7jAdx2WT5r2RWDVB5cOKIou8OF2BgDqoozOcvGGFW+HB4f3+KNK4e842grHv7oAJ6fW4oL0rgNdaAHnpwQi2tGZWHL4ZagY5XwZqWIehBEuIRlpD/88EP87//+LxobG+Fyufze++677yQZGKEP+AzoVb8Yiit+MVQS46rkRMlcq8nOX8kghQcXjiiKMer7jrdj1bwyDHg8fruH+aq75fT4uBZvfDnknfVtON7mQHJ8rKhd0565aQwA+BlqJb1ZsT3dCUIqRBvpVatW4dFHH8XChQuxadMm3HnnnWhoaMC3336LmpoaOcZIaJxQBjQS4xqU10yWLmzLh1KtKMWKogKN+n3rraiuLER1RSEMBmB4qhnxsTGw97jwcW2loGctdf1xqByyraePVezFt2BZvvEgXrxlHB6e3k/eLDGoEG2kV69ejd/97neYN28e3n33XTz00EO46KKL8Nhjj+HMmTNyjJHQAXyeRrheiNS1sWKNkRJhdrGiqECj7nC5/ULyW5dcgYLMJAD+VRdcyFF/LCRXzpYqCLVg6ertp+0oiUGHaCPd2NiIyZMnAwASExPR2dkJALj99ttx+eWX44033pB2hERE6LXnsNAwsND7C9cYyR1mFyuKkkrpbHe4YHP0YfnGOuzwCZUDkdcfZyabQubK54y/IOg9qkkmiGBEG+mcnBycOXMGBQUFyM/Px9/+9jeMGzcOx44dQxhtwAkZ0XPPYSFh4G6XW9D9RdoMQ858pFjluhRKZ+Z3sXDyhUEGmiGS+mOL2YSVc8bi4Y8OYCdLrvx/vmlEZmVwm1WqSSaIYPhrZFiYOnUq/vSnPwEA7rzzTjzwwAO45pprcOutt2LOnDmSD5AIj1CGye5wcXxSG4Tyquw9fYLvT4jBVwsmpD6lONPvda6QOmPU2RCSJ/f9XUhVx87G8HQznp9binX/Ogmr51+CdxZMQFl+Gv7nm0Y8NXsMq/GP9N4IIhoR7Uk/+uijuOCCs6GqmpoaZGRkYPfu3bjxxhtx/fXXSz5AIjz03HPY7nAhMc6I1fMvQUKcEd81tgdtEmE2GQXfX0dvH8wmI6orC1GWlwpn/4DfedmMkZJpAjEh9Ujz5L6/C6nq2Lm4IM2M5PhY733NGX8BMisLebULVJNMEP6INtJFRUVoampCVlYWAOC2227Dbbfdhra2NmRlZcHtZu/zTCiLXvN7XBtG+G4SMaU4EzExBt7z+N6fJTEOq+aVYe2uY34iK+a8KYn+xkiNNIGYkHokeXLf34X1hA0VRRl+5VsMfHthixXfabXUjiD0gGgjzZV37urqQkJCAut7hPLoMb8nZMOIAydseH5uKXr6+BeDvveXFB+LtbuOBRmjXfVtMAB4+f+MDzkGrW1NGG6e3Pd3sWbnMayaVwYAfs+Gy3PlW7wkmYySRR6oJpkgziPYSC9ZsgQAYDAY8Nhjj8FsPt8xyO124+uvv8b48eMlHyARHnrsORxqw4gVM0tw97lwqd3hEnx/Xb39rN4icLa5RldvP7JTQo9B62kCIfj+Lhwut1+dNQDkp5uRNSReVA3z0j8ewIyxuX7bV+pFoEgQWkewcMxqtcJqtcLj8aCurs77t9VqxQ8//IBx48bh3XfflXGohBjECpK0QKgQfW+f2ztuMfcnJvQvRLDW0NIFa2M7Gk53aV6AF0jgc2PqrN/b/Q+U5KagOHuI6C5iO462ImtIvN9rQgWKdodL18+TIORGsCf917/+FcBZRfdrr72GlJQU2QZFSIPe8ntiQ/RC70/MeUMd29vnxs1v7fb+rUePMZzfhZgdtxhCRR70XCJIEEpBu2BFOXrK74UTog/ymA3Br4s5L9+xlUUZ2P2TtI0/1ELs70LMjlu+cAkUfcPngcr7423dMMYYkJ1CGheCEF0nTUQfWgk5hhOiP2nrQe16K6a9sh1zVu/GtJe3Y/F6K07aesI6L9exVcWZWFhRiDU7jwWNQe1aayXgq2H23XErEC6BIhM+N5uMWDWvDNbGdtz13l4sev87zPu/X+M/Pvi733dIEIMVg4fahKGjowMWiwV2u33QhfG1GHJkynxChWLtDhdq11tZc6VTijODvFuh5w08Nik+Fm6PBzev3s26rzQAbFw0GePz08K8Y31w0tbDWsO86KoiVL/7bdCzYfsOGKyN7ZizejdqpxbB2tjOWQamtwgFQUgN7Sc9iNFquRFbKJatPretW5wSO1SIl23HLbPJiIfOtdDkMtCANkvapIYrl+1wuTGhIE1UAxImfF6Wl8q5Z3c0qOkJIlLISA9i9FJuxOXtP37jaJhNRk7jKaZhC9c1Fl1VhH3H2zEuL1V0449ohG2hYzGL346UCZ/L2ZqUIKIBMtKDGD10JePz9p/40yFUVxZyemJCvVu+a7g9HlRXFopu/DHYECtEY3L//2jt5j1uMEQoCIIPMtI6J5Ie0ykJcbw9rbUwQYaqz733ihGsRlqMdxuqiUp1RWFQ4w9n/wAuzDDjgtTEQW+gw2VYaiKMMQbObS0HU4SCILggI61jIhV9ZSabsGbhRLy+7WhQT+s1CydqYoIM5e3Hx8UElUyJ9W6F1gAzjT8Yti65ggx0hGSnJOB52lSDIDghI61TpBJ9vbmtnrWndYzBgDfOhXfVJFR9bmqiyS8fmpIYh6T4WHT19sPa2C4ouhBODTB5edKht6Y7BKEkZKR1ihSir9YuF3bUc4eStSAcE9KIxDcfetLWg//44O+iogt816gqzkRLpzPotWfnjFX92aiNlNt56qnpDkEoCRlpnSKF6EsPwjEAeHTmKCxo74HBYPDmyycUpAWFQ8ONLoTax9jj8WDdv06CracP8bExsJ6w4cmPD+HJ2WMGbftKLdbXE0Q0QkZap0ixFaXWt7NkMwRVxZn45L4qpJnjggxuJNEFrpArAM6GKc5+/bUDlQKt1tcTRDRCbUF1Cl+bxmtGZSE5ITZkq0++c6idc+UyBDuOtuKxTQdZPxNpZMBiNmFEVjLG56dhRFYyLGaTIMM/2KBnQhDKQZ60TuEK0V4zKgsrZpUIysuGCvNK6Q2JzV+GMgQtnc6g88kRGdBLSkBJ6JkQhHKQkdYxbCHa5ITYIAMNcIcilVDWhpO/DGUIGs84cNd7e/3Ot/LmsYJ3uxK6aFAyJSClEEtOtJAm0cuzIohIISOtcwJVsQ0tXaLzsnIqa8PNX4YyBIHsPd6O3Q1teHL2aDy26VDQguD5uaUAgJ9Od8ED4IlNB7EjoHMY26IhnO0zw+GkrQdLPzzgp7ZXS4gVygAq9Uy4INEaMZhQNSf91Vdf4YYbbsCwYcNgMBiwceNGv/cXLlwIg8Hg9+/666/3O+bMmTOYP38+UlJSkJqairvuugtdXV0K3oW20FooMtz8pZitEZntDjfu/xkzV+3EuLxUvLNgAt5ZMAGf31+F18/Ve9eut+Ij6894LMBAM2N5+I8HgnL34WyfKRa7wxVkoJkxLWUZk5xIvfWn1IRa9Km1zSpByIWqnnR3dzfGjRuH6upq3HzzzazHXH/99Vi7dq337/j4eL/358+fj6amJmzZsgV9fX248847cc8992DdunWyjl2raCEU6Uu4iwaufHlVcSYWTL4Q9623el+rrizE2l3HvE1ZfLuCTSnOxIu3jMND5yb2hZMvFL3rktwpgZZOJ2+9ekunU5FQrpioh1oNSPSyKQxBSIWqRnr69OmYPn067zHx8fHIyclhfe/w4cP47LPP8O2332LChAkAgNdffx0zZszASy+9hGHDhrF+zul0wuk836Cio6MjzDvQHmqHIgOJZNHAZghiYwyYvmqH385XXNsdmk1GlOal4ky3C/Muy8edFYVIM8eFtXOWnCkBWw//QsYe4n2pEGsA1WhAorVIEUHIjeZLsL788ktkZWXh4osvxr333ou2tvNhyj179iA1NdVroAHg6quvRkxMDL7++mvOc65cuRIWi8X7Ly8vT9Z7UBI1Q5FsRFrmFVgWlWqOw4SCNL9j2LY7ZELg1sZ2TH9tBxa9/x2q3/0Wr/zlR6yaVwazych6PTVqw5M4xsLANVapEWsA7Q5XyDI/qdFapIgg5EbTwrHrr78eN998MwoLC9HQ0IBHHnkE06dPx549e2A0GtHc3IysrCy/z8TGxiI9PR3Nzc2c5122bBmWLFni/bujoyOqDLWWeiGHKvMCzordhKp02c7H1ls7MATOsKO+FR54WLe4VKs2PMkUy7lXdUVRBpJMyvxvKsYAqiXe0lqkiCDkRtNG+rbbbvP+99ixY1FaWooRI0bgyy+/xLRp08I+b3x8fFBuO9rQUi9krkWDw+UO6uYlZKIPPF+aOXji5gqBA8DO+jbce2VRUO5arV2XUs1xWDy1GID/XtUVRRlYPLUYqWbpvUM2BbdQA6hmxzEla/sJQgto2kgHctFFFyEzMxP19fWYNm0acnJy0NLS4ndMf38/zpw5w5nHJtQhcNFgd7i8Yi5fhE70gecLnLjZQuC+uM/1446Pi0FqoknVXZcsZhMK0s2YVTrMu1d1fGwMWjqduDDdLPm4+Lzg5+eWYmkIA6i2eEtLkSKCkBtdGel//vOfaGtrQ25uLgCgvLwcNpsN+/btw6WXXgoA2LZtGwYGBjBp0iQ1h0qEQOqJflhqIl68ZRzau13o6O3HkAT+n3ZWcjxyLQmKTux89ce5qYmYMSbHa3iS4mNRNDQZpzp70d3nlqxZhxAvOJQBjFS8JUUjEi1FighCTlQ10l1dXaivPx9yPHbsGPbv34/09HSkp6fjySefxNy5c5GTk4OGhgY89NBDKCoqwnXXXQcAGDVqFK6//nrcfffdePvtt9HX14fa2lrcdtttnMpuQhhyd3SSWqUb6B3WTi1CZVEGdrLkeacUZypuoIXkcBnD02TrwZc/nkbWkHg4+weQENeHb46dwZW/GIrcCPO9QhZHTN9yLiIRb1EjEoIQh6pGeu/evbjqqqu8fzNirgULFuCtt97CgQMH8N5778Fms2HYsGG49tpr8fTTT/vlk99//33U1tZi2rRpiImJwdy5c7Fq1SrF70UJlGqFqMREKqVKl807XLPzGFada2KyM6CzmFK5S+b7sve44OwfwLi8VOw73u4t/2IL7dsdLhw/48DmAyf98tNVRZm4ND8N3S2dGJocH/b4pVgchSve4vPiH990EM/MGYuu3n5q9UkQPhg8Ho9H7UGoTUdHBywWC+x2O1JSUtQeDitKeSB2h4tza8YpxZmSiYLsDhcWr7dyTvRirtPQ0oVpr2wPet1sMqK6shCzxuait88tW+6SbfHU7XIHfV8VRRm4s6IQ9623+tVpb11yBUZkJQMAjrd245GNdZxK77L8NBw4YQv7e+d6Vmxj4eOkrYdTvGU2GVkXk3zf06p5ZXhv1zFBrVojgXp+E3pDVznpwYqSalqlREF8HcUev3E02rpd3uNCweUdOlxuvLGtHlePzML4/DTWYyKFbfG08uax+ORAU1AXMcbwBpZ/+Xqv3a5+VgPNfL664uxnw/3epSphCkexz/U9cZXLSf37VjvUTgsEIhzISOsAJdW0SnZ08p3obT0uOPsGsPunNtzw+k44XG7BE6haDS64Fk9ZQ+I523wyhpZrfN0cndAYGNV6uN+7lCVMYhX7K2aVsJ6Hr1xOqt+3mmVjgPoLBEK/kJHWAUoaTqUNHjMxPvHxobAnULUaXLR2ubDveDtqpxahLC/1nMjLGLL1qG95WOD4UhP5n298bIw3jO/sd8Pa2C7aK5OrhCnUYtJkjGH9nkKVy0nx+1azbEztBQKhb8hI6wAlDWc4Bi/SMF6kE6haDS66nH1YNa8Ma3cd8/MEq4oysWpeWVDumSFrSDzeWXC2lW1emjnovariTNbnUVGUgYMn7azXFOuVyVHCFGoxae9xsX5PoRYmUvy+1ez5rXZdOaFvyEhrkECjl5wQq5inKNbgSRHGk2ICVaPBRWqiCS98fkRU69Gq4kwcPdWJZRsOel/zfV4WswnPszx/RnR28Ge7IvlbsdgdLiTGGbF6/iVIiDPiu8Z2rNl5zG+RkhQfx/o9KfH7VrPnN20KQkQCGWmNwWb0rhmVhWduGoPlGw8q4ikKNXhShfGkmkCVbnDhcg9wirx21rdhEUvr0UVXFaH63W/9jg18Xly5+vvWW/H6vDL89oujrNdUyytj+81WFGX4RRN8jS3b98S1MHwhjP7ubKjZ85s2BSEigYy0huAyelsOn219+uIt49DV2y+rpxjoxRdmJnFeQ4ownt3hQmyMgTPEq+VNE7qc/bzvJ8QZsXXJFbzbbDIEPi9fQ2Z3uJCdkoCrR2ahb4C/YlJpr4zrN+urZD9wwhZyMcm1MOwOs797IGr2/KZNQYhIICOtIfiM3pbDLXh4er+gGtZwERu6jjSMx1xv3/F2rJpXhgGPx88z1fqmCaE8JEtinN/3ZW1s5xSTAcL2sm5o6eK9ptJeGd9vdld9G1bMLMHdlYWCvkM2tbiUgiu1en7TpiBEJJCR1hC+Ro9R8Pqqhgdk7DsTzoQYSRgv8Hr3rbeiurLQW56Un25G1pDwO2vJhW+kIT1JnIckRdhTa15ZqIVab5877O9QDsGVWj2/aVMQIlzISGsIZhJnOjAFqYbPrbzlqKsMZ0KMxGAEXo9pPMKwdckVmpvAAiMNZpMRaxZOhAcIij6weUhSGFiteWVy5lujTXBFm4IQ4UBGWkMwk3hpXiqrgneHjArecCbESAyG2hOw2LIxtkiDw+VG9bvfYsWsEjw2qwTdzn5eD0kqA6slr0xOzz7UAiDBZITdQeVLRHRDvbuhrd7dJ209+EdrN371+685jxHaX1kMkfR0ZgyeGIMhVQ9pLviMsNjcu93hQpO9Fz+1dnOWF4kZr93hQlu3C+4BD9wDHjhc/bCYTbptE8nXxzuSXbv4+rtH2secWnQSeoE8aY0xLDURzfYe3mPk8DIj8YjCCePJ6YHxGeEkk1FU7l1IeREg7juxmNk34NBrm0i5PHuuyEPgRiVio0vUopPQEzFqD4AIxpLIP9nIoeBlJsQpxZl+r8uV65TreqEEcC2dzpC591Dn2lXfhrW7jqG68nwP7ki31vQdo93h4vikdrGYTRiRlYzx+Wkh96MWA7MA+Ow3VVg9/xK8s2ACyvLT/BZIgd8bH9H47InohjxpDaKWglfpXGeSyYgVs0pg6+lDsskIsykWqea4iK4XSgBn6xGeCw9VXsQo0YV8J77h1USTMarbREodSraYTfiptRuL3v+O8xihkQxq0UnoDTLSGkRNBa/Q0HWkE/FJWw+WfnjAb7coJuRoMfN8MAShBGlJJiPv+74ecahzOfsHBH0ngeHV1fMv4T2vEIOj1ZyqXKFkqVTkagoWtfqdEdqGjLRG0ZKCN5BIJ+JTHb1Y+uHfsYOl//TSPx7AGxGo10NN5kkm4X2iQ53rosykkLlQtvBqfCx/limUalmrOVU5d3uSKrqkVotOrX5nhPahnLSGkSvPFwmR5vRO2nrQ0NIVZKAZdhxtRUunM+zxMZM5G1OKM5FqjhOcC+c7V1VxJmJiDGjtdvHeM1t41XrChoqiDNbjK4oysPlAExavt+KkLVhAqOWcqpBQcrhIpWEI9fuQI5Wk5e+M0D7kSROiiCSnx0xW8y7L572Gracv7PpXIakCixmCohRc56osysCCyRfipjd3eTePENM6dc3OY1g1rwwA/GrhhaiWtZxTlTuULEV0SY1Ukpa/M0L7kJEmRBHJRMxMVgsnX8h/jZ4+LF5vDTsUKGQyF5p79z2XvacPvX1u745UvupiMa1THS63tw3q8pklONbajfjYGFhP2FhVy77nVLsJDB9KhJKl6NqldCpJy98ZoX3ISBOiiGQi7nL2oXZqESyJcXhnwQQYDIagxiAVRRmwnrBFnMcUMpkLFfIw52po6cLNb+1mPZfY1qkOlxsHTtgw9eKholTLWt72UGt9xflQskWnlr8zQvuQkSZEEVHTk0QTrI3tfj26fRuDlOWnesO9gLyhwHCEPOF6RI/OHIUF7T1+i5IJBWl4fm4p765YQPAErmVDqLW+4lpBy98ZoX3ISBOiCHcitjtcWLHxYFA/8l31bYgB8Id7Lsdfvj/lF+4F5AkFhqtCFusRsS0Eqooz8cl9VUg7Vw9ud7hETeDhPP9QEQMpS4O0XJWgFrR4ISKBjDQhmnAm4tYul19NtC876tuwsNPp52EzyBEKDFfII8Yj4loI7Djaisc2HcTr54Rj4UzgQp+/3eFCu6MPKzbW+anpfSMGcpQGaWW3Jy3VJdPihQgXMtJEWIidiIU0BglErlBguGFrMQZVzEIgnAk81PM/aevB9h9PY/OBk0HRCyZi8OIt42Sra1YbLdYla2XxQugLMtKEIoQKFaeb41A7tQhlealw9g8gzRyH/HSzLJNaJEIeoQZV7EJAygmc8eIXTr4wyEAzfHW0Fe3d0VkaJGdTFYJQGjLShCLwhYqvGZWFYWlm/L2x3i/kLZfnE6mQR4hBVVPRy3jxoerRO3r7ed/Xa2kQ1SUT0QR1HCMUga9j1BM3jsajG+pY24QyHZnsDhcaWrpgbWxHw+kub5cmrtfDHYtUQh4pO1uJvUfGiw/VfjQlgX+NrtfSIKpLJqIJ8qQJxeAKFYfyfJo7evHMnw8H5RefuWkMntr8Pb443OL3uhDvW24hj1SK3nByq4wXz7QfZQt5TynORFpSdJYGUV0yEU2QkdYgWlKlSg1bqPin1m7ez/yzvYc1v/jIhjqMz0/zM9Ji8o7h5oGFfj+RLgTCza0yXjxX+1FmoZCdkhCVpUFUl0xEE2SkNYYWValyE8rz4WJnfRvuPLensy9aaoISiSAs3NyqrxfPtB9l9r4enpaInJSEiJTlWofqkologoy0hpBblapVD53P86kqzoT1hI3zs2ylW4B6TVAASPaMI8mtijG+0VgaFI2LD2JwQkZaQ8ipSpXbQ49kAcDn+Tw1ewxmrNrB+VkucZTSTVD2Hm8/2zhk00HJnnGkudVoNL5iGOz3T0QHZKQ1hFyqVLk99HAXAL6G3ZIYhxdvGYeu3n4/zwcAJhSksXrZlec24whEjSYo1ZWFeGbzIYzLS8XCyRfC2T+AhDgjvmtsx+ObDuKlW8aJfsZCcqtajY4QBCENZKQ1hFyqVDk99HAXAHyGfURWst+xXF72MzeNwdObv/c7Vs68I9/3MyE/DePzUrF217GgDUTurChEW7f4Z8wXYXhhbim6Xe5Bp18giMEGGWkNIZcqVU4PvcneK3oBINaw8+UXX7plHG/eUUpPk+/7SU824fnPfmDdQAQAnrhhtODrBI75xVvGodvZj44e/whD7XorddUiiCiHjLSGkEuVKoeHznjCobpasS0AwvHsufKLfHlHqfPwfN9PnDGGswXnrvo2uAc8gq7BN+aLhp6PMDS0dFFXLYIYBJCR1hhyqFKl9tB9PeGFky/kPZZtASC1Z8/mLQOQJQ/P9f00nO7i/VyofaOZ+xA65sHeVYty8cRggYy0BpFalSrGQxcy+fl6wqG6WrEtAKT07Lk8z6dmj8G+4+2sn4nU02T7fkIqrROD3w981gMDHsHe8WDuqsX2nV8zKgtP3DgavX0DZLiJqIKM9CBBiIcuNDzs68WF6moV6b7MDGK95RWbDqK6spB1j2pAWk/zpK0He4+3i1qssD3rdxZM4L2O75gHa1cttmiD2WTErZfl46E/Hgj6DZKIjtA7ZKQHEXweuphQq68X53C5/bpaOfsHcFFmEnItCZzXEpt751o8PDpzFKfnueNoKx66/mKU5KZ4S6HW7DzmDTtL5Wkyz23f8faQixVmoeH2ePD0x4eCNhQJhe+YB2tXLTY9Q3VlIdbuOsa5bzaJ6Ag9Q0aaACBOzBXoxTlcbq/HOqU4U9CkKDT3zrd4WNDew3uNE2d6sOj97wCcLYVaNa8M9623YkJBmmSepu9zC1ysxMfGoGhoMnJTE/0WGu8smMBqoMWmDgZjVy22XHxZXipnxIREdITeISNNABAnRJLKixOSe+dbPITCtxsZY/hWzCrBlb8YKtmk7fvcfBcrDBsXTUaqI85vocHVypRJHcQYDEFRA67nOti6arHl4rmeJ0O0i+iI6IaMNAFAvBBJKS+Ob/FgPWFDVXEmqxGvYOlGtqu+DU/cMBq5EuYohTy3wIUGVytTJnXw6X1V6B/wDBrvWAxsufhQ+2ZHs4iOiH74f92EaOwOFxpaumBtbEfD6S7YHS61hyQIZvJjg0uIZDGbMCIrGePz0zAiK1lyQ2J3uJAYZ+R8f83OY3h69pigcTNdvtbsPBb0mW5nPwDgVEcvfmjqwDfHzuCH5g6c6ugNa4xCnlvgQoMJa7MxoSANqeY4WZ+rnmGiOL7P3HrChkqO5xnNIjpicGDweDzCuixEMR0dHbBYLLDb7UhJSQn7PHrfZvKkrYczhB2J9xlOTSvzLMflpcLa2M6Zp/Xdeaqztw8JcUZsrmvyE4n5su3fr0BsjAHLNtT5nbOyKAPPzhmL/Iwk0fcX6rk1tHRh2ivbve+ZTUasmlcWJHaS4lmriZK1y8y1Os9dy2SMwSMb6iT/7RKE2pCRhjRG2u5wsbZpBISLqbSA7+QXTqg1cNMMkzEGyzbUcS5cuEqrmGcp1qDZHS4sXm/lLE16bm4pHvzw76xGv7IoAy//n/HITkkQfL+B98323NjGZDYZUV1ZiMkXZSAhzghLor7D2lpYoEb62yUILUJGGtIY6UBvKZCtS67AiKxkTm8jGjooBU7UtVOLOL3ga0Zl4fEbRrMacGZ7SsYTZgxaWV4qnP0DKMxMwjCeEi82z5ZpdtHR24/pr3FvffnZb6owMjf8aAoXckUptEC0LFAJQouQcEwihKijuTolrZhVgkc3SrcPsRqwlUrxlcZcnJuCZR8dCCpFYmtEEqiafmfBBAyzcHu7gaI2Jhz68Ed1IXuNd/T2h7zXcIjmcik5d1kjiMGOqsKxr776CjfccAOGDRsGg8GAjRs3+r3v8Xjw2GOPITc3F4mJibj66qtx9OhRv2POnDmD+fPnIyUlBampqbjrrrvQ1cXfR1kOQql8k+JjWet9L85NCfImgfONGPQiPGObqPlKY8ryUjmbeew42oqyvNSQ1+PDV9SWkWTyPuNQSuCUhOB1q1RiQLmFdmox2PuIE4ScqGqku7u7MW7cOLz55pus77/wwgtYtWoV3n77bXz99ddISkrCddddh97e80rc+fPn49ChQ9iyZQs2b96Mr776Cvfcc49St+AllMrXZIxh9TbK8lI5d09ivBCpkUOBzjZR8xnEULWtXDClVWImfrZe42xUFmUgLSm421nteiumvbIdc1bvxrSXt2PxeitO2vgbqQwmuBaoZpMRtVOLkBBn1F21A0FoBVXD3dOnT8f06dNZ3/N4PPjtb3+L5cuXY/bs2QCA//7v/0Z2djY2btyI2267DYcPH8Znn32Gb7/9FhMmnO17/Prrr2PGjBl46aWXMGzYMMXuJVSDj5ZO9hIfpRsxyCXwYZuo+TpopbJsOOHLBWmJQZ9lSqvuW2/FnPEXABCmKBbSa5xRd/uKxsTuez1YYatd9hX8+aYq9JbGIQi10WxO+tixY2hubsbVV1/tfc1isWDSpEnYs2cPbrvtNuzZswepqaleAw0AV199NWJiYvD1119jzpw5rOd2Op1wOp3evzs6OiQZM1/ekWurQiUbMchpdNgmasYgGgDs9DGIVcWZyE83824QkWY2YVbpML8Wm9YTNr+2nkIWHEyt9er5l3h7eD/8xwO47bJ877kLM5OQGBfjt1OV3eFCk72Xcq0CYFugUj9tgpAGzRrp5uZmAEB2drbf69nZ2d73mpubkZWV5fd+bGws0tPTvcewsXLlSjz55JMSj/gsXG0auXYtYhox7BSx1WO4yCnwYZuoHS43/uebRqycMxb/tPWg3dHnNbbPfXoYz9w0Bss3HmSNPGSnJOCKXwzljEwAofeL7na5g46pKMrAc3NLcd96KxwuNyqKMlCWn4Y3ttV7DbwBwEN/PBBSZEa51vMELlAT4ozUT5sgJECzRlpOli1bhiVLlnj/7ujoQF5enqzX5AqHH2nqwLNzxnIaq3AnMiYMbO9xwRwfixiDIaRREWt02ELNgZGE5IRYPLqhDl8cbgn6vLN/AC/eMg5dvf2sime+yERDSxfvgsPm6MPyTQeDjmE8u+rKQlgb273hc+ZzD//xAKaPzcWOo61YOPlC3vtXut2k1sv0fBeo1kb2vbwZaIFDEMLQrJHOyckBAJw6dQq5ubne10+dOoXx48d7j2lp8Z/8+/v7cebMGe/n2YiPj0d8fLz0gw4Bn9GRsjyHLQxcUZSBx2eNhtlk5Ay9izE6fKHmEVnJ3tcaWrpYDTQAbDncgoen9/sdHwhXZCKUorjb1c9pxHfVt+Hh6SMBwOtRM3x1tBULzhlnJqdubbT51WknxBlxqqNX0XaTWmgWIgaxveClQOuLGIIIB80a6cLCQuTk5GDr1q1eo9zR0YGvv/4a9957LwCgvLwcNpsN+/btw6WXXgoA2LZtGwYGBjBp0iRFxyt0guAyOlLtZsSVd95V34anNx/C8pmj8MiGg0GfExNaF5PbDqc8R8izDGUEujkWIgwnzvQEhWOZpilDh8Rj9fxLkBhnxPWjs9HtdGPVtqN+x1cVZ+KKXwyFxcx7GUnQo4CNK70DyNNPW2+LGIIQiqpGuqurC/X15ye+Y8eOYf/+/UhPT0d+fj7uv/9+PPPMMyguLkZhYSFWrFiBYcOG4aabbgIAjBo1Ctdffz3uvvtuvP322+jr60NtbS1uu+02RZXdWpog+PLOO+rb8ND0kUGqabGhda5rmE1GlOalosnei59au5GSGId0s8nPew/sHpZgMsLuOJ+fFPosQxmBUOrxQMEelxr52Tlj8GldU5AAaoeCBlKPzUKk2s5UCHpcxBCEUFQ10nv37sVVV13l/ZvJEy9YsADvvvsuHnroIXR3d+Oee+6BzWZDZWUlPvvsMyQknC+Tef/991FbW4tp06YhJiYGc+fOxapVqxS7B61NEKE813+296AsPw2PzhgFV/9AWKF1tmvwldysWTgR1e9+CwC8ZTlJJqPgZ8llBKqKM/H4jaMRG2PgNeItnU6/17jUyNkpCZxNV7462oqmc7tnyfkd67VZiFJd1vS4iCEIoahqpK+88krwtQ43GAx46qmn8NRTT3Eek56ejnXr1skxPEFobYIIFQY2GWPwxrZ6zBl/AUqGWSS7Bl/JjQfAilkl+NnWw1uWs2JWiahn6WsEbD0uOPsGsPunNtzw+k4AwJqFE+EBgrxyRh3ua8S5WpiGqmP/6XQ3nv3zYVmjJmrkd6VCqjQOH3pdxBCEEDSbk9YLWpsg+MLATLeuSHOCbNfg69O942grHptVgkvyUwHAW5/M1C2v2XnsrCK7h/9ZtTtcfqFx4LwH+8THh4IMfPW732LFrBI8NqsE3c7+IE/O18tzezyonVrkJw77rrEdCTz7WQNnw+ZyR02Uzu9qFS6tgp4XMQQRClXbgkYDQicIOVpxssGEgQNblDLduo40dUScE2S7RiiPs8fVj1hjDKyN7bjrvb1Y9P53qH73W1gb27FqXhnMJiOSTPwG0d7Tx9qSkyua4XC5seyjOsQYDN5+2QC830NrtwuZyaZz/b3jWceWmWzibCPKLHoA+Vq4Mjw1ewyqAr5TOfK7XCj1++WCrz1rqJa8g2URQ0Qn5ElHiBAvR2lhmW8Y2N7TB7PJCGOMAcYYA166ZRyAs4YqklIVtuYVfFgSTVi+sS4o1O1bt5xkig0ZBWDzWt0eD95ZMCHIO2fEakw0g+t7WHnzWKzYeJB1bL/94kc8OmMUnvv0B79x+bYoZZAjasKMed/xdlRXFnprt4enJSInhXu7TjnGoJYwUojuQymRGkEoDe0njcj3k+bbK9hsMmpqr93ACddsMmLFuVC0w+UO22if6ujFv//vftbOaZVFGXhs1mhc+9uvOD+/7l8nYfSwFHS73EHPsqIoA0uvH4kYAzDgOeshp5njkJOSAIfLjYc+/LufuMvXgDpcbmxdcgUyk02c38O6f52EX/3+a86x/eWBKmQPSfCq1uNjY1D3sx0GAzBmmMW7OBiRmYSCzCShjywkWtinWQtjELtXe7RtBUoMbsiTloBIOmMpKSwL9Eh8FdnLPqrzHsfnJXHlBbud/VhYUQgPELQpxsKKQthDeJnxcTHnREZnc8U/23rQ2u1CutmEpHgjTnf04rVt9X7nrirORO1VRdjXaPM7l693fuCEDZnJJl6BX6hcuMPphiX77Hf07CeHsfd4u/e5vbrl/NapUnuXWhAlamEMQnUfSojUCEJpyEhLRLidsZQUlgVOuGI3QeALe9p7+nDfeiuqKwtZN8X48NflvGNLTfQXg7U7+vBfnxxGWX4ahlkS8GeOWmV4PKiuLAwSre2qb0PNlUWYf1k+LGYTfmrt5ry20E1OmFz89h9PK7J5hBZ+O1oYAwnDiMEMCcdkRksTTOCEK2Yv61B5weT4WDhcbryxrd4rvrrrvb14Y1s9HC63N9/MRqC4x+5weXPEZXmpyE5J4BznjnPHsJEQZ0TuOa+W73uwnrAFibK4xjYsNRETCtIU2QNcC78dLYyBhGHEYIaMtMyEmmBiYwyKKWYDJ1wxe1mHCnuajDG895lqjmNVnbOJe1q7XNhR3+odY6hxcr3vu/Uk3/dwpKkDK+eMFTQ2AOhy9vOOx/e5RaKK1oJxChyD2WRE7dQivLNgAt5ZMAEDHo/sv1uuigUShhGDAQp3ywxfZ6xFVxVh+qodXhWy3IrZQCW6mL2sQ4U97T2ukApbJt8cStxj7zk/6Ycao9lkxPC0RK+6OzHOiAGPB0kmI+w9LjSc7vLmzbnG99TsMcgV0R1LqHcZqSpaydaabNgdLrR1u/D4jaPxxJ8OYZ9PLp6tY5ycSm8DgOljc7Fg8oXeVEpg1ziCiEZI3Y3I1d1C8FWeJsXHYu/xdjy9+fugHamkVsz6Cr0siXEwGWPwyIY6fHW0FbVTi2BtbGcN3VYVZ+Klc9tIdvT2IdFkxOYDTX6lTb5IpbA9aevBP1q7vWrr2qlFnDlps8mINQsn4s1tR/3U3ZXnxGqMutvXiLCND4Co3ZPsDhcWr7dylt29Pq/s7NglUkWroVr2XWAw/dZnjMnByk8Os7ZJlVPprQWFOUGoBXnSCuErLGto6fJTU/sipWKWzZO7ZlQWVt48FvaePpxo78GNpcPw9OZDQSVMT9w4Omgf6MqiDKyaVxa0vaNv6DUShS2T9x6Xl+rdBGTNzmN481eXoPaqIgD+yvEVs0rw5rb6IKOxs74NHsArKAsUdAkVw3F5hkI8XClV/UqrlgP1B4zWoCwvlbePuVxKby0ozAlCLchIq4ASilkuodeWwy1w9g9gxawS/Nv/2+f1khYGKLJPd/QG7QO906e0iQl3Shl6ZSZjJqwKnFNpr/sO/3bFRXh0xih4APS43N58M9diZ1d9G6orCr1/s03mkWyOEmrzCC2oosOFyyiK0TBIiZ6fJUFEChlpFVBCMStU6PXV0dag8iUupTNw1lAvn1mCq0dmSR56ZSZjh8vNWs4VZ4xBcfYQ7/HWxnbe8wUalcDJPNQzaul0oq3bhf4BDwY8Hjic/bCYTd5wOJ+HqwVVdLhwGUUxGgYp0fOzJIhIISOtAkpsmBCJ0OvxG0d7d5Jio7fPjfH5aRGPMRDfyZgJsfqydckVnMezEWhUhiTE+eXo+wf45Rgn2h0Y8CCoJlqIUErPm2JwPVfrCVvQXuQMct6Tnp8lQUQKlWCpgNwlJXaHC4lxRqyefwnWLJyI2qlFMAdsXpEUH+cN2W5dcgU2LpqMrUuuwOvzymAAWMVhDHJ5LmJLjviO9938gvl8QlyM3yYNHSE6jaUkxPE2LeErPdJz2RDXc12z8xgWTy1W/J70/CwJIlJI3Q1l1N1syKHaZRNCBfayDqWIFaJejkQcxqekZvqg7z23oQTTqCQvzYzslPig67L1TWdTdz87Zyye+PiQX56dT93O9Au/8Y1dnPfCKNqF3K/e+klz9aN/YW4pEk1GVe5JzLMM9TsjCL1ARhrqGelw4ZqA7A4X/v2Dv2NkbkrQvsjfn7SjZJgFB07Y8PzcUm8nLi74Ng1h+6yQSVGoktrucKHd0YcVG+v81MRcYebAyTs5IRbdzn509JyfzNu6XZj6sv8mDb69ywN7gi+YfCHcAx782//bx/mMNi6aLEvYXyvoeYGh5q5dBCElZKShLyPNNwE5+9xoaO0OMjqMJ50ncntDoZO0kElRTK2rHHWxe/9xBr98e0/Q6741wK7+AQxJiENsjAHTV+3A6/PKcNd7eznPKcSTJpSFaqqJaINy0joiVMkQDMEiJ+BsOdLaXccQYzCImqAsZhNGZCVjfH4aRmQls3421JiYvK2QWlcGMccKwe5wwcVRPsQI1OJjjd77TDXHYUJBmlcoxQYJlrSJ1L8dglAbMtI6ItQE1Ns3wLnxw676NrhDqJlDwdaHWsikaHe4cCZEf2ff8iip62Jbu1zY/VMbp8GtCjC4jFDpSFMH7qwoDPocCZa0C9VUE9EGlWDpiEgnID7Fdii4Qtr3TSvm/Zytx4UnPj6EhZMv5D3OVzEupi5WSC68o7cPa3Ye82uQwlBRlIEnbxwd9JlhqYl46ZZxaOt24YkbRsM94IHjXBMVveRmByNUU01EG2SkdUSoCSjU+767QomBL6R975UjeD/r6h/AjqOtfq0+AwkMHQutixUqEEpJiONskOJbphWIlO04SW2sDFRTTUQbFO7WEaHqiNOS5NnakC+k7XC5UckRRq4syvB672t2HhMcOhZSFys0Fw6cf25s+10fOGFDRpL8m1X41mdPe3k7Fq+34qStR9brDkaoppqINkjdDXXV3WI9LK7SqGfnjIXLPYAz3S70uQewq6HNu2MVW+mUmOtaG9sxZ/Vu1vf+352XITUpDp29/bD19HlLvn44acevLi9ADAxYtO47VFcW4pL8NMTGGJCeZEKfewAJcTEYZkkMWevKpi5vaOnCtFe2s34OCFZeiy0pkwpSG6uDXsvHCCIQCnerSDj1nGwbOyTExeDxP/k36qgqzsTHiythAJDB0jBEzHW5wuhmkxFZlgQ8E7CLVlVRJpbNGInWThfM8TFYf8/lePGzH/zafFYVZeDpm8byTpx84ebA/DxTSsXUhzv73TjV0YvslATO56bExE07OKmD0juHEYRcULhbJcSEawPxLY3KTDbh4Y/qgnas2nG0FU/+6VCQgQ7nulxh9urKwiADDQA76lvxn58cxj9tDqSZTXjpsx+8O2idP6YNKzYd5L1PPnwXDkxTEmtjuzeUPWPVTvz7/+5HY1u39zghJWVSEy1qYzZlP0EQ8kOetEpI5WGJPU841+XaP3nyRRl4Y1t9kBfLhLyHWRLhcns49yDecW6nKSH3GRieTzQZMW3kUGz94TSqKwtZ68N31rfhkQ11ePn/jPd61Eojl9pYSSEadfAiCPUgI60SUnlYYs9j7+H3gNodLlgb24MmfrZwsb3H5dda0zecXVGUgRtKc9HZ2897PXuITS4AdiNRVZyJ5TNL4AFQlpcatGMWw876NrR3u2Qx0kIMpRxqYyWNZiR7bkdyTVLCE8RZyEirhFQeltjzmE38X3l8XAxueP3sphKBE39gnq+hpYvTi91V34ZnNh/GEzeO5r1e4O5cgXAZiR1HW/HU5kOorigM+aw6QiwUwkGooeSKQoSrNlbaaCqdUyevnSD8oZy0SojdllGq88TEGDg7b1UUZaDffV7sHyo/nplswuSL2GufgbO5aZd7gPd6SSEWDXxGgrluoon/Z5ySIO1aVGxe33dL0D/VTMb2/7gSK2aVoMnegx+aO/DjqU78JDDPq3TbSyVz6pHoNAgiWiFPWiWk8rDEnic2xoA7KwoBBHfeurOiEHaH/6TL5y1ZzCaYYvkNZFuXE7VXFbFeb/HUYqSa+b1gt8eDdxZM8Mt1M6VlAOByD8DjOaso31EfbLwqizKQJnEddLh5fYvZxLuV6MpPDuPJ2WN4PUalhWhKdvAiJTxBBENGWkWkKgsKdR7fHF96kgn/800jyvLTgjpvrfv6OEqGWYLOzzfxp4UYq8vtQXJsDGaVDvO7XkunE7kceWK7w4W2bhc8AJ7+2F89XlGUgVXzyrx7Reenm3HoZztWzCrB0wFK88qiDDw7Z6zk+ehwDSWXp8gsXsry00KGrJVue6lkB69oUcIThJSQkVYZqeo5uc4T6LmZTUasWTgRb/61Hmt2HvOqssvyUnH96Bx8cfgUzCajX59vvomfbxKvKs5EYYYZ9h4XJo/IQG+fGz/beuDxAD/bejB91Q5MKEjzyzcy4x2XlwprYztrrhs4W/514IQNMTBg099P4oXPj+D5uaV4aPpIdPe6YTHHISUhFhekmcU/zBCEayhDhe6rKwrxxrZ6Xo9R6baXUufU+aC+2wQRDBlpncOnhGXz3BwuN6rf/RZP3jgaT80ejf/c/D2AswrpxjMOTCpMx+xxw9DQ2o0YgwGnOnp5J36uSbyqOBM1VxVh5us7vQa/sigDCysKvV4w4C94AuAd78LJF3IqtnfVt6HmyiLcculwPPnxIVgbbVg1rwxrAgRsVecMidSCo1ALk1ijAXZHsKEN5Sk6z22nyecxKmk0GZRqBEN9twkiGDLSOiaUEpbLc3O43Dh+xoHPDzbhtkkFQeVTlUUZ+I/rRuJX//dvuLQgDVf8YigsPA5p4CSeFB+LvcfbUf3ut34e+c76Nnhw1gv2vZ6v4IkZr5Nj/2eGhDgjHK5+bPvhNGqnFrEqzHfIpHjmMpQVRRlYMPlCTH8tOEIAhPYU48/l90N5jGp0T1Oig5caCxCC0DpkpHWKkFIcPs+tLC8VADibgBhwxGtMhRg630m8oaULyz6qYz2OCesG0tnbB98m8vEhBGmWxDjvHtV8ddJyCY4YQ9nS6UTjGQcAwHrC5o0SsJVE8XmKFUUZsJ6wCfYYo7XtpVrtWwlCq1AJlk4RooTl89yc/QMoy0vlLZ9iDLnY0h6hYV1fhiTE+Y3XesLGWbrFGLLUc1tvhvK6wxEcCW2D6R7wwNk/AIPBEPRe4HPj2qGJUXcfaeogjxHqtG8lCK1CnrROEaKELcxM4vTcUhPjYAvR7SspPhar51+ChDgjBkRsliY0rMvg6z0y412z8xhWnctT+y4kAkOfVcWZIb1usYKjk7YePLbpIEbmpqAsLxVN9l60mOOQn272CtG4Sql8ledA8AJhWGoiXrxlHNodLnT29iM5PhZGgwGxRgNeumUcGSSCIPwgI61TQhnChDgjfmzpwiMzR2F6ow1Pb/7eazimFGeiIMMMtDl4z9Ht7Mei978DIE6ExRfWrTwX1mUINLq+Ocn71ltRXVmImiuLEB8Xg9REk1/o02I24fm5pdj+42lUFLE3VRErOLI7XHhs00H8alI+1uw8FrRz18qbSzEkIZa3lMo35+67QLA7XGh39GHFxjq/UjFGR0AGmiCIQGg/aai7n3S42B0uLF5v5TSE4/PTvIaiqigDj98wGp3OPqQknDd0P7c7sPSPB4J2qALOeoVlPucAxO1/HGrf644e7nyj2L2AWzp60e3sx2N/OhQkohO7X3RDSxc+PnAS+/5xhnVjkKriTDwzewyueOlLznO8s2AC7npvr9/zOmnrwfYfT2PzgZOciwnaW5ogiEDIk9YpXEpY3zInhh31bXj840OYVToMM8bkeA3BBWlmPHdzKZZtqGPtgOV7DkCcCCsSAZAYURQTdt53vB3VlYVYOPlCAMDwtETkpCSINnodvX2oLMrEb784yvr+jqOt6Hbx9wJ39g/4RQgYkd/CyRdyagCooxZBEGyQkdYRbDXRvoYwIc6IzXVNfjlRBkZVHWgIhqeb8YbPOUyxMfjkYDPrOQBxIiy5FciBCnc2r18sKQlxON3p5D2m2xn8XHy5KDPJzytmRH7zLsvn/Rx11CIIIhAy0jqBryZ6RFYyAMDa2M5ZigSc9fDYDEFg+RTfObTU9UmOXs+ZySY4+vg95SEJsbxNN3It/h48I/KTWuBGEET0QyVYGsfucOF4azeWfvj3kLsDJceH2IYyNiakIZBqdy6p4CuFkqPXs8VsQrIplnfnrkSTkbWUiqvpBiPyE1JWRsiL0NI6gtAK5ElrGMZ7Xjj5QlYRE3DeY+x2ubH3eDunyrmiKAMtnU5MKEjjvaYWuj4xYf12hwt97gHsamjz7nzl21FNrl7P6UkmLJ5aDIBj567EOFjMJsE5d2bhI7SsjJAH2qua0COk7oY21d12hwu1663YcbQVq+df4i2FYuOjeyfj1S9+xL7j7Vg1ryyoi1hVUQZqpxYjLy0RPX0DrH2+2a6vZNcn352vnth0MGjnqzt9en775pu5FO6h1NJ8Pc8BoMnWgy9/PI2sIfF+O3dd9YuhyAljQmfU7nvPCdyYRjHhCtwIcfj+/xQIKesJLUOetEbxzbeGymWaTUbvsUxtse+2kBdlJsFkjMHSj+oEexFKtp0Us/PVG9vqvdGDEVnJYXn9Qjyq3NREzBiT47dQmVCQFvYzoXaX6kJ7VRN6hYy0RvHNtzK5TK762piY8y0pHS53kPBrywNT8Nif6nj7fKs1QTHNQ8blpeK60dm8O1/59vxm8s1ijZ+Qnue+zVIC9+T+qbU7ZBSCC7X7bYeKHmjlnHJAe1UTeoWMtIrwTXC++dZQucyePv6SIPeAR7NeRFu3C7ddlo+1u46hJJc/1eDbo9s33xxo/BhxENtzDcejCjeXqSUDJkc+Vk85XtqrmtArZKRVItQE59ta0+Fy+4WxASA/3YysIfHeZhl8JUGOEM031PQiDAYgMc6I+ZMKkJfOsx8mzof9q3iU0KGeq1iPSoznLWYcShLuPSh9TjmhvaoJvaLpEqwnnngCBoPB79/IkSO97/f29qKmpgYZGRlITk7G3LlzcerUKRVHLIxQE5zd4QraMYkJY7+3+x8oyU1BcfYQAGfrmn9q7cbymSVYefNYmE1G7/m8udlE/glILS/ipK0Hj208iPm//xqL3v8Onx9qRiVP6RMT9n969hhWAyDkuYr1qIR43mzjYEL47yyYgNXzL8GahRNRmpeKxzcdVLzsJ5x7UOOccsK1Axkp6wmto3lPevTo0fjiiy+8f8fGnh/yAw88gD//+c/44IMPYLFYUFtbi5tvvhm7du1SY6iCERpy5cu3cnlqn9xXhY4eF5Lizx8bytNWw4vwGlSf8L1vWH+nnzo9E8tnjUKTrRcXpCYizcxuaIU8V7EeVTi5TN8Qvm+OnVGpt3Urm16QIx+rxxwvifcIPaJ5Ix0bG4ucnJyg1+12O9555x2sW7cOU6dOBQCsXbsWo0aNwt/+9jdcfvnlnOd0Op1wOs+3fuzo6JB+4DyImeCYfKuvcCk53om9x9ux73i73+e+OtqKxzYdDAo1aqH2ORA2g+ob1n9kZgmabD0Azgrn5qzejQkFabzjtffwe2/2nj7RivBwcpn9A56gMjjgvJ5gxcwSNJzuUixHLUc+Vq85XrXFewQhFs0b6aNHj2LYsGFISEhAeXk5Vq5cifz8fOzbtw99fX24+uqrvceOHDkS+fn52LNnD6+RXrlyJZ588kklhs+K2AlO6N7FwFlD3dzRGzQRye1FiBVJcS1UmLD+6GEpsDn6MKEgDRlJJswZf0HI8ZpNsQF/G701yc7+AZhNRtgdLlHPIpxc5sCAh3MjjV31begbGMD1L+9QLEctRz6WcrwEoQyazklPmjQJ7777Lj777DO89dZbOHbsGKqqqtDZ2Ynm5maYTCakpqb6fSY7OxvNzc285122bBnsdrv334kTJ2S8i2DEtN7kyrPuqm/D2l3HUF1ZGHgK/LO9hzXvaTGbMCIrGePz0zAiK1kyA33S1oPa9VZMe2U75qzejWkvb8fi9VacPOcJsxFqoWJJiMOVvxiK4uwhgscbE2Pwtt00m4xYNa8M1sZ23PXeXix6/ztc/9oO77iEPotwcpmhhHrtjrMLlMC2rnIhRz6WcrwEoQya9qSnT5/u/e/S0lJMmjQJBQUF+N///V8kJobvfcTHxyM+Pl6KIYaFmPAzX541sHbYF7ZSIrnqZMNR+fJ5YlXFmRiRlYzslARRY4mNMeDOc8+jLD+NNeQcjvpYbBQilFCv332+yZ9SJXByRFIox0sQ8qNpIx1IamoqfvGLX6C+vh7XXHMNXC4XbDabnzd96tQp1hy21hA6wYXKX/vWDgPnVdAZSdLU+oYi3E5OoRYqYg00AGQkmbDyk8Moy0/jbYwSjmEMlcv0XQClJ3EvQCqKMvBdo7+WQCmRlRz5WMrxEoS86MpId3V1oaGhAbfffjsuvfRSxMXFYevWrZg7dy4A4MiRI2hsbER5ebnKIxWGkAkuVFjYt2Wob4/rOeMv8L4uZ01rJCpfqT0xi9mEJ2ePwcN/PBCyMYqUhjFwAWQ2GbFm4UR4gCAdAfP9+KJVkRVBEOqjaSP9H//xH7jhhhtQUFCAkydP4vHHH4fRaMS8efNgsVhw1113YcmSJUhPT0dKSgoWL16M8vJyXtGY3uANCxdlYOiQeKyefwniY2NgPWHDfeutmFCQ5pfXlrNvcaQqXzEeqpAQPWP4m+y9EY1LKGwLIIfLjep3v8WKWSV4bFYJOnv70dvnxu6f2oKEfiSyIgiCD00b6X/+85+YN28e2traMHToUFRWVuJvf/sbhg4dCgB49dVXERMTg7lz58LpdOK6667D6tWrVR61tPCFhZ+5aQye3vw9thxu8Xs9MK8djrcr1DgKVfmGkw8/aevB0g8PYEe9uBA9c14l1MdcCyCHy41lH9Vh65IrcElBGk7aevD29oYgA00iK4Ig+KCtKqHNrSoD4do6UsiWkg0tXZj2ynbOc29dcgVGZCV7/xabv2a2YWTLLeemJoaVD7c7XKhdZ/Uz0AxVxZl4Q0CIPtS4pMDa2I45q3dzvr9x0WSMzz+7h7fS238SBKF/NO1JE+fhCgsLyWuLqWkNJ3/Nl1sOPJ9v7fLhpg50O/u9Pch9ael0shpo4Gyet6XTGfK+lVAfiwn3k8iKIAixkJEeBIgp+WrpdIat1mZ73TcczNQuB7bLZPOqbT38IXp7iPdDjUsMfKF6aupBEISckJEeJAjxKk/aetB4xsF7HrGqaN98eHVloeDa5SSfjULYMId4XypCheq12HKVIIjogYz0IILPq2TC0gsnX8h7DrGqaN9wcFlequDa5SRTLCqKMljba1YUZSDJJP9PV2jon5p6EAQhF2SkBwFClNVMWHpcXiqncQwnfOsbDg5svBKIr5eeao7D4qnFAOA3loqiDCyeWoxUjp2wpERM6RrlmwmCkAMy0lGOUGU1E5b23S7S1zhWhRm+9Q0H+zZeYSNQZFWQbsas0mGoriiEs38A8bExaOl04sJ0syIGUY/bMRIEEV2QkY5ixCi1mbC073aRvsaxaGhy2GVLTDjY5uhDVXEmq3fK5qXnpiZixpgcvzDyhII0xTxWvW7HSBBE9EBGOooRE671DUsz20UyTCnOxOvnvOtwYcLBz4sUWakZRiblNkEQakNGOooRE65VSqWsJ5EVKbcJglAbMtJRjNhwrVIGVE8iKz0tKgiCiD7ISEcx4YRr9WRAlYKeCUEQasEvtyV0DROunVKc6fc6hWvFYXe40NDSBWtjOxpOd8HucKk9JIIgBgm0wQb0scFGJNDGDuETzuYgBEEQUkFGGtFvpInwsDtcqF1v5SwZY9tshCAIQkoo3E0QHAgpYSMIgpATMtIEwQF1HCMIQm3ISBMEB9RxjCAItSEjTRAcMCVsbFDHMYIglICMNEGwYHe40NbtwuM3jkYVlbARBKES1MyEIALwLbsym4yorizEvVeMQHxcDFITTVTCRhCEYlAJFqgEizgPlV0RBKElKNxNED5Q2RVBEFqCjDRB+EBlVwRBaAky0gThA5VdEQShJchIE4QPVHZFEISWICNNED7QzmEEQWgJUneD1N1EMLRzGEEQWoDqpAmCBYuZjDJBEOpD4W6CIAiC0ChkpAmCIAhCo5CRJgiCIAiNQkaaIAiCIDQKGWmCIAiC0ChkpAmCIAhCo5CRJgiCIAiNQkaaIAiCIDQKGWmCIAiC0ChkpAmCIAhCo5CRJgiCIAiNQkaaIAiCIDQKGWmCIAiC0Ci0CxYAZrfOjo4OlUdCEARBDCaGDBkCg8HA+T4ZaQCdnZ0AgLy8PJVHQhAEQQwm7HY7UlJSON83eBg3chAzMDCAkydPhlzRaJ2Ojg7k5eXhxIkTvF86cR56ZuFBzy086LmFRzQ/N/KkBRATE4Phw4erPQzJSElJibofstzQMwsPem7hQc8tPAbjcyPhGEEQBEFoFDLSBEEQBKFRyEhHEfHx8Xj88ccRHx+v9lB0Az2z8KDnFh703MJjMD83Eo4RBEEQhEYhT5ogCIIgNAoZaYIgCILQKGSkCYIgCEKjkJEmCIIgCI1CRlpnrFy5EhMnTsSQIUOQlZWFm266CUeOHPE7pre3FzU1NcjIyEBycjLmzp2LU6dOqTRibSDkuV155ZUwGAx+/37961+rNGJt8NZbb6G0tNTbRKK8vByffvqp9336rQUT6pnR70wYzz33HAwGA+6//37va4Px90ZGWmds374dNTU1+Nvf/oYtW7agr68P1157Lbq7u73HPPDAA/j444/xwQcfYPv27Th58iRuvvlmFUetPkKeGwDcfffdaGpq8v574YUXVBqxNhg+fDiee+457Nu3D3v37sXUqVMxe/ZsHDp0CAD91tgI9cwA+p2F4ttvv8V//dd/obS01O/1Qfl78xC6pqWlxQPAs337do/H4/HYbDZPXFyc54MPPvAec/jwYQ8Az549e9QapuYIfG4ej8dzxRVXeH7zm9+oNyidkJaW5vn9739PvzURMM/M46HfWSg6Ozs9xcXFni1btvg9q8H6eyNPWufY7XYAQHp6OgBg37596Ovrw9VXX+09ZuTIkcjPz8eePXtUGaMWCXxuDO+//z4yMzMxZswYLFu2DA6HQ43haRK3240//OEP6O7uRnl5Of3WBBD4zBjod8ZNTU0NZs6c6fe7Agbv3EYbbOiYgYEB3H///aioqMCYMWMAAM3NzTCZTEhNTfU7Njs7G83NzSqMUnuwPTcA+NWvfoWCggIMGzYMBw4cwNKlS3HkyBF89NFHKo5Wferq6lBeXo7e3l4kJydjw4YNKCkpwf79++m3xgHXMwPod8bHH/7wB3z33Xf49ttvg94brHMbGWkdU1NTg4MHD2Lnzp1qD0VXcD23e+65x/vfY8eORW5uLqZNm4aGhgaMGDFC6WFqhosvvhj79++H3W7Hhx9+iAULFmD79u1qD0vTcD2zkpIS+p1xcOLECfzmN7/Bli1bkJCQoPZwNAOFu3VKbW0tNm/ejL/+9a9+22zm5OTA5XLBZrP5HX/q1Cnk5OQoPErtwfXc2Jg0aRIAoL6+XomhaRaTyYSioiJceumlWLlyJcaNG4fXXnuNfms8cD0zNuh3dpZ9+/ahpaUFl1xyCWJjYxEbG4vt27dj1apViI2NRXZ29qD8vZGR1hkejwe1tbXYsGEDtm3bhsLCQr/3L730UsTFxWHr1q3e144cOYLGxka/nNhgI9RzY2P//v0AgNzcXJlHpy8GBgbgdDrptyYC5pmxQb+zs0ybNg11dXXYv3+/99+ECRMwf/58738Pxt8bhbt1Rk1NDdatW4dNmzZhyJAh3lyMxWJBYmIiLBYL7rrrLixZsgTp6elISUnB4sWLUV5ejssvv1zl0atHqOfW0NCAdevWYcaMGcjIyMCBAwfwwAMPYMqUKUFlIIOJZcuWYfr06cjPz0dnZyfWrVuHL7/8Ep9//jn91jjge2b0O+NmyJAhfhoRAEhKSkJGRob39UH5e1NbXk6IAwDrv7Vr13qP6enp8SxatMiTlpbmMZvNnjlz5niamprUG7QGCPXcGhsbPVOmTPGkp6d74uPjPUVFRZ4HH3zQY7fb1R24ylRXV3sKCgo8JpPJM3ToUM+0adM8f/nLX7zv028tGL5nRr8zcQSWqw3G3xttVUkQBEEQGoVy0gRBEAShUchIEwRBEIRGISNNEARBEBqFjDRBEARBaBQy0gRBEAShUchIEwRBEIRGISNNEARBEBqFjDRBEARBaBQy0gRB+HHllVfi/vvvl/Sc7777btAWgwRBhIaMNEEQsnPrrbfixx9/VHsYBKE7aIMNgiBkJzExEYmJiWoPgyB0B3nSBEEE0d/fj9raWlgsFmRmZmLFihVg2vxfeOGFeOaZZ3DHHXcgOTkZBQUF+NOf/oTTp09j9uzZSE5ORmlpKfbu3es9H4W7CSI8yEgTBBHEe++9h9jYWHzzzTd47bXX8Morr+D3v/+99/1XX30VFRUVsFqtmDlzJm6//Xbccccd+Jd/+Rd89913GDFiBO644w7Q/j0EERlkpAmCCCIvLw+vvvoqLr74YsyfPx+LFy/Gq6++6n1/xowZ+Ld/+zcUFxfjscceQ0dHByZOnIhbbrkFv/jFL7B06VIcPnwYp06dUvEuCEL/kJEmCCKIyy+/HAaDwft3eXk5jh49CrfbDQAoLS31vpednQ0AGDt2bNBrLS0tSgyXIKIWMtIEQYgmLi7O+9+MMWd7bWBgQNmBEUSUQUaaIIggvv76a7+///a3v6G4uBhGo1GlERHE4ISMNEEQQTQ2NmLJkiU4cuQI1q9fj9dffx2/+c1v1B4WQQw6qE6aIIgg7rjjDvT09OCyyy6D0WjEb37zG9xzzz1qD4sgBh0GD9VIEARBEIQmoXA3QRAEQWgUMtIEQRAEoVHISBMEQRCERiEjTRAEQRAahYw0QRAEQWgUMtIEQRAEoVHISBMEQRCERiEjTRAEQRAahYw0QRAEQWgUMtIEQRAEoVHISBMEQRCERvn/aqzjITkoFMEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "sns.relplot(data = diabetes_data, x='bmi', y='target')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A general correlation is seen between BMI and the progression of diabetes one year after baseline. Time to make a regression.\n", "\n", "# Ordinary Least Squares for Simple Linear Regression" ] }, { "cell_type": "code", "execution_count": 171, "metadata": {}, "outputs": [], "source": [ "# TODO spruce up function docstrings\n", "# TODO Add MSE for comparing if it's good or bad\n", "def OrdinaryLeastSquares(X_train, y_train):\n", " '''\n", " This function uses Ordinary Least Sqaures to calculate:\n", " m=N∑XY−(∑X∑Y)/(N∑X^2−(∑X)^2)\n", " b=N∑Y−m∑X\n", " Where the formula for the regression line is:\n", " Y=mX+b\n", " This function returns m (slope), and b (intercept)\n", " '''\n", " #X_train = np.array(X_train)\n", " #y_train = np.array(y_train)\n", " N = X_train.shape[0]\n", "\n", " sum_xy = (X_train * y_train).sum()\n", " sum_x = X_train.sum()\n", " sum_y = y_train.sum()\n", " sum_x_sq = (X_train**2).sum()\n", "\n", " m = (N*sum_xy - (sum_x*sum_y))/(N*sum_x_sq - sum_x**2)\n", " b = (sum_y - m*sum_x)/N\n", " \n", " return m, b\n", " \n", "def train_test_split(X, y, test_size=.25, random_state=None):\n", " '''\n", " Parameters:\n", " -----------\n", " X: array-like independent variables/features\n", " y: array-like dependent variable/target\n", " test_size: float, (default=.25), proportion of data to include in test\n", " random_state: int, controls data shuffling\n", " \n", " Returns:\n", " --------\n", " X_train, X_test, y_train, y_test\n", " '''\n", " if random_state is not None:\n", " np.random.seed(random_state)\n", " \n", " X = np.array(X)\n", " y = np.array(y)\n", "\n", " n_total = len(X)\n", " n_test = int(n_total * test_size)\n", "\n", " # Create array of possible indices in X and y, then shuffle them with random\n", " indices = np.arange(n_total)\n", " np.random.shuffle(indices)\n", "\n", " # Split indices based on test size proportion\n", " test_indices = indices[:n_test]\n", " train_indices = indices[n_test:]\n", "\n", " # Split X and y, assigning them data based on the randomized indices\n", " X_train = X[train_indices]\n", " X_test = X[test_indices]\n", " y_train = y[train_indices]\n", " y_test = y[test_indices]\n", " \n", " return X_train, X_test, y_train, y_test\n", "\n", "def predict(X_test, m, b):\n", " '''\n", " This function will return a list of predictions from a given X\n", " requires m and b for the regression line\n", " '''\n", " return m * X_test + b\n", " " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Create the training and test data\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)\n", "\n", "# We just want BMI for this, so pass it only BMI values\n", "bmi_train = X_train[:, 2]\n", "bmi_test = X_test[:, 2]\n", "m, b = OrdinaryLeastSquares(bmi_train, y_train)\n", "# preds = predict(bmi_test, m, b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plotting The Results" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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L7/8wunTp82P//333yxfvtzp7U+cOJGVK1fy2GOPUaNGDfM+wbZzEhISYrFbuqVtbN68mY0bNzrdZiGEEELo16OPPorRaOTdd9+97bmsrCxzsufSpUu39Qw3zc5rGsIXHBwMcFuCyBG7d+9m6NChlCxZkkGDBpkf9/f3v60dn332GUajMddjISEhFtui91hSCGEf6SklhHCrVq1aUbJkSXr37s1LL72EwWDgu+++c+vwOWvGjBnDypUrueuuuxg4cCBGo5Fp06ZRr149du3aZdM2srKy+P777wH17t/x48f59ddf2bNnD23btuXLL780r2vPOWnatCk//PADr7zyCs2aNSM0NJQHHniA+++/n/j4eB5++GG6du1KUlISM2fOJCYmxlzDSgghhBC+55577qF///5MmDCBXbt20aFDBwICAjhy5AgLFy5k6tSp9OzZk2+++Ybp06fz8MMPU61aNa5cucJXX31FWFgYXbp0AdTSCzExMfzwww/UrFmTUqVKUa9evVzD7yz5888/SU9Px2g0cuHCBdavX8+vv/5KeHg4P//8M5GRkeZ177//fr777jvCw8OJiYlh48aNrF69mtKlS+faZqNGjfD39+eDDz4gNTWVoKAg7r33Xq+IJYUQtpOklBDCrUqXLs2SJUt49dVXGTlyJCVLluSpp57ivvvuy9W125OaNm3K8uXLGT58OKNGjSI6Oppx48bx119/2TyjS0ZGBk8//TSg3nWMiIigadOmjB49mocffhg/v1sdVe05Jy+++CK7du1izpw5TJ48mUqVKvHAAw/Qp08fkpOT+eKLL1ixYgUxMTF8//33LFy4kMTERM3OjRBCCCH0Z+bMmTRt2pQvvviCt956iyJFilC5cmWeeuop7rrrLkBNXm3ZsoUFCxZw9uxZwsPDad68OfPmzaNKlSrmbc2aNYshQ4YwbNgwMjMzeeedd6wmpT799FMAAgICKFGiBHXq1GHs2LH069fPXNPKZOrUqfj7+zNv3jzS09O56667WL169W0xT2RkJDNnzmTChAn07dsXo9FIQkICbdq00X0sKYSwnUGRlLIQQtjkoYceYv/+/Rw5csTTTRFCCCGEEEIIryc1pYQQwoIbN27kWj5y5AjLli2jTZs2nmmQEEIIIYQQQvgY6SklhBAWlCtXjj59+lC1alWOHz/OjBkzyMjIYOfOneYC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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a figure with two subplots side by side\n", "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))\n", " \n", "# Plot training data\n", "ax1.scatter(bmi_train, y_train, color='blue', label='Training Data')\n", "# Compute regression line for training data\n", "line_x = np.array([bmi_train.min(), bmi_train.max()])\n", "line_y = m * line_x + b\n", "ax1.plot(line_x, line_y, color='orange', label='Regression Line')\n", " \n", "ax1.set_title('Training Data')\n", "ax1.set_xlabel('Feature [bmi]')\n", "ax1.set_ylabel('Target (disease progression)')\n", "ax1.legend()\n", " \n", "# Plot test data\n", "ax2.scatter(bmi_test, y_test, color='blue', label='Test Data')\n", "# Compute regression line for test data\n", "line_x = np.array([bmi_test.min(), bmi_test.max()])\n", "line_y = m * line_x + b\n", "ax2.plot(line_x, line_y, color='orange', label='Regression Line')\n", " \n", "ax2.set_title('Test Data')\n", "ax2.set_xlabel('Feature [bmi]')\n", "ax2.set_ylabel('Target (disease progression)')\n", "ax2.legend()\n", " \n", "# Adjust layout and show plot\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also want to show a statistical summary of what we found.\n", "\n", "# TODO\n", "Explain each term, what it means, and it's importance" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Intercept (b): -135.8885\n", "Slope (m): 10.9619\n", "MSE: 3796.8329, RMSE: 61.6184\n", "R-squared: 0.3912, Adjusted R-squared: 0.3894\n", "\n", "Intercept (b): -135.8885\n", "Slope (m): 10.9619\n", "MSE: 4219.5145, RMSE: 64.9578\n", "R-squared: 0.1567, Adjusted R-squared: 0.1489\n", "\n" ] } ], "source": [ "# TODO add in and understand the equations used\n", "# TODO Add in SE, t, and p for slope and intercept. (The) Math is currently too complicated for me.\n", "def regression_summary(X, y, m, b):\n", " '''\n", " Parameters:\n", " ----------\n", "\n", " Returns:\n", " --------\n", " '''\n", " n = len(X)\n", " preds = predict(X, m, b)\n", " residuals = [y_n - y_hat for y_n, y_hat in zip(y, preds)]\n", "\n", " # R-squared\n", " ss_total = sum((y_n - y.mean())**2 for y_n in y)\n", " ss_residual = sum(r**2 for r in residuals)\n", " r_squared = 1 - (ss_residual / ss_total)\n", "\n", " # Adjusted R-squared\n", " k = 1 #One predictor\n", " adjusted_r_squared = 1-(1-r_squared)*(n-1)/(n-k-1)\n", " \n", " # MSE and RMSE\n", " mse = ss_residual / n\n", " rmse = mse**.5\n", " \n", " # Print Summary\n", " print(f\"Intercept (b): {b:.4f}\")\n", " print(f\"Slope (m): {m:.4f}\")\n", " print(f\"MSE: {mse:.4f}, RMSE: {rmse:.4f}\")\n", " print(f\"R-squared: {r_squared:.4f}, Adjusted R-squared: {adjusted_r_squared:.4f}\\n\")\n", " \n", "regression_summary(bmi_train, y_train, m, b)\n", "regression_summary(bmi_test, y_test, m, b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Gradient Descent for Multiple Linear Regression\n", "Steps:\n", "1. Take the derivative of the Loss Function for each parameter in it. (Take the Gradient of the Loss Function)\n", " - Loss Function will be Sum of Squared Residuals\n", "2. Pick random values for the parameters\n", "3. Plug the parameter values into the derivatives (Gradient)\n", "4. Calculate the step size (step size = slope * learning rate)\n", "5. Calculate new parameters (new parameter = old parameter - step size)\n", "6. Repeat 3-5 until stopping condition met (number of iterations or threshold of convergence met" ] }, { "cell_type": "code", "execution_count": 257, "metadata": {}, "outputs": [], "source": [ "class MultipleLinearRegression:\n", " def __init__(self, learning_rate=0.01, iterations=1000):\n", " self.learning_rate = learning_rate\n", " self.iterations = iterations\n", " self.weights = None\n", " self.bias = None\n", " self.cost_history = []\n", " \n", " def fit(self, X, y):\n", " # Initialize parameters (weights and bias)\n", " n_samples, n_features = X.shape\n", " self.weights = np.zeros(n_features)\n", " self.bias = 0\n", " \n", " # Gradient descent\n", " for i in range(self.iterations):\n", " # Make predictions with current parameters\n", " y_predicted = self._predict(X)\n", " \n", " # Calculate gradients\n", " # For weights\n", " dw = (1/n_samples) * np.dot(X.T, (y_predicted - y))\n", " # For bias\n", " db = (1/n_samples) * np.sum(y_predicted - y)\n", " \n", " # Update parameters\n", " self.weights -= self.learning_rate * dw\n", " self.bias -= self.learning_rate * db\n", " \n", " # Calculate and store cost\n", " cost = (1/(2*n_samples)) * np.sum((y_predicted - y)**2)\n", " self.cost_history.append(cost)\n", " \n", " # Optional: Print cost every 100 iterations\n", " if (i+1) % 100 == 0:\n", " print(f'Iteration {i+1}/{self.iterations} | Cost: {cost:.4f}')\n", " \n", " return self\n", " \n", " def _predict(self, X):\n", " return np.dot(X, self.weights) + self.bias\n", " \n", " def predict(self, X):\n", " return self._predict(X)\n", " \n", " def plot_cost_history(self):\n", " plt.figure(figsize=(10, 6))\n", " plt.plot(range(self.iterations), self.cost_history)\n", " plt.title('Cost History')\n", " plt.xlabel('Iteration')\n", " plt.ylabel('Cost')\n", " plt.grid(True)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 260, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteration 100/1000 | Cost: 0.0038\n", "Iteration 200/1000 | Cost: 0.0021\n", "Iteration 300/1000 | Cost: 0.0012\n", "Iteration 400/1000 | Cost: 0.0007\n", "Iteration 500/1000 | Cost: 0.0004\n", "Iteration 600/1000 | Cost: 0.0002\n", "Iteration 700/1000 | Cost: 0.0001\n", "Iteration 800/1000 | Cost: 0.0001\n", "Iteration 900/1000 | Cost: 0.0000\n", "Iteration 1000/1000 | Cost: 0.0000\n", "Weights: [0.99392049 1.00350304], Bias: 0.009582542301470974\n" ] } ], "source": [ "# Create a simple dataset\n", "X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])\n", "y = np.array([3, 7, 11, 15]) # Linearly related to X\n", "\n", "# Instantiate and fit your model\n", "model = MultipleLinearRegression(learning_rate=0.01, iterations=1000)\n", "model.fit(X, y)\n", "\n", "# Check if weights and bias are reasonable\n", "print(f\"Weights: {model.weights}, Bias: {model.bias}\")" ] }, { "cell_type": "code", "execution_count": 261, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteration 100/1000 | Cost: 1.9088\n", "Iteration 200/1000 | Cost: 0.2683\n", "Iteration 300/1000 | Cost: 0.1138\n", "Iteration 400/1000 | Cost: 0.0972\n", "Iteration 500/1000 | Cost: 0.0951\n", "Iteration 600/1000 | Cost: 0.0947\n", "Iteration 700/1000 | Cost: 0.0946\n", "Iteration 800/1000 | Cost: 0.0946\n", "Iteration 900/1000 | Cost: 0.0946\n", "Iteration 1000/1000 | Cost: 0.0946\n", "True weights: [ 2. -3.5 1. ], True bias: 4.0\n", "Learned weights: [ 1.95989626 -3.52513838 0.94594268], Learned bias: 4.056661972850312\n" ] }, { "data": { "image/png": "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njNr1qwx1113nUlKSjL5+flWl4YQGzVqlHn++efN6tWrzYoVK8x5551nOnToYEpLSwPX3HDDDSY7O9vMnTvXLFu2zJx66qlmyJAhgfPV1dWmT58+Zvjw4ebrr782H3zwgUlLSzN33XWXFR8JIfTll1+anJwcc8IJJ5ibb745cJyeQV179+41HTt2NBMmTDBLliwxGzduNB999JFZv3594JpHHnnEJCYmmrffftusXLnS/PznPze5ublm//79gWvOOecc069fP7N48WLz3//+13Tp0sWMGzfOio+EZvbwww+b1NRU895775lNmzaZ2bNnm7i4OPPEE08ErqFnWrcPPvjA3HPPPebNN980ksxbb71V73xT9EdRUZHJyMgwV1xxhVm9erV57bXXTHR0tPnrX/8aqo8ZQEgKkZNPPtlMnDgx8Njn85msrCwzffp0C6uCHezevdtIMvPnzzfGGFNYWGgiIiLM7NmzA9d89913RpJZtGiRMabmP1ROp9Pk5eUFrnn66adNQkKCqaysDO0HQMiUlJSYrl27mjlz5pihQ4cGQhI9g5+64447zOmnn37Y836/32RmZprHHnsscKywsNB4PB7z2muvGWOM+fbbb40ks3Tp0sA1//nPf4zD4TA7duxovuJhidGjR5trrrmm3rGLLrrIXHHFFcYYegb1/TQkNVV/PPXUUyY5Obne30t33HGH6d69ezN/okMx3S4EqqqqtHz5cg0fPjxwzOl0avjw4Vq0aJGFlcEOioqKJEkpKSmSpOXLl8vr9dbrlx49eqhDhw6Bflm0aJH69u2rjIyMwDWjRo1ScXGx1qxZE8LqEUoTJ07U6NGj6/WGRM/gUP/+9781aNAg/fKXv1R6eroGDBigv/3tb4HzmzZtUl5eXr2eSUxM1CmnnFKvZ5KSkjRo0KDANcOHD5fT6dSSJUtC92EQEkOGDNHcuXO1bt06SdLKlSu1YMECnXvuuZLoGRxZU/XHokWLdMYZZygyMjJwzahRo7R27Vrt27cvRJ+mhjuk79ZKFRQUyOfz1fvHiSRlZGTo+++/t6gq2IHf79fkyZN12mmnqU+fPpKkvLw8RUZGKikpqd61GRkZysvLC1zTUD/VnkP4mTVrlr766istXbr0kHP0DH5q48aNevrppzVlyhTdfffdWrp0qX73u98pMjJS48ePD/zOG+qJuj2Tnp5e77zb7VZKSgo9E4buvPNOFRcXq0ePHnK5XPL5fHr44Yd1xRVXSBI9gyNqqv7Iy8tTbm7uIa9Rey45OblZ6m8IIQmw0MSJE7V69WotWLDA6lJgY9u2bdPNN9+sOXPmKCoqyupy0AL4/X4NGjRIf/zjHyVJAwYM0OrVq/XMM89o/PjxFlcHO/rnP/+pV155Ra+++qp69+6tFStWaPLkycrKyqJn0Cox3S4E0tLS5HK5DtlpKj8/X5mZmRZVBatNmjRJ7733nj799FO1b98+cDwzM1NVVVUqLCysd33dfsnMzGywn2rPIbwsX75cu3fv1oknnii32y2326358+frz3/+s9xutzIyMugZ1NO2bVv16tWr3rGePXtq69atkg7+zo/091JmZqZ2795d73x1dbX27t1Lz4Sh2267TXfeeacuu+wy9e3bV1deeaVuueUWTZ8+XRI9gyNrqv6w099VhKQQiIyM1MCBAzV37tzAMb/fr7lz52rw4MEWVgYrGGM0adIkvfXWW5o3b94hw8oDBw5UREREvX5Zu3attm7dGuiXwYMH65tvvqn3H5s5c+YoISHhkH8YoeU7++yz9c0332jFihWBr0GDBumKK64IfE/PoK7TTjvtkFsLrFu3Th07dpQk5ebmKjMzs17PFBcXa8mSJfV6prCwUMuXLw9cM2/ePPn9fp1yyikh+BQIpfLycjmd9f9Z6HK55Pf7JdEzOLKm6o/Bgwfr888/l9frDVwzZ84cde/ePaRT7SSxBXiozJo1y3g8HvPCCy+Yb7/91vzmN78xSUlJ9XaaQutw4403msTERPPZZ5+ZXbt2Bb7Ky8sD19xwww2mQ4cOZt68eWbZsmVm8ODBZvDgwYHztds5jxw50qxYscJ8+OGHpk2bNmzn3IrU3d3OGHoG9X355ZfG7Xabhx9+2Pzwww/mlVdeMTExMebll18OXPPII4+YpKQk884775hVq1aZMWPGNLhd74ABA8ySJUvMggULTNeuXdnOOUyNHz/etGvXLrAF+JtvvmnS0tLM7bffHriGnmndSkpKzNdff22+/vprI8k8/vjj5uuvvzZbtmwxxjRNfxQWFpqMjAxz5ZVXmtWrV5tZs2aZmJgYtgAPd08++aTp0KGDiYyMNCeffLJZvHix1SXBApIa/Hr++ecD1+zfv9/cdNNNJjk52cTExJgLL7zQ7Nq1q97rbN682Zx77rkmOjrapKWlmd///vfG6/WG+NPAKj8NSfQMfurdd981ffr0MR6Px/To0cM8++yz9c77/X5z7733moyMDOPxeMzZZ59t1q5dW++aPXv2mHHjxpm4uDiTkJBgrr76alNSUhLKj4EQKS4uNjfffLPp0KGDiYqKMp06dTL33HNPva2Y6ZnW7dNPP23w3y/jx483xjRdf6xcudKcfvrpxuPxmHbt2plHHnkkVB+xHocxdW6lDAAAAACtHGuSAAAAAKAOQhIAAAAA1EFIAgAAAIA6CEkAAAAAUAchCQAAAADqICQBAAAAQB2EJAAAAACog5AEAAAAAHUQkgAAOCAnJ0czZsywugwAgMUISQAAS0yYMEFjx46VJA0bNkyTJ08O2Xu/8MILSkpKOuT40qVL9Zvf/CZkdQAA7MltdQEAADSVqqoqRUZGHvPz27Rp04TVAABaKkaSAACWmjBhgubPn68nnnhCDodDDodDmzdvliStXr1a5557ruLi4pSRkaErr7xSBQUFgecOGzZMkyZN0uTJk5WWlqZRo0ZJkh5//HH17dtXsbGxys7O1k033aTS0lJJ0meffaarr75aRUVFgfebOnWqpEOn223dulVjxoxRXFycEhISdMkllyg/Pz9wfurUqerfv79eeukl5eTkKDExUZdddplKSkqa94cGAGhWhCQAgKWeeOIJDR48WNddd5127dqlXbt2KTs7W4WFhTrrrLM0YMAALVu2TB9++KHy8/N1ySWX1Hv+iy++qMjISH3xxRd65plnJElOp1N//vOftWbNGr344ouaN2+ebr/9dknSkCFDNGPGDCUkJATe79Zbbz2kLr/frzFjxmjv3r2aP3++5syZo40bN+rSSy+td92GDRv09ttv67333tN7772n+fPn65FHHmmmnxYAIBSYbgcAsFRiYqIiIyMVExOjzMzMwPG//OUvGjBggP74xz8Gjj333HPKzs7WunXr1K1bN0lS165d9eijj9Z7zbrrm3JycvTQQw/phhtu0FNPPaXIyEglJibK4XDUe7+fmjt3rr755htt2rRJ2dnZkqR//OMf6t27t5YuXaqTTjpJUk2YeuGFFxQfHy9JuvLKKzV37lw9/PDDx/eDAQBYhpEkAIAtrVy5Up9++qni4uICXz169JBUM3pTa+DAgYc895NPPtHZZ5+tdu3aKT4+XldeeaX27Nmj8vLyRr//d999p+zs7EBAkqRevXopKSlJ3333XeBYTk5OICBJUtu2bbV79+6gPisAwF4YSQIA2FJpaakuuOAC/c///M8h59q2bRv4PjY2tt65zZs36/zzz9eNN96ohx9+WCkpKVqwYIGuvfZaVVVVKSYmpknrjIiIqPfY4XDI7/c36XsAAEKLkAQAsFxkZKR8Pl+9YyeeeKL+9a9/KScnR2534/+6Wr58ufx+v/73f/9XTmfNhIl//vOfR32/n+rZs6e2bdumbdu2BUaTvv32WxUWFqpXr16NrgcA0PIw3Q4AYLmcnBwtWbJEmzdvVkFBgfx+vyZOnKi9e/dq3LhxWrp0qTZs2KCPPvpIV1999REDTpcuXeT1evXkk09q48aNeumllwIbOtR9v9LSUs2dO1cFBQUNTsMbPny4+vbtqyuuuEJfffWVvvzyS1111VUaOnSoBg0a1OQ/AwCAfRCSAACWu/XWW+VyudSrVy+1adNGW7duVVZWlr744gv5fD6NHDlSffv21eTJk5WUlBQYIWpIv3799Pjjj+t//ud/1KdPH73yyiuaPn16vWuGDBmiG264QZdeeqnatGlzyMYPUs20uXfeeUfJyck644wzNHz4cHXq1Emvv/56k39+AIC9OIwxxuoiAAAAAMAuGEkCAAAAgDoISQAAAABQByEJAAAAAOogJAEAAABAHYQkAAAAAKiDkAQAAAAAdRCSAAAAAKAOQhIAAAAA1EFIAgAAAIA6CEkAAAAAUAchCQAAAADq+P/BYdvOWwTrwwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Generate some sample data\n", "np.random.seed(42)\n", "X = np.random.randn(100, 3) # 100 samples, 3 features\n", "\n", "#df = pd.DataFrame(X)\n", "#df.to_csv('X.csv')\n", "\n", "true_weights = np.array([2.0, -3.5, 1.0])\n", "true_bias = 4.0\n", "y = np.dot(X, true_weights) + true_bias + np.random.randn(100) * 0.5\n", "\n", "#df = pd.DataFrame(y)\n", "#df.to_csv('y.csv')\n", " \n", "# Train the model\n", "model = MultipleLinearRegression(learning_rate=0.01, iterations=1000)\n", "model.fit(X, y)\n", " \n", "# Check learned parameters\n", "print(f\"True weights: {true_weights}, True bias: {true_bias}\")\n", "print(f\"Learned weights: {model.weights}, Learned bias: {model.bias}\")\n", " \n", "# Plot cost history\n", "model.plot_cost_history()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Despite my best efforts, I could not get the diabetes dataset to work with my MultipleLinearRegression class, despite hours of looking at the data to understand what could possibly be going wrong. I would love to return to this to understand why either the data or my class is failing, but since synthetic data is working just fine, I'd rather demonstrate the capability of the work I've done with multiple linear regression than spend valuable time making one specific dataset work with a bespoke class I'll never use outside this project.**" ] }, { "cell_type": "code", "execution_count": 266, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteration 100/1000 | Cost: 4675.3021\n", "Iteration 200/1000 | Cost: 3285.2972\n", "Iteration 300/1000 | Cost: 3079.9626\n", "Iteration 400/1000 | Cost: 3033.6719\n", "Iteration 500/1000 | Cost: 3009.0079\n", "Iteration 600/1000 | Cost: 2987.5536\n", "Iteration 700/1000 | Cost: 2966.8359\n", "Iteration 800/1000 | Cost: 2946.5177\n", "Iteration 900/1000 | Cost: 2926.5484\n", "Iteration 1000/1000 | Cost: 2906.9158\n", "Learned weights: [ 6.72731504 1.72743121 23.05429208 16.34377158 7.36222214\n", " 5.53304903 -15.33934345 16.10667325 21.84042063 14.36700962], Learned bias: 152.024360510906\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAIjCAYAAABswtioAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYXtJREFUeJzt3Xt8FNX9//H37mY39yuXhGCACMgdRFAaRNESiYAWrLWCVLFSvBRUxKK1VQreEFQEgUrxVy+toBaraJEvEkEFJXIJhJsIiCAIJBFCWELIdef3R9g1SwIkIclssq/n45FHsjNnZj4TzwN4e86csRiGYQgAAAAAUO+sZhcAAAAAAP6KQAYAAAAAJiGQAQAAAIBJCGQAAAAAYBICGQAAAACYhEAGAAAAACYhkAEAAACASQhkAAAAAGASAhkAAAAAmIRABgBAPbjmmmt0zTXXmF0GAMDHEMgAAD5nz549uueee3TxxRcrKChIERERuvLKKzVr1iydOnWq1q+Xn5+vyZMn6/PPP69S+88//1wWi0XvvfdepfvvvPNOhYWFXXBda9as0eTJk5Wbm3vB5wIA+KYAswsAAKC8jz/+WLfccosCAwN1xx13qGvXrioqKtKXX36piRMnavv27Zo/f36tXjM/P19TpkyRpDobxVq+fHm1j1mzZo2mTJmiO++8U1FRUbVfFADAdAQyAIDP2Lt3r4YPH67WrVtr5cqVatGihWff2LFj9d133+njjz82scKaczgcZpcgSTIMQwUFBQoODja7FACAmLIIAPAh06dPV15env75z396hTG3du3a6cEHH/R8Likp0VNPPaW2bdsqMDBQbdq00V/+8hcVFhZ6HbdhwwalpKSoadOmCg4OVmJiou666y5J0r59+9SsWTNJ0pQpU2SxWGSxWDR58uRavbfKniGbPXu2unTpopCQEEVHR6t3795auHChJGny5MmaOHGiJCkxMdFT1759+6p1723atNENN9ygTz75RL1791ZwcLD+8Y9/qH///urRo0eltXbo0EEpKSm1ev8AgMoxQgYA8Bn/+9//dPHFF6tv375Vav+HP/xBb775pn7zm9/o4Ycf1tq1azV16lTt2LFDH3zwgSQpOztbAwcOVLNmzfTnP/9ZUVFR2rdvn95//31JUrNmzfTKK6/ovvvu00033aRf//rXkqTu3buf9/onTpzQ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iIyMlMPhUEhIiOLi4jzb58yZo549e+rZZ5/1bHvttdeUkJCgXbt26ZJLLpEktW/fXtOnT/c6Z/nn0dq0aaOnn35a9957r/7+97/L4XAoMjJSFovF63pnWrFihbZu3aq9e/cqISFBkvSvf/1LXbp00fr163X55ZdLKgtub7zxhsLDwyVJt99+u1asWKFnnnnmwn4xAADTMEIGAPB7mzdv1meffaawsDDPV8eOHSWVjUq59erVq8Kxn376qQYMGKCWLVsqPDxct99+u44ePar8/PwqX3/Hjh1KSEjwhDFJ6ty5s6KiorRjxw7PtjZt2njCmCS1aNFC2dnZ1bpXAIBvYYQMAOD38vLydOONN2ratGkV9rVo0cLzc2hoqNe+ffv26YYbbtB9992nZ555RjExMfryyy81evRoFRUVKSQkpFbrtNvtXp8tFotcLletXgMAUL8IZAAAv+JwOFRaWuq17bLLLtN///tftWnTRgEBVf+rMT09XS6XSy+++KKs1rJJJ//5z3/Oe70zderUSQcOHNCBAwc8o2TffPONcnNz1blz5yrXAwBoeJiyCADwK23atNHatWu1b98+HTlyRC6XS2PHjlVOTo5GjBih9evXa8+ePfrkk0/0+9///pxhql27diouLtbs2bP1/fff69///rdnsY/y18vLy9OKFSt05MiRSqcyJicnq1u3bho5cqQ2btyodevW6Y477lD//v3Vu3fvWv8dAAB8B4EMAOBX/vSnP8lms6lz585q1qyZ9u/fr/j4eH311VcqLS3VwIED1a1bN40fP15RUVGeka/K9OjRQzNmzNC0adPUtWtXLViwQFOnTvVq07dvX91777269dZb1axZswqLgkhlUw8//PBDRUdH6+qrr1ZycrIuvvhivfvuu7V+/wAA32IxDMMwuwgAAAAA8EeMkAEAAACASQhkAAAAAGASAhkAAAAAmIRABgAAAAAmIZABAAAAgEkIZAAAAABgEgIZAAAAAJiEQAYAAAAAJiGQAQAAAIBJCGQAAAAAYBICGQAAAACY5P8DlbIXt+Ut/f0AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Using the Multiple Linear Regression Class\n", "X, y = load_diabetes(return_X_y=True, as_frame=False, scaled=True)\n", "# Create the training and test data\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)\n", "\n", "#df = pd.DataFrame(X_train)\n", "#df.to_csv('X_train.csv')\n", "\n", "# Standardize, very important!\n", "#X_train = (X_train - X_train.mean(axis=0)) / X_train.std(axis=0)\n", "#X_test = (X_test - X_test.mean(axis=0)) / X_test.std(axis=0)\n", "#y_standard = (y - y.mean(axis=0)) / y.std(axis=0)\n", "\n", "#df = pd.DataFrame(y_train)\n", "#df.to_csv('y_train_standard.csv')\n", "\n", "#true_weights = np.array([2.0, -3.5, 1.0, .5, 1.0, 1.5, 2.0, -2.0, -1.5, -1.0])\n", "#true_bias = 4.0\n", "#print(X_train.shape)\n", "#y_train = np.dot(X_train, true_weights) + true_bias + np.random.randn(X_train.shape[0]) * 0.5\n", "#print(y_train.shape)\n", "\n", "# SOMETHING IS WRONG WITH MY VALUES AND I DON'T KNOW WHAT\n", "# Addendum: I wasn't standardizing my test features. Oops!\n", "model = MultipleLinearRegression(iterations=1000)\n", "model.fit(X_train, y_train)\n", "\n", "print(f'Learned weights: {model.weights}, Learned bias: {model.bias}')\n", "\n", "# Plot cost history\n", "model.plot_cost_history()" ] }, { "cell_type": "code", "execution_count": 265, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Coefficients: [ -43.83240026 -209.56222163 593.6442307 301.83639293 -558.45714382\n", " 258.53785369 -7.07169429 139.87458192 701.10058997 28.9847114 ]\n", "Intercept: 153.01360145107097\n", "[156.10505946 156.8539853 153.10300573 149.70114976 151.54968739\n", " 155.72624759 148.94176517 155.22635695 149.17243807 153.5476796\n", " 150.10158148 155.65636452 148.79108066 146.53836308 159.25870175\n", " 148.27709937 150.1532122 146.17164314 145.87458122 157.13612354\n", " 151.75893897 150.1699225 153.09934844 148.89950354 155.36850729\n", " 153.15076732 149.59180749 147.2847398 152.47876771 154.04977492\n", " 154.91547147 147.18724616 149.04453234 151.68547304 154.45128333\n", " 153.62975545 153.05223771 154.90899545 150.94015035 154.92151187\n", " 148.27725116 154.64587633 152.75148019 152.00851849 155.45796536\n", " 147.29346534 150.6147579 150.6032983 152.75393444 156.50029199\n", " 151.84392136 147.85279674 151.64733267 153.79016574 155.20482531\n", " 156.33214742 155.61224621 146.59642363 154.12026055 154.7800513\n", " 152.81711412 150.76919656 153.11356722 152.25109732 155.82812062\n", " 150.73071662 147.30547307 158.46773963 155.87636651 146.69836658\n", " 146.98445246 153.57493589 150.05876465 149.81273456 150.11936191\n", " 155.32453769 152.73764738 157.13390704 158.36064983 155.06447515\n", " 152.94581135 156.19747407 147.57541922 157.14182088 147.66513122\n", " 148.91448583 149.41767214 154.68379781 151.03952867 153.39426335\n", " 145.69980857 151.1884292 147.4082672 153.489575 150.39143143\n", " 149.04337839 156.07502738 155.32404115 151.28506092 153.27035691\n", " 153.71946557 145.51580643 156.22336503 150.69889997 156.61262858\n", " 154.173562 157.22349101 158.73104842 148.99595646 150.69539854]\n", "67.08107926799042\n" ] } ], "source": [ "# Let's compare our coef to the ones generated by sklearn!\n", "from sklearn.linear_model import LinearRegression\n", "\n", "# Using the Multiple Linear Regression Class\n", "X, y = load_diabetes(return_X_y=True, as_frame=True, scaled=True)\n", "# Create the training and test data\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)\n", "\n", "sklearn_model = LinearRegression()\n", "sklearn_model.fit(X_train, y_train)\n", "\n", "coefficients = sklearn_model.coef_\n", "intercept = sklearn_model.intercept_\n", "\n", "np.set_printoptions(suppress=True)\n", "print(f\"Coefficients: {coefficients}\") \n", "print(f\"Intercept: {intercept}\")\n", "\n", "print(model.predict(X_test))\n", "print(sklearn_model.predict(X)[1])" ] }, { "cell_type": "code", "execution_count": 267, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "56.61905786487867\n", "68.68122882055344\n" ] } ], "source": [ "# How does my model compare to SKLearn's? We're going to use MSE and RMSE to compare.\n", "from sklearn.metrics import mean_squared_error\n", "\n", "preds_sklearn = sklearn_model.predict(X_test)\n", "mse_sklearn = mean_squared_error(y_test, preds_sklearn)\n", "\n", "preds_bespoke = model.predict(X_test)\n", "residuals_bespoke = [y_n - y_hat for y_n, y_hat in zip(y_test, preds_bespoke)]\n", "ss_total = sum((y_n - y_test.mean())**2 for y_n in y_test)\n", "ss_residual_bespoke = sum(r**2 for r in residuals_bespoke)\n", "mse_bespoke = ss_residual_bespoke / y_test.shape[0]\n", "\n", "print(mse_sklearn**.5)\n", "print(mse_bespoke**.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "https://statisticsbyjim.com/regression/least-squares-regression-line/\n", "Calc least squares \n", "\n", " # R-squared\n", " ss_total = sum((y_n - y.mean())**2 for y_n in y)\n", " ss_residual = sum(r**2 for r in residuals)\n", " r_squared = 1 - (ss_residual / ss_total)\n", "\n", " # Adjusted R-squared\n", " k = 1 #One predictor\n", " adjusted_r_squared = 1-(1-r_squared)*(n-1)/(n-k-1)\n", " \n", " # MSE and RMSE\n", " mse = ss_residual / n\n", " rmse = mse**.5" ] } ], "metadata": { "kaggle": { "accelerator": "none", "dataSources": [], "dockerImageVersionId": 30918, "isGpuEnabled": false, "isInternetEnabled": true, "language": "python", "sourceType": "notebook" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }