Skip to content

Instantly share code, notes, and snippets.

@oscarzapi
Last active June 15, 2020 09:56
Show Gist options
  • Select an option

  • Save oscarzapi/521e6e200c7809d4a6c1327cf5dc4823 to your computer and use it in GitHub Desktop.

Select an option

Save oscarzapi/521e6e200c7809d4a6c1327cf5dc4823 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Covid19 Data Analysis and Predictive Modeling (Machine Learning)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"The world has never seen anything quite like the things are going on right now. Covid19 has been a changing player in the this game called life, and its effect has been devastating both in life-related and economical fields. The amount of people who has been infected is uncertained, the spread rate is not controlled so far and the deaths caused in a short period of time has caused to tackle the spreading infectious diseases as one of the main threats in the world from now on. \n",
"\n",
"With all that happening right now, there has been a lot of data that has been generated, and with that a lot of studies and researches have appeared to the public to try to understand, study and analyze the way this virus is affecting people and how it can be stopped as much as we (humans) can.\n",
"\n",
"So, in this work, I will go through some statistical analysis and predictive studies to try to get some better insights about covid19 outbreak."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[1. Exploratory Data Analysis (EDA):](#part1)\n",
"\n",
" - [1.1. Analysis of features](#part1_1)\n",
" - [1.2. Null values](#part1_2)\n",
" - [1.3. Most influential variables on new_deaths](#part1_3)\n",
" - [1.4. Correlation between Features](#part1_4)\n",
"\n",
"[2. Feature Engineering and Data Cleaning:](#part2)\n",
" - [2.1. Dummy variables](#part2_1)\n",
" - [2.2. Variable selection with low variances](#part2_2)\n",
" - [2.3. Univariant Variable Selection](#part2_3)\n",
" - [2.4. Variable selection depending on their percentile punctuation](#part2_4)\n",
"\n",
"[3. Predictive Modelling (Scikit-Learn)](#part3)\n",
" - [3.1 Linear Regression](#part3_1)\n",
" - [3.2. Ridge regression (regularization)](#part3_2)\n",
" - [3.3. Lasso regression (regularization)](#part3_3)\n",
" - [3.4. Elastic Net (regularization)](#part3_4)\n",
" - [3.5. Model evaluation through a polynomial grade function](#part3_5)\n",
" - [3.6. Validation curves for new_deaths](#part3_6)\n",
" - [3.7. Conclusions](#part3_7)\n",
"\n",
"[4. Predictive Modelling (TensorFlow)](#part4)\n",
" - [4.1. TensorFlow for Polynomial Linear Regressions to new_deaths](#part4_1)\n",
" \n",
"[5. Conclusions](#part5)\n",
"[6. References](#part6)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Exploratory Data Analysis (EDA):<a id='part1'></a>\n",
"\n",
"Let´s dig into the data structure, how it is distributed for all columns and get some statistics out of it."
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [],
"source": [
"# Importing libraries\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"plt.style.use(\"fivethirtyeight\")\n",
"import warnings\n",
"import pymongo\n",
"import pylab \n",
"import scipy.stats as stats\n",
"warnings.filterwarnings(\"ignore\")\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [],
"source": [
"# The following commands allow us to see all columns in the dataset.\n",
"pd.set_option('display.max_rows', 500)\n",
"pd.set_option('display.max_columns', 50)"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"# Setting up the connection to MongoDB as we will be connected to the local mongoDB DB.\n",
"from pymongo import MongoClient\n",
"client = MongoClient('mongodb://localhost:27017/')"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"# Connecting to Covid19 DB inside the MongoDB connection\n",
"db = client[\"covid19\"]"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [],
"source": [
"# Getting the collection of cases from the collections inside covid19 DB \n",
"cases = db.cases"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>_id</th>\n",
" <th>iso_code</th>\n",
" <th>location</th>\n",
" <th>date</th>\n",
" <th>total_cases</th>\n",
" <th>new_cases</th>\n",
" <th>total_deaths</th>\n",
" <th>new_deaths</th>\n",
" <th>total_cases_per_million</th>\n",
" <th>new_cases_per_million</th>\n",
" <th>total_deaths_per_million</th>\n",
" <th>new_deaths_per_million</th>\n",
" <th>total_tests</th>\n",
" <th>new_tests</th>\n",
" <th>total_tests_per_thousand</th>\n",
" <th>new_tests_per_thousand</th>\n",
" <th>new_tests_smoothed</th>\n",
" <th>new_tests_smoothed_per_thousand</th>\n",
" <th>tests_units</th>\n",
" <th>stringency_index</th>\n",
" <th>population</th>\n",
" <th>population_density</th>\n",
" <th>median_age</th>\n",
" <th>aged_65_older</th>\n",
" <th>aged_70_older</th>\n",
" <th>gdp_per_capita</th>\n",
" <th>extreme_poverty</th>\n",
" <th>cvd_death_rate</th>\n",
" <th>diabetes_prevalence</th>\n",
" <th>female_smokers</th>\n",
" <th>male_smokers</th>\n",
" <th>handwashing_facilities</th>\n",
" <th>__v</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5ee30fbc82af1b3050d28c61</td>\n",
" <td>AFG</td>\n",
" <td>Afghanistan</td>\n",
" <td>2019-12-31</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" <td>38928341.0</td>\n",
" <td>54.422</td>\n",
" <td>18.6</td>\n",
" <td>2.581</td>\n",
" <td>1.337</td>\n",
" <td>1803.987</td>\n",
" <td>NaN</td>\n",
" <td>597.029</td>\n",
" <td>9.59</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>37.746</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5ee30fbc82af1b3050d28c62</td>\n",
" <td>AFG</td>\n",
" <td>Afghanistan</td>\n",
" <td>2020-01-01</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>0.0</td>\n",
" <td>38928341.0</td>\n",
" <td>54.422</td>\n",
" <td>18.6</td>\n",
" <td>2.581</td>\n",
" <td>1.337</td>\n",
" <td>1803.987</td>\n",
" <td>NaN</td>\n",
" <td>597.029</td>\n",
" <td>9.59</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>37.746</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5ee30fbc82af1b3050d28c63</td>\n",
" <td>AFG</td>\n",
" <td>Afghanistan</td>\n",
" <td>2020-01-02</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>0.0</td>\n",
" <td>38928341.0</td>\n",
" <td>54.422</td>\n",
" <td>18.6</td>\n",
" <td>2.581</td>\n",
" <td>1.337</td>\n",
" <td>1803.987</td>\n",
" <td>NaN</td>\n",
" <td>597.029</td>\n",
" <td>9.59</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>37.746</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5ee30fbc82af1b3050d28c64</td>\n",
" <td>AFG</td>\n",
" <td>Afghanistan</td>\n",
" <td>2020-01-03</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>0.0</td>\n",
" <td>38928341.0</td>\n",
" <td>54.422</td>\n",
" <td>18.6</td>\n",
" <td>2.581</td>\n",
" <td>1.337</td>\n",
" <td>1803.987</td>\n",
" <td>NaN</td>\n",
" <td>597.029</td>\n",
" <td>9.59</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>37.746</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5ee30fbc82af1b3050d28c65</td>\n",
" <td>AFG</td>\n",
" <td>Afghanistan</td>\n",
" <td>2020-01-04</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>0.0</td>\n",
" <td>38928341.0</td>\n",
" <td>54.422</td>\n",
" <td>18.6</td>\n",
" <td>2.581</td>\n",
" <td>1.337</td>\n",
" <td>1803.987</td>\n",
" <td>NaN</td>\n",
" <td>597.029</td>\n",
" <td>9.59</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>37.746</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" _id iso_code location date total_cases \\\n",
"0 5ee30fbc82af1b3050d28c61 AFG Afghanistan 2019-12-31 0 \n",
"1 5ee30fbc82af1b3050d28c62 AFG Afghanistan 2020-01-01 0 \n",
"2 5ee30fbc82af1b3050d28c63 AFG Afghanistan 2020-01-02 0 \n",
"3 5ee30fbc82af1b3050d28c64 AFG Afghanistan 2020-01-03 0 \n",
"4 5ee30fbc82af1b3050d28c65 AFG Afghanistan 2020-01-04 0 \n",
"\n",
" new_cases total_deaths new_deaths total_cases_per_million \\\n",
"0 0 0 0 0.0 \n",
"1 0 0 0 0.0 \n",
"2 0 0 0 0.0 \n",
"3 0 0 0 0.0 \n",
"4 0 0 0 0.0 \n",
"\n",
" new_cases_per_million total_deaths_per_million new_deaths_per_million \\\n",
"0 0.0 0.0 0.0 \n",
"1 0.0 0.0 0.0 \n",
"2 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 \n",
"4 0.0 0.0 0.0 \n",
"\n",
" total_tests new_tests total_tests_per_thousand new_tests_per_thousand \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" new_tests_smoothed new_tests_smoothed_per_thousand tests_units \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" stringency_index population population_density median_age \\\n",
"0 NaN 38928341.0 54.422 18.6 \n",
"1 0.0 38928341.0 54.422 18.6 \n",
"2 0.0 38928341.0 54.422 18.6 \n",
"3 0.0 38928341.0 54.422 18.6 \n",
"4 0.0 38928341.0 54.422 18.6 \n",
"\n",
" aged_65_older aged_70_older gdp_per_capita extreme_poverty \\\n",
"0 2.581 1.337 1803.987 NaN \n",
"1 2.581 1.337 1803.987 NaN \n",
"2 2.581 1.337 1803.987 NaN \n",
"3 2.581 1.337 1803.987 NaN \n",
"4 2.581 1.337 1803.987 NaN \n",
"\n",
" cvd_death_rate diabetes_prevalence female_smokers male_smokers \\\n",
"0 597.029 9.59 NaN NaN \n",
"1 597.029 9.59 NaN NaN \n",
"2 597.029 9.59 NaN NaN \n",
"3 597.029 9.59 NaN NaN \n",
"4 597.029 9.59 NaN NaN \n",
"\n",
" handwashing_facilities __v \n",
"0 37.746 0 \n",
"1 37.746 0 \n",
"2 37.746 0 \n",
"3 37.746 0 \n",
"4 37.746 0 "
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Conveterting previous Collection into Dataframe\n",
"df = pd.DataFrame(list(cases.find()))\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [],
"source": [
"# Setting date column as index in the dataframe\n",
"df.date = pd.to_datetime(df.date)\n",
"df.set_index('date', inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Total</th>\n",
" <th>Percent</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>new_tests</th>\n",
" <td>17495</td>\n",
" <td>0.754648</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests_per_thousand</th>\n",
" <td>17495</td>\n",
" <td>0.754648</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_tests</th>\n",
" <td>16841</td>\n",
" <td>0.726437</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_tests_per_thousand</th>\n",
" <td>16841</td>\n",
" <td>0.726437</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests_smoothed</th>\n",
" <td>16316</td>\n",
" <td>0.703792</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests_smoothed_per_thousand</th>\n",
" <td>16316</td>\n",
" <td>0.703792</td>\n",
" </tr>\n",
" <tr>\n",
" <th>handwashing_facilities</th>\n",
" <td>13852</td>\n",
" <td>0.597507</td>\n",
" </tr>\n",
" <tr>\n",
" <th>extreme_poverty</th>\n",
" <td>9297</td>\n",
" <td>0.401027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>male_smokers</th>\n",
" <td>6389</td>\n",
" <td>0.275590</td>\n",
" </tr>\n",
" <tr>\n",
" <th>female_smokers</th>\n",
" <td>6199</td>\n",
" <td>0.267394</td>\n",
" </tr>\n",
" <tr>\n",
" <th>stringency_index</th>\n",
" <td>4633</td>\n",
" <td>0.199845</td>\n",
" </tr>\n",
" <tr>\n",
" <th>aged_65_older</th>\n",
" <td>2466</td>\n",
" <td>0.106371</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gdp_per_capita</th>\n",
" <td>2398</td>\n",
" <td>0.103438</td>\n",
" </tr>\n",
" <tr>\n",
" <th>aged_70_older</th>\n",
" <td>2282</td>\n",
" <td>0.098434</td>\n",
" </tr>\n",
" <tr>\n",
" <th>median_age</th>\n",
" <td>2175</td>\n",
" <td>0.093819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cvd_death_rate</th>\n",
" <td>2153</td>\n",
" <td>0.092870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>diabetes_prevalence</th>\n",
" <td>1480</td>\n",
" <td>0.063840</td>\n",
" </tr>\n",
" <tr>\n",
" <th>population_density</th>\n",
" <td>978</td>\n",
" <td>0.042186</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_deaths_per_million</th>\n",
" <td>282</td>\n",
" <td>0.012164</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_deaths_per_million</th>\n",
" <td>282</td>\n",
" <td>0.012164</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Total Percent\n",
"new_tests 17495 0.754648\n",
"new_tests_per_thousand 17495 0.754648\n",
"total_tests 16841 0.726437\n",
"total_tests_per_thousand 16841 0.726437\n",
"new_tests_smoothed 16316 0.703792\n",
"new_tests_smoothed_per_thousand 16316 0.703792\n",
"handwashing_facilities 13852 0.597507\n",
"extreme_poverty 9297 0.401027\n",
"male_smokers 6389 0.275590\n",
"female_smokers 6199 0.267394\n",
"stringency_index 4633 0.199845\n",
"aged_65_older 2466 0.106371\n",
"gdp_per_capita 2398 0.103438\n",
"aged_70_older 2282 0.098434\n",
"median_age 2175 0.093819\n",
"cvd_death_rate 2153 0.092870\n",
"diabetes_prevalence 1480 0.063840\n",
"population_density 978 0.042186\n",
"new_deaths_per_million 282 0.012164\n",
"total_deaths_per_million 282 0.012164"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking for null values by column\n",
"# Percentage of missing values.\n",
"total = df.isnull().sum().sort_values(ascending=False)\n",
"percent = (df.isnull().sum()/df.isnull().count()).sort_values(ascending=False)\n",
"missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])\n",
"missing_data.head(20)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x34b83dc588>"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# chart of missing values\n",
"total_missing = total[total > 0]\n",
"total_missing.sort_values(inplace=True)\n",
"total_missing.plot.bar()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From the previous results we can see that there are multiple columns with a lot of null values. Let´s try to have a solution around this in the following steps."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### How many people died after getting being tested positive??"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The number of people who died after being tested positive was: 416430 / 7343562 ( 5.67 %)\n"
]
}
],
"source": [
"# We need to filter the data to the values corresponding only to the countries data, not including the world category data\n",
"new_deaths = np.sum(df[\"new_deaths\"][df[\"location\"] != \"World\"])\n",
"new_cases = np.sum(df[\"new_cases\"][df[\"location\"] != \"World\"])\n",
"deaths_percentage = (new_deaths/new_cases)*100\n",
"print(\"The number of people who died after being tested positive was: \", new_deaths, \"/\", new_cases, \"( \", np.round(deaths_percentage, 2), \"%)\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After seeing this number, we need to dig in some more to get better insights to guess what types of people died, their age, country, economical situation, etc..."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.1 Analysis of features <a id='part1_1'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1.1. Ordinal Features\n",
"\n",
"One ordinal feature is one that can be divided into a limited number of values and sorted by some proceedings. For example, sizes is a categorical varible whose values can be huge, big, medium and small. These values can be sorted by their meanings.\n",
"\n",
"In this dataset we don´t find any feature related to this category."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1.2. Continuous Features\n",
"\n",
"One continuous feature is one that can have a number of values between a min a max number, and they can be decimal, integer, flaot formats with/without ordering and giving measurable information.\n",
"\n",
"Continuos features in this dataset are: **'_id',\n",
" 'date',\n",
" 'total_cases',\n",
" 'new_cases',\n",
" 'total_deaths',\n",
" 'new_deaths',\n",
" 'total_cases_per_million',\n",
" 'new_cases_per_million',\n",
" 'total_deaths_per_million',\n",
" 'new_deaths_per_million',\n",
" 'total_tests',\n",
" 'new_tests',\n",
" 'total_tests_per_thousand',\n",
" 'new_tests_per_thousand',\n",
" 'new_tests_smoothed',\n",
" 'new_tests_smoothed_per_thousand',\n",
" 'stringency_index',\n",
" 'population',\n",
" 'population_density',\n",
" 'aged_65_older',\n",
" 'aged_70_older',\n",
" 'gdp_per_capita',\n",
" 'extreme_poverty',\n",
" 'cvd_death_rate',\n",
" 'diabetes_prevalence',\n",
" 'female_smokers',\n",
" 'male_smokers',\n",
" 'handwashing_facilities'**"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([dtype('O'), dtype('int64'), dtype('float64')], dtype=object)"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# data types in this dataset\n",
"df.dtypes.unique()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1.3. Categorical Features\n",
"\n",
"One categorical feature is one that can be divided into a limited number of values. For example, vehicles is a categorical varible whose values can be car, truck, motorbike, and cycle. These values can not be sorted or have any correspondence to each other.\n",
"\n",
"One way to get the categorical features from a dataset can be by getting their types and taking the ones corresponding the ones whose type is \"string\" or homologous to it.\n",
"\n",
"Categorical Features in this dataset are: **iso_code, location, tests_units,'median_age',**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Analyzing categorical features"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Location -> Categorical Feature"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>new_deaths</th>\n",
" </tr>\n",
" <tr>\n",
" <th>location</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>United States</th>\n",
" <td>112924</td>\n",
" </tr>\n",
" <tr>\n",
" <th>United Kingdom</th>\n",
" <td>41128</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Brazil</th>\n",
" <td>39680</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Italy</th>\n",
" <td>34114</td>\n",
" </tr>\n",
" <tr>\n",
" <th>France</th>\n",
" <td>29319</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Spain</th>\n",
" <td>27136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mexico</th>\n",
" <td>15357</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Belgium</th>\n",
" <td>9629</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Germany</th>\n",
" <td>8755</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Iran</th>\n",
" <td>8506</td>\n",
" </tr>\n",
" <tr>\n",
" <th>India</th>\n",
" <td>8102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Canada</th>\n",
" <td>7960</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Russia</th>\n",
" <td>6358</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Netherlands</th>\n",
" <td>6042</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Peru</th>\n",
" <td>5903</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sweden</th>\n",
" <td>4795</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Turkey</th>\n",
" <td>4746</td>\n",
" </tr>\n",
" <tr>\n",
" <th>China</th>\n",
" <td>4638</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ecuador</th>\n",
" <td>3720</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Chile</th>\n",
" <td>2475</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pakistan</th>\n",
" <td>2356</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Indonesia</th>\n",
" <td>1959</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ireland</th>\n",
" <td>1695</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Switzerland</th>\n",
" <td>1674</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Portugal</th>\n",
" <td>1495</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Colombia</th>\n",
" <td>1433</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Romania</th>\n",
" <td>1360</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Egypt</th>\n",
" <td>1342</td>\n",
" </tr>\n",
" <tr>\n",
" <th>South Africa</th>\n",
" <td>1210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Poland</th>\n",
" <td>1206</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Philippines</th>\n",
" <td>1027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bangladesh</th>\n",
" <td>1012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Japan</th>\n",
" <td>920</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ukraine</th>\n",
" <td>833</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Saudi Arabia</th>\n",
" <td>819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Argentina</th>\n",
" <td>735</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Algeria</th>\n",
" <td>732</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Austria</th>\n",
" <td>673</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Denmark</th>\n",
" <td>593</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Hungary</th>\n",
" <td>551</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Dominican Republic</th>\n",
" <td>550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bolivia</th>\n",
" <td>512</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Iraq</th>\n",
" <td>426</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Panama</th>\n",
" <td>413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Afghanistan</th>\n",
" <td>405</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sudan</th>\n",
" <td>389</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nigeria</th>\n",
" <td>382</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Moldova</th>\n",
" <td>371</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Czech Republic</th>\n",
" <td>330</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Finland</th>\n",
" <td>324</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guatemala</th>\n",
" <td>316</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Israel</th>\n",
" <td>299</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Honduras</th>\n",
" <td>290</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Belarus</th>\n",
" <td>288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>United Arab Emirates</th>\n",
" <td>284</td>\n",
" </tr>\n",
" <tr>\n",
" <th>South Korea</th>\n",
" <td>276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kuwait</th>\n",
" <td>275</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Serbia</th>\n",
" <td>251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Norway</th>\n",
" <td>239</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Armenia</th>\n",
" <td>227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Morocco</th>\n",
" <td>210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cameroon</th>\n",
" <td>208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Greece</th>\n",
" <td>183</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bulgaria</th>\n",
" <td>167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Macedonia</th>\n",
" <td>164</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bosnia and Herzegovina</th>\n",
" <td>160</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Puerto Rico</th>\n",
" <td>143</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Yemen</th>\n",
" <td>129</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Malaysia</th>\n",
" <td>118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Luxembourg</th>\n",
" <td>110</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Slovenia</th>\n",
" <td>109</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Croatia</th>\n",
" <td>106</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Australia</th>\n",
" <td>102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Azerbaijan</th>\n",
" <td>102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mali</th>\n",
" <td>96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Democratic Republic of Congo</th>\n",
" <td>95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kenya</th>\n",
" <td>89</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Somalia</th>\n",
" <td>85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Oman</th>\n",
" <td>84</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cuba</th>\n",
" <td>83</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lithuania</th>\n",
" <td>74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Chad</th>\n",
" <td>72</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Estonia</th>\n",
" <td>69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kazakhstan</th>\n",
" <td>67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Qatar</th>\n",
" <td>66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Niger</th>\n",
" <td>65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>El Salvador</th>\n",
" <td>64</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mauritania</th>\n",
" <td>61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Haiti</th>\n",
" <td>58</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Thailand</th>\n",
" <td>58</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nicaragua</th>\n",
" <td>55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Senegal</th>\n",
" <td>54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Burkina Faso</th>\n",
" <td>53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Andorra</th>\n",
" <td>51</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sierra Leone</th>\n",
" <td>50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tunisia</th>\n",
" <td>49</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tajikistan</th>\n",
" <td>48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ghana</th>\n",
" <td>48</td>\n",
" </tr>\n",
" <tr>\n",
" <th>San Marino</th>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cote d'Ivoire</th>\n",
" <td>41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ethiopia</th>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Djibouti</th>\n",
" <td>34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Albania</th>\n",
" <td>34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bahrain</th>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kosovo</th>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Liberia</th>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Jersey</th>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lebanon</th>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Slovakia</th>\n",
" <td>28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Latvia</th>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kyrgyzstan</th>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Singapore</th>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Congo</th>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Isle of Man</th>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Uruguay</th>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Venezuela</th>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guinea</th>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>New Zealand</th>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gabon</th>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tanzania</th>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Uzbekistan</th>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>South Sudan</th>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cyprus</th>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nepal</th>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sint Maarten (Dutch part)</th>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Georgia</th>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guernsey</th>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Togo</th>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Equatorial Guinea</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guyana</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guinea-Bissau</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sao Tome and Principe</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Costa Rica</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sri Lanka</th>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Paraguay</th>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bahamas</th>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Zambia</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Jamaica</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Madagascar</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mauritius</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Iceland</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bermuda</th>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Jordan</th>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Malta</th>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Montenegro</th>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Trinidad and Tobago</th>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Maldives</th>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Barbados</th>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Taiwan</th>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>International</th>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Central African Republic</th>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>United States Virgin Islands</th>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Syria</th>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Myanmar</th>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cape Verde</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Monaco</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Palestine</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Libya</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guam</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Angola</th>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Benin</th>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Zimbabwe</th>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Malawi</th>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Antigua and Barbuda</th>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Swaziland</th>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Aruba</th>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Belize</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mozambique</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Brunei</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Suriname</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Rwanda</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Comoros</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Northern Mariana Islands</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>British Virgin Islands</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Western Sahara</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cayman Islands</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Curacao</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Liechtenstein</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Montserrat</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gambia</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Burundi</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Turks and Caicos Islands</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Botswana</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Grenada</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Uganda</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Anguilla</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Hong Kong</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vietnam</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Laos</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mongolia</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lesotho</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vatican</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Greenland</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Saint Lucia</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gibraltar</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Namibia</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Saint Kitts and Nevis</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Papua New Guinea</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Seychelles</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Dominica</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>New Caledonia</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Eritrea</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Faeroe Islands</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Timor</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Falkland Islands</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cambodia</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fiji</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Saint Vincent and the Grenadines</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>French Polynesia</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bhutan</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bonaire Sint Eustatius and Saba</th>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" new_deaths\n",
"location \n",
"United States 112924\n",
"United Kingdom 41128\n",
"Brazil 39680\n",
"Italy 34114\n",
"France 29319\n",
"Spain 27136\n",
"Mexico 15357\n",
"Belgium 9629\n",
"Germany 8755\n",
"Iran 8506\n",
"India 8102\n",
"Canada 7960\n",
"Russia 6358\n",
"Netherlands 6042\n",
"Peru 5903\n",
"Sweden 4795\n",
"Turkey 4746\n",
"China 4638\n",
"Ecuador 3720\n",
"Chile 2475\n",
"Pakistan 2356\n",
"Indonesia 1959\n",
"Ireland 1695\n",
"Switzerland 1674\n",
"Portugal 1495\n",
"Colombia 1433\n",
"Romania 1360\n",
"Egypt 1342\n",
"South Africa 1210\n",
"Poland 1206\n",
"Philippines 1027\n",
"Bangladesh 1012\n",
"Japan 920\n",
"Ukraine 833\n",
"Saudi Arabia 819\n",
"Argentina 735\n",
"Algeria 732\n",
"Austria 673\n",
"Denmark 593\n",
"Hungary 551\n",
"Dominican Republic 550\n",
"Bolivia 512\n",
"Iraq 426\n",
"Panama 413\n",
"Afghanistan 405\n",
"Sudan 389\n",
"Nigeria 382\n",
"Moldova 371\n",
"Czech Republic 330\n",
"Finland 324\n",
"Guatemala 316\n",
"Israel 299\n",
"Honduras 290\n",
"Belarus 288\n",
"United Arab Emirates 284\n",
"South Korea 276\n",
"Kuwait 275\n",
"Serbia 251\n",
"Norway 239\n",
"Armenia 227\n",
"Morocco 210\n",
"Cameroon 208\n",
"Greece 183\n",
"Bulgaria 167\n",
"Macedonia 164\n",
"Bosnia and Herzegovina 160\n",
"Puerto Rico 143\n",
"Yemen 129\n",
"Malaysia 118\n",
"Luxembourg 110\n",
"Slovenia 109\n",
"Croatia 106\n",
"Australia 102\n",
"Azerbaijan 102\n",
"Mali 96\n",
"Democratic Republic of Congo 95\n",
"Kenya 89\n",
"Somalia 85\n",
"Oman 84\n",
"Cuba 83\n",
"Lithuania 74\n",
"Chad 72\n",
"Estonia 69\n",
"Kazakhstan 67\n",
"Qatar 66\n",
"Niger 65\n",
"El Salvador 64\n",
"Mauritania 61\n",
"Haiti 58\n",
"Thailand 58\n",
"Nicaragua 55\n",
"Senegal 54\n",
"Burkina Faso 53\n",
"Andorra 51\n",
"Sierra Leone 50\n",
"Tunisia 49\n",
"Tajikistan 48\n",
"Ghana 48\n",
"San Marino 42\n",
"Cote d'Ivoire 41\n",
"Ethiopia 35\n",
"Djibouti 34\n",
"Albania 34\n",
"Bahrain 31\n",
"Kosovo 31\n",
"Liberia 31\n",
"Jersey 30\n",
"Lebanon 30\n",
"Slovakia 28\n",
"Latvia 26\n",
"Kyrgyzstan 26\n",
"Singapore 25\n",
"Congo 25\n",
"Isle of Man 24\n",
"Uruguay 23\n",
"Venezuela 23\n",
"Guinea 23\n",
"New Zealand 22\n",
"Gabon 22\n",
"Tanzania 21\n",
"Uzbekistan 19\n",
"South Sudan 19\n",
"Cyprus 18\n",
"Nepal 15\n",
"Sint Maarten (Dutch part) 15\n",
"Georgia 13\n",
"Guernsey 13\n",
"Togo 13\n",
"Equatorial Guinea 12\n",
"Guyana 12\n",
"Guinea-Bissau 12\n",
"Sao Tome and Principe 12\n",
"Costa Rica 12\n",
"Sri Lanka 11\n",
"Paraguay 11\n",
"Bahamas 11\n",
"Zambia 10\n",
"Jamaica 10\n",
"Madagascar 10\n",
"Mauritius 10\n",
"Iceland 10\n",
"Bermuda 9\n",
"Jordan 9\n",
"Malta 9\n",
"Montenegro 9\n",
"Trinidad and Tobago 8\n",
"Maldives 8\n",
"Barbados 7\n",
"Taiwan 7\n",
"International 7\n",
"Central African Republic 6\n",
"United States Virgin Islands 6\n",
"Syria 6\n",
"Myanmar 6\n",
"Cape Verde 5\n",
"Monaco 5\n",
"Palestine 5\n",
"Libya 5\n",
"Guam 5\n",
"Angola 4\n",
"Benin 4\n",
"Zimbabwe 4\n",
"Malawi 4\n",
"Antigua and Barbuda 3\n",
"Swaziland 3\n",
"Aruba 3\n",
"Belize 2\n",
"Mozambique 2\n",
"Brunei 2\n",
"Suriname 2\n",
"Rwanda 2\n",
"Comoros 2\n",
"Northern Mariana Islands 2\n",
"British Virgin Islands 1\n",
"Western Sahara 1\n",
"Cayman Islands 1\n",
"Curacao 1\n",
"Liechtenstein 1\n",
"Montserrat 1\n",
"Gambia 1\n",
"Burundi 1\n",
"Turks and Caicos Islands 1\n",
"Botswana 1\n",
"Grenada 0\n",
"Uganda 0\n",
"Anguilla 0\n",
"Hong Kong 0\n",
"Vietnam 0\n",
"Laos 0\n",
"Mongolia 0\n",
"Lesotho 0\n",
"Vatican 0\n",
"Greenland 0\n",
"Saint Lucia 0\n",
"Gibraltar 0\n",
"Namibia 0\n",
"Saint Kitts and Nevis 0\n",
"Papua New Guinea 0\n",
"Seychelles 0\n",
"Dominica 0\n",
"New Caledonia 0\n",
"Eritrea 0\n",
"Faeroe Islands 0\n",
"Timor 0\n",
"Falkland Islands 0\n",
"Cambodia 0\n",
"Fiji 0\n",
"Saint Vincent and the Grenadines 0\n",
"French Polynesia 0\n",
"Bhutan 0\n",
"Bonaire Sint Eustatius and Saba 0"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Getting the ranking of countries by number of deaths \n",
"pd.DataFrame(df[df[\"location\"] != \"World\"].groupby([\"location\"])[\"new_deaths\"].sum().sort_values(ascending=False))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"According to this data, people died most when their median ages were between 35 and 45 years old."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Median_age -> Categorical Feature"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let´s map the median_age column to an age status so that we can see better if the categories map accordingly to the data we think we have."
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [],
"source": [
"df[\"age_status\"] = df[\"median_age\"].apply(lambda x: \"Very old\" if x > 80 else \"Old\" if x > 60 else \"Adult\" if x > 40 else \"Millenial\" if x > 30 else \"Teenager\")"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>new_deaths</th>\n",
" </tr>\n",
" <tr>\n",
" <th>age_status</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Millenial</th>\n",
" <td>186868</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Adult</th>\n",
" <td>180766</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Teenager</th>\n",
" <td>48796</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" new_deaths\n",
"age_status \n",
"Millenial 186868\n",
"Adult 180766\n",
"Teenager 48796"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Getting the ranking of people by their median age when they died\n",
"pd.DataFrame(df[df[\"location\"] != \"World\"].groupby([\"age_status\"])[\"new_deaths\"].sum().sort_values(ascending=False))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"According to this analysis, people have died most where countries median age were 30 or below. Here, Millenial (30-40) and Teenager(<20) make up most of the deaths worlwide "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.2. Null values <a id='part1_2'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, if we check if the values corresponding to the test-related columns have something to do with the data not being populated, then we will need to do so with zero´s. It will not have any effect into the total counts of these columns"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [],
"source": [
"values = {'total_tests':-1, 'new_tests':-1, 'total_tests_per_thousand':-1, 'new_tests_per_thousand':-1, 'new_tests_smoothed':-1, 'new_tests_smoothed_per_thousand':-1}\n",
"df = df.fillna(value=values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Later, all columns related to cases, and deaths per million will be filled also with zeros so that we don´t have any null values in those. It makes sense to substitute this values by zero as they don´t affect other analysis."
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [],
"source": [
"values = {'total_deaths_per_million':-1, 'new_deaths_per_million':-1, 'new_cases_per_million':-1, 'total_cases_per_million':-1, }\n",
"df = df.fillna(value=values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Columns related to facts that can not change over time fast can be filled with their mode values. In this dataset, we have: \n",
"- extreme_poverty\n",
"- male_smokers\n",
"- female_smokers\n",
"- stringency_index\n",
"- aged_65_older\n",
"- gdp_per_capita\n",
"- aged_70_older\n",
"- cvd_death_rate\n",
"- median_age\n",
"- diabetes_prevalence\n",
"- population_density\n",
"- population"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [],
"source": [
"cols = [\"extreme_poverty\", \"male_smokers\", \"female_smokers\", \"stringency_index\", \"aged_65_older\", \"gdp_per_capita\", \"aged_70_older\", \"cvd_death_rate\", \"median_age\", \"diabetes_prevalence\", \"population_density\", \"population\"]\n",
"df[cols]=df[cols].fillna(df.mode().iloc[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For handwashing_facilities, we can see the trends of this column, because we may suspect that data is being filled over time, and the values are increasing as people is installing these devices according to government laws."
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x34b8745fc8>"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.groupby([\"date\"])[\"handwashing_facilities\"].sum().plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we were suspecting, this assumption is true. Now we will apply the mean value by country to the null ones, so that each country has a corresponding value according to the rest."
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [],
"source": [
"#df.groupby(\"location\")[\"handwashing_facilities\"].apply(lambda x: x.fillna(x.mean()))\n",
"df[\"handwashing_facilities\"] = df[\"handwashing_facilities\"].fillna(df[\"handwashing_facilities\"].mean())"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Total</th>\n",
" <th>Percent</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>age_status</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests_smoothed</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>iso_code</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>location</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_cases</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_cases</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_deaths</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_deaths</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_cases_per_million</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_cases_per_million</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_deaths_per_million</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_deaths_per_million</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_tests</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>total_tests_per_thousand</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests_per_thousand</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>new_tests_smoothed_per_thousand</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>__v</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>tests_units</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>stringency_index</th>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Total Percent\n",
"age_status 0 0.0\n",
"new_tests_smoothed 0 0.0\n",
"iso_code 0 0.0\n",
"location 0 0.0\n",
"total_cases 0 0.0\n",
"new_cases 0 0.0\n",
"total_deaths 0 0.0\n",
"new_deaths 0 0.0\n",
"total_cases_per_million 0 0.0\n",
"new_cases_per_million 0 0.0\n",
"total_deaths_per_million 0 0.0\n",
"new_deaths_per_million 0 0.0\n",
"total_tests 0 0.0\n",
"new_tests 0 0.0\n",
"total_tests_per_thousand 0 0.0\n",
"new_tests_per_thousand 0 0.0\n",
"new_tests_smoothed_per_thousand 0 0.0\n",
"__v 0 0.0\n",
"tests_units 0 0.0\n",
"stringency_index 0 0.0"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking for null values by column\n",
"# Percentage of missing values.\n",
"total = df.isnull().sum().sort_values(ascending=False)\n",
"percent = (df.isnull().sum()/df.isnull().count()).sort_values(ascending=False)\n",
"missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])\n",
"missing_data.head(20)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x34b87ae488>"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.groupby([\"date\"])[\"handwashing_facilities\"].sum().plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.3. Most influential variables on new_deaths <a id='part1_3'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.3.1. Target variable: new_deaths"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To know which variables affect most on the new_deaths column, it is necessary to address an analysis on new_deaths ranges, average death age, visualize outliers on this variable..."
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 23183.000000\n",
"mean 35.925463\n",
"std 332.225249\n",
"min -1918.000000\n",
"25% 0.000000\n",
"50% 0.000000\n",
"75% 1.000000\n",
"max 10520.000000\n",
"Name: new_deaths, dtype: float64"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"new_deaths\"].describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As this statistical information shows, this variable has large differences between min and max values, and the mean value is far from the minimum and maximum figures on deaths. It may mean that there are different values that may correspond to outliers. To check this fact, let´s show the boxplot below:"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x34b87aef08>"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEDCAYAAAAx/aOOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAWaElEQVR4nO3df5wc9X3f8ddqDwtZP05wIB+gJK4x/iKUELsoSNRK4zRY1LFpbAQ6/QCLYBT6SEKjxyNuHm7jNHbaJmla22psk/jhIIhsP2wUB9UWaRyKkwAmSFRg96RL+FacMPLJEtEv7tBVdyfdbf+Y2fV87/Yk3Umr051fz390+53Zme93PrPzntldzZYqlQqSJFVNm+gOSJIuLAaDJClhMEiSEgaDJClhMEiSEk2nmtjd3e1XliRpimtubi4VH3vFIElKGAySpERDg2H37t2NXPyEcmyTz1QdFzi2yepCHZtXDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkhMEgSUoYDJKkRNNEd2CyWb9+ffJ4w4YNE9QTSWoMrxgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUMBgkSQmDQZKUaGr0Crq7u9m0aRNr165lzpw5jV5dw1THMdz69esnoDeZ5uZmuru7k7YVK1bwta99jTe+8Y0cPXqUlpYWZsyYweDgIIcOHeLEiRO1561YsYKnnnqKV199laamJtavX8+sWbN45JFH6OnpYe7cubz22mvMmzePVatWsXnzZgYHBwEol8vccccdbNmyhbVr11KpVNi4cSODg4OUy2U+9KEPMWfOnLr17+7uZuPGjQC1+YrtJ0+epFQqJcvp6uri05/+NJdffjm33norDz30EG1tbTzyyCPcf//9zJo1i02bNvGBD3yALVu2cNttt/Hoo4+ybNkyNm7cSHNzM0ePHuXee+/l8ccfH7E/jtbPalulUqkt/8tf/jIHDx6kpaUFgMOHDzNv3jxuvfVWHnzwQSqVCm9605tYtWoVjz76aG2Zzz//PF/4whcol8sMDg6ydu1annjiCQ4dOkRbWxubN29OxlLsS3H8K1euTLb7pk2buOGGG/jGN77BbbfdxubNm2vbtjq9uqzitl+xYsWIeevV5UxVt1d121fX2dXVxWc+8xnuv/9+rrrqqtp81Vo18tgwvK5T7XjUqHGUP/axj406sb+/f/SJZ+DIkSM888wztLe3MzAwwMKFC89mcRNq69attLe3T3Q3Ev39/SPaOjo6GBwcpK+vD4Djx4/T09PDsWPHGBoaSp7X0dHBsWPHABgaGmLPnj0cPXqUGCODg4P09vYyODhIT08Pe/bsYd++ffT09NDT00N3dzd79uyhq6uLgYEBOjs72blzZ21atd7V7Vas/9atW9m5c2cyX7H99ddfH7GcBx54gO7ubnp6eujo6KCvr49du3Zx4sSJWr/b29trfers7KSrq4tdu3bR19dHb28vQ0NDdHR0cPDgwRH742j9rLZ1dnbWlr9//34GBwc5duwYx44dq22jjo4O+vv7GRoaqm2z6vZZuHAhn/jEJ6hUKlQqFQB27dpFd3c3g4ODdcdS7Etx/MO3e3t7O/v372f//v10dnayb9++2rarTi/Wo7rtqzUtzluvLmequr2q275Yu9dee409e/awdOnS2nzDt89ojhw5UgvhsRpe13p1nkjjHdu5HsfFF1/88eLjhr6V1Nvby/bt26lUKjz33HP09PQ0cnUN093dXRvHVHbgwAGeeeaZUafVa6tUKmzfvp1t27Yl07Zv386+fftG1L+6LYvz1WsvTn/xxReT9R8/fhygdvVy4MABnn32WSqVSq1P1X+r8xafO3x/LNZ3eD+r46v+XW87DO/X8O3z3HPP8a1vfavW36ri4+JYtm3blvSlq6srWW9xu1f7deTIkRH927ZtWzKuaj2Kyylu52effTZ5PJbXa3F7FcddrN2BAweIMdadrxHHhuF17erqmnLHo0aNo6FXDI899hgHDx6kUqlQKpXo7++/IFJ6rLZu3UpXV9eUD4bxGhoaGrFtqlcgvb29Sf07OzvZu3dvMl/1bLXYXpze0dHByZMnT9mHsdamuD8W61vsZ7Wt3vjGuq6Ojo4znr+6rmpfnnzyydqVXdHp+lW8OimVSrz00ku8/vrrdecdvqxKpTKms9F6r5FSqcSuXbuS2lWvaIfPd6pjw9mcVRfr2tnZOWJ/nOjj0XjGVm9/PdtxnNcrhupbEpCdEe3YsaORq2uYHTt2jDjb0+kdOHBgRP137Ngx4mA2WnvV8DPxc6G4PxbrW+xnseZnEwzj3XeqfTnVVcrp+lWdPjg4WDtDPxOVSmVMr9d6r5HBwcG6V2z15mvEsWF4Xevtj5NRvf31XGtoMIQQKJfLQPZh5aJFixq5uoZZtGhRbRw6c62trSPqv2jRIkqlUjLfaO1VM2bMOOd9K+6PxfoW+1ms+Wh9O9N1nU0fW1tbR53ndP2qTi+Xy7S2tp7xOEql0pher/VeI+VyeUTtZsyYUXe+Rhwbhte13v44GdXbX8+1hgZD8cU+bdo0brnllkaurmGWLVt2VgeGqa6pqWnEi72pqYm77rprRP2XLVuWzNvU1FS3vTh97dq1p+3DtGlj25WL+2OxvsV+VtvqjW+s67r99tvPeP7quqp9ufPOO+vOd7p+lcvlZFl33XXXqPM3NTUl27BcLo/p9VrvNTJt2rQRtbv77rvrzteIY8Pwut55551T7njUqHE0NBhmzpzJ4sWLKZVK3HjjjZP262HNzc21cUxlra2tvPOd7xx1Wr22UqnE4sWLWbJkSTJt8eLFXHXVVSPqX92WxfnqtRenX3vttcn6q2eh1YNca2srN910E6VSqdan6r/1zliH74/F+g7vZ3V81b9PdfY+fF3VPtx4440sXbq07pny8L9bW1tZsmRJ0pf58+cn6y1u92q/Lr300hH9W7JkSTKuaj2Kyylu55tuuil5PJbXa3F7FcddrF1rayshhLrzNeLYMLyu8+fPn3LHo0aNo+FfV73++uvZu3cvy5cvZ/r06WezuAk1f/589u7dy9GjRye6KzXNzc0jvrK6YsUKXnrpJebMmUNfXx8tLS20tLQwc+bM2lcpq89bsWIFhw8fpre3l4suuoj77ruPBQsW1D4wbGlp4cSJE1xxxRWsWbOGffv2MXv2bObMmcMll1zCqlWrePXVV1m+fDlXX301L7/8MrNnz+aSSy7hjjvuYPr06bXtVqz//Pnzefnll5k7d25tvmL7rFmzaG5uTpbz5je/meeff54rrriCtrY2du3axerVq4kxsm7dOhYsWMDevXtpa2vj1VdfZeXKlRw4cIDly5ezc+dOWlpaGBgY4J577uHIkSMj9sfR+lltu/rqq2vLf+WVV+jv72fevHnMnj2bgYGBWr/a29uZNm0aV155JWvWrKn1Yfr06Vx22WW0t7dTLpepVCp88IMf5NChQwwMDLBq1aoRYyn2pTj+1atXJ9t97969LF26lL6+PlauXMm+fftq27Y6vbqs4rZfvXr1iHnr1eVMVbdXcdtXa/fCCy+wbt26WtAVa3W6Y8PZfF11eF3r1XkijXds53ocwz98Lp3qw6ju7u6z+hrO7t27ueaaa85mERec4f+hbcOGDRPUk8aZinWDqTsucGyT1YUytubm5uTtEG+JIUlKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKGAySpITBIElKNE10ByabDRs2ALB7926uueaaCe6NJJ17XjFIkhIGgyQpYTBIkhIGgyQpYTBIkhIGgyQpYTBIkhIGgyQpYTBIkhIGgyQpYTBIkhIGgyQpYTBI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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(df[\"new_deaths\"], color=\"y\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"According to the values shown previously, we will delete the register where the number of deaths is lower than zero, it does not make sense to have negative values for new deaths."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Outlier analysis will be based over the most important variables. A dataframe will be created to select the observations to be deleted from the original dataset."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.3.2. Outliers of \"new_deaths\" variable"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [],
"source": [
"# outliers removal in original data\n",
"df = df.drop(df[df[\"new_deaths\"]<0].index)"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x34b884e508>"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from scipy.stats import norm\n",
"sns.distplot(df['new_deaths'], fit=norm)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The distribution chart for new_deaths doesn´t seem to follow a normal distribution, so we will try to study its properties through probabilistic methods as Shapiro"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.08056902885437012, 0.0)"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import scipy\n",
"from scipy import stats\n",
"\n",
"# let´s apply Shapiro-Wilks test supposing a null hypothesis where the distribution of this variable is normal.\n",
"x = df[\"new_deaths\"]\n",
"scipy.stats.shapiro(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Clearly, Shapiro shows this data doesn´t follow a normal distribution as its values are very close to 0."
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# q-norm normality test\n",
"\n",
"stats.probplot(x, dist=\"norm\", plot=pylab)\n",
"pylab.show()"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [],
"source": [
"# Creating an auxiliar column which is a copy of new_deaths to compare the real values against the logarithm of those.\n",
"train_outliers = pd.DataFrame()\n",
"train_outliers[\"new_deaths\"] = df[\"new_deaths\"]"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Count of outliers over Ls: 0\n"
]
}
],
"source": [
"# observations to be deleted\n",
"print(\" Count of outliers over Ls: \" + str(train_outliers[\"new_deaths\"][train_outliers[\"new_deaths\"]<0].count()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By looking at the chart above, there are not enough evidences to accept the normality of this data as the p-value is very small, declining the null hypothesis. In this chart, the edges are far from the theoretical quantiles of the normal distribution.\n",
"\n",
"so, we will proceed with previous process of transforming the data into its logarithm form."
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [],
"source": [
"# data logarithm\n",
"train_outliers['new_deaths'] = np.log(df['new_deaths'])"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# q-norm normality test\n",
"\n",
"y = train_outliers[\"new_deaths\"]\n",
"stats.probplot(y, dist=\"norm\", fit=True, plot=pylab)\n",
"pylab.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this case, we can see a better trend in the data points corresponding to the new_deaths column, but can not be sure to classify it as a normal distribution."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.4. Correlation between Features <a id='part1_4'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let´s divide first the variables between categorical and numerical columns as:"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [],
"source": [
"# categorical and numerical variables\n",
"categorical = df.select_dtypes(include = ['object']).copy()\n",
"numerical = df.select_dtypes(include = ['int64','float64']).copy()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.4.1. Numerical variables analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A study will be done to measure the correlation between all these variables together."
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [],
"source": [
"num_corr = numerical.corr()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There will be a first exploration of data between \"new_deaths\" and the rest"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"new_deaths 1.000000\n",
"new_cases 0.923135\n",
"total_deaths 0.794581\n",
"total_cases 0.783721\n",
"population 0.625588\n",
"new_deaths_per_million 0.099934\n",
"new_tests_smoothed 0.087396\n",
"total_deaths_per_million 0.078711\n",
"total_tests 0.069418\n",
"new_tests 0.058344\n",
"aged_70_older 0.045385\n",
"aged_65_older 0.044243\n",
"total_cases_per_million 0.040277\n",
"new_cases_per_million 0.039541\n",
"female_smokers 0.036656\n",
"median_age 0.034299\n",
"gdp_per_capita 0.028032\n",
"handwashing_facilities 0.019772\n",
"diabetes_prevalence 0.014399\n",
"male_smokers 0.004023\n",
"extreme_poverty -0.003281\n",
"total_tests_per_thousand -0.003870\n",
"new_tests_smoothed_per_thousand -0.007553\n",
"new_tests_per_thousand -0.009656\n",
"population_density -0.017467\n",
"stringency_index -0.026154\n",
"cvd_death_rate -0.032237\n",
"__v NaN\n",
"Name: new_deaths, dtype: float64"
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# correlation with new_deaths\n",
"num_corr[\"new_deaths\"].sort_values(ascending=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To make variable selection let´s pick the most three significative variables that have a correlation higher than $±0.5$ to make a correlation matrix limited to the variables which meet this criteria"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cm = numerical[[\"new_deaths\",\"new_cases\",\"total_deaths\",\"total_cases\", \"population\"]].corr()\n",
"sns.set(font_scale=1)\n",
"f, ax = plt.subplots(figsize=(9, 5))\n",
"hm = sns.heatmap(cm, cbar=True, annot=True, square=True, fmt='.2g')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Furthermore, let´s do an analysis more in detail about each of them: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.4.1.1 new_cases"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The number of new cases seems to be the one more obvious to have relation with the number of deaths. The graphical representation of this variables looks like the following:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By applying the ANOVA statistical proceeding, it indicates how the line fits correctly the relation between two variables, calculating $R^2$ which is a value between 0 and 1, where 0 indicates that there is no correlation at all, and 1 there is perfect fitting, or saying how good the model would fit through regression line over the data:"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>new_deaths</td> <th> R-squared: </th> <td> 0.852</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.852</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td>1.312e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Mon, 15 Jun 2020</td> <th> Prob (F-statistic):</th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>13:48:12</td> <th> Log-Likelihood: </th> <td>-1.4277e+05</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 22762</td> <th> AIC: </th> <td>2.855e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 22760</td> <th> BIC: </th> <td>2.856e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>Intercept</th> <td> 1.2759</td> <td> 0.855</td> <td> 1.492</td> <td> 0.136</td> <td> -0.400</td> <td> 2.952</td>\n",
"</tr>\n",
"<tr>\n",
" <th>new_cases</th> <td> 0.0556</td> <td> 0.000</td> <td> 362.229</td> <td> 0.000</td> <td> 0.055</td> <td> 0.056</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td>36755.892</td> <th> Durbin-Watson: </th> <td> 0.357</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.000</td> <th> Jarque-Bera (JB): </th> <td>282581302.648</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td> 9.644</td> <th> Prob(JB): </th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td>548.508</td> <th> Cond. No. </th> <td>5.61e+03</td> \n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 5.61e+03. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: new_deaths R-squared: 0.852\n",
"Model: OLS Adj. R-squared: 0.852\n",
"Method: Least Squares F-statistic: 1.312e+05\n",
"Date: Mon, 15 Jun 2020 Prob (F-statistic): 0.00\n",
"Time: 13:48:12 Log-Likelihood: -1.4277e+05\n",
"No. Observations: 22762 AIC: 2.855e+05\n",
"Df Residuals: 22760 BIC: 2.856e+05\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 1.2759 0.855 1.492 0.136 -0.400 2.952\n",
"new_cases 0.0556 0.000 362.229 0.000 0.055 0.056\n",
"==============================================================================\n",
"Omnibus: 36755.892 Durbin-Watson: 0.357\n",
"Prob(Omnibus): 0.000 Jarque-Bera (JB): 282581302.648\n",
"Skew: 9.644 Prob(JB): 0.00\n",
"Kurtosis: 548.508 Cond. No. 5.61e+03\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 5.61e+03. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import statsmodels.formula.api as smf\n",
"est = smf.ols(formula='new_deaths ~ new_cases', data=numerical).fit()\n",
"est.summary()\n",
"# Take a look at R"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$R^2$ shows a significant value to make new_cases as a strong variable to determine the number of deaths"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.4.1.2 total_deaths"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The number of total_deaths seems to be other obvious variable to have relation with the number of deaths. The statistics of this variable looks like the following:"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>new_deaths</td> <th> R-squared: </th> <td> 0.631</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.631</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td>3.898e+04</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Mon, 15 Jun 2020</td> <th> Prob (F-statistic):</th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>13:48:12</td> <th> Log-Likelihood: </th> <td>-1.5317e+05</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 22762</td> <th> AIC: </th> <td>3.063e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 22760</td> <th> BIC: </th> <td>3.064e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>Intercept</th> <td> 10.1511</td> <td> 1.348</td> <td> 7.530</td> <td> 0.000</td> <td> 7.509</td> <td> 12.793</td>\n",
"</tr>\n",
"<tr>\n",
" <th>total_deaths</th> <td> 0.0169</td> <td> 8.58e-05</td> <td> 197.434</td> <td> 0.000</td> <td> 0.017</td> <td> 0.017</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td>45511.193</td> <th> Durbin-Watson: </th> <td> 0.177</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.000</td> <th> Jarque-Bera (JB): </th> <td>220606812.373</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td>16.141</td> <th> Prob(JB): </th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td>484.210</td> <th> Cond. No. </th> <td>1.58e+04</td> \n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 1.58e+04. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: new_deaths R-squared: 0.631\n",
"Model: OLS Adj. R-squared: 0.631\n",
"Method: Least Squares F-statistic: 3.898e+04\n",
"Date: Mon, 15 Jun 2020 Prob (F-statistic): 0.00\n",
"Time: 13:48:12 Log-Likelihood: -1.5317e+05\n",
"No. Observations: 22762 AIC: 3.063e+05\n",
"Df Residuals: 22760 BIC: 3.064e+05\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"================================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"--------------------------------------------------------------------------------\n",
"Intercept 10.1511 1.348 7.530 0.000 7.509 12.793\n",
"total_deaths 0.0169 8.58e-05 197.434 0.000 0.017 0.017\n",
"==============================================================================\n",
"Omnibus: 45511.193 Durbin-Watson: 0.177\n",
"Prob(Omnibus): 0.000 Jarque-Bera (JB): 220606812.373\n",
"Skew: 16.141 Prob(JB): 0.00\n",
"Kurtosis: 484.210 Cond. No. 1.58e+04\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 1.58e+04. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"est = smf.ols(formula='new_deaths ~ total_deaths', data=numerical).fit()\n",
"est.summary()\n",
"# Take a look at R"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Still, $R^2$ shows a medium-high value so we will consider this variable as a good candidate to get in the model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.4.1.3 total_cases"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The number of total_cases follows the relation with the number of new_cases. The statistics of this variable looks like the following:"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>new_deaths</td> <th> R-squared: </th> <td> 0.614</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.614</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td>3.624e+04</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Mon, 15 Jun 2020</td> <th> Prob (F-statistic):</th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>13:48:12</td> <th> Log-Likelihood: </th> <td>-1.5369e+05</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 22762</td> <th> AIC: </th> <td>3.074e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 22760</td> <th> BIC: </th> <td>3.074e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>Intercept</th> <td> 10.4463</td> <td> 1.379</td> <td> 7.575</td> <td> 0.000</td> <td> 7.743</td> <td> 13.149</td>\n",
"</tr>\n",
"<tr>\n",
" <th>total_cases</th> <td> 0.0011</td> <td> 5.62e-06</td> <td> 190.360</td> <td> 0.000</td> <td> 0.001</td> <td> 0.001</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td>44157.847</td> <th> Durbin-Watson: </th> <td> 0.175</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.000</td> <th> Jarque-Bera (JB): </th> <td>211754889.465</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td>15.018</td> <th> Prob(JB): </th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td>474.561</td> <th> Cond. No. </th> <td>2.47e+05</td> \n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 2.47e+05. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: new_deaths R-squared: 0.614\n",
"Model: OLS Adj. R-squared: 0.614\n",
"Method: Least Squares F-statistic: 3.624e+04\n",
"Date: Mon, 15 Jun 2020 Prob (F-statistic): 0.00\n",
"Time: 13:48:12 Log-Likelihood: -1.5369e+05\n",
"No. Observations: 22762 AIC: 3.074e+05\n",
"Df Residuals: 22760 BIC: 3.074e+05\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"===============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"-------------------------------------------------------------------------------\n",
"Intercept 10.4463 1.379 7.575 0.000 7.743 13.149\n",
"total_cases 0.0011 5.62e-06 190.360 0.000 0.001 0.001\n",
"==============================================================================\n",
"Omnibus: 44157.847 Durbin-Watson: 0.175\n",
"Prob(Omnibus): 0.000 Jarque-Bera (JB): 211754889.465\n",
"Skew: 15.018 Prob(JB): 0.00\n",
"Kurtosis: 474.561 Cond. No. 2.47e+05\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 2.47e+05. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"est = smf.ols(formula='new_deaths ~ total_cases', data=numerical).fit()\n",
"est.summary()\n",
"# Take a look at R"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Still, $R^2$ shows a medium-high value so we will consider this variable as a good candidate to get in the model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.4.1.4 population"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The population of the country may have an effect on new_cases. The statistics of this variable looks like the following:"
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>new_deaths</td> <th> R-squared: </th> <td> 0.391</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.391</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td>1.463e+04</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Mon, 15 Jun 2020</td> <th> Prob (F-statistic):</th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>13:48:12</td> <th> Log-Likelihood: </th> <td>-1.5888e+05</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 22762</td> <th> AIC: </th> <td>3.178e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 22760</td> <th> BIC: </th> <td>3.178e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>Intercept</th> <td> 3.8596</td> <td> 1.744</td> <td> 2.213</td> <td> 0.027</td> <td> 0.440</td> <td> 7.279</td>\n",
"</tr>\n",
"<tr>\n",
" <th>population</th> <td> 3.097e-07</td> <td> 2.56e-09</td> <td> 120.975</td> <td> 0.000</td> <td> 3.05e-07</td> <td> 3.15e-07</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td>29764.648</td> <th> Durbin-Watson: </th> <td> 0.117</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.000</td> <th> Jarque-Bera (JB): </th> <td>32479463.590</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td> 6.684</td> <th> Prob(JB): </th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td>187.573</td> <th> Cond. No. </th> <td>6.89e+08</td> \n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 6.89e+08. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: new_deaths R-squared: 0.391\n",
"Model: OLS Adj. R-squared: 0.391\n",
"Method: Least Squares F-statistic: 1.463e+04\n",
"Date: Mon, 15 Jun 2020 Prob (F-statistic): 0.00\n",
"Time: 13:48:12 Log-Likelihood: -1.5888e+05\n",
"No. Observations: 22762 AIC: 3.178e+05\n",
"Df Residuals: 22760 BIC: 3.178e+05\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 3.8596 1.744 2.213 0.027 0.440 7.279\n",
"population 3.097e-07 2.56e-09 120.975 0.000 3.05e-07 3.15e-07\n",
"==============================================================================\n",
"Omnibus: 29764.648 Durbin-Watson: 0.117\n",
"Prob(Omnibus): 0.000 Jarque-Bera (JB): 32479463.590\n",
"Skew: 6.684 Prob(JB): 0.00\n",
"Kurtosis: 187.573 Cond. No. 6.89e+08\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 6.89e+08. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"est = smf.ols(formula='new_deaths ~ population', data=numerical).fit()\n",
"est.summary()\n",
"# Take a look at R"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The value obtained for $R^2$ is low compared to the other variables, so we will avoid including this variable into the models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.4.2 Categorical variables analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The proceeding consists of transforming the categorical value into a numerical one, study the correlations and then isolate the variables more correlated with each other.\n",
"\n",
"**note**: the data to work with needs to have no-null values, as explained before. For this reason, we can apply the proceeding to numerical categories with no problem at all."
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [],
"source": [
"# transformation to numerical values:\n",
"for i in categorical.columns:\n",
" categorical[i] = categorical[i].astype('category')\n",
"\n",
"columns = []\n",
"for i in categorical.columns:\n",
" columns.append(i)\n",
"\n",
"for i in columns:\n",
" categorical[i] = categorical[i].cat.codes"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>_id</th>\n",
" <th>iso_code</th>\n",
" <th>location</th>\n",
" <th>tests_units</th>\n",
" <th>age_status</th>\n",
" </tr>\n",
" <tr>\n",
" <th>date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2019-12-31</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-01</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-02</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-03</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-04</th>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" _id iso_code location tests_units age_status\n",
"date \n",
"2019-12-31 0 2 0 0 2\n",
"2020-01-01 1 2 0 0 2\n",
"2020-01-02 2 2 0 0 2\n",
"2020-01-03 3 2 0 0 2\n",
"2020-01-04 4 2 0 0 2"
]
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"categorical.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"outputs": [],
"source": [
"# adding the new_deaths column\n",
"new_deaths = numerical[['new_deaths']]\n",
"categorical['new_deaths'] = new_deaths"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_id 0.118170\n",
"iso_code 0.049627\n",
"location 0.116461\n",
"tests_units -0.010107\n",
"age_status -0.053804\n",
"new_deaths 1.000000\n",
"Name: new_deaths, dtype: float64\n"
]
}
],
"source": [
"# significative correlations with the new_deaths column\n",
"cat_corr = categorical.corr()\n",
"corr_sp = cat_corr['new_deaths']\n",
"print(corr_sp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The only variable which shows some correlation values is location, which is the country itself. Let´s get the statistics from this variable:"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>new_deaths</td> <th> R-squared: </th> <td> 0.014</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.014</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td> 312.9</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Mon, 15 Jun 2020</td> <th> Prob (F-statistic):</th> <td>1.46e-69</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>13:48:13</td> <th> Log-Likelihood: </th> <td>-1.6437e+05</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 22762</td> <th> AIC: </th> <td>3.287e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 22760</td> <th> BIC: </th> <td>3.288e+05</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>Intercept</th> <td> -30.9271</td> <td> 4.380</td> <td> -7.062</td> <td> 0.000</td> <td> -39.511</td> <td> -22.343</td>\n",
"</tr>\n",
"<tr>\n",
" <th>location</th> <td> 0.6372</td> <td> 0.036</td> <td> 17.690</td> <td> 0.000</td> <td> 0.567</td> <td> 0.708</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td>44721.657</td> <th> Durbin-Watson: </th> <td> 0.077</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.000</td> <th> Jarque-Bera (JB): </th> <td>87127003.641</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td>15.985</td> <th> Prob(JB): </th> <td> 0.00</td> \n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td>304.403</td> <th> Cond. No. </th> <td> 243.</td> \n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: new_deaths R-squared: 0.014\n",
"Model: OLS Adj. R-squared: 0.014\n",
"Method: Least Squares F-statistic: 312.9\n",
"Date: Mon, 15 Jun 2020 Prob (F-statistic): 1.46e-69\n",
"Time: 13:48:13 Log-Likelihood: -1.6437e+05\n",
"No. Observations: 22762 AIC: 3.287e+05\n",
"Df Residuals: 22760 BIC: 3.288e+05\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept -30.9271 4.380 -7.062 0.000 -39.511 -22.343\n",
"location 0.6372 0.036 17.690 0.000 0.567 0.708\n",
"==============================================================================\n",
"Omnibus: 44721.657 Durbin-Watson: 0.077\n",
"Prob(Omnibus): 0.000 Jarque-Bera (JB): 87127003.641\n",
"Skew: 15.985 Prob(JB): 0.00\n",
"Kurtosis: 304.403 Cond. No. 243.\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"\"\"\""
]
},
"execution_count": 107,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"est = smf.ols(formula='new_deaths ~ location', data=categorical).fit()\n",
"est.summary()\n",
"# Take a look at R"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The low value of $R^2$ corresponding to this variable shows no correlation at all. So the country is not a definitive variable to look at in terms of prediction."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Getting to this point, we will select for the moment the following variables to include into the prediction models: \n",
"\n",
"- \"new_deaths\"\n",
"- \"new_cases\"\n",
"- \"total_deaths\"\n",
"- \"total_cases\"\n",
"\n",
"Maybe later we can include \"population\" or other variables to see if we can improve our models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.4.3 Plotting each of these variables to see visually any correlation\n",
"\n",
"Now we will use scatter plots to try to detect any potential correlations between variables"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [],
"source": [
"features = [\"new_deaths\",\"new_cases\",\"total_deaths\",\"total_cases\"]"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1008x1008 with 16 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from pandas.plotting import scatter_matrix\n",
"\n",
"scatter_matrix(df[features], figsize = (14,14), diagonal = 'kde');\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.4.4. WoE (Weight of Evidence)\n",
"\n",
"This factor shows the weight that each category of a variable has in terms of relation with the target variable to predict, and therefore can be used to reduce the number of categories and make simpler the prediction model with less categories to take into account"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>new_cases</th>\n",
" </tr>\n",
" <tr>\n",
" <th>new_cases</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>-2461</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>-1480</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>-713</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>-525</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>-209</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>126684</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127662</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127796</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>132786</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>133510</th>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2060 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" new_cases\n",
"new_cases \n",
"-2461 1\n",
"-1480 1\n",
"-713 1\n",
"-525 1\n",
"-209 1\n",
"... ...\n",
" 126684 1\n",
" 127662 1\n",
" 127796 1\n",
" 132786 1\n",
" 133510 1\n",
"\n",
"[2060 rows x 1 columns]"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(df[\"new_cases\"].groupby(df[\"new_cases\"]).count())"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"new_cases\"].hist(bins=200)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The distribution for new_deaths is clearly unbalanced because there are so many values close to 0 cases that we may need to categorize as follows:"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"def get_WoE_one(data, var, target):\n",
" crosstab = pd.crosstab(data[target], data[var])\n",
" \n",
" print(\"Obtaining WoE for variable \", var, \":\")\n",
" \n",
" for col in crosstab.columns:\n",
" if crosstab[col][1] == 0:\n",
" print(\" WoE for \", col, \"[\", sum(crosstab[col]), \"] is infinity\")\n",
" else:\n",
" print(\" WoE for \", col, \"[\", sum(crosstab[col]), \"] is\", np.log(float(crosstab[col][0]) / float(crosstab[col][1])))"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [],
"source": [
"df.loc[:, \"new_cases_grp\"] = df[\"new_cases\"].map(lambda x: \"<5\" if x <5 else \"<50\" if x < 50 else \"<100\" if x <100 else \"<250\" if x <250 else \"<500\" if x <500 else \"<5000\" if x <5000 else \">5000\")\n",
"df.loc[:, \"total_cases_grp\"] = df[\"total_cases\"].map(lambda x: \"<5\" if x <5 else \"<50\" if x < 50 else \"<100\" if x <100 else \"<250\" if x <250 else \"<500\" if x <500 else \"<5000\" if x <5000 else \">5000\")\n",
"df.loc[:, \"total_deaths_grp\"] = df[\"total_deaths\"].map(lambda x: \"<5\" if x <5 else \"<50\" if x < 50 else \"<100\" if x <100 else \"<250\" if x <250 else \"<500\" if x <500 else \"<5000\" if x <5000 else \">5000\")"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Obtaining WoE for variable new_cases_grp :\n",
" WoE for <100 [ 1280 ] is 0.6931471805599453\n",
" WoE for <250 [ 1509 ] is 0.4126079956205445\n",
" WoE for <5 [ 12172 ] is 3.5658776284485927\n",
" WoE for <50 [ 4701 ] is 1.3644684116915666\n",
" WoE for <500 [ 990 ] is 0.36772478012531734\n",
" WoE for <5000 [ 1754 ] is 0.9098182173685376\n",
" WoE for >5000 [ 356 ] is infinity\n"
]
}
],
"source": [
"get_WoE_one(df, 'new_cases_grp','new_deaths')"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Obtaining WoE for variable total_cases_grp :\n",
" WoE for <100 [ 1445 ] is 2.4810766948957013\n",
" WoE for <250 [ 1914 ] is 2.1613435619435557\n",
" WoE for <5 [ 4711 ] is 5.889729928565458\n",
" WoE for <50 [ 4450 ] is 3.553720721830038\n",
" WoE for <500 [ 1562 ] is 1.7038900913277886\n",
" WoE for <5000 [ 4738 ] is 1.0360514565081735\n",
" WoE for >5000 [ 3942 ] is 0.8353840932613548\n"
]
}
],
"source": [
"get_WoE_one(df, 'total_cases_grp','new_deaths')"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Obtaining WoE for variable total_deaths_grp :\n",
" WoE for <100 [ 1114 ] is 0.5635543515143511\n",
" WoE for <250 [ 1261 ] is 0.6654226325450905\n",
" WoE for <5 [ 12380 ] is 3.3786403471830004\n",
" WoE for <50 [ 5079 ] is 1.3120954592093432\n",
" WoE for <500 [ 727 ] is 0.29334780998745824\n",
" WoE for <5000 [ 1450 ] is 1.5668782980153044\n",
" WoE for >5000 [ 751 ] is 0.3364722366212129\n"
]
}
],
"source": [
"get_WoE_one(df, 'total_deaths_grp','new_deaths')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By looking at the previous values, we can conclude all levels of these columns can have sufficient weight to have positive impact when including it into the future model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.4.5 Conclusions"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# correlation matrix with most relevant variables to include in the model\n",
"cm = df[[\"new_deaths\",\"new_cases\",\"total_deaths\",\"total_cases\"]].corr()\n",
"sns.set(font_scale=1)\n",
"f, ax = plt.subplots(figsize=(9,5))\n",
"hm = sns.heatmap(cm, cbar=True, annot= True, square= True, fmt ='.2g')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Clearly all variables show strong correlation against the new_deaths target variable"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Feature Engineering and Data Cleaning: <a id='part2'></a>\n",
"\n",
"With this transformed variable, we are going to obtain the dummy variables, delete colineal variables and separate the datasets into training and validation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.1. Dummy variables <a id='part2_1'></a>\n",
"\n",
"Creating dummy variables means that every category group will be transformed into a unique number or index so that the future model and feature selection can work with."
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [],
"source": [
"data_model = pd.concat(((pd.get_dummies(df['new_cases_grp'], prefix= 'new_cases_grp')),\n",
" (pd.get_dummies(df['total_cases_grp'], prefix= 'total_cases_grp')),\n",
" (pd.get_dummies(df['total_deaths_grp'], prefix= 'total_deaths_grp'))), axis = 1)"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>new_cases_grp_&lt;100</th>\n",
" <th>new_cases_grp_&lt;250</th>\n",
" <th>new_cases_grp_&lt;5</th>\n",
" <th>new_cases_grp_&lt;50</th>\n",
" <th>new_cases_grp_&lt;500</th>\n",
" <th>new_cases_grp_&lt;5000</th>\n",
" <th>new_cases_grp_&gt;5000</th>\n",
" <th>total_cases_grp_&lt;100</th>\n",
" <th>total_cases_grp_&lt;250</th>\n",
" <th>total_cases_grp_&lt;5</th>\n",
" <th>total_cases_grp_&lt;50</th>\n",
" <th>total_cases_grp_&lt;500</th>\n",
" <th>total_cases_grp_&lt;5000</th>\n",
" <th>total_cases_grp_&gt;5000</th>\n",
" <th>total_deaths_grp_&lt;100</th>\n",
" <th>total_deaths_grp_&lt;250</th>\n",
" <th>total_deaths_grp_&lt;5</th>\n",
" <th>total_deaths_grp_&lt;50</th>\n",
" <th>total_deaths_grp_&lt;500</th>\n",
" <th>total_deaths_grp_&lt;5000</th>\n",
" <th>total_deaths_grp_&gt;5000</th>\n",
" </tr>\n",
" <tr>\n",
" <th>date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2019-12-31</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-01</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-02</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-03</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-04</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" new_cases_grp_<100 new_cases_grp_<250 new_cases_grp_<5 \\\n",
"date \n",
"2019-12-31 0 0 1 \n",
"2020-01-01 0 0 1 \n",
"2020-01-02 0 0 1 \n",
"2020-01-03 0 0 1 \n",
"2020-01-04 0 0 1 \n",
"\n",
" new_cases_grp_<50 new_cases_grp_<500 new_cases_grp_<5000 \\\n",
"date \n",
"2019-12-31 0 0 0 \n",
"2020-01-01 0 0 0 \n",
"2020-01-02 0 0 0 \n",
"2020-01-03 0 0 0 \n",
"2020-01-04 0 0 0 \n",
"\n",
" new_cases_grp_>5000 total_cases_grp_<100 total_cases_grp_<250 \\\n",
"date \n",
"2019-12-31 0 0 0 \n",
"2020-01-01 0 0 0 \n",
"2020-01-02 0 0 0 \n",
"2020-01-03 0 0 0 \n",
"2020-01-04 0 0 0 \n",
"\n",
" total_cases_grp_<5 total_cases_grp_<50 total_cases_grp_<500 \\\n",
"date \n",
"2019-12-31 1 0 0 \n",
"2020-01-01 1 0 0 \n",
"2020-01-02 1 0 0 \n",
"2020-01-03 1 0 0 \n",
"2020-01-04 1 0 0 \n",
"\n",
" total_cases_grp_<5000 total_cases_grp_>5000 \\\n",
"date \n",
"2019-12-31 0 0 \n",
"2020-01-01 0 0 \n",
"2020-01-02 0 0 \n",
"2020-01-03 0 0 \n",
"2020-01-04 0 0 \n",
"\n",
" total_deaths_grp_<100 total_deaths_grp_<250 total_deaths_grp_<5 \\\n",
"date \n",
"2019-12-31 0 0 1 \n",
"2020-01-01 0 0 1 \n",
"2020-01-02 0 0 1 \n",
"2020-01-03 0 0 1 \n",
"2020-01-04 0 0 1 \n",
"\n",
" total_deaths_grp_<50 total_deaths_grp_<500 \\\n",
"date \n",
"2019-12-31 0 0 \n",
"2020-01-01 0 0 \n",
"2020-01-02 0 0 \n",
"2020-01-03 0 0 \n",
"2020-01-04 0 0 \n",
"\n",
" total_deaths_grp_<5000 total_deaths_grp_>5000 \n",
"date \n",
"2019-12-31 0 0 \n",
"2020-01-01 0 0 \n",
"2020-01-02 0 0 \n",
"2020-01-03 0 0 \n",
"2020-01-04 0 0 "
]
},
"execution_count": 119,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_model.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we will try to apply deletion of colineal variables through Linear Regression methods. For that we will define a function called VIF (Variance Inflation Factor) which quantifies the multicolineality between variables or how much the variance increases because of colineality. \n",
"\n",
"$VIF = \\dfrac{1}{1 - Ri^2}$"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"\n",
"def calculateVIF(data):\n",
" features = list(data.columns)\n",
" num_features = len(features)\n",
" \n",
" model = LinearRegression()\n",
" \n",
" result = pd.DataFrame(index = ['VIF'], columns = features)\n",
" result = result.fillna(0)\n",
" \n",
" for ite in range(num_features):\n",
" x_features = features[:]\n",
" y_featue = features[ite]\n",
" x_features.remove(y_featue)\n",
" \n",
" x = data[x_features]\n",
" y = data[y_featue]\n",
" \n",
" model.fit(data[x_features], data[y_featue])\n",
" try:\n",
" result[y_featue] = 1/(1 - model.score(data[x_features], data[y_featue]))\n",
" except ZeroDivisionError:\n",
" result[y_featue] = 5 \n",
" return result\n",
"\n",
"def selectDataUsingVIF(data, max_VIF = 5):\n",
" result = data.copy(deep = True)\n",
" \n",
" VIF = calculateVIF(result)\n",
" \n",
" while VIF.to_numpy().max() > max_VIF:\n",
" col_max = np.where(VIF == VIF.to_numpy().max())[1][0]\n",
" features = list(result.columns)\n",
" features.remove(features[col_max])\n",
" result = result[features]\n",
" \n",
" VIF = calculateVIF(result)\n",
" \n",
" return result"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>new_cases_grp_&lt;250</th>\n",
" <th>new_cases_grp_&lt;50</th>\n",
" <th>new_cases_grp_&lt;500</th>\n",
" <th>new_cases_grp_&lt;5000</th>\n",
" <th>new_cases_grp_&gt;5000</th>\n",
" <th>total_cases_grp_&lt;250</th>\n",
" <th>total_cases_grp_&lt;5</th>\n",
" <th>total_cases_grp_&lt;50</th>\n",
" <th>total_cases_grp_&lt;500</th>\n",
" <th>total_cases_grp_&lt;5000</th>\n",
" <th>total_deaths_grp_&lt;250</th>\n",
" <th>total_deaths_grp_&lt;50</th>\n",
" <th>total_deaths_grp_&lt;500</th>\n",
" <th>total_deaths_grp_&lt;5000</th>\n",
" <th>total_deaths_grp_&gt;5000</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>VIF</th>\n",
" <td>1.361721</td>\n",
" <td>1.384048</td>\n",
" <td>1.339346</td>\n",
" <td>2.03413</td>\n",
" <td>1.573668</td>\n",
" <td>1.770469</td>\n",
" <td>3.06613</td>\n",
" <td>2.848104</td>\n",
" <td>1.686894</td>\n",
" <td>2.524725</td>\n",
" <td>1.40448</td>\n",
" <td>1.81879</td>\n",
" <td>1.392213</td>\n",
" <td>1.995398</td>\n",
" <td>1.978372</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" new_cases_grp_<250 new_cases_grp_<50 new_cases_grp_<500 \\\n",
"VIF 1.361721 1.384048 1.339346 \n",
"\n",
" new_cases_grp_<5000 new_cases_grp_>5000 total_cases_grp_<250 \\\n",
"VIF 2.03413 1.573668 1.770469 \n",
"\n",
" total_cases_grp_<5 total_cases_grp_<50 total_cases_grp_<500 \\\n",
"VIF 3.06613 2.848104 1.686894 \n",
"\n",
" total_cases_grp_<5000 total_deaths_grp_<250 total_deaths_grp_<50 \\\n",
"VIF 2.524725 1.40448 1.81879 \n",
"\n",
" total_deaths_grp_<500 total_deaths_grp_<5000 total_deaths_grp_>5000 \n",
"VIF 1.392213 1.995398 1.978372 "
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# We will proceed to delete those variables where VIF is infinity through SelectDataUsingVIF, to obtain VIF for each of them.\n",
"# In the function there is a try except for divisions by zero to avoid them and assign them a 5 in case their denominator is infinite.\n",
"\n",
"model_vars = selectDataUsingVIF(data_model)\n",
"calculateVIF(model_vars)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"All these variables show good VIF score, and therefore will be considered for further analysis and predictions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.2. Variable selection with low variances <a id='part2_2'></a>\n",
"\n",
"This allows us to delete the variables whose variance is not big enough"
]
},
{
"cell_type": "code",
"execution_count": 122,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Original variables 3\n",
"Final variables 3\n",
"Variable List ['new_cases' 'total_deaths' 'total_cases']\n"
]
}
],
"source": [
"from sklearn.feature_selection import VarianceThreshold\n",
"features.remove(\"new_deaths\")\n",
"x = df[features]\n",
"y = df[\"new_deaths\"]\n",
"var_th = VarianceThreshold(threshold = 0.2)\n",
"x_var = var_th.fit_transform(x)\n",
"\n",
"print(\"Original variables \", x.shape[1])\n",
"print(\"Final variables \", x_var.shape[1])\n",
"\n",
"print(\"Variable List \", np.asarray(list(x))[var_th.get_support()])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.3. Univariant Variable Selection <a id='part2_3'></a>\n",
"\n",
"In this step, variables are analyzed if they can explain by themselfes part of the variance of the objective variable."
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(22762, 3)\n",
"Variable list ['new_cases' 'total_deaths' 'total_cases']\n"
]
}
],
"source": [
"from sklearn.feature_selection import SelectKBest\n",
"from sklearn.feature_selection import f_regression \n",
"from sklearn.feature_selection import chi2 \n",
"\n",
"# For Lineal regression classification use f_regression\n",
"\n",
"S_f3 = SelectKBest(f_regression, k = 3)\n",
"X_f3 = S_f3.fit_transform(x, y)\n",
"\n",
"print(X_f3.shape)\n",
"print(\"Variable list \", np.asarray(list(x))[S_f3.get_support()])\n",
"\n",
"# For classification models use chi2\n",
"#S_chi3 = SelectKBest(chi2, k = 3)\n",
"#X_chi3 = S_chi3.fit_transform(x, y)\n",
"\n",
"#print(X_chi3.shape)\n",
"#print(\"Variable list \", np.asarray(list(x))[S_chi3.get_support()])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.4. Variable selection depending on their percentile punctuation <a id='part2_4'></a>"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(22762, 1)\n",
"Listado de variables ['new_cases']\n",
"(22762, 2)\n",
"Listado de variables ['new_cases' 'total_deaths']\n"
]
}
],
"source": [
"from sklearn.feature_selection import SelectPercentile\n",
"from sklearn.feature_selection import f_regression \n",
"\n",
"S_per5 = SelectPercentile(f_regression, percentile = 50)\n",
"X_per5 = S_per5.fit_transform(x, y)\n",
"\n",
"print(X_per5.shape)\n",
"print(\"Listado de variables \", np.asarray(list(x))[S_per5.get_support()])\n",
"\n",
"S_per7 = SelectPercentile(f_regression, percentile = 70)\n",
"X_per7 = S_per7.fit_transform(x, y)\n",
"\n",
"print(X_per7.shape)\n",
"print(\"Listado de variables \", np.asarray(list(x))[S_per7.get_support()])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Predictive Modelling (Scikit-Learn):<a id='part3'></a>\n",
"\n",
"Now that we have analyzed the data some more with the EDA methods, we will need to predict and see if the variables considered to predict the model for the new_deaths values make sense or not, and how big the error is for these predictions. As we want to predict a numeric value we will use some of the algorithms related to regression as:\n",
"\n",
"- Linear Regression\n",
"- Ridge\n",
"- Lasso\n",
"\n",
"\n",
"(All these algorithms are used for classication ML Models, so here will not be used\n",
"- Logistic Regression\n",
"- Support Vector Machines (Linear and radial)\n",
"- Random Forest\n",
"- K-Nearest Neighbours\n",
"- Naive Bayes\n",
"- Decision Tree\n",
"- Logistic Regression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.1. Linear Regression<a id='part3_1'></a>"
]
},
{
"cell_type": "code",
"execution_count": 125,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 in training data is: 0.9194404012881845\n",
"R2 in validation is: 0.8745137899078896\n"
]
}
],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"# We will obtain the dataset for training and validation\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y)\n",
"\n",
"# Creación de un modelo\n",
"model = LinearRegression()\n",
"model.fit(x_train, y_train)\n",
"\n",
"predit_train = model.predict(x_train)\n",
"predit_test = model.predict(x_test)\n",
"\n",
"# R2 evaluation\n",
"print('R2 in training data is: ', model.score(x_train, y_train))\n",
"print('R2 in validation is: ', model.score(x_test, y_test))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we get strong values of correlation for R2!!! close to 0.9"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we will try to apply factors to the different coefficients of the regression lineal model obtained from the Ridge and Lasso models\n",
"\n",
"### 3.2. Ridge regression (regularization)<a id='part3_2'></a>\n",
"\n",
"#### Regularized Linear Models\n",
"\n",
"a good way to reduce overfitting is to regularize the model (i.e., to constrain it): the fewer degrees of freedom it has, the harder it will be for it to overfit the data. For example, a simple way to regularize a polynomial model is to reduce the number of polynomial degrees.\n",
"\n",
"For a linear model, regularization is typically achieved by constraining the weights of the model. We will now look at Ridge Regression, Lasso Regression, and Elastic Net, which implement three different ways to constrain the weights.\n",
"\n",
"\n",
"###### Ridge Regression\n",
"Ridge Regression (also called Tikhonov regularization) is a regularized version of Linear Regression: a regularization term equal to alpha sigma-summation Underscript i equals 1 Overscript n Endscripts theta Subscript i Baseline Superscript 2 is added to the cost function. This forces the learning algorithm to not only fit the data but also keep the model weights as small as possible. Note that the regularization term should only be added to the cost function during training. Once the model is trained, you want to evaluate the model’s performance using the unregularized performance measure.\n",
"\n",
"NOTE\n",
"It is quite common for the cost function used during training to be different from the performance measure used for testing. Apart from regularization, another reason why they might be different is that a good training cost function should have optimization-friendly derivatives, while the performance measure used for testing should be as close as possible to the final objective. A good example of this is a classifier trained using a cost function such as the log loss but evaluated using precision/recall.\n",
"\n",
"The hyperparameter α controls how much you want to regularize the model. If α = 0 then Ridge Regression is just Linear Regression. If α is very large, then all weights end up very close to zero and the result is a flat line going through the data’s mean. Equation 4-8 presents the Ridge Regression cost function.11\n",
"\n",
"Equation 4-8. Ridge Regression cost function\n",
"<img src=\"./ridge_eq.png\"></img>\n",
"\n",
"Note that the bias term θ0 is not regularized (the sum starts at i = 1, not 0). If we define w as the vector of feature weights (θ1 to θn), then the regularization term is simply equal to ½(∥ w ∥2)2, where ∥ w ∥2 represents the ℓ2 norm of the weight vector.12 For Gradient Descent, just add αw to the MSE gradient vector (Equation 4-6).\n",
"\n",
"WARNING\n",
"\n",
"It is important to scale the data (e.g., using a StandardScaler) before performing Ridge Regression, as it is sensitive to the scale of the input features. This is true of most regularized models.\n",
"\n",
"Figure 4-17 shows several Ridge models trained on some linear data using different α value. On the left, plain Ridge models are used, leading to linear predictions. On the right, the data is first expanded using PolynomialFeatures(degree=10), then it is scaled using a StandardScaler, and finally the Ridge models are applied to the resulting features: this is Polynomial Regression with Ridge regularization. Note how increasing α leads to flatter (i.e., less extreme, more reasonable) predictions; this reduces the model’s variance but increases its bias.\n",
"\n",
"\n",
"<img src=\"./ridge_pic.png\"></img>\n",
"\n",
"As with Linear Regression, we can perform Ridge Regression either by computing a closed-form equation or by performing Gradient Descent. The pros and cons are the same. Equation 4-9 shows the closed-form solution (where A is the (n + 1) × (n + 1) identity matrix13 except with a 0 in the top-left cell, corresponding to the bias term).\n",
"\n",
"\n",
"<img src=\"./ridge_closed_eq.png\"></img>"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 in training is: 0.9194404012881845\n",
"R2 in validation is: 0.8745137899078871\n",
"b_0 is: -0.6070945465987521 and b_1 is: 0.08142462773339545\n",
"[ 0.08142463 0.0234741 -0.00208438]\n",
"R2 scores mean is: 0.106540017150107\n",
"R2 scores are: [ 0.59743214 0.27258325 0.76480953 -1.96319703 0.86107221]\n"
]
}
],
"source": [
"from sklearn.linear_model import Ridge\n",
"from sklearn.model_selection import cross_val_score\n",
"model_ridge = Ridge(alpha = 0.01)\n",
"model_ridge.fit(x_train, y_train)\n",
"\n",
"predit_train = model_ridge.predict(x_train)\n",
"predit_test = model_ridge.predict(x_test)\n",
"\n",
"# Evaluación de R2\n",
"print('R2 in training is: ', model_ridge.score(x_train, y_train))\n",
"print('R2 in validation is: ', model_ridge.score(x_test, y_test))\n",
"print(\"b_0 is:\", model_ridge.intercept_, \"and b_1 is:\", model_ridge.coef_[0])\n",
"print(model_ridge.coef_)\n",
"\n",
"scores = cross_val_score(model_ridge, x, y, cv = 5)\n",
"\n",
"print('R2 scores mean is: ', scores.mean())\n",
"print('R2 scores are: ', scores)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.3. Lasso regression (regularization)<a id='part3_3'></a>\n",
"\n",
"Least Absolute Shrinkage and Selection Operator Regression (simply called Lasso Regression) is another regularized version of Linear Regression: just like Ridge Regression, it adds a regularization term to the cost function, but it uses the ℓ1 norm of the weight vector instead of half the square of the ℓ2 norm (see Equation 4-10).\n",
"\n",
"\n",
"<img src=\"./lasso_eq.png\"></img>\n",
"\n",
"<img src=\"./lasso_pics.png\"></img>\n",
"\n",
"An important characteristic of Lasso Regression is that it tends to completely eliminate the weights of the least important features (i.e., set them to zero). For example, the dashed line in the right plot on Figure 4-18 (with α = 10-7) looks quadratic, almost linear: all the weights for the high-degree polynomial features are equal to zero. In other words, Lasso Regression automatically performs feature selection and outputs a sparse model (i.e., with few nonzero feature weights)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.4. Elastic Net (regularization)<a id='part3_4'></a>\n",
"\n",
"Elastic Net is a middle ground between Ridge Regression and Lasso Regression. The regularization term is a simple mix of both Ridge and Lasso’s regularization terms, and you can control the mix ratio r. When r = 0, Elastic Net is equivalent to Ridge Regression, and when r = 1, it is equivalent to Lasso Regression (see Equation 4-12).\n",
"\n",
"\n",
"<img src=\"./elastic_net_eq.png\"></img>\n",
"\n",
"So when should you use plain Linear Regression (i.e., without any regularization), Ridge, Lasso, or Elastic Net? It is almost always preferable to have at least a little bit of regularization, so generally you should avoid plain Linear Regression. Ridge is a good default, but if you suspect that only a few features are actually useful, you should prefer Lasso or Elastic Net since they tend to reduce the useless features’ weights down to zero as we have discussed. In general, Elastic Net is preferred over Lasso since Lasso may behave erratically when the number of features is greater than the number of training instances or when several features are strongly correlated.\n"
]
},
{
"cell_type": "code",
"execution_count": 127,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 in training is: 0.9194404012881412\n",
"R2 in validation is: 0.8745137784758792\n",
"b_0 is: -0.6070917910116265 and b_1 is: 0.08142460579829844\n",
"[ 0.08142461 0.02347407 -0.00208437]\n",
"R2 scores mean is: 0.10654021668708305\n",
"R2 scores are: [ 0.59743234 0.27258365 0.76480959 -1.96319595 0.86107145]\n"
]
}
],
"source": [
"from sklearn.linear_model import Lasso\n",
"\n",
"model_lasso = Lasso(alpha = 0.1)\n",
"model_lasso.fit(x_train, y_train)\n",
"\n",
"predit_train = model_lasso.predict(x_train)\n",
"predit_test = model_lasso.predict(x_test)\n",
"\n",
"# Evaluación de R2\n",
"print('R2 in training is: ', model_lasso.score(x_train, y_train))\n",
"print('R2 in validation is: ', model_lasso.score(x_test, y_test))\n",
"print(\"b_0 is:\", model_lasso.intercept_, \"and b_1 is:\", model_lasso.coef_[0])\n",
"print(model_lasso.coef_)\n",
"\n",
"scores = cross_val_score(model_lasso, x, y, cv = 5)\n",
"print('R2 scores mean is: ', scores.mean())\n",
"print('R2 scores are: ', scores)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For these values of alpha we get very good values of R2 close to 0.9"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.5. Model evaluation through a polynomial grade function <a id='part3_5'></a>\n",
"\n",
"We will create a function that can make the fitting of a polynomial function and through cross validation allows to obtain the best settings and variations"
]
},
{
"cell_type": "code",
"execution_count": 128,
"metadata": {},
"outputs": [],
"source": [
"\n",
"#X = np.arange(1,n_samples, 1)\n",
"#y = list(y)\n",
"y_result = df.groupby([\"date\"])[\"new_deaths\"].sum().values\n",
"n_samples = len(y_result)\n",
"X = np.arange(1,n_samples+1, 1)\n",
"#y = df[\"new_deaths\"].values"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.pipeline import Pipeline\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.model_selection import cross_val_score\n",
"\n",
"\n",
"def evaluateFit(degrees, X, y):\n",
" polynomial_features = PolynomialFeatures(degree = degrees, include_bias = False)\n",
" \n",
" linear_regression = LinearRegression()\n",
" pipeline = Pipeline([(\"polynomial_features\", polynomial_features), (\"linear_regression\", linear_regression)])\n",
" pipeline.fit(X[:, np.newaxis], y)\n",
" \n",
" scores = cross_val_score(pipeline, X[:, np.newaxis], y, scoring = \"neg_mean_squared_error\", cv = 10)\n",
" \n",
" X_test = np.arange(1,n_samples +1, 1)\n",
" plt.plot(X_test, pipeline.predict(X_test[:, np.newaxis]), label=\"Model\")\n",
" plt.plot(X_test, y, label = \"True function\")\n",
" plt.scatter(X, y, label = \"Samples\")\n",
" plt.xlabel(\"x\")\n",
" plt.ylabel(\"y\")\n",
" plt.legend(loc=\"best\")\n",
" plt.title(\"Degree {}\\nMSE = {:.2e}(+/- {:.2e})\".format(degrees, -scores.mean(), scores.std()))"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {},
"outputs": [],
"source": [
"df.reset_index(inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAbwAAAEiCAYAAACC3GfsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd3hUVfrHP3dqJsmkkhB6LxoURBSiCIorvSjKqqDoKiuuLroWlAU06gqCYll3xcLiiqg/RWQBXUAXEERAQZAWqgiBACmE1Mn0e35/3MxNJh1JQgLn8zw+ZM7ccs6Nz/3mfc9bFCGEQCKRSCSSCxzD+Z6ARCKRSCT1gRQ8iUQikVwUSMGTSCQSyUWBFDyJRCKRXBRIwZNIJBLJRYEUPIlEIpFcFJjO9wQkkouZtLQ0brrpJjp37gyAqqqEhYUxfvx4hg4dep5nVzEej4eJEydy++23M3jw4PM9HYmkxkjBk0jOMyEhISxbtkz/fOLECe69916MRiODBg06jzMrz88//8wLL7zAr7/+yu23336+pyORnBVS8CSSBkaLFi145JFHmD9/PoMGDcLj8TBnzhy2bt2K3+/n0ksvZfr06YSHh7Nr1y6ee+45vF4vrVu35uTJk0yZMgWAGTNmEBoaisPh4IsvvuD777/n7bffxuv1EhISwtNPP80VV1wBwNtvv80333yDqqq0aNGC5ORkmjZtWm5uCxcu5IknnuDdd9+t12cikdQGcg9PImmAdO3alYMHDwLw3nvvYTQaWbJkCcuXLyc+Pp45c+bg8/mYNGkSjz76KF9++SV33303+/bt069x6NAhXn31Vb788ktOnjzJ66+/znvvvcfSpUv529/+xqRJkygqKmLp0qUcPHiQzz//nGXLltG/f3+mT59e4bxee+01+vbtWy/PQCKpbaSFJ5E0QBRFISQkBIB169ZRUFDApk2bAPB6vcTGxuqC2L9/fwD69OlDp06d9Gs0a9aMFi1aALBx40YyMzO59957g+5x7Ngxvv32W3bv3s2tt94KaPuITqezztcokdQ3UvAkkgbI7t27gwJZpk6dqgubw+HA7XaTlZVF2VK4RqNR/zk0NFT/WVVVkpKSeOONN/SxU6dOER8fj6qqTJgwgbFjxwJaUEpeXl6drU0iOV9Il6ZE0sA4cuQIc+fO5b777gOgb9++fPzxx3g8HlRV5ZlnnuG1116jQ4cOWCwWvvvuOwB27drFwYMHURSl3DWTkpLYuHEjhw8fBmD9+vWMHDkSl8tF3759Wbx4MYWFhQD8/e9/56mnnqqn1Uok9Ye08CSS84zL5WLUqFEAGAwGrFYrjz/+ONdffz0ADz30ELNnz+aWW27B7/dzySWXMGXKFEwmE//4xz9ITk7mtddeo23btjRp0oSQkJByLsmOHTvywgsv8PjjjyOEwGQy8fbbbxMWFsaYMWPIyMjg97//PYqi0KxZM2bNmlXfj0EiqXMU2R5IImm8zJ49m/vvv58mTZpw6tQpRo0axerVq4mIiDjfU5NIGhzSwpNIGjEtWrTg3nvvxWQyIYTgxRdflGInkVSCtPAkEolEclEgg1YkEolEclEgXZqSBklaWho33ngjV111FR999FHQd1OmTOE///kPmzdvJiYmhh07dvDqq6+Sm5uLEIKEhASefvppPSetS5cudO7cGYMh+O+7t956i5YtW57TPPPz8xk3bhwzZ87ksssuq/CY0aNH43K5MJvNAIwYMYIJEybgdDqZPn06e/fuRVVVJk+ezO9+97tzms/ixYt5//338fl8JCUlMX36dMxmM3fccUdQIMuRI0f4/e9/ryeYf/LJJxiNxhqVC5s9eza9e/fWg2qqorq6m++99x7//e9/9c9nzpzB4XCwffv2oGuMGzeOwYMHc//991d7z6pYt24dr776Kh6Phy5dujBz5kzCw8N55JFHSE1N1Y9LS0vjqquu4p133uHJJ5/kT3/6Ex06dDine0saAEIiaYAcP35cXHbZZeKaa64RaWlp+rjD4RA33XST6Ny5s8jOzhZut1tcffXVYs+ePfoxS5cuFf379xc+n08IIfRja5t169aJgQMHisTERLFr164Kj3E4HOLKK68UHo+n3HezZ88W06dPF0IIceLECdG3b19x6tSp3zyfAwcOiH79+ons7Gzh9/vFY489Jt57771yx61evVoMGTJE5OfnCyGESEtLE7fddptQVbVG9xk1apRwuVzVHrd9+3Zx8803i8svv1ysXLmy2uPz8vLEwIEDxbp164LGk5OTRe/evcW//vWvGs2vMrKzs0WfPn3EkSNHhBBCvPzyyyI5ObnccTt37hTXX3+9OHnypBBCiGPHjokxY8bU+PlIGi7SpSlpsBiNRoYMGcKXX36pj33zzTfceOON+men00lBQQFFRUX62MiRI3nmmWfw+/1nfc877riDUaNGBf33/PPPV3jshx9+yCuvvEJ8fHyl19u1axehoaFMmDCBESNGMHPmTFwuFwCrV69mzJgxADRv3pxrr72WlStXArB9+3bGjh3LLbfcwq233sq3334bdN20tDQGDBgQNLZmzRoGDBhATEwMBoOB22+/neXLlwcdk5ubS3JyMrNnz8ZutwPw7rvvMmrUqHL5ewMGDCAtLS1o7NChQ7Ru3Rqr1VrpmgME6m5efvnl1R4LmuV43XXX6Qn2AEuXLqWgoKCcNXn48GHuu+8+Ro8ezahRo1i8eHG563Xp0iXo8/fff89ll11G27ZtAbjzzjv58ssvg5L3PR4PU6ZMYerUqTRr1gyAVq1aYbfbWbNmTY3WIWm4SJempEFz8803M3nyZB588EFAewFOnTqV999/H4DIyEgmT57MhAkTaNKkCT179qR3794MGzYMi8WiX+eee+4Jcmm2bNmSt956q9z9Pv300xrPbf78+dUe43A46N27N9OmTcNms/Hkk0/y6quvMm3aNE6dOqW/VAGaNm1Keno6eXl5/PWvf2X+/Pm0bNlSz5Hr0qULzZs3r/Rep06dCnLRJiQkkJGREXTMvHnz6N+/v+5+FULwzTff8MADD9RozatXry4ntJXx2muvAdSo0PQvv/zC6tWrWb16tT524MABPvzwQz766CNeeOEFfdzn8/HII4/w8ssvk5iYSEFBAbfffjsdO3akR48eld4jPT2dhIQE/XNCQgKFhYU4HA7Cw8MBzSUcHx/PTTfdFHRu3759+d///nfOLmfJ+UUKnqRB061bN4xGI3v27CE2NhaHw6GX3Arwhz/8gTFjxrB161a2bt3KvHnzmDdvHosXL9atmAULFhATE1Pt/crudQH07NmT5OTk3zT/G2+8McginThxIpMmTWLatGkIIcpZVQaDgR07dpCVlcXDDz+sjyuKwoEDB9i8eTMffvghXq+XzMxMPWH95ZdfLldmTAgRJPJut5tFixaxZMkSfSwnJ4eCggJdKA8cOKBXWcnMzOSBBx7AbDYzfvx4br31VtavX88777zzm55FVSxYsIC77rpL/30VFBTw9NNPM2fOnKASaQBHjx7l2LFjTJ06VR9zuVzs3buXgoIC5syZo48Hns+TTz6JqqoVVqEp/YwWLFgQJK4BWrZsqVvfksaLFDxJg2fkyJEsX76cmJgY/QUWYNu2bfz8889MmDCBG264gRtuuIHHH3+c4cOHs3HjxrNuUHo2Fl5NWLt2LXa7nauuugpAr3ICWnHnzMxMmjRpAmgC07VrV/x+Px06dODzzz/Xr5ORkUFMTAxms5lbb72VtLQ0xo8fH9RHL3C9AJmZmUEWzXfffUfXrl1p1aqVPqYoCkIIVFXFYDDQpUsX/ZoDBgzgvffe08UwIyODkJAQoqKiyMjICLIK33vvvQrbCdUEv9/PN998wxdffKGPbdiwgfz8fJ544glAs143btxIYWEhgwcPxm63B6399OnT2O12rFYr1113HUDQWkALiNm5c2fQM42MjNQFde/evfh8Pq6++upyczSZTOWCniSND/kblDR4Ro0axapVq1ixYgXDhw8P+i4mJoa3336bn376SR/LysqisLCwnCV4PkhPT2f27Nm4XC78fj8ffPCB3sn8xhtv5LPPPtOP27BhAzfccAM9evQgNTWVrVu3ArBv3z4GDRpUzj1ZlgEDBrB27Vqys7MRQvDZZ58FueC2bNlCUlJS0DnR0dFERERw4sSJatcS2CMEzf26bNky/b/fKnYABw8eJCIiIsgdO3ToUNauXatff8CAAdx77708+uijtGvXLqhp7qlTpxg+fDh79uyp8j59+/Zl586dHD16FND+uCltfW/ZsoU+ffpUaAWmpaXRvn3737xGScNAWniSBk/Tpk3p0KEDdrudqKiooO/atWvHW2+9xeuvv056ejpWqxW73c7MmTODXlBl9/AAHn/88aAAidri//7v/9izZw8zZszgjjvu4Pjx43odzN69e+uuykmTJvHcc88xbNgw/H4/kydPpnXr1gC8+eabvPzyy7jdboQQvPzyy0GC0LJlS9auXRt0365du/Lwww9zzz334PV66d69O3/84x/171NTU+nWrVu5+Q4cOJANGzbo3RIClL3+mjVrKg3gORvWrFnDp59+yrx58wDNRRloY1QTLBYLc+fOZcaMGfzrX//C5/Px6KOPcuWVVwYdd+DAgaDPsbGxvPTSSzzyyCN6w9zZs2fr36emplY6jw0bNnDXXXfVeI6ShomstCKRXOQcP36cRx99lC+++KJC6+Zi59ixYzz55JN89tln8vk0cqRLUyK5yGnVqhU333xzre9fXii8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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.close()\n",
"evaluateFit(1, X, y_result)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using a simple Linear Regression shows how the fitted line adapts to the trend of the data as previous pic shows."
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.close()\n",
"evaluateFit(5, X, y_result)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using a 5-degree Linear Regression shows how the fitted line adapts much better to the trend of the data than the simple Linear Regression as previous pic shows."
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.close()\n",
"evaluateFit(15, X, y_result)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using a 15-degree Linear Regression shows how the fitted line adapts even much better to the trend of the data than the 5-degree Linear Regression as previous pic shows."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.6. Validation curves for new_deaths <a id='part3_6'></a>\n",
"\n",
"As data may show imperfections and unbalances we should proceed with computing the validation curve for a class of models. Here we will use again the polynomial regression model (by changing the hyperparameter of degree).\n",
"\n",
"The question here is to answer which degree gives a suitable relation between bias (under-fitting) and variance (over-fitting).\n",
"Let´s use validation_curve from sklearn. \n",
"\n",
"The more erroneous the assumptions with respect to the true relationship, the higher the bias, and vice-versa.A low-biased method fits training data very well.\n",
"\n",
"<img src=\"./low_bias_high_variance.png\">\n",
"\n",
"You can see that a low-biased method captures most of the differences (even the minor ones) between the different training sets. varies a lot as we change training sets, and this indicates high variance.\n",
"\n",
"\n",
"The reverse also holds: the greater the bias, the lower the variance. A high-bias method builds simplistic models that generally don’t fit well training data. As we change training sets, the models we get from a high-bias algorithm are, generally, not very different from one another.\n",
"\n",
"\n",
"<img src=\"./high_bias_low_variance.png\">\n",
"\n",
"In practice, however, we need to accept a trade-off. We can’t have both low bias and low variance, so we want to aim for something in the middle.\n",
"\n",
"\n",
"<img src=\"./acceptable_bias_variance.png\">\n",
"\n",
"Having a model, data, parameter name and a range to look at to, this function will automatically compute both training score and validation scores across the range of hyperparameter values:"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {},
"outputs": [],
"source": [
"x_features = df[['new_cases', 'total_deaths', 'total_cases']]\n",
"y_feature = df[\"new_deaths\"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Sciki-Learn has a polynomial preprocessor to be used along with the LinearRegression method."
]
},
{
"cell_type": "code",
"execution_count": 135,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.pipeline import make_pipeline\n",
"def PolynomialRegression(degree=2, **kwargs):\n",
" return make_pipeline(PolynomialFeatures(degree),\n",
" LinearRegression(**kwargs))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By using learning_curve(), it will give us the correspondent MSE for a regression model. As we specified 7 training set sizes, seven rows with six error scores. This is due because learning_curve() runs a k-fold cross-validation under the hood, where the value of k is given by what we specify for the cv parameter. In our case, cv= 5, so there will be five splits. For each split, an estimator is trained for every training sset size specified. Each column in the two arrays above designates a split, and each row corresponds to a test size."
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {},
"outputs": [],
"source": [
"train_sizes = [1, 10, 40, 60, 80, 100, 120, 140]\n",
"from sklearn.model_selection import learning_curve\n",
"\n",
"train_sizes, train_scores, val_scores = learning_curve(estimator=PolynomialRegression(2), X=x_features, y=y_feature, train_sizes=train_sizes, cv=5, scoring=\"neg_mean_squared_error\")\n",
"#train_sizes, train_scores, val_scores = learning_curve(estimator=LinearRegression(), X=x_features, y=y_feature, train_sizes=train_sizes, cv=5, scoring=\"neg_mean_squared_error\")\n",
"\n",
"train_scores_mean = -train_scores.mean(axis = 1)\n",
"validation_scores_mean = -val_scores.mean(axis = 1)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x34b8eee288>"
]
},
"execution_count": 137,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAF4CAYAAABpSZImAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd2BT5f4G8Cere6SlLaWlewhYBBRUNhSQoYCIDIEigoqAil4nwlVUuF74uRiCgIIyxImKICICgjK8gArCBS5p05YORkuT7mad3x81gdBBR5qT8Xz+ounJOd+8DenT837PeSWCIAggIiIiEoFU7AKIiIjIfTGIEBERkWgYRIiIiEg0DCJEREQkGgYRIiIiEg2DCBEREYmGQcTJvPjii7jpppuQk5MjdimNYq6bWsbp06dx3333oWPHjkhNTYWjXZW/ZcsW3HTTTfjtt98AAL/99htuuukmbNmyReTKqD5paWlITU0Vuwy7SU1NRVpamt2eR9XkYhdA7mHcuHHo3r272GW4rLlz50KtVuMf//gHQkJCIJFIxC6pXgkJCVi8eDFuvfVWsUuhejz22GOoqKgQuwxycQwiZBddunRBly5dxC7DZf3vf/9D//798dBDD4ldSoOEhIRg5MiRYpdBN9CzZ0+xSyA3wKkZIheg1+vh6+srdhlERI3GIOLCVCoVZs2aha5du6JTp04YP348fvnllxrb/fDDD5g0aRJuu+02pKSkIDU1FYsXL4ZOp7Nsk5aWhmnTpuGdd95Bly5d0L17d5w9e9by+P79+y09Cv369cOyZctgMpksz7++R+TFF1/EkCFDcOLECUyaNAmdOnVCjx49sGDBAlRWVlrVl5GRgRkzZqBr16644447sGDBAnz++ecN6pUpLS3Fv/71L/Tr1w+dOnXC8OHD8cUXX1i+v2zZslr3c/3jy5YtQ8eOHbFr1y707NkTXbp0werVq3HTTTdh3bp1NY774osvokuXLpbT2lqtFq+//jp69+6NlJQUDB06FB9//HGNXo7Nmzdj+PDh6NSpE+644w7MmjUL586dq/P1mXsvAODrr7+26ruoqKjAW2+9hdTUVMvP9c0337Q61W5+/s6dO5GamopOnTph2bJldR4vKysLL7zwAvr06YOUlBTcfvvteOyxx+qtsTbX94iYvz5w4ABeffVVdO/eHZ06dcKDDz6IM2fOWD3XZDJh7dq1GDJkCFJSUtC7d28sWLAApaWlVttdvnwZr732GgYMGICUlBTcdtttmDx5Mo4dO1ajjq+//hrDhw9Hx44dMWfOnHprrm3bhtak1+vx7rvvWt6PkyZNwpkzZ9ChQwfLuOfk5OCmm27CRx99hAceeAApKSmYMmWKZR9btmzBvffei44dO+LOO+/Eiy++iEuXLlkd5+zZs5g2bRruvPNOdOrUCaNGjcKXX35ptU1eXh6eeOIJ9OrVCx07dsSwYcOwZs0aq/+3tfWInD17FjNnzkTXrl1xyy23YOzYsfjpp5+stmno50Jt0tLSMH36dPz0008YMWIEOnbsiLvvvhv79u1DaWkpXn75Zdx+++3o3r07Xn755RqfF0ePHsWUKVMsZ2EnT56MI0eO1DjO999/j5EjR+KWW27BPffcg8OHD9dazx9//IGHHnrIsr+pU6fixIkT9b4GahxOzbios2fPYsKECQgJCcH06dOhUCiwbds2PProo3jrrbcwbNgwAMAXX3yBefPmITU1Fc8++yz0ej127dqFDz/8ED4+Pnj88cct+/z999+RlZWF5557Djk5OUhMTARQPS3w1FNPYdy4cRg3bhy2bduG5cuXIzg4GBMnTqyzxitXrmDatGkYOnQoRowYgf3792PDhg3w8PDA888/D6D6w3LChAkAgKlTp0Iul2PTpk347rvvbjgGOp0OEydOxLlz5zB27Fi0a9cO+/btw7x581BRUYHJkyc3akwNBgPmzZuHadOmQafTYeDAgfjyyy+xY8cOqykRnU6Hn376CQMHDoS3tzfKy8sxadIk5OfnY8KECQgPD8fhw4fxr3/9C5mZmXjllVcAAFu3bsX8+fNx7733Ii0tDVeuXMHHH3+MtLQ07Nq1C/7+/jVq6tatGxYvXoznn38eXbt2xdixY3HrrbdCp9PhoYcewp9//on77rsPKSkpOHHiBNasWYNjx45h/fr1UCgUlv3MmTMHaWlp8Pf3R+fOnWt9/QUFBRg7diz8/PwwadIkBAUF4fTp0/j888+Rnp6OnTt3Qipt3t828+bNQ1hYGGbOnAmtVosPPvgAjzzyCPbu3Qu5vPrjau7cufjmm28watQoTJkyBenp6di8eTN+//13bN68GZ6enqisrMTEiRNRUlKCiRMnonXr1sjMzMTmzZvx6KOPYt++ffDz87Mc97XXXsPIkSMxZswYRERE1Ftjbds2pCYAePbZZ/HDDz9g1KhR6NixI/bu3YvJkyfX+st5yZIl6Nu3L4YPH255/vLly7Fs2TIMHjwYY8eOxcWLF7Fx40b85z//wZdffong4GDL/6ugoCDMmDEDnp6e2L59O+bOnQtPT08MHz4cer0eDz/8MCorKzFlyhQEBARg3759ePPNN2E0GvHYY4/V+tpPnDiByZMnw8/PDw899BB8fX3x7bffYtasWXj55Zet/r839XMBAE6dOoU//vgDkydPhr+/P1atWoWnnnoK7du3h7e3N55++mkcPXoUn332GcLCwiyfU7t378bjjz+O6OhozJgxA0D1Z9yUKVOwdOlSDBgwAEB1mJszZw66dOmC5557DllZWXjsscdgMpkQGRlpqePAgQOYPn062rVrh9mzZ0On02HLli2YOHEi1q1bh65du9b7OqiBBHIqL7zwgpCcnCycP3++3u0mTZokDBw4UCgrK7M8ptfrhQkTJgg9evQQqqqqBEEQhCFDhgjjxo0TTCaT1XZ9+vQR7rnnHqv9JScnC4cPH65xnOTkZGH37t2WxyorK4Vu3boJ48aNq1H39V+vX7/ean9Dhw4VevXqZfl6zpw5QocOHQSVSmV57MKFC0Lnzp1vOA6bNm0SkpOTha1bt1oeM5lMwoQJE4SePXsKBoNBWLp0aa37uf5x89dLly612m7JkiVCcnKykJuba3nsp59+EpKTk4V9+/ZZnnvzzTcLZ86csXruW2+9JSQnJwunT58WBEEQHn74YeHuu++22ubnn38Whg0bJhw9erTO1ykIgpCcnCy88MILlq8/+eQTITk5WVi3bp3VdmvWrBGSk5OFTZs2CYIgCF999VWN59Zl1apVQnJystXPQhAE4c033xSSk5OFkydP1vlc83HM75/Dhw8LycnJwldffWX19ejRowWDwVDjmL/++qvVdps3b7ba/y+//CIkJycLH330kSAIgrB9+3YhOTlZ2L9/v9V2mzdvFpKTk4WdO3da7W/SpEk3fP11bdvQmo4cOSIkJycLb7/9tmUbk8kkzJo1y+q9df78eSE5OVkYNGiQoNPpLNtmZ2cL7dq1E958802r45w9e1a4+eabhYULF1q99hMnTli2qaqqEkaNGmV57vHjx4Xk5GRhx44dVrVMnTpVeP75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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.style.use('seaborn')\n",
"plt.plot(train_sizes, train_scores_mean, label = 'Training error')\n",
"plt.plot(train_sizes, validation_scores_mean, label = 'Validation error')\n",
"plt.ylabel('MSE', fontsize = 14)\n",
"plt.xlabel('Training set size', fontsize = 14)\n",
"plt.title('Learning curves for a linear regression model', fontsize = 18, y = 1.03)\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As of now, the MSE can be seen not very high so we can tune the hyperparameter degree inside PolynomialFeatures() to obtain the lower error in this graph. As the training set size increases, we can see that there is a peak around 100 features size but then the error lowers to ideal values. To be able to see more trends, we would need to have a higher number of data points, because now we have less than 200"
]
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"def plot_learning_curves(model, X, y):\n",
" X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2)\n",
" train_errors, val_errors = [], []\n",
" for m in range(1, len(X_train)):\n",
" model.fit(X_train[:m], y_train[:m])\n",
" y_train_predict = model.predict(X_train[:m])\n",
" y_val_predict = model.predict(X_val)\n",
" train_errors.append(mean_squared_error(y_train[:m], y_train_predict))\n",
" val_errors.append(mean_squared_error(y_val, y_val_predict))\n",
" plt.plot(np.sqrt(train_errors), \"r-+\", linewidth=2, label=\"train\")\n",
" plt.plot(np.sqrt(val_errors), \"b-\", linewidth=3, label=\"val\")"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiAAAAFJCAYAAACimpYTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXzcV33v/9d39tHMaN+9SF6T2IljO46TgGMSCAQoEMgNZAHubUkpzY8tvT/4BVLikBZIU4q5bVKgcNvbNjRQQthuS4EsBCdxcBLHjmPFdrxJ1r5vsy/f7++PkUZSJI0kW2Nt7+fjoYfkmTMz3zm2pbfO+ZxzDMuyLERERETOI9tcX4CIiIgsPQogIiIict4pgIiIiMh5pwAiIiIi550CiIiIiJx3CiAiIiJy3jnm+gLeqLNzMGfPXVSUR29vOGfPv9Cpf7JT/0xOfZOd+ic79U92C7l/ysoCk963pEZAHA77XF/CvKb+yU79Mzn1TXbqn+zUP9kt1v5ZUgFERERE5gcFEBERETnvFEBERETkvJtWEeo//MM/8NRTT5FIJLj11lvZvn07X/jCFzAMg3Xr1nHvvfdis9l46KGHePrpp3E4HNx9991s2rSJhoaGCduKiIjI0jVlEti3bx8HDhzgBz/4AQ8//DBtbW3cf//93HnnnTzyyCNYlsWTTz5JXV0dL7zwAo8++ii7d+/mvvvuA5iwrYiIiCxtUwaQZ599lvXr1/PJT36SP/3TP+Waa66hrq6O7du3A7Bz50727t3L/v372bFjB4ZhUF1dTSqVoqenZ8K2IiIisrRNOQXT29tLS0sL3/nOd2hqauKOO+7AsiwMwwDA5/MxODhIMBiksLAw87jh2ydqm01RUV5OlxxlW5Ms6p+pqH8mp77JTv2Tnfonu8XYP1MGkMLCQlavXo3L5WL16tW43W7a2toy94dCIfLz8/H7/YRCoTG3BwKBMfUew22zyeVmK2VlgZxudLbQqX+yU/9MTn2TnfonO/VPdgu5f85pI7LLLruMZ555BsuyaG9vJxKJcNVVV7Fv3z4A9uzZw7Zt29i6dSvPPvsspmnS0tKCaZoUFxezYcOGcW1FRERkaZtyBOTaa6/lxRdf5KabbsKyLHbt2sXy5cu555572L17N6tXr+b666/Hbrezbds2br75ZkzTZNeuXQDcdddd49rOBdO0ME1rTl5bRERExjIsy5pXP5VzMcw0GI7zwCMHCEUT3HnTpdRULr65tNmwkIf5zgf1z+TUN9mpf7JT/2S3kPtnyZ8Fc/RMHy1dIfqDcZ56uWmuL0dERGTJWxIBxO0cWVXT1R+dwysRERERWCIBpDjgznzdOxibwysRERERWCoBJH8kgPQMRplnZS8iIiJLzpIIIF63IzMNE0+YhGPJOb4iERGRpW1JBBDDMMaOggxoGkZERGQuLYkAAlA0pg5EhagiIiJzackEkOKAJ/O1RkBERETm1pIJIKNHQHq0EkZERGROLZkAMroGpHdAUzAiIiJzackEkKLRUzAaAREREZlTSyaAjN0LZPIAEk+kePzFRl482qH9QkRERHJkytNwF4viN6yCsSwLwzDGtEmZJg/95FUOn+4B4O6PXMba5QXn9TpFRESWgiUzAuJ1O/C6RzYjC0XHb0b2gyeOZ8IHQEt36Lxdn4iIyFKyZAKIYRiUFHgzf37jmTBP7m/iqZebx9wWjafOy7WJiIgsNUsmgACUFo4EkJ5RK2EOnezmkSdeH9c+llAAERERyYWlFUAmGAEJRRP8wy/qGK43HV0WEtMIiIiISE4srQAyegRkaDv2utM9RIYOpysKuHn3lTWZNgogIiIiubFkVsEAlBaO7AXSO7Qd+/HG/sxtOy6porRgpE00oVNzRUREcmEJj4AMBZDmvsxt65YX4HbZM3+OJczzd3EiIiJLyNIKIAVjA0gklqSxIwiAAayuLsDtHBVANAUjIiKSE0srgIwaAekdiHKqZSBTfLq83E+ex4Fn9AhIXFMwIiIiubCkAkiex5GZYoknTQ6e6MrcN7zj6egpmKiW4YqIiOTEkgoghmGM2ZL9xaMdma/XDQcQp2pAREREcm1JBRAYeybMQCie+XrdskLgDQFEUzAiIiI5seQCSFG+Z9xtxfluSoaW346pAdEUjIiISE4suQAyegRk2NplIyfeukaNgETjKazhKlURERGZNUsvgEwwArJueWHma4fdhsOe7hbLgmRKdSAiIiKzbckFkKIJRkCGC1CHuZ0j3aITcUVERGbfkgsgb5yC8bjsLC/zj7ttmDYjExERmX1LLoAUBcZOwaxZVoDNZoy5ze0aOSJHhagiIiKzb8kFkDfudrpuWcG4NmOmYBRAREREZt2SCyAAJaMKUdcunyiAaApGREQkl5ZkAHnbtuXYbQYXrCjkgpWF4+73jJ6CUQARERGZdY6pmyw+12xexlUbKsec+zKaW5uRiYiI5NSSHAEBJg0foBoQERGRXFuyASQbt1NTMCIiIrmkADIBt/YBERERyalp1YC8//3vJxAIALB8+XJuvvlmvvrVr2K329mxYwef+tSnME2TL3/5yxw7dgyXy8VXvvIVampqOHjw4Li2850OpBMREcmtKQNILBYD4OGHH87cdsMNN/Dggw+yYsUK/uRP/oS6ujqam5uJx+P8+7//OwcPHuSv/uqv+Pa3v8299947ru3GjRtz945mwehluKoBERERmX1TBpCjR48SiUT42Mc+RjKZ5NOf/jTxeJyVK1cCsGPHDp5//nk6Ozu5+uqrAdi8eTOHDx8mGAxO2HYhBRBNwYiIiMy+KQOIx+Ph9ttv54Mf/CD19fV8/OMfJz8/P3O/z+ejsbGRYDCI3z9ypordbh9323DbbIqK8nA4Jl+hcq7KygJTtikvHcx8bRnGtB6zWCyl93o21D+TU99kp/7JTv2T3WLsnykDyKpVq6ipqcEwDFatWkUgEKCvry9zfygUIj8/n2g0SigUytxumiZ+v3/MbcNts+ntDZ/N+5iWsrIAnZ2DU7aLReOZrweDsWk9ZjGYbv8sVeqfyalvslP/ZKf+yW4h90+24DTlKpgf//jH/NVf/RUA7e3tRCIR8vLyOHPmDJZl8eyzz7Jt2za2bt3Knj17ADh48CDr16/H7/fjdDrHtZ3vVAMiIiKSW1OOgNx000188Ytf5NZbb8UwDL72ta9hs9n43Oc+RyqVYseOHVx66aVccsklPPfcc9xyyy1YlsXXvvY1AO67775xbec71YCIiIjk1pQBxOVy8Y1vfGPc7T/60Y/G/Nlms/EXf/EX49pt3rx5XNv5TstwRUREcksbkU3ApREQERGRnFIAmcDoERDVgIiIiMw+BZAJjK4BicdTWJY1h1cjIiKy+CiATMBmM3A50l1jAfGkObcXJCIissgogExCdSAiIiK5owAyCdWBiIiI5I4CyCTcLo2AiIiI5IoCyCQ8Tu0FIiIikisKIJNQDYiIiEjuKIBMYkwNiAKIiIjIrFIAmcSYGpBEcg6vREREZPFRAJnEmAPpEtoHREREZDYpgExCJ+KKiIjkjgLIJMbWgGgKRkREZDYpgExibA2IRkBERERmkwLIJFQDIiIikjsKIJMYWwOiKRgREZHZpAAyCe0DIiIikjsKIJMYXQMSVw2IiIjIrFIAmcToKRidhisiIjK7FEAmoX1AREREckcBZBKqAREREckdBZBJjB4BUQ2IiIjI7FIAmcToIlTVgIiIiMwuBZBJuMaMgJiYpjWHVyMiIrK4KIBMwmYYb9gNVaMgIiIis0UBJAu3c6R7VAciIiIyexRAslAdiIiISG4ogGThdjoyX2svEBERkdmjAJKF9gIRERHJDQWQLFQDIiIikhsKIFm4XSNTMBoBERERmT0KIFloGa6IiEhuKIBkMboGRAFERERk9iiAZKETcUVERHJDASQLt1bBiIiI5IQCSBaqAREREckNBZAs3KoBERERyYlpBZDu7m7e8pa3cPLkSRoaGrj11lu57bbbuPfeezFNE4CHHnqIm266iVtuuYVDhw4BTNp2ofCoBkRERCQnpgwgiUSCXbt24fF4ALj//vu58847eeSRR7AsiyeffJK6ujpeeOEFHn30UXbv3s199903aduFRDUgIiIiuTFlAHnggQe45ZZbKC8vB6Curo7t27cDsHPnTvbu3cv+/fvZsWMHhmFQXV1NKpWip6dnwrYLiaZgREREcsOR7c6f/OQnFBcXc/XVV/Pd734XAMuyMAwDAJ/Px+DgIMFgkMLCwszjhm+fqO1UiorycDjsU7Y7W2VlgWm3rQwlMl+b1sweu1Athfd4LtQ/k1PfZKf+yU79k91i7J+sAeSxxx7DMAyef/55jhw5wl133UVPT0/m/lAoRH5+Pn6/n1AoNOb2QCCAzWYb13Yqvb3hs3kf01JWFqCzc+oQNCwSimW+DobjM3rsQjTT/llq1D+TU99kp/7JTv2T3ULun2zBKesUzL/927/x/e9/n4cffpiLLrqIBx54gJ07d7Jv3z4A9uzZw7Zt29i6dSvPPvsspmnS0tKCaZoUFxezYcOGcW0XEtWAiIiI5EbWEZCJ3HXXXdxzzz3s3r2b1atXc/3112O329m2bRs333wzpmmya9euSdsuJKoBERERyQ3Dsixrri9itFwOM810GCuRNPnE3zwNgM0w+O7nr8FmM3J0dXNvIQ/znQ/qn8mpb7JT/2Sn/sluIffPWU/BLHVOhw2/1wmAaVkMhONzfEUiIiKLgwLIFIoC7szXvYOxLC1FRERkuhRApjA6gPQMKICIiIjMBgWQKRSPGQGJzuGViIiILB4KIFPQFIyIiMjsUwCZQlHAk/m6N6gAIiIiMhsUQKYwZgRENSAiIiKzQgFkCpqCERERmX0KIFMYswpmMMY827dNRERkQVIAmYLX7cDrTm/JnkyZhKLJOb4iERGRhU8BZBoK/aP3AtFSXBERkXOlADINxaoDERERmVUKINMwZimuAoiIiMg5UwCZhjcWooqIiMi5UQCZhtEBpE8BRERE5JwpgExDkc6DERERmVUKINOgKRgREZHZpQAyDcX5KkIVERGZTQog0+DzOHDY010VjaeIxLQZmch0mPE4A7/fS6ylea4vRUTmGcdcX8BCYBgGxQE3HX0RID0K4nWr60Sm0vfk43Q99igAruUryN9+Bf5t23GVl8/xlYnIXNNP0WkqekMAqS71zfEVicx/0Yb69Bc2G/GmRrqaGun6yY9xlleQt3Ejvg0X473wIuxe75xep8hSYVkWvb/5FcEDL2Mlk5BKgWFQ8v4P4N+0+bxeiwLINBXljy5E1UoYkemIt7YCsOLzXyQVCjL4wj5Chw+R6Ginv6Od/t8+BTYb3jVryduwkbyNl+CprcWwaXZYJBf6nvgNXY/++7jbo6dOKYDMV0Xajl1kRqxUikR7GwDuFcuxebz4N2/BMk2i9acJ1x0mVHeY6KmTRI6/TuT463T//Kc4iorxX3YZgcsux7NmrcKILEqWZRFvaSb06iHiLc04y8pxLVuOe9ky7P4AViKR/kiliNkSmHELw+nEMIyzfs3goVfo/NEPASi/7SO4a1dhOBzYXC6cFZWz9damTQFkmor8CiAiM5Ho6sJKJnEUFWPzjEyxGDYb3tVr8K5eQ8l7byAVDhM5doTQ4cOEDr1CsreHvicep++Jx7H7A0MjIxfj27gRR2HRHL4jkRGJnm76nnqSREc7ie5uEt1dWIkENq8Xu8eLLS8PZ0UF7uUrcC9fgSM/n3hHO4n2duKtrYSPHiHZ2zOt16of+mw4HNjz83FVVuGqqsZVWYU9EMDmdmO4XNhcLgy3O/PZ7vNnAnysuZm2734bLIuS972fwrdel5uOmQEFkGma6XkwwUiCow29lBV6qakMzOi1BsJxHDaDPI9zxtcpMl/EW1sAcFVWZW1nz8vDv+Uy/FsuS4+OnD5FcP9LDO5/kWR3N4Mv/J7BF36ffq5ly/FdfDF5Gy7Gu349Nqcr5+9D5I1iLS00f/PrJHt7x92XisVI0QdA9NRJBrM8jz0/H9/Fl+BZtZpEVxex5mbiLU2Y0Wh6tMPhwLA7IB4jGQxiJZMke3pI9vQQfq1uyus0HA6clVW4q5cROXkcMxolcPl2it97w9m+9VmlADJNxflTj4AMhuO8eLSD/cc6OXamD9OyANiyrpQbd65mWZl/THvTsujsi9DYHqShfZDGjiBn2gfpC8YxgE/eeAlb15fl7D2J5NJw/YerKnsAGc0YqgfxrllL6QdvJtHWSqiujnDdq4SPHSXe3ES8uYneX/8Kw+XCt/ESfJu34L90M3a/f+oXEDlH0YZ6mr/5DVLBQbzr1lNw7VtxlpTiLCnFcLsxIxHMaIRUMEi8pZlYUxOxxjOYoRDO8nKcFZW4yivwrF6Ne8XKaU0xlpUF6OwcxIzHSfb2EG9tTX+0t2KGw5ixGFY8jhmPY8VimPE4ZiyKGQoRb2ok3tQIgLt2FRV/9MfnNI0zmxRApmmqGpCmziB//cgBgpHEuPsOHO/i4PEutl1YjtftYCAUpz8Uo7U7TDSemvD1LODR355g87pSbPPkH4vITGRGQKqqz+rxhmGkh5mrqim67u2YiQTRE8cJ1R0mXHeYWOMZggf2Ezywn3bDwL18OZ5Vq9Mfa9biqqqeN99oZf6KHD9OrLkxPa2xbBmOQH6Wtq/T/HffxIxEyLt4E9V3fBKb2z2mzegVXXnrL5jVa7W5XLgqKnFVVMLmLVO2T0UixFtbiLc0k+zro+At12BzzZ9RQwWQacrPc2EzDEzLIhhJEE+kcDntAPSH4vzto4fGhY/qUh8tXSEgHShePNoxo9ds741Qd7qHS1aXzMp7EDmf4m0zHwHJxuZ0knfRBvIu2gA3fYhETzehVw4SPHiA8NEjxBobiTU20r/ndwDYCwvxbdhI3oaNeGpX4ywtxXDoW975YFkWZihEoquLRFcnyd4enKWluGtW4SgqmvVgmAqF6H3iN2BZuFfW4Fm5EkdJadbXMaMROn/0w8y/l2H2QABX9TJc1ctwVy/D5nETOX6c8OtHSbSli6r92y6n6o8/Me//Pdm93ky91Xw0v3tvHrHZDAoDLnoG0qMfvcEYFUV5xBMpHnzsEN0D6aW5bpedm96yhq3ryygKuDnTPshP9pzi0MnuCZ/X73VSU+FnZUWAFRV+VpYHePpAM0/sbwLgyf1NCiCy4FiWdc4jIFNxFpdQeO3bKLz2bZixGLEzZ4iePknk1Ckix4+R6utjYO9zDOx9Lv0Amw1nSSmuqiryLtxA3sWX4KqqWpCjJMn+Prp//jMs08TmdqeLEJ1OLNMEywQLHMUleGpqcS9ffl5/UJrRCM0P/R2Ro0cmvN+en4+ndhXumlo8tavw1NSSyneRCoWwEnHMRAIrPrQCJBHH5vPhqqyadKoieqaB1m8/RKKzc8zttry8oRG0dMGms7QUR34B9vwCEl2dtD/8zyS7ujAcDvxbtpLo7iLe0kJqcJDIsaNEjh0d91qGy0XBzrdQ9qFbtTprFiiAzEBRwJ0JIH2DMcoKvfzjfx7hVMsAAIYBd9ywkU1rSjOPWVkR4M4PXsqJpn6ONfbidTso8Lko8LkpKfBQ6HeN+wb4tm3LeXJ/ExZw6GQ37T1hKorzztv7FDlXqf5+zEgEW14e9vzJh7Rni83txrtuHd516yhiKAA1NxF+rY7Qa68Rb20m2dNDorODRGcHoUOvwI9+gKOkhLz1F+JesWJoCeRybL48DMe5LXfMJcs0afvf3yV85LXpPcBuT6+W8PmweTzYPF4cBQU4K9ND+c6ysnShIxaWBXavZ8yqpZkwEwla/v5BIkePYLhcOMvKcZaV4SgsItHRTrS+ntTAAKFDr6T/DoacmuJ5DZcL94qV6dGNmhrcK2twVy9jYN/zdHz/X7ESCdwra8jbsJHYmQZiZ86QCg4SPXmC6MkTkz6ve2UNlbd/HPey5UD6302ypyddu9HcRLylmVQ4nK5LWn8BnpraeT/qsZCoJ2cgvRImHTZ+9sxpgtEEzZ2hzP23vm3dmPAx2trlBaxdXjCt16koyuOSNSWZUZMnX27ituvWn9vFLzDJlIndZszbHwKS3ejRj7n4OzQMI7P8segd7wTATMRJdHQSO1NP6HC6jiTZ3c3A88/B8+OeAMPpxB4IDP3Qq818dhRM7/9xrvQ98RvCR17D7g9Q8oEb08WH0Wh6V0ubLfObebytlWhDfXrZZ3PT9F9gqPbGs2YN3lVrsHk86VGJZALDZhsJam+ofbBMk7Z/TAcje34+K77wpXFb7luWRaKrk1h9PdH600Qb6ok11Kd343Q4MJxObE5XegXI0Eeyv49kV1cmTPQPP5ndnn4ckH/1Tspv+0hmVZRlWaT6+4aKNVuItbaS7O0hNTBAcqAfK5Gg8C3XUvzu94wJFIZh4CwpwVlSgu+STTP6e5GZUwCZgdF7gRxr7Btz31u3LuO6bStm7bWuu2x5JoA892orN+5cjce1+P66TNMiHEsSjiVp7ghy5EwvRxt6aeoMsbo6n8/ctIn8vPlTNCXTM9v1H7PB5nThXrYM97Jl5F/1ZizTJHamgWj96fRKhaZG4m2tWEM/zK14nGR3N8nubkIHXs48j6OoKB1GalfhXbcez6rV434Y50qs8QxdP/kxABV/+DH80yxETLS3Y0YjmNEoZiSSXknR1ka8vY1EV1d62sYwAINUcJB4SzPxlmYGntkz8ZMaBq7KqqFRiZW4V6wkeOBlgi+9iM3rZdmd/++E5/0YhoGrrBxXWTmBy7dnbh9e5THpewgGiTWeSQeWMw1EGxpItLdhOJ2Uf/ijFOzYOe51HIVFOAqL0jVDMi8tvp9oOVRVMn4axACuvrSaW69bN6uvtWFVMRXFebT3hInEUuw93MZbty5PJ3vTypzOu5BYlkVLV4i60z0cru/hVPMA4SwnC59qGeBvfnCQ/++2Lfi9S3dPlETSpL03zOnWAU63DHCqZYD2vggBr5OigJuigBuPy0EiaZJImWBZXLq2lDddXDlnI0i5rv+YDYbNlq5BqF017j7LNLHicRI93cQaGoieaSA29MMv2dtLsreX0CsH043t9nQYWX8BeesvwLN2XU7OtjHjcVq/9w9YySQFO6+ZVviAdCGivbZ2+q+TiKfraU6eIFpfj2WmhkYmnOlam6am9MqKoY/hPVogve9E9ac+i2dlzUzfXvb34PePFCAPSUUiGDbbeQt/MvsUQGbgyo0VnOkI0h+MUVsZYM2yAlZV5efkZFybYfC2rct45InjADz69En+73P1BCMJUqaF02Ejz+Mgz+3AMAxi8STReArDMHj3lTW884qVs35NsXiKY429nGjuJxRNEo2liMaTOB021q8oZGNtMeVFXgzDoD8Y40xHkKbOIG3dYdp7wrR0hydcppxNU2eQb/zwIJ+/dfOi2ZgtlkjR2h2ipStEfyhOMmmSSFlDn02SKZNk0iQYSdDaE6azL8LQljJjnyeeoqt/4nOJXjrWycuvd/JH775oTsLb2ewBMp8YNhuGx4N7aCVE/lVvAtLBJNHRQbShPrOFfKzxTGZ6oPe//hMMA/fKmkwg8a5bD2Uz24xwIl0//lF6y+6KSspuvvWcn28yNqcrsxfLZMxEnHhzczqoNKZrLpK9vZTf+mHyLrgwZ9c2mg4wXPgMy5roW9vcyTYMd66mGuabbyKxJP/z758jNsleIZOxGQbf/PSbCcxw6uKN/RNPpDjdOsDrTf0cqe/heFM/KTP7P5eSfDeJlMVAKD6t1zQAjzsdpAr9LtavKOTCmiJ6B2P8y38dZfjVVlUF2H5RBfGkSSJpsrzMx+UXls/ab/jhaJLTrQNYWNhtNhx2g5J8D8X5IzvgTvXvJ5E0GQjFGQjH6Q8Of47RH4oP7f0Sp3cwRnd/lPP1n64o4OYT79vI+hWF5/Q8pmllgu9E3tg3Jz93J6m+Pmq/9tcTDsUvJqlwiMiJE0ReP0bk+OtE609nahMAMAzyalbiWr0O7wUX4F1/Qda9JibS97vf0vHwv4DdzsovfmnCUZuFbKF9bz7fFnL/lGUJ3xoBmce8bgfvuaqGx343tkbcMJjwN+JhpmVx6GQ3b75ker99WpbFa/W9DBztoKltgP5gnPaeMPVtg1MGjjfqHsi+TX2e28GG2iI2ripmQ20xJQWerBut/fN/pZfCnW4d5HTr2P+AZ9qD/Le3rD6nEGKaFk8fbOane04Rio6fDlpTnc+VGyvZur6Mlt4ozxxo5NVTPXQPRHHYDJwOGw67jUgsOeHjZ4MBlBR4WF7mZ1V1Pqur81lR5icSS9IzGKNnIEoiaeJ02HA6bLze2MdTLzcD6U3zHvi3l1lVnc+G2iI21KRHqWw2A5thDH1Oz5kPfz0sHE1y+HQPr5zo4vDpHmLxFLVVATbUFrOxtpi1ywsmnApMhcOk+vrS20CXTlyUvZjY83z4N12Kf9OlAJixGNFTJwkfO0rk9WPpr+sbCNc30PfUE0B6e3rP2rV4167Du2YtzsrJlwMHD7xMx/f/FYDyD3900YUPWbo0AjLPWZZFR2+EeNLE73Xi9zpw2G3EEybhWJJQNIFBev+R515t4+fPngZg6/oyPnXjJZnnaWgb5GfPnGJDbTHXbVs+5pvdz545xS+eq5/W9Swv87GhtpiyQi9upx2Py05fMMZr9b0cOdObGa1xOW2sKPezojxAVUkeVcV5VBbnUTxF4Hij3x5o5uFfH5v0/ve8qYYPXD3zEGJaFscb+/jBE8c50xGc0WPPlc0wKC/yUl3qo7TAkw4OdlsmzDgc6REYj8tBRZGXiuI83EOb3k3XgeOd/NN/HslZKAKoLM7jMzdtorI4b8z/rcipUzR+7S9wLV9B7Zf/Mmevv1CY8TienlZaXzhA+PVjRE+ewEqMnYq0+XzpaY+16/CsXYenphab203k5Ama/uYBrESC4vfeQOkNH5ijd5FbC/F78/m0kPtHIyALmGEYE+4B4nbZcbvsY7aI335ReSaAHD7dndmt1TQtvvWzV+nsi/LKyW7yPI7M6MiZ9kH+Y2/DpK9fVZLHuuWFrF9RwIbaYgr9Exd8XbdtBcmUSVNnELfTTkVRHjbbue5TREYAACAASURBVE+PXLtlGYU+F4fre3DYbLicNk61DHCkIX0I1H/sbcBmGFy7ZRlNXSGaO4K09Ubo7A3T3huhdzCGP89JRVEelcVeXA47Z4bO3HnjNvgl+R4qi72kTItYwuRM+8xGgGyGQcDnpMDnIt/nyuz3MvK1iwK/i9IC76RTGbNly7oy7vtYgH/99TFePdmdkymftp4wX3t4P3/2oUvHfJMZLkB1L9D6j9lmc7kouORi4pU1lABWMkn0TAPREyeInDxO5MQJUv19Y/fGsNtxr1hJorMDK5Eg/+qdlLzv/XP6PkRmmwLIIlJV4qOqJI/W7jDxhMlr9b1sXlfKKye76OwbKVb8/uOvs7rUg6fhKN/bO4BppYsUqxwxtl++lqJCH0UBNzWVgRktgXXYbdRWzv6mU1vWl7Fl1KF8iaTJ3//01cwy5V88V591BKc/mK7JeP0NS6eHuRw2/uCqdOGu0zEy0jAYjvPS0Q6ef62dk839VBb72FBTxCVrilldXZDe02CocNTrduD3OufVuT3F+R7u/OClBCMJjp3ppa6+l2NneonEkphWevrJsixMy8I006NCo8dDbQbUVga4dG0pm9aWUuh3caS+l9fqe9h7uI34UKHsXz9ygLtdTlaUpIsChwOIc4pTcJcqw+HIbI9dxPXpza+6u4icPEHkRLqYNdZ4hlh9+pcJ36ZLqfjI/9CeOLLoTDkFk0ql+NKXvsTp06ex2+3cf//9WJbFF77wBQzDYN26ddx7773YbDYeeughnn76aRwOB3fffTebNm2ioaFhwraT0RTMufnx0yf55e/TIxo7NlXxsXdfxNd/cCAzYjBshS3Emo6jPF16GQB2M8Xtjb+gqrKIZZ/9MxyFRef92mcikUzx4E9e5fCpnrN+Dr/XySWrS7hx52pKCjxZ21qWRVlZgK6u8ztdM1+daO7nbx99JTPFY7cZXLt1GW+6uBLHo/+H8CsHqPqTOwhsv2KOr3R+mOn3HjMaIXr6NInuLgLbr5xXB4jlwlL43nwuFnL/nNMUzG9/+1sAfvjDH7Jv375MALnzzju54oor2LVrF08++STV1dW88MILPProo7S2tvLpT3+axx57jPvvv39c27e//e2z9+5kjC3rSjMB5JUTXTR2BDPhwzDS0wQp06LR9NE4FD4A/uDSEqqjfqKNZzjzta+w7M7/ibt62Zy8h+lwOux8+sZL+M7P6zhwvAu3086yMh/Ly3xUlfgoL/JSXuilON/DYDhOW0+E9t706cPLy3zUVAQoCrin/VulYWhX1tHWLivgix+5jN0/OkjPQIyUafHES0088VITJalVXFoY5cYKjYCcLZvHqw20ZNGbMoBcd911XHPNNQC0tLRQWlrK008/zfbt6V3sdu7cyXPPPceqVavYsWMHhmFQXV1NKpWip6eHurq6cW0VQHJnVXU+BT4X/aE4g+EE//ifI+dFbF1fRm1lYNyqmuVlft7zzs2U3riFQ1/+KtGTJ2i8/yv4Nl2a2c7as2o1dr//fL+drJwOO5+68RLCsSRet2PS6Q+v20F5UR6gQ/1mU3Wpj7s/chl/9+NDYwp5u+1+niq9nI7nu/nTimryPAtrpjdlmpxo6ueVk90MhuKUFHiGAm0ehg3i8RTRRIpYIkUsniKWMIklUliWhd1mYLfZRuqfhgaYfX43g4MjK8RsNiPd1m5gQGYqL5Ec9ZFKHyq3osLPumUFVJX65tUUn8i5mtZ3BofDwV133cXjjz/O3/3d3/Hb3/4289ugz+djcHCQYDBIYeHIXgPDt1uWNa5tNkVFeTgcM6v4n4lsw0GLxZWXVPHroVGQM+0jPxhuett6LlpVwsu/O8hp0rUaNgP+7LatVFWmz7fYfP9f8Po3/hc9+15gcN/vGdyX3uXQ7vWy6o8/Rvnbrl3SIwFL4d/PTJSVBfh8bS/PHniausBqjvlXkrCla4oO1/fywA8OsOv2K6gs8U34+Gg8SU9/lO7+KN39EYKRBJYF1lDZrN1mw+Ww4XTa058dNlwOO06nbcxZQaZp0dIV5EzbIE0dQTr7IkRiSaKx5NBmeXYCeeniYJ/XidNhGwkBNgOHPf3nSDTJgdc7GAzPbMO888HvdbJxdQmXb6hg20UVlBScv424TNOirTtEa3coswFhdGgXY8fQ6i23y05tVT7Lyvxn9T1C/7eyW4z9M+1fTR544AE+97nP8aEPfYhYbCTJh0Ih8vPz8fv9hEKhMbcHAoEx9R7DbbPp7Q3P5PpnZCHPo83ERSsKMwFk2IpyP+UBF21HT/Gu+t/w/eXvYsDh431vXkWR10Fn5yBlZQF6BuKU/PEd+N/+rnQhXFMT0dMniZ46xYkH/57WPc9R8d//EEfBuW1stRAtlX8/M9X59O9YFWll45oyHBcZ/C5eyK/r0gW/je2D/Nk3f8fmdaWkUhbJVHr5eN9gjN7BWNat+GdTJJZiIBSnuXPqtvNVMJJgX10b++raAFhZ4ac44MFhN7DbbRikD3FMDvWzYRjp+2wGLqed8kIvlSXp5fClBV68bnsmKERiSRraBqlvG6QvmP7+bhiQSlk0d4WobxskMs2/K7/XydplBaxZls+K8gArK/wU+Maf+j2a/m9lt5D755xqQH72s5/R3t7OJz7xCbze9DbbF198Mfv27eOKK65gz549XHnllaxcuZKvf/3r3H777bS1tWGaJsXFxWzYsGFcW8mti2qKcLvsY3ZQve6y9N4fgy/sIz8Z5rNlbfg+9OGhqYmxDMMYc0aGZVkM/n4vHY98n9ArB6nf9edU/uHH8G+5bNxjZWlJBYPEW1ownE6qP/lpbE4nNwMrV7Xxf/7rCMmURTCS4NlDrXN9qTNS6HexeV0Zy8t8dPdH6eiL0NUfTe/c67LjGtoDx+W043Gml8QbhkHKNNO7xqas9A5ygIGBN89JdNQxBMM7y6aGViK5HPb0PjBDozzD+8LEkylONg9wvKlv3KjMmfbgmBHOmXLYDfxeJy6HPb3d/1k/01jBSIKDJ7o4eKIrc5vf6yTP48A+tAGeYaSDkc2WrktzOOzE4knMoSmr9B5DDjwu+9DHyNfA0MotC7fLQU2Fn5UVgZwciSG5NeXf2Dve8Q6++MUv8uEPf5hkMsndd9/NmjVruOeee9i9ezerV6/m+uuvx263s23bNm6++WZM02TXrl0A3HXXXePaSm45HTYuWV3CS0c7gPR//is2VKSDxL70ueNlV23HP0H4mIhhGORf9Wa8F1xE+7/8E+G6w7T8/YMUvf16Sv/bB8ccZy1LS+TUCQAC69Zic46cOXPVxZWUFXl56LFDDGSZzrDbDAr96QP1Cv0uAnmuMXUOKWvkjJxEMn1OznCNRMo0h6Zr0krzPVSV5lFd4qO8KA+ve+QHVzyRIhhJEIwkCMeSpFLp5ccp08qEAdNMT/ysqgpQUxGY1anGc/0N1rIs2nrCvHoqvTPt6419M96l+I2SKYu+4PSOTID095HlZT7yPE7cTjtupw3DMDKjLsFIglMt/RNufjfc97liABXFeRT6XdjttjFTa3b7qK+HPjsdNsoKvVSX+KgqzcM3dM7U8GGfo6f3JHe0E+oideB4Jw8+9ioA73tzLe+/ejWxxkYa7rsHm9/Pmr/5X+OCw3T6x7Is+h7/NZ2PPQqpFJ41a6n6xB04i+emwDMVidC/52kS7W0kenpI9vRgz8+n+J3vIm/jJfPqh8hi1PWTH9Pzy/9g2Y3vx/fu8RtlBSMJDp3sIpmyMt/83S47RUOhw583v/ZOyZXZ/rczfHZRLJFKj6Sk0mHM4bDhGCpuNa30FErKTE97tfeEaesO09YTpi8YJ5YYGSE1DFhW6mdVVYDKkjwMRv5OSgo8rKoMUFLgmfL/k2lZtHaHOdncT0PbII0dQRo7gzM+z+p8czltQ3018uPQYU/XH7lddkoKPJQVeCgp8FIUcBPwOgnkOfHnudKfPc6z3ngxEkvSPRDFPnS0w/Do1/DOyIZhLOjvPdoJdQnavLaUj793A6FIgmu3ppfTDgwdmx247PKzHrUwDIOid7wTz5q1tH7nW0RPnqDhvl2Uf/ijBC6/4rz+1mCZJq3ffojwa3Vj72hppvnoETxr1lLyvveTt2GjfpvJkciJ9GnN+RddyEQ/YvxeJ2+6WMtxZ1uex8HGVcXn9BzxRIrBcIJIPElZgRe369yL/22GwbJSH8tKfZA+GgfTsugdiBFPpjAtsMxRo0+WhWWmFx/090cYLhmMxVNE4uli11g8RXToIxZPwdB2AjYb9AXjNLQN0twZykzfnF1fmONuSw6dTB2OJekdjHGiqX/SxxuAz+vE53WS57bjdTvSU0JW+nlSZnoxRp7HkTnFvLMvQkN7kI6ecNbpL4c9vQN05uwph30opBijwoo9PX1nt42atrLjdNgzq60cdhs+Tzo4BfKc+DzOoTa2Ofv+qACySBmGwVUbKzN/tkyTweEAcsW51+F416ylZtd9tP3T9wi9eoi2736H4P6XKP/wf8eRn49lmsTbWjFDYTxr1mBk2XzubPU9/RTh1+qw+f2Uvu/9OIpLcBQVEX7tNXp+/UuiJ0/Q/M2/wbN6NUXv/AP8m7fk5DqWKiuZJHo6vaQ7cOEF9GU/h1DmGZfTTklB7lYcDrMZxpQb/Z3rb/jxRIrmrhDRWJKUaZEcGvlJf21mRjeGw0A0nqKtJ0xLV4jW7jDJ1EgAsRnGjMOMRe6mmYaDUK7YhoLRNVuquXHnmpy9zkQUQJaI0OFXSXZ34yguxrt23aw8pz0QoPozf0b/M7+j899/SHD/S0SOHcNZUUGs8QxWPD2/7F5ZQ/mtH8G77uxeNxUMkhocGHNiaLy1ha5H/x2Aio/+IYHLtmXae2pqKbz2WvqeepKeX/8X0VOnaP3WgzgrKil6x/UEtm7DHlh8S9rOt+iZBqxEAmdlJc78fFigQ8Sy8LmcdlZVnd0xEKZpEU+mMjUixlAAGa49CkUSdPVHhz4iDAztsZT+iBOMJM7p0EebYVBW6AHDIJlMjdoTxspp8BhmWun6nf/Y28D121dm6mHOBwWQJSDZ10v7//lHAAqveeusjgIYhkHhzmvwbbyY9n/+J8JHXiMVTP8gcpSUYCVTxM400PjAVwlccSUFO3ZixuOY0ShWMpHe6GzFynHXZEYjBA8cYPDFfYTqDkMqhXf9BZTe9CE8K2to/d/fTR/S9aYdY8LHMJvHS/G730Ph295O/zN76P3Nr0i0t9Hx8L/Q8f1/xbt2Hb7NW/DU1GIP5GPPD2D3+TVCMgPRoemX2Qq0InPBZkufPD3mNiO9dNnltOPzOCdcLThaciioBKNJIrH0RzSewoChIlgbpmURjqbDSiSaJOBzUVMRYHmZD9ckp12bVrq+J7/QR1tb/9jN6lLmmALt4Y/o0NRVNJ4aKtZOj/4kkilCkSSDkXSACkfTbYZDzvaLys9r+AAFkEXPSqVo/e53SA0O4L3wIore+e6cvI6zpJRl//PzmXoMz8oa7IEAZixGz69+Se9//eeYjc1Gs3m9eNasw1lcTKKzk3hnO8nu7swukhgGNo+HyOvHaPzaX+KqXka8pRlHSQllt34463XZ3G6Krns7hddcy+BLLzDw/F7CR48QOf46keOvj2lrOJ0ELt9O4Vvfjqe2dlb6ZTGLKICIAOk6jQK/m4JJTgs/WzbDwOaw4/c6Z/25hw1PUc1GDdBMKYAscl0/fYzI68ewFxRS9fE/zelv+IZh4Nt48ZjbbG43pTd8gII376D7Fz8j0dmJzePB5kkPOUZPnyLR2Un48KE3PhnedesJbL8C/9ZtGE4nvb/6Jb1P/IZ4SzMYBpW3/wl27/R2gzQcDvKvfBP5V76JVCRCuO5VQodeIdHVRWpggOTgAGYoxMDe5xjY+xyeNWspePPVeNevx1lRqSLWN7AsSwFEZBFw2G3kcPPx7K89Ny8r50Pw4AF6f/VLsNmo+sQdOAoK5uxanKVlVH7s4xPel+jpIXL8GKlgEGdZOa7yCpylpeNW6pTeeBOFb30bvU88jnvZMvLWX3BW12L3egls205g2/Yxt8c7Ouj77ZMMPLuH6Mn0segANr8f75q1JK+8HGvNRTiLz231wfnU9/RTDOx9DkdxCc6yMpxlZXhXrcG1fPk5hapEZyepgQHs/gDOisqpHyAi8gYKIItY549+CEDpB2466x/W54OzuBjnFVdNq62jsIiymz6Uk+twlZdTfvOtlN7wAQb2/Z7wa4eJnDhOqr+f0CsHOfXKQQDcNbX4t15G/pt24Cwqysm1zIbU4CCdP/phuhj41Mkx9zlLy/Bt2Yp/8xa8a9bOeFn2cP2HZ+1ajQ6JyFlRAFmkLMsi0Z3eCrnwuuvm+GoWFpvHQ+FbrqHwLddgWRbJ7i7Cx46SOHKY3pcPEGuoJ9ZQT/fPfoJv06UUXP0WHIVFJPv7SPb1YYZDGHY7OBwYDgcGBpZlgpku9rL7/Njz87HnF+AsLk5PR+VA71NPYMXjeC+8iIIdV6fra9rbCNfVkejqpO/xX9P3+K8xXC68a9fhveBC8i7aiKe2dsqpusz0yxpNv4jI2VEAWaSsWAxSKQyXC5vTNdeXs2AZhoGztIyC0jLK3v9u2pu7Cb9Wx8Dv9xI88DKhVw4SGhoZOcsXwL18OZ7Va/GuWUvexotnZarMjEbpe/IJAEpv+ADedesz91mmSfTkSYIH9xN69RDxlhbCr9URfq2O7p8+hj2Qj2/Tpfg2bcJVVY2jsBCbN2/MSIfqP0TkXCmALFKpoZOJbXnTO+9FpsfmcuHfvAX/5i0kBwYY2Pssg/t+j2VZOAoLcRQUYvf7sFImVjKJlUykdymyGRg2O2Cl9zUZGCDZ30+iu4tYYyOxxkb6f/fbdPHtBRcS2HY5eRsuBjOFGY1iRqM4S0pxlpVN6zr79/wOMxzCs3bdmPABYNhseNetw7tuHWUfvIVkfz+R48cIHzlC6PAhkt3dDDz3DAPPPTPyGJcLR1ERjoJCHIVFxFuaMRwO3LU1s9i7IrKUKIAsUmY4HUDsPv8cX8ni5cjPp/id76b4HJY2m7EY0YZ6oidPEHn9GOEjrxE5eoTI0SMTtneWV+C7+GLyNl5C3kUbsLnGj25ZySS9j/8KgOJ3/cHU76OgIFOUa1kW8ZZmQq8cJHzkCImebpJ9vVixGIn2dhLt7ZnHeVav0eiaiJw1BZBFangExK4RkHnN5naTt/6CdJHwu/6AVDhE6OBBBl/cR7TxDDaXO71s2e0m1txEoqOdvqfa6XvqSQyXC9/GS/Bt3oJ/06WZ3V0Hfv88yd5eXMuW47tk04yuxzAM3MuW4162nOJ3vwdI1xOZ0SjJ3l5S/X0ke3tJDg7g37xl1vtDRJYOBZBFKjMF4/PN8ZXITNjzfOS/6c3kv+nN4+6zUimi9acJHU7vYRJrqCd4YD/BA/tpNwzcNbX4Nl7M4EsvAFD8znfPyr4vhmFg93rTe65UV5/z84mIgALIomVmRkAUQBYLw27HuyZdrFp6wwdI9HQTOniA4IEDRI4fI1Z/mlj9aSC9DX7g8u1TPKOIyNxRAFmkUpkaEAWQxcpZXELhW6+j8K3XYcZihI8dJfzaYaL19enRjxnu7SEicj7pO9QiZYbDgKZglgqb241/06X4N10615ciIjItOvpzkUqFgoBGQEREZH5SAFmkUqGhERDVgIiIyDykALJIZYpQNQIiIiLzkALIIjVchKoREBERmY8UQBYpjYCIiMh8pgCySGkZroiIzGcKIIuQZZojy3C1FbuIiMxDCiCLUCZ8eL2zshW3iIjIbNNPp0VI58CIiMh8pwCyCJlhnQMjIiLzmwLIIpTSChgREZnnFEAWocweIAogIiIyTymALELm0DbsmoIREZH5SgFkERo+iE4jICIiMl8pgCxCw8twNQIiIiLzlQLIIqQiVBERme8UQBahkSJU7YIqIiLzkwLIIjRyEJ1/jq9ERERkYgogi1BmJ1SdAyMiIvOUAsgilNkJVSMgIiIyTymALEIjRagaARERkfnJke3ORCLB3XffTXNzM/F4nDvuuIO1a9fyhS98AcMwWLduHffeey82m42HHnqIp59+GofDwd13382mTZtoaGiYsK3kjplIYMXjYLNhuD1zfTkiIiITypoGfvGLX1BYWMgjjzzC9773Pf7yL/+S+++/nzvvvJNHHnkEy7J48sknqaur44UXXuDRRx9l9+7d3HfffQATtpXcGpl+8WEYxhxfjYiIyMSyBpB3vvOdfPazn8382W63U1dXx/bt2wHYuXMne/fuZf/+/ezYsQPDMKiuriaVStHT0zNhW8mtkQJU7QEiIiLzV9YpGN/QRlbBYJDPfOYz3HnnnTzwwAOZ36x9Ph+Dg4MEg0EKCwvHPG5wcBDLssa1nUpRUR4Oh/2s39BUysoCOXvu+WCgK/3ZU5h/Vu91sffPuVL/TE59k536Jzv1T3aLsX+yBhCA1tZWPvnJT3Lbbbfx3ve+l69//euZ+0KhEPn5+fj9fkJDv3kP3x4IBMbUewy3nUpvb3im72HaysoCdHZOHYIWsmBTBwApp2fG73Up9M+5UP9MTn2TnfonO/VPdgu5f7IFp6xTMF1dXXzsYx/j85//PDfddBMAGzZsYN++fQDs2bOHbdu2sXXrVp599llM06SlpQXTNCkuLp6wreRW5hwYbcMuIiLzWNYRkO985zsMDAzwrW99i29961sA/Pmf/zlf+cpX2L17N6tXr+b666/Hbrezbds2br75ZkzTZNeuXQDcdddd3HPPPWPaSm6lwlqCKyIi859hWZY11xcxWi6HmRbyMNZ0df38p/T8359T/N4bKL3hAzN67FLon3Oh/pmc+iY79U926p/sFnL/nPUUjCw8mXNgtA27iIjMYwogi0xKB9GJiMgCoACyyAxvRKaD6EREZD5TAFlkNAIiIiILgQLIIjO8CsamVTAiIjKPKYAsMiNFqNoHRERE5i8FkHnOjMVo/cfv0vfUE1immbWtZVmkhjYi0wiIiIjMZ1NuxS5zK3ToFQaf35v+eOlFKv7odlxl5RO2tWJRSKUwXC5sTtd5vlIREZHp0wjIPBdtqM98HXn9GA1fvoe+p59iov3jUiFtwy4iIguDAsg8F2toAKDif/wRgcu3Y8VidHz/X2n+5t+Q6Oke0zYVCgJgU/2HiIjMcwog85hlWUTP1AOQt/Fiqj7x/1D1if8Hm99P+LU6Gu79Ev3PPpMZDdFBdCIislAogMxQoquTeHvbeXmtZHcXZiiE3R/AUVQMQODy7dTe91V8m7dgRiK0//M/0vy3u4m3t2X2ANEmZCIiMt8pgMyAZVk0PvA1Gu79EtEzDTl/vejQ9Iu7pgbDMDK3OwoKqP7kZ6i8/ePY8vIIH36Vhnu/RO9vfgVoEzIREZn/FEBmINXfR7K3FyuZpPW738aMxXL6erGhAlRPTe24+wzDIP+qN1P7l/eT/+arsZJJoidPADqITkRE5j8FkBmIt41MvSTa2uj4wfdz+nrDoyzumppJ2zgKCqj8o9tZ8cUv4R4KKq6q6pxel4iIyLnSPiAzEG9rBcCzZi2xMw0MPPsMeRs2kr/9ygnbW5Y1ZupkJizLGhkBWVk7ZXvvmrWs/PNdJDracVZUntVrioiInC8aAZmB4REQ/6WbKbvlNgA6/vWfCR95DSuZHNWulY4f/BsnP/spmh/627Oaqkn29pIaHMSW58NRWjqtxxg2G67KqrMOPSIiIueLRkBmYDiAOCur8G/ZSrjuMMGX99P0jb/GcLnwrlmLZVlEjh7JPCZ08ADNf7ubZZ+5E5vHO+3XGqn/qFGgEBGRRUcjIDOQaE9PwbgqKzEMg4o/+mMK3349rupqrHic8JHXiBw9guFykX/1Tqo/+RnsBYVEXj9G0+6vZ5bJTsdI/UdtLt6KiIjInNIIyDSZiQSJri4wDJxDZ7HYvV7Kb74VuJXkwACR149hRqP4t27NnEbrWracpm88QPTUKRof+CredevBZsMwDDyr1hC48qoJRzhG6j8mL0AVERFZqBRApinR0QGWhbOsHJvTOe5+R34+gW2Xj7vdVV7Oirvupukbf028pYV4S8uoe59k8OWXqPzD28ftXjqyB0jtbL4NERGReUEBZJqGV8C4Kme+wsRZXMLKu3cRPHgAKxEH0yQVidD7q18SOvAyDWcaqPqTO/CuWQtAsq+PVH8fNq8XZ1nZrL4PERGR+UABZJoS7SMFqGfD7vNR8OYdY24LbL+C1n/4NrH60zT+9f2UvOd9FL/rDzLnv7hX1mDYVKYjIiKLjwLINA2vgHFVVMzac7rKyln5hT+n67FH6X3813T//KcEX34JV9UyQPUfIiKyeCmATNPwAXSusxwBmYzhcFB28634Lt1M+7/8E7HGRmKNjQC4a2tn9bVERETmC43vT9O51IBMR96FF1Hz5a9QeN07YGhVjGfVmpy8loiIyFzTCMg0pAYHMUMhDLcHe0Fhzl7H5nZTfstt5F/1JpL9/bjKy3P2WiIiInNJAWQaMvUfQxuQ5dpEp9+KiIgsJpqCmYZ4e26nX0RERJYaBZBpGBkBmd0CVBERkaVKAWQaMgWoOuZeRERkViiATEOivR0Ap6ZgREREZoUCyBSsVIp4RzqAaARERERkdiiATCHR1QWpFI7iYmxu91xfjoiIyKKgADKFzAqYChWgioiIzBYFkCkk2oYPoZu9M2BERESWOgWQKcQ7OgDVf4iIiMwmBZApJLu7AHCWlM7xlYiIiCwe0wogr7zyCh/96EcBaGho4NZbb+W2227j3nvvxTRNAB566CFuuukmbrnlFg4dOpS17UKSGAogjpKSOb4SERGRxWPKAPK9732PL33pS8RiMQDuv/9+7rzzTh555BEsy+LJJ5+krq6OF154gUcffZTdu3dz3333Tdp2IbEsi0R3NwDOUo2AiIiIzJYpA8jKlSt58MEHM3+u8QL6cAAAC0tJREFUq6tj+/btAOzcuZO9e/eyf/9+duzYgWEYVFdXk0ql6OnpmbDtQmKGQlixGDavF3ueb64vR0REZNGY8jTc66+/nqampsyfLcvKnAjr8/kYHBwkGAxSWDhyTP3w7RO1nUpRUR4Oh33Gb2S6ysoC024b7E8XoHrKy2b0uIVsqbzPs6X+mZz6Jjv1T3bqn+wWY/9MGUDeyGYbGTQJhULk5+fj9/sJhUJjbg8EAhO2nUpvb3imlzRtZWUBOjunDkHDBk+cAcAoLJ7R4xaqmfbPUqP+mZz6Jjv1T3bqn+wWcv9kC04zXgWzYcMG9u3bB8CePXvYtm0bW7du5dlnn8U0TVpaWjBNk+Li4gnbLiTJ4foPFaCKiIjMqhmPgNx1113cc8897N69m9WrV3P99ddjt9vZtm0bN998M6ZpsmvXrknbLiQjK2BUgCoiIjKbDMuyrLm+iNFyOcw002Gs5of+ltDBA1T96ScJbLs8Z9c1XyzkYb7zQf0zOfVNduqf7NQ/2S3k/pnVKZilRFMwIiIiuaEAkoWmYERERHJDAWQSqUgEMxzGcLmwBxbf8icREZG5pAAyicwZMMUlmb1MREREZHYogEwi0aUzYERERHJFAWQSiR6dASMiIpIrCiCTyEzBqABVRERk1imATGL4FFxNwYiIiMw+BZBJDNeAaARERERk9imATCKZGQFRABEREZltCiATMONxUoMDYLfjKCiY68sRERFZdP7/9u4vNopyD+P4s7vjVumWP5WS0wpUV2mCIVirkpAA6gVWE7whelI1VeNNwZqKogFrGqtsGqvGRDExcmFMwCCNEL3B8CceT61KL1bQU6l4IIaEbVGwIJ21p7vdec9NWQpZ64XsvMB8P1fMLmF+eYCdp+/MzlBACjjvHiBhIgIA4GLj6FoAF6ACAFBcFJACsvmH0HH9BwAAxUABKeDcPUBYAQEAoBgoIAXwFFwAAIqLAlLAuVMwrIAAAFAMFJACuA07AADF5dge4FLwR/9Bnf73vxSZMkWRWJnGTp+WQiE5M2bYHg0AgCsSBUTSyU926H9HDp/32lUzKxRyiAcAgGII/BHWGKPMQEqSVPHPBnmjo8q5rkpvqbU8GQAAV67AF5Dc76fljYwoXFqq6cvrFQqFbI8EAMAVL/AXoWYGByVJJVXXUT4AAPBJ4AvI6Pjpl2hlleVJAAAIjsAXkMzAgCQpWllpeRIAAIKDAjI4XkCqrrM8CQAAwUEBya+AcAoGAAC/BLqAjA2fUc4dVvjqq7npGAAAPgp0AcmvflRV8Q0YAAB8RAGRFK3k+g8AAPwU7AIyOP4V3Cqu/wAAwE+BLiCjXIAKAIAVgS4g5+6CSgEBAMBPgS0guXRaud9PKxSNyim/1vY4AAAESmALSP4GZJVVCoUDGwMAAFYE9sjLLdgBALAnsAVkdHwFpIRbsAMA4LvAFpAMT8EFAMAap9g78DxP7e3tOnTokKLRqBKJhKqrq4u927907iF0FBAAAPxW9BWQvXv3KpPJaNu2bVq7dq1effXVYu/yL+VGRjQ2NKSQ4+iqmRW2xwEAIHCKvgKSTCa1dOlSSVJtba36+vqKvcuCTu3do4Fkr7LZnEw2K0m66h+VCkUiVuYBACDIil5AXNdVLBbLb0ciEY2NjclxCu96xowpcpyLXwqO/2e/3P8ePu+1a29ZoIqKsou+r8sZeUyOfP4c2UyOfCZHPpO7EvMpegGJxWJKp9P5bc/z/rR8SNKpU38UZY5ZzWt0fXoo/+eHImGVzJ6jEyeGi7K/y1FFRRl5TIJ8/hzZTI58Jkc+k7uc85msOBX9GpC6ujp1d3dLkg4cOKCamppi77KgcDSqspp5uiYe1zXxuK6uvp7TLwAAWFL0FZDly5frq6++UkNDg4wx6ujoKPYuAQDAJa7oBSQcDuuVV14p9m4AAMBlJLA3IgMAAPZQQAAAgO8oIAAAwHcUEAAA4DsKCAAA8B0FBAAA+I4CAgAAfEcBAQAAvqOAAAAA34WMMcb2EAAAIFhYAQEAAL6jgAAAAN9RQAAAgO8oIAAAwHcUEAAA4DsKCAAA8J1jewA/eJ6n9vZ2HTp0SNFoVIlEQtXV1bbHsiqbzaq1tVWpVEqZTEarV6/WTTfdpPXr1ysUCmnevHl66aWXFA4Ht6P+9ttvWrlypd5//305jkM2E7z33nv6/PPPlc1m9dBDD2nRokXkMy6bzWr9+vVKpVIKh8PasGED/37Gfffdd3rjjTe0efNmHT16tGAm77zzjr744gs5jqPW1lYtXLjQ9ti+mJhNf3+/NmzYoEgkomg0qs7OTs2cOVNdXV366KOP5DiOVq9erbvvvtv22H+PCYBdu3aZdevWGWOM2b9/v1m1apXliez7+OOPTSKRMMYYMzQ0ZO68807T1NRk9u3bZ4wxpq2tzezevdvmiFZlMhnz5JNPmnvuucccPnyYbCbYt2+faWpqMrlczriua95++23ymWDPnj2mpaXFGGNMT0+Peeqpp8jHGLNp0yazYsUK8+CDDxpjTMFM+vr6TGNjo/E8z6RSKbNy5UqbI/vmwmweeeQRc/DgQWOMMVu3bjUdHR3m119/NStWrDCjo6PmzJkz+V9fzgJRwZPJpJYuXSpJqq2tVV9fn+WJ7Lv33nv19NNP57cjkYh++OEHLVq0SJK0bNkyff3117bGs66zs1MNDQ2aNWuWJJHNBD09PaqpqVFzc7NWrVqlu+66i3wmuOGGG5TL5eR5nlzXleM45CNp7ty52rhxY367UCbJZFJLlixRKBRSVVWVcrmchoaGbI3smwuzefPNNzV//nxJUi6XU0lJib7//nvdeuutikajKisr09y5c/Xjjz/aGvmiCEQBcV1XsVgsvx2JRDQ2NmZxIvtKS0sVi8Xkuq5aWlq0Zs0aGWMUCoXy7w8PD1ue0o4dO3aovLw8X1olkc0Ep06dUl9fn9566y29/PLLeu6558hngilTpiiVSum+++5TW1ubGhsbyUdSfX29HOfcWf9CmVz4WR2UrC7M5uwPPt9++622bNmixx9/XK7rqqysLP97SktL5bqu77NeTIG4BiQWiymdTue3Pc877y87qAYHB9Xc3KyHH35Y999/v15//fX8e+l0WlOnTrU4nT3bt29XKBTSN998o/7+fq1bt+68n8KCnI0kTZ8+XfF4XNFoVPF4XCUlJTp+/Hj+/aDn88EHH2jJkiVau3atBgcH9dhjjymbzebfD3o+Z028BuZsJhd+VqfT6fMOukGyc+dOvfvuu9q0aZPKy8uvyGwCsQJSV1en7u5uSdKBAwdUU1NjeSL7Tp48qSeeeELPP/+8HnjgAUnSzTffrN7eXklSd3e3br/9dpsjWvPhhx9qy5Yt2rx5s+bPn6/Ozk4tW7aMbMbddttt+vLLL2WM0S+//KKRkREtXryYfMZNnTo1f2CYNm2axsbG+L9VQKFM6urq1NPTI8/zNDAwIM/zVF5ebnlS/3366af5z6A5c+ZIkhYuXKhkMqnR0VENDw/ryJEjl/2xLBAPozv7LZiffvpJxhh1dHToxhtvtD2WVYlEQp999pni8Xj+tRdffFGJRELZbFbxeFyJREKRSMTilPY1Njaqvb1d4XBYbW1tZDPutddeU29vr4wxeuaZZzR79mzyGZdOp9Xa2qoTJ04om83q0Ucf1YIFC8hH0rFjx/Tss8+qq6tLP//8c8FMNm7cqO7ubnmepxdeeCEwZe1sNlu3btXixYtVWVmZXym744471NLSoq6uLm3btk3GGDU1Nam+vt7y1H9PIAoIAAC4tATiFAwAALi0UEAAAIDvKCAAAMB3FBAAAOA7CggAAPAdBQQAAPiOAgIAAHxHAQEAAL77P8HNw/3EwLNBAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y_result = df.groupby([\"date\"])[\"new_deaths\"].sum().values\n",
"n_samples = len(y_result)\n",
"X = np.arange(1,n_samples+1, 1).reshape(-1, 1)\n",
"lin_reg = LinearRegression()\n",
"plot_learning_curves(lin_reg, X, y_result)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"when there are just one or two instances in the training set, the model can fit them perfectly, which is why the curve starts at zero. But as new instances are added to the training set, it becomes impossible for the model to fit the training data perfectly, both because the data is noisy and because it is not linear at all. So the error on the training data goes up until it reaches a plateau, at which point adding new instances to the training set doesn’t make the average error much better or worse. Now let’s look at the performance of the model on the validation data. When the model is trained on very few training instances, it is incapable of generalizing properly, which is why the validation error is initially quite big. Then as the model is shown more training examples, it learns and thus the validation error slowly goes down. However, once again a straight line cannot do a good job modeling the data, so the error ends up at a plateau, crossing by some values the other curve.\n",
"\n",
"These learning curves are typical of an underfitting model. Both curves have reached a plateau; they are close and fairly high."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let’s look at the learning curves of a 10th-degree polynomial model on the same data:"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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1yy1tjZXZYKKuUTSJf80JC8Vi6Gcm5GI+fHH/PhjfkpjbvzZPD9lA8TnP/95/elPf9L8+fNljNH69euHYlwAAGAYKxsgksmkvvvd7w7FWAAAwAjBKUkAACAwAgQAAAiMAAEAAAIjQAAAgMAIEAAAIDACBAAACIwAAQAAAiNAAACAwAgQAAAgsIQJexMPAAAYtahAAACAwAgQAAAgMAIEAAAIjAABAAACI0AAAIDACBAAACCwdK0HUI7rulqzZo3efvtt1dfXa926dbr88strPayaymazWrlypTo7O9Xf36/Fixfriiuu0IoVK5RIJPSJT3xCDz74oJLJ0Z0Pjx07pltuuUVPPPGE0uk08+Px6KOP6uWXX1Y2m9Xtt9+ua665hvnRx7+3VqxYoc7OTiWTSa1du5ZfO2e98cYb+uEPf6itW7fqvffeKzonP/3pT/XKK68onU5r5cqVmjlzZq2HPWS887N//36tXbtWqVRK9fX12rBhgy666CJt375dzzzzjNLptBYvXqzrrruu1sOOxgxzv/nNb8zy5cuNMca8/vrr5u67767xiGrvF7/4hVm3bp0xxpjjx4+ba6+91ixatMi89tprxhhjVq1aZX7729/Wcog119/fb7761a+aL3zhC+Yf//gH8+Px2muvmUWLFhnHcUwmkzE/+clPmJ+zfve735mlS5caY4zZtWuXueeee5gbY8yWLVvMjTfeaG677TZjjCk6J/v27TMdHR3GdV3T2dlpbrnllloOeUgNnp8vf/nL5u9//7sxxpht27aZ9evXmw8//NDceOON5syZM+bkyZP5j0eyYR+j9+zZo7lz50qSrrrqKu3bt6/GI6q966+/Xl//+tfzn6dSKb355pu65pprJEnt7e3685//XKvhDQsbNmzQ/PnzNWnSJElifjx27dql6dOna8mSJbr77rv12c9+lvk5a+rUqXIcR67rKpPJKJ1OMzeSpkyZoo0bN+Y/LzYne/bs0Zw5c5RIJHTppZfKcRwdP368VkMeUoPn50c/+pFmzJghSXIcRw0NDfrb3/6mT33qU6qvr1dzc7OmTJmit956q1ZDjsWwDxCZTEZNTU35z1OplHK5XA1HVHtjx45VU1OTMpmMli5dqnvvvVfGGCUSifzjPT09NR5l7Tz//POaOHFiPnhKYn48uru7tW/fPj3yyCN66KGH9M1vfpP5OauxsVGdnZ264YYbtGrVKnV0dDA3kubNm6d0emDFu9icDP6zejTN1eD5OfcPl7/+9a966qmntHDhQmUyGTU3N+efM3bsWGUymSEfa5yG/R6IpqYm9fb25j93XbfgP9RodejQIS1ZskQLFizQTTfdpIcffjj/WG9vr1paWmo4utp67rnnlEgk9Oqrr2r//v1avnx5wb+ERvv8jB8/Xm1tbaqvr1dbW5saGhp0+PDh/OOjeX6efPJJzZkzR/fdd58OHTqkO++8U9lsNv/4aJ4bL+8ekHNzMvjP6t7e3oK/MEebX/7yl9q0aZO2bNmiiRMnWjk/w74CMWvWLO3YsUOStHfvXk2fPr3GI6q9o0eP6q677tK3vvUt3XrrrZKkK6+8Urt375Yk7dixQ5/+9KdrOcSaevrpp/XUU09p69atmjFjhjZs2KD29nbm56yrr75aO3fulDFGR44c0alTpzR79mzmR1JLS0v+D/Vx48Ypl8vxe6uIYnMya9Ys7dq1S67r6oMPPpDrupo4cWKNR1obL7zwQv7PoMsuu0ySNHPmTO3Zs0dnzpxRT0+PDhw4MOL/Phv2l2md68J45513ZIzR+vXrNW3atFoPq6bWrVunX/3qV2pra8t/7Tvf+Y7WrVunbDartrY2rVu3TqlUqoajHB46Ojq0Zs0aJZNJrVq1ivk56wc/+IF2794tY4yWLVumyZMnMz/6+F+FK1euVFdXl7LZrL7yla/ok5/8JHMj6eDBg/rGN76h7du369133y06Jxs3btSOHTvkuq7uv//+URW2zs3Ptm3bNHv2bF1yySX5atVnPvMZLV26VNu3b9ezzz4rY4wWLVqkefPm1XjU0Qz7AAEAAIafYb+EAQAAhh8CBAAACIwAAQAAAiNAAACAwAgQAAAgMAIEAAAIjAABAAACI0AAAIDA/j9OM4rlb4HMswAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.pipeline import Pipeline\n",
"\n",
"polynomial_regression = Pipeline([\n",
" (\"poly_features\", PolynomialFeatures(degree=10, include_bias=False)),\n",
" (\"lin_reg\", LinearRegression()),\n",
" ])\n",
"\n",
"plot_learning_curves(polynomial_regression, X, y_result)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These learning curves look a bit like the previous ones, but there are two very important differences:\n",
"\n",
"The error on the training data is much lower than with the Linear Regression model.\n",
"\n",
"There is a gap between the curves. This means that the model performs significantly better on the training data than on the validation data, which is the hallmark of an overfitting model. However, if you used a much larger training set, the two curves would continue to get closer.\n",
"\n",
"One way to improve an overfitting model is to feed it more training data until the validation error reaches the training error."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 3.6.1. The Bias/Variance Tradeoff\n",
"\n",
"An important theoretical result of statistics and Machine Learning is the fact that a model’s generalization error can be expressed as the sum of three very different errors:\n",
"\n",
"**Bias**\n",
"This part of the generalization error is due to wrong assumptions, such as assuming that the data is linear when it is actually quadratic. A high-bias model is most likely to underfit the training data.10\n",
"\n",
"**Variance**\n",
"This part is due to the model’s excessive sensitivity to small variations in the training data. A model with many degrees of freedom (such as a high-degree polynomial model) is likely to have high variance, and thus to overfit the training data.\n",
"\n",
"**Irreducible error**\n",
"This part is due to the noisiness of the data itself. The only way to reduce this part of the error is to clean up the data (e.g., fix the data sources, such as broken sensors, or detect and remove outliers).\n",
"\n",
"Increasing a model’s complexity will typically increase its variance and reduce its bias. Conversely, reducing a model’s complexity increases its bias and reduces its variance. This is why it is called a tradeoff."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here is how to perform Ridge Regression with Scikit-Learn using a closed-form solution (a variant of Equation 4-9 using a matrix factorization technique by André-Louis Cholesky):\n"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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0AgrAACgoBFWAABAQSOsAACAgkZYAQAABY2wAgAACpphWVYBPaIKAAAgHp0VAABQ0AgrAACgoBFWAABAQSOsAACAgkZYAQAABY2wAgAAClog3zdQaEzT1H333ae3335bRUVFWrdunS644IJ831ZeDQ4OqqGhQYcOHdLAwICWL1+uiy66SKtXr5ZhGJo9e7bWrFkjn2/8Zt8PP/xQN954o372s58pEAhQG5vHHntML7/8sgYHB7VkyRJVV1dTn1MGBwe1evVqHTp0SD6fT/fffz///pzy5ptv6ic/+Ym2bNmijo6OpDXZvHmzduzYobl5kFMAAATuSURBVEAgoIaGBs2fPz/ft50T9tocOHBA999/v/x+v4qKirRx40ZNmzZNzz33nJ555hkFAgEtX75cV199db5ve3QsxPntb39r1dfXW5ZlWW+88YZ122235fmO8u/555+31q1bZ1mWZXV3d1tXXnmldeutt1qvv/66ZVmW1djYaP3ud7/L5y3m1cDAgPWd73zHuvbaa6133nmH2ti8/vrr1q233mpFo1ErHA5bDz30EPWxeemll6yVK1dalmVZra2t1u233059LMt6/PHHreuvv9666aabLMuyktZk//791rJlyyzTNK1Dhw5ZN954Yz5vOWcSa3PzzTdbf/nLXyzLsqynn37aWr9+vXX06FHr+uuvt/r7+60TJ07Evh/Lxl9cT2PPnj1asGCBJOnSSy/V/v3783xH+Xfdddfpu9/9buy13+9Xe3u7qqurJUm1tbXatWtXvm4v7zZu3KjFixdr+vTpkkRtbFpbWzVnzhytWLFCt912m6666irqYzNr1ixFo1GZpqlwOKxAIEB9JM2cOVObNm2KvU5Wkz179qimpkaGYWjGjBmKRqPq7u7O1y3nTGJtmpubNXfuXElSNBrVxIkTtW/fPn3+859XUVGRQqGQZs6cqbfeeitft5wVhJUE4XBYwWAw9trv92toaCiPd5R/xcXFCgaDCofDWrlypVatWiXLsmQYRuz93t7ePN9lfrz44osqKyuLBVxJ1Mamp6dH+/fv109/+lOtXbtWd955J/WxmTJlig4dOqQvfvGLamxs1LJly6iPpLq6OgUCw6sUktUk8c/q8VKrxNqc/p+kP/3pT3ryySf1jW98Q+FwWKFQKDamuLhY4XA45/eaTaxZSRAMBhWJRGKvTdOM+xdjvDp8+LBWrFihpUuX6oYbbtCDDz4Yey8SiaikpCSPd5c/L7zwggzD0GuvvaYDBw6ovr4+7v/uxnNtJKm0tFQVFRUqKipSRUWFJk6cqA8++CD2/nivz89//nPV1NToBz/4gQ4fPqyvf/3rGhwcjL0/3utzmn3NzumaJP5ZHYlE4v6CHk9+/etf65FHHtHjjz+usrKys7I2dFYSVFZWqqWlRZK0d+9ezZkzJ893lH/Hjh3TLbfcorvuuksLFy6UJM2bN09tbW2SpJaWFlVVVeXzFvPmqaee0pNPPqktW7Zo7ty52rhxo2pra6nNKZdddpleffVVWZalI0eOqK+vT1dccQX1OaWkpCT2l8g555yjoaEh/ttKIllNKisr1draKtM01dnZKdM0VVZWluc7zb1f/vKXsT+DPv3pT0uS5s+frz179qi/v1+9vb169913x/zfZTzIMMHp3UB//etfZVmW1q9frwsvvDDft5VX69at029+8xtVVFTErt1zzz1at26dBgcHVVFRoXXr1snv9+fxLvNv2bJluu++++Tz+dTY2EhtTvnxj3+strY2WZal733vezr//POpzymRSEQNDQ3q6urS4OCgvva1r+mSSy6hPpIOHjyo73//+3ruuef03nvvJa3Jpk2b1NLSItM0dffdd4+bYHe6Nk8//bSuuOIKffKTn4x14C6//HKtXLlSzz33nJ599llZlqVbb71VdXV1eb7r0SGsAACAgsY0EAAAKGiEFQAAUNAIKwAAoKARVgAAQEEjrAAAgIJGWAEAAAWNsAIAAAoaYQUAABS0/w93Qf0VKWvrKAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.linear_model import Ridge, SGDRegressor\n",
"ridge_reg = Ridge(alpha=1, solver=\"cholesky\")\n",
"ridge_reg.fit(X, y_result)\n",
"y_ridge_pred = ridge_reg.predict(X)\n",
"plot_learning_curves(polynomial_regression, X, y_ridge_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And using Stochastic Gradient Descent:"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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DAAAUHQEDAAAUHQEDAAAUHQEDAAAUHQEDAAAUHQEDAAAUHQEDAAAUHS+n+QJAADsRwUDAAAUHQEDAAAUHQEDAAAUHQEDAAAUHQEDAAAUHQEDAAAUXSToARwvx3G0YsUK7d27V9FoVE1NTTrllFOCHlagEomEli1bpv3796urq0vXXXedPve5z2np0qUKhUI69dRTdccdd6isbGjny48++kiXXnqpHn30UUUiEebH5aGHHtLGjRuVSCQ0f/58nXXWWczPUYlEQkuXLtX+/ftVVlamu+++m//9SNq5c6d++tOfau3atWpubs45H7/+9a/1t7/9TZFIRMuWLdOkSZOCHrZv3PPzxhtv6O6771Y4HFY0GtWqVat04oknat26dfrDH/6gSCSi6667TtOnTw962MfHDHLPPvusufXWW40xxrz66qvm2muvDXhEwVu/fr1pamoyxhjz8ccfm2nTpplrrrnGvPzyy8YYY5YvX26ee+65IIcYuK6uLnP99debr3zlK+af//wn8+Py8ssvm2uuucakUikTi8XMr371K+bH5a9//atZvHixMcaYF154wdx4441Dfn7WrFljZs2aZS6//HJjjMk5H7t27TKNjY3GcRyzf/9+c+mllwY5ZF9lz883v/lN8/rrrxtjjHniiSfMypUrzQcffGBmzZplOjs7zaFDh9KvB7NBH7G3bdum8847T5J0xhlnaNeuXQGPKHgXXXSRbrrppvR1OBzW7t27ddZZZ0mSzj//fP3jH/8IangDwqpVqzRv3jyddNJJksT8uLzwwguaMGGCbrjhBl177bX68pe/zPy4jB07VqlUSo7jKBaLKRKJDPn5aWho0OrVq9PXueZj27ZtOvfccxUKhXTyyScrlUrp448/DmrIvsqen5/97Gc6/fTTJUmpVErl5eV67bXXNHnyZEWjUdXW1qqhoUF79uwJashFMegDRiwWU01NTfo6HA4rmUwGOKLgVVdXq6amRrFYTIsXL9bNN98sY4xCoVD6fltbW8CjDM4f//hHjRo1Kh1MJTE/Lq2trdq1a5d++ctf6s4779QPfvAD5selqqpK+/fv11e/+lUtX75cjY2NQ35+Zs6cqUike8U913xk/7N6KM1T9vwc+w+b7du36/HHH9e3v/1txWIx1dbWpj9TXV2tWCzm+1iLadD3YNTU1Cgej6evHcfJ+D/kUHXgwAHdcMMNWrBggWbPnq377rsvfS8ej2v48OEBji5YTz31lEKhkF566SW98cYbuvXWWzP+S2qoz8+IESM0btw4RaNRjRs3TuXl5fr3v/+dvj/U5+e3v/2tzj33XH3/+9/XgQMHdOWVVyqRSKTvD/X5kZTRf3JsPrL/WR2PxzP+hTrU/OUvf9GDDz6oNWvWaNSoUVbOz6CvYEyZMkWbN2+WJO3YsUMTJkwIeETB+/DDD3XVVVfplltu0WWXXSZJ+vznP68tW7ZIkjZv3qwzzzwzyCEG6ve//70ef/xxrV27VqeffrpWrVql888/n/k5asAFvocAAAF3SURBVOrUqfr73/8uY4zef/99HT58WGeffTbzc9Tw4cPT/+Cvq6tTMpnk/7+y5JqPKVOm6IUXXpDjOHrvvffkOI5GjRoV8EiD8ec//zn9z6DPfOYzkqRJkyZp27Zt6uzsVFtbm/bt2zfo/3026B92dmwXyZtvviljjFauXKnx48cHPaxANTU16ZlnntG4cePS7/3oRz9SU1OTEomExo0bp6amJoXD4QBHOTA0NjZqxYoVKisr0/Lly5mfo37yk59oy5YtMsZoyZIlGjNmDPNzVDwe17Jly9TS0qJEIqGFCxdq4sSJQ35+3n33XX3ve9/TunXr9K9//SvnfKxevVqbN2+W4zj64Q9/OKSC2LH5eeKJJ3T22WfrU5/6VLrS9cUvflGLFy/WunXr9OSTT8oYo2uuuUYzZ84MeNTHZ9AHDAAAMPAM+iUSAAAw8BAwAABA0REwAABA0REwAABA0REwAABA0REwAABA0REwAABA0REwAABA0f1/FR+/fRHm0P8AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sgd_reg = SGDRegressor(penalty=\"l2\")\n",
"sgd_reg.fit(X, y_result)\n",
"y_sdg_pred = sgd_reg.predict(X)\n",
"plot_learning_curves(polynomial_regression, X, y_sdg_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The penalty hyperparameter sets the type of regularization term to use. Specifying \"l2\" indicates that you want SGD to add a regularization term to the cost function equal to half the square of the ℓ2 norm of the weight vector: this is simply Ridge Regression."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following will show how to perform the model with a Lasso regression model"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.linear_model import Lasso\n",
"lasso_reg = Lasso(alpha=0.1)\n",
"lasso_reg.fit(X, y_result)\n",
"y_lasso_pred = lasso_reg.predict(X)\n",
"plot_learning_curves(polynomial_regression, X, y_lasso_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following picture will show how to perform the model using ElasticNet estimator"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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f9TXvvY1feMb31B7e/slOTZUVoqsXLlShw8fliS9+OKLWrp0acR3FL0333xT999/vz7zmc9o7dq1kqRly5bp2LFjkqTDhw+rq6sryluMzLe+9S098cQT2rdvn2644Qbt3r1bq1evZmwm3HTTTfrZz34mY4zeeOMNXbhwQTfffDPjM6GlpaXwTWTBggXK5XL82/LhNyYrV67UkSNH5DiOTp06Jcdx1N7eHvGdVt/3vve9wv+DrrvuOknSihUr1Nvbq9HRUQ0NDenVV1+d99/LOMiwyORuoFdeeUXGGD366KN697vfHfVtRWrXrl36/ve/r87OzsJrn/vc57Rr1y5ls1l1dnZq165disViEd5l9O677z49/PDDsm1b27ZtY2wm/NVf/ZWOHTsmY4w+9alP6dprr2V8JmQyGW3dulVnz55VNpvVRz7yES1fvpzxkfT666/rz//8z/X000/rtdde8x2Tr3zlKzp8+LAcx9FnP/vZyybYTY7Nk08+qZtvvlnXXHNNoQL3nve8Rxs3btTTTz+tb3/72zLG6IEHHtCaNWsivuuZIawAAICaxjQQAACoaYQVAABQ0wgrAACgphFWAABATSOsAACAmkZYAQAANY2wAgAAahphBQAA1LT/D3PiPsMBCWXgAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.linear_model import ElasticNet\n",
"elastic_net = ElasticNet(alpha=0.1, l1_ratio=0.5)\n",
"elastic_net.fit(X, y_result)\n",
"y_elastNet_pred = elastic_net.predict(X)\n",
"plot_learning_curves(polynomial_regression, X, y_elastNet_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.7. Conclusions <a id='part3_7'></a>\n",
"\n",
"as we can see, the models have become better by changing from pure LinearRegression() (where the error of the training and validation sets converged at around 3000) to PolynominalFeatures (where the error of the training and validation sets converged at around 500) and better still with the regularization methods in PolynominalFeatures (Ridge, Lasso, Stochastic Gradient Descent and Elastic Net in values close to 100 of error)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. Predictive Modelling (TensorFlow)<a id='part4'></a>\n",
"\n",
"In this section we will use the TensorFlow library to create models of prediction for the new_deaths variable."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.1. TensorFlow for Polynomial Linear Regressions to new_deaths <a id='part4_1'></a>"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {},
"outputs": [],
"source": [
"from __future__ import absolute_import, division, print_function"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"WARNING:tensorflow:From C:\\Users\\oscar\\anaconda3\\lib\\site-packages\\tensorflow_core\\python\\compat\\v2_compat.py:65: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"non-resource variables are not supported in the long term\n"
]
}
],
"source": [
"# importing TensorFlow Libraries\n",
"# Here we will use TensorFlow v1\n",
"import tensorflow.compat.v1 as tf\n",
"import numpy as np\n",
"from sklearn.preprocessing import StandardScaler, MinMaxScaler\n",
"from sklearn.metrics import r2_score as r2\n",
"# Prevent TensorFlow from using v2\n",
"tf.disable_v2_behavior() \n",
"\n",
"rng = np.random"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {},
"outputs": [],
"source": [
"# Setting up the tunning parameters\n",
"alpha = 0.01\n",
"epochs = 200\n",
"m = len(x)\n",
"errors = []"
]
},
{
"cell_type": "code",
"execution_count": 148,
"metadata": {},
"outputs": [],
"source": [
"# Generating the data series for new_deaths\n",
"Y = df.groupby([\"date\"])[\"new_deaths\"].sum().values\n",
"#Y = Y[np.where(Y>50)]\n",
"n_samples = len(Y)\n",
"X = np.arange(1,n_samples+1, 1)"
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {},
"outputs": [],
"source": [
"predDegree = 5\n",
"\n",
"# Reshape the data series for both X (array from range(1, len(y))) and Y data\n",
"x_reshaped = X.reshape((len(X), 1))\n",
"y_reshaped = Y.reshape((len(Y), 1))\n",
"\n",
"# Splitting the data into training and test size chunks\n",
"x_train, x_test, y_train, y_test = train_test_split(x_reshaped,y_reshaped, test_size=0.2)"
]
},
{
"cell_type": "code",
"execution_count": 150,
"metadata": {},
"outputs": [],
"source": [
"# First, scale the X data\n",
"scaler = StandardScaler().fit(x_train)\n",
"x_train = scaler.transform(x_train)\n",
"x_test = scaler.transform(x_test)"
]
},
{
"cell_type": "code",
"execution_count": 151,
"metadata": {},
"outputs": [],
"source": [
"# Create TensorFLow placeholders for each variable\n",
"X = tf.placeholder(tf.float32, shape=[None, 1], name='x-input')\n",
"Y = tf.placeholder(tf.float32, shape=[None, 1], name='y-input')\n",
"\n",
"theta_1 = tf.Variable(tf.zeros([1, 1]))\n",
"theta_2 = tf.Variable(tf.zeros([1, 1]))\n",
"theta_3 = tf.Variable(tf.zeros([1, 1]))\n",
"theta_4 = tf.Variable(tf.zeros([1, 1]))\n",
"theta_5 = tf.Variable(tf.zeros([1, 1]))\n",
"theta_6 = tf.Variable(tf.zeros([1, 1]))"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {},
"outputs": [],
"source": [
"# Create the function/model that recreates the line to fit the data\n",
"model = tf.matmul(tf.pow(X, 5), theta_1) + tf.matmul(tf.pow(X, 4), theta_2) + tf.matmul(tf.pow(X, 3), theta_3) + tf.matmul(tf.pow(X, 2), theta_3) +tf.matmul(X, theta_5) + theta_6\n",
"\n",
"# Create the function of MSE to obtain the cost of the model\n",
"cost = tf.reduce_sum(tf.square(Y-model))/(2*m)\n",
"\n",
"# Create the optimizer to tell the cost how much it has to vary the slope to adapt the model to the real data\n",
"optimizer = tf.train.GradientDescentOptimizer(alpha).minimize(cost)\n",
"\n",
"# Initialize previous TensorFlow variables\n",
"init = tf.global_variables_initializer()"
]
},
{
"cell_type": "code",
"execution_count": 153,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAFXCAYAAABjpg4PAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeViVZf7H8fc57MtBQcEFxR0XEAVUcIEyNcw0zV2UcsmWaWqqmUkD9yVbnRk1m1Irh7LcWjTbNLcUN3BBUNxBcUVFA1RAOL8/KqZ+o4kGHjjn87qurqvzeHP4fjle+vF+7vt+DGaz2YyIiIhIBWW0dAEiIiIiv0dhRURERCo0hRURERGp0BRWREREpEJTWBEREZEKTWFFREREKjSFFREbVlRUxPvvv0/fvn3p3bs3PXr04PXXX6egoOCO33POnDmsWbOmDKv8yezZs5kyZQoAycnJTJgwoUzff+nSpXz00UcAfPzxx7z77rtl+v4icufsLV2AiFjOpEmTuHz5MgsXLsRkMnHlyhX+9re/ERcXx+uvv35H77lt2zYaN25cxpX+1uHDhzl79myZvmdSUhJNmjQBYMiQIWX63iLyxyisiNiozMxMVq5cyaZNm3B3dwfA1dWVyZMns3PnTgBycnKYPHkyaWlpGAwGIiIieOGFF7C3t2fWrFmsXr0aBwcHPD09mTFjBqtXryYlJYXXXnsNOzs7unXrVvL9/vrXvxIQEMDIkSMBWLRoEdu3b2f69Om89NJLZGRkYDQaCQgIYMqUKRiNN574PX36NLNmzSInJ4eXXnqJGTNmsHbtWt5++20KCwtxdnZmzJgxBAcHM3v2bHbv3s25c+do2rQpY8eOZcKECVy4cIGsrCx8fX355z//yc6dO1m7di2bN2/G2dmZixcvkp2dzYQJEzh06BBTpkzh0qVLGAwGRo4cSZ8+fdi2bRv/+Mc/qFu3LocOHeL69etMnjyZ0NDQcv7kRGyQWURs0jfffGPu16/f74558cUXzVOnTjUXFxeb8/PzzSNHjjS/88475lOnTplDQkLM+fn5ZrPZbF6wYIF59erVZrPZbB42bJj566+//p/32rJli7lnz54lr/v372/evHmz+bPPPjOPHDnSbDabzdevXzfHxcWZ09PT/+frZ82aZZ48ebLZbDably9fbn788cfNZrPZfOzYMXPPnj3NFy9eNJvNZvPBgwfNHTt2NOfl5ZlnzZpljoqKMhcWFprNZrP5gw8+ML/zzjtms9lsLi4uNj/22GPmBQsWmM1ms3nMmDHm+fPn/+Z7FRYWmrt06WL+9ttvzWaz2XzmzBlzRESEeefOneatW7eamzdvbt63b1/Jz2Do0KG//0MXkTuimRURG2U0GikuLv7dMRs3buTjjz/GYDDg6OjI4MGDWbhwIY899hjNmjXj4YcfJjIyksjISNq3b/+77xUWFkZ+fj579+7FxcWFixcv0r59ezIzM/nHP/5BTEwMHTp04NFHH6VevXql7mPz5s2cO3eO4cOHl1wzGAwcP34cgNatW2Nv/9MfdY8++iiJiYm8//77pKenc+jQIVq1anXT905PTyc/P5/7778fgBo1anD//ffzww8/EBYWRu3atWnevDkALVq04LPPPit13SJSegorIjYqKCiIo0ePkpubW3IbCODs2bOMHz+eWbNmUVxcjMFgKPm14uJirl+/jtFo5MMPP2Tv3r1s2bKFl19+mYiICF588cWbfj+DwUD//v354osvcHBwoH///hgMBurWrcvq1avZtm0bW7duZcSIEUyZMoX77ruvVH0UFxfTvn17/vnPf5ZcO336ND4+PqxevRpXV9eS66+//jrJycn069ePsLAwrl+/jvl3Ho9WVFT0m/4BzGYz169fB8DZ2fk3/f3ee4nIndNuIBEbVaNGDXr16kVsbCy5ubkA5ObmMmnSJKpWrYqzszOdOnXiww8/xGw2U1BQwJIlS+jQoQNpaWn07NmTRo0a8cQTTzB8+HD27t0LgJ2dXclf5v/fww8/zNq1a/n222/p27cv8NPalZdeeolOnTrx97//nU6dOrFv377frf3X36N9+/Zs3ryZI0eOALBhwwYeeughrl279j9ft2nTJh599FH69OlDtWrVSEhIoKio6KZ1N2zYEHt7e7777jvgpyD37bff0qFDh1L9jEWkbGhmRcSGTZw4kblz5zJ48GDs7OwoKCiga9euPPPMMwCMGzeOadOm0atXLwoLC4mIiODJJ5/E0dGRBx54gH79+uHq6oqzszPjxo0D4L777mPmzJkUFhby8MMP/+b7eXt706JFC65fv06NGjUA6NOnD9u3b6dHjx64uLhQq1YtYmJifrfu1q1b89Zbb/HnP/+ZOXPmMGXK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8+eTmZlJU1OThQm7R2VlJdevXyc1NZWUlBSOHTtGS0sLwcHB2Gw2oqOjKS4utjpmt/j88885c+YMCQkJVFRU8P7775OcnMz69ev57rvvrI7XKcHBwWzcuLFtu6Kiou0K0dSpUzly5AglJSVER0djs9kYMmQIra2tXL161arId639jPn5+YwZMwaA1tZWPD09cTqdVFdXs2bNGhITEyksLLQqbqe1n7Oj401vW8vvbdy4kQULFhAQEEBtbS0NDQ2kpaWRlJTEJ598YkHSzunovGHVPqmy0k5TUxMOh6Nt226399gD/4/5+PjgcDhoampixYoVrFy5kvDwcF566SV27txJUFAQmzdvtjpml3l5ebF48WK2bdvGq6++yurVq/H29m77vo+PD42NjRYm7D7vvvsuzzzzDACPPvooWVlZ7Ny5k2vXrrF7926L03XO9OnTcXf/4e60MQabzQb8sHbt99GetqbtZwwICACgtLSUHTt2sGjRIq5du8aCBQt488032bp1K++99x6VlZVWRe6U9nN2dLzpbWsJUFdXR3FxMXPnzgVu3UpJTU1l8+bNbNq0iddee426ujor4t61js4bVu2TKivtOBwOmpub27adTuf/+WPsqS5evEhKSgpxcXHMnj2bmJgYxo4dC0BMTAwnT560OGHXjRgxgtjYWGw2GyNGjMDX15f6+vq27zc3NzNgwAALE3aPhoYGzp49S1RUFABPPPEEQUFB2Gw2HnvssV6xlgBubj8cor5fu/b7aHNzc4/7X4729u7dy9q1a9myZQt+fn54e3uTkpKCt7c3DoeDqKioHldW2uvoeNMb13Lfvn3MmjULu90OgL+/P4mJibi7u3P//fczZswYqqqqLE5559qfN6zaJ1VW2omIiODQoUMAnDhxglGjRlmcqHvU1taSmprKiy++yLx58wBYvHgxZWVlABQXFxMWFmZlxG5RWFjI+vXrAbh8+TLXr1+nf//+nD9/HmMMRUVFREZGWpyy644dO8bkyZOBW1cfYmNjuXTpEtB71hLg4Ycf5ujRowAcOnSIyMhIIiIiKCoqwul0cuHCBZxOJ35+fhYn7byPPvqIHTt2sH37doKCggA4d+4cycnJtLa2cvPmTUpLS3v8mnZ0vOltawm3Zps6dWrb9pEjR1i5ciVw6yT+5ZdfEhoaalW8u9LRecOqfbJ3XDLoRjExMRw+fJjExESMMeTl5VkdqVu88847NDQ0UFBQQEFBAQAZGRnk5eXh4eGBv78/OTk5Fqfsunnz5rF69WqSkpKw2Wzk5eXh5ubGCy+8QGtrK9HR0YwbN87qmF1WVVXFsGHDALDZbOTm5rJs2TK8vLx44IEHiI+Ptzhh90hPTycrK4v8/HxCQ0OZPn06drudyMhIEhIScDqdrFmzxuqYndba2sq6desIDAxk+fLlAEycOJEVK1Ywe/Zs4uPj8fDwIC4ujpEjR1qctmuys7PJycm57XjjcDh6zVp+r6qqqq10AkybNo2ioiLi4+Nxc3Pjueee6zGFrKPzxssvv0xubu493yf1qcsiIiLi0nQbSERERFyayoqIiIi4NJUVERERcWkqKyIiIuLSVFZERETEpamsiIiIiEtTWRERERGXprIiIiIiLu1/AKOzevoI4I6KAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 Correlation: -0.6940568618959166\n"
]
}
],
"source": [
"with tf.Session() as sess:\n",
" sess.run(init)\n",
" for i in range(epochs):\n",
" sess.run(optimizer, feed_dict={X:x_train, Y:y_train})\n",
" loss = sess.run(cost, feed_dict={X:x_train, Y:y_train})\n",
" errors.append(loss)\n",
" \n",
" theta1, theta2, theta3, theta4, theta5, theta6 = sess.run([theta_1, theta_2, theta_3, theta_4, theta_5, theta_6])\n",
"\n",
"plt.plot(list(range(epochs)), errors)\n",
"plt.title(\"Cost vs Iteration\")\n",
"plt.show()\n",
"\n",
"x = scaler.transform(x_reshaped)\n",
"pred = theta1 * x**5 + theta2 * x**4 + theta3 * x**3 + theta4 * x**2 + theta5 * x + theta6\n",
"\n",
"plt.plot(x, pred, 'red', label=\"Prediction\")\n",
"plt.plot(x, y_reshaped, 'blue', label=\"True Values\")\n",
"plt.legend()\n",
"plt.title(\"Salary vs Position\")\n",
"plt.show()\n",
"\n",
"print(\"R2 Correlation: \", r2(y_reshaped, pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"this model doesn´t seem to adapt very well to the data shown, so tuning the parameters and factor inside the model should be the right approach to get it better at prediction and fitting to the data."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. Conclusions<a id='part5'></a>\n",
"\n",
"At this point, we can deduce that diving into machine learning algorithms is not very confortable, but it is interesting how we can guess the trends of a specific variable or parameter to try to understand its behaviour and maybe future values that can come up afterwards. So, here we used scikit learn and tensorFlow to predict and create models to fit that data, but still, there are mistakes applied and poor data brought in. Still I hope this is a initial guide into diving to this fantastic and still place-to-explore called machine learning and deep learning."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. References<a id='part6'></a>\n",
"\n",
" - https://www.kaggle.com/ash316/eda-to-prediction-dietanic\n",
" - https://jakevdp.github.io/PythonDataScienceHandbook/05.03-hyperparameters-and-model-validation.html\n",
" - https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/ch04.html\n",
" - https://github.com/aymericdamien/TensorFlow-Examples/\n",
" - https://towardsdatascience.com/linear-regression-from-scratch-with-tensorflow-2-part-1-3e2443804df0"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment