Skip to content

Instantly share code, notes, and snippets.

@audhiaprilliant
Last active January 10, 2023 21:08
Show Gist options
  • Select an option

  • Save audhiaprilliant/5c302a8558e17fff2e28f9151d88d94a to your computer and use it in GitHub Desktop.

Select an option

Save audhiaprilliant/5c302a8558e17fff2e28f9151d88d94a to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "choice-creek",
"metadata": {},
"source": [
"# Walk-forward Optimization"
]
},
{
"cell_type": "markdown",
"id": "forced-nothing",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"id": "improving-panama",
"metadata": {},
"source": [
"## Import modules"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "recovered-texas",
"metadata": {},
"outputs": [],
"source": [
"# Dataframe manipulation\n",
"import pandas as pd\n",
"\n",
"# Linear algebra\n",
"import numpy as np\n",
"\n",
"# Data visualization with plotnine\n",
"from plotnine import *\n",
"import plotnine\n",
"\n",
"# Autocorrelation\n",
"import matplotlib.pyplot as plt\n",
"import statsmodels.api as sm\n",
"\n",
"# Table styling\n",
"import seaborn as sns\n",
"cm = sns.light_palette('green', as_cmap = True)\n",
"\n",
"# Cross validation and data partitioning\n",
"from sklearn.model_selection import cross_val_score\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.model_selection import TimeSeriesSplit\n",
"from sklearn.model_selection import KFold\n",
"\n",
"# Grid-search\n",
"from sklearn.model_selection import GridSearchCV\n",
"\n",
"# Data modelling\n",
"from sklearn.ensemble import RandomForestRegressor\n",
"\n",
"# Evaluation\n",
"from sklearn.metrics import make_scorer\n",
"from sklearn.metrics import mean_squared_error"
]
},
{
"cell_type": "markdown",
"id": "valued-picture",
"metadata": {},
"source": [
"## Load data set"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "configured-progressive",
"metadata": {},
"outputs": [],
"source": [
"# Load the data set\n",
"df = pd.read_csv('../data/AirQualityUCI.csv', sep = ';')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "neutral-collector",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dimension data: 9471 rows and 17 columns\n"
]
},
{
"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>Date</th>\n",
" <th>Time</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" <th>Unnamed: 15</th>\n",
" <th>Unnamed: 16</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10/03/2004</td>\n",
" <td>18.00.00</td>\n",
" <td>2,6</td>\n",
" <td>1360.0</td>\n",
" <td>150.0</td>\n",
" <td>11,9</td>\n",
" <td>1046.0</td>\n",
" <td>166.0</td>\n",
" <td>1056.0</td>\n",
" <td>113.0</td>\n",
" <td>1692.0</td>\n",
" <td>1268.0</td>\n",
" <td>13,6</td>\n",
" <td>48,9</td>\n",
" <td>0,7578</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10/03/2004</td>\n",
" <td>19.00.00</td>\n",
" <td>2</td>\n",
" <td>1292.0</td>\n",
" <td>112.0</td>\n",
" <td>9,4</td>\n",
" <td>955.0</td>\n",
" <td>103.0</td>\n",
" <td>1174.0</td>\n",
" <td>92.0</td>\n",
" <td>1559.0</td>\n",
" <td>972.0</td>\n",
" <td>13,3</td>\n",
" <td>47,7</td>\n",
" <td>0,7255</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10/03/2004</td>\n",
" <td>20.00.00</td>\n",
" <td>2,2</td>\n",
" <td>1402.0</td>\n",
" <td>88.0</td>\n",
" <td>9,0</td>\n",
" <td>939.0</td>\n",
" <td>131.0</td>\n",
" <td>1140.0</td>\n",
" <td>114.0</td>\n",
" <td>1555.0</td>\n",
" <td>1074.0</td>\n",
" <td>11,9</td>\n",
" <td>54,0</td>\n",
" <td>0,7502</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10/03/2004</td>\n",
" <td>21.00.00</td>\n",
" <td>2,2</td>\n",
" <td>1376.0</td>\n",
" <td>80.0</td>\n",
" <td>9,2</td>\n",
" <td>948.0</td>\n",
" <td>172.0</td>\n",
" <td>1092.0</td>\n",
" <td>122.0</td>\n",
" <td>1584.0</td>\n",
" <td>1203.0</td>\n",
" <td>11,0</td>\n",
" <td>60,0</td>\n",
" <td>0,7867</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10/03/2004</td>\n",
" <td>22.00.00</td>\n",
" <td>1,6</td>\n",
" <td>1272.0</td>\n",
" <td>51.0</td>\n",
" <td>6,5</td>\n",
" <td>836.0</td>\n",
" <td>131.0</td>\n",
" <td>1205.0</td>\n",
" <td>116.0</td>\n",
" <td>1490.0</td>\n",
" <td>1110.0</td>\n",
" <td>11,2</td>\n",
" <td>59,6</td>\n",
" <td>0,7888</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Time CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) PT08.S2(NMHC) \\\n",
"0 10/03/2004 18.00.00 2,6 1360.0 150.0 11,9 1046.0 \n",
"1 10/03/2004 19.00.00 2 1292.0 112.0 9,4 955.0 \n",
"2 10/03/2004 20.00.00 2,2 1402.0 88.0 9,0 939.0 \n",
"3 10/03/2004 21.00.00 2,2 1376.0 80.0 9,2 948.0 \n",
"4 10/03/2004 22.00.00 1,6 1272.0 51.0 6,5 836.0 \n",
"\n",
" NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) PT08.S5(O3) T RH \\\n",
"0 166.0 1056.0 113.0 1692.0 1268.0 13,6 48,9 \n",
"1 103.0 1174.0 92.0 1559.0 972.0 13,3 47,7 \n",
"2 131.0 1140.0 114.0 1555.0 1074.0 11,9 54,0 \n",
"3 172.0 1092.0 122.0 1584.0 1203.0 11,0 60,0 \n",
"4 131.0 1205.0 116.0 1490.0 1110.0 11,2 59,6 \n",
"\n",
" AH Unnamed: 15 Unnamed: 16 \n",
"0 0,7578 NaN NaN \n",
"1 0,7255 NaN NaN \n",
"2 0,7502 NaN NaN \n",
"3 0,7867 NaN NaN \n",
"4 0,7888 NaN NaN "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Data dimension\n",
"print('Dimension data: {} rows and {} columns'.format(\n",
" len(df),\n",
" len(df.columns))\n",
")\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "challenging-order",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Date', 'Time', 'CO(GT)', 'PT08.S1(CO)', 'NMHC(GT)', 'C6H6(GT)',\n",
" 'PT08.S2(NMHC)', 'NOx(GT)', 'PT08.S3(NOx)', 'NO2(GT)', 'PT08.S4(NO2)',\n",
" 'PT08.S5(O3)', 'T', 'RH', 'AH', 'Unnamed: 15', 'Unnamed: 16'],\n",
" dtype='object')"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Columns\n",
"df.columns"
]
},
{
"cell_type": "markdown",
"id": "hydraulic-corner",
"metadata": {},
"source": [
"## Data preparation"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "hispanic-sweden",
"metadata": {},
"outputs": [],
"source": [
"# Drop last two columns\n",
"cols = ['Date', 'Time', 'CO(GT)', 'PT08.S1(CO)',\n",
" 'NMHC(GT)', 'C6H6(GT)', 'PT08.S2(NMHC)',\n",
" 'NOx(GT)', 'PT08.S3(NOx)', 'NO2(GT)',\n",
" 'PT08.S4(NO2)', 'PT08.S5(O3)', 'T', 'RH', 'AH']\n",
"df = df[cols]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "deadly-creator",
"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>Date</th>\n",
" <th>Time</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10/03/2004</td>\n",
" <td>18.00.00</td>\n",
" <td>2,6</td>\n",
" <td>1360.0</td>\n",
" <td>150.0</td>\n",
" <td>11,9</td>\n",
" <td>1046.0</td>\n",
" <td>166.0</td>\n",
" <td>1056.0</td>\n",
" <td>113.0</td>\n",
" <td>1692.0</td>\n",
" <td>1268.0</td>\n",
" <td>13,6</td>\n",
" <td>48,9</td>\n",
" <td>0,7578</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10/03/2004</td>\n",
" <td>19.00.00</td>\n",
" <td>2</td>\n",
" <td>1292.0</td>\n",
" <td>112.0</td>\n",
" <td>9,4</td>\n",
" <td>955.0</td>\n",
" <td>103.0</td>\n",
" <td>1174.0</td>\n",
" <td>92.0</td>\n",
" <td>1559.0</td>\n",
" <td>972.0</td>\n",
" <td>13,3</td>\n",
" <td>47,7</td>\n",
" <td>0,7255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10/03/2004</td>\n",
" <td>20.00.00</td>\n",
" <td>2,2</td>\n",
" <td>1402.0</td>\n",
" <td>88.0</td>\n",
" <td>9,0</td>\n",
" <td>939.0</td>\n",
" <td>131.0</td>\n",
" <td>1140.0</td>\n",
" <td>114.0</td>\n",
" <td>1555.0</td>\n",
" <td>1074.0</td>\n",
" <td>11,9</td>\n",
" <td>54,0</td>\n",
" <td>0,7502</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10/03/2004</td>\n",
" <td>21.00.00</td>\n",
" <td>2,2</td>\n",
" <td>1376.0</td>\n",
" <td>80.0</td>\n",
" <td>9,2</td>\n",
" <td>948.0</td>\n",
" <td>172.0</td>\n",
" <td>1092.0</td>\n",
" <td>122.0</td>\n",
" <td>1584.0</td>\n",
" <td>1203.0</td>\n",
" <td>11,0</td>\n",
" <td>60,0</td>\n",
" <td>0,7867</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10/03/2004</td>\n",
" <td>22.00.00</td>\n",
" <td>1,6</td>\n",
" <td>1272.0</td>\n",
" <td>51.0</td>\n",
" <td>6,5</td>\n",
" <td>836.0</td>\n",
" <td>131.0</td>\n",
" <td>1205.0</td>\n",
" <td>116.0</td>\n",
" <td>1490.0</td>\n",
" <td>1110.0</td>\n",
" <td>11,2</td>\n",
" <td>59,6</td>\n",
" <td>0,7888</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Time CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) PT08.S2(NMHC) \\\n",
"0 10/03/2004 18.00.00 2,6 1360.0 150.0 11,9 1046.0 \n",
"1 10/03/2004 19.00.00 2 1292.0 112.0 9,4 955.0 \n",
"2 10/03/2004 20.00.00 2,2 1402.0 88.0 9,0 939.0 \n",
"3 10/03/2004 21.00.00 2,2 1376.0 80.0 9,2 948.0 \n",
"4 10/03/2004 22.00.00 1,6 1272.0 51.0 6,5 836.0 \n",
"\n",
" NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) PT08.S5(O3) T RH \\\n",
"0 166.0 1056.0 113.0 1692.0 1268.0 13,6 48,9 \n",
"1 103.0 1174.0 92.0 1559.0 972.0 13,3 47,7 \n",
"2 131.0 1140.0 114.0 1555.0 1074.0 11,9 54,0 \n",
"3 172.0 1092.0 122.0 1584.0 1203.0 11,0 60,0 \n",
"4 131.0 1205.0 116.0 1490.0 1110.0 11,2 59,6 \n",
"\n",
" AH \n",
"0 0,7578 \n",
"1 0,7255 \n",
"2 0,7502 \n",
"3 0,7867 \n",
"4 0,7888 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# New data\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "false-criticism",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 9471 entries, 0 to 9470\n",
"Data columns (total 15 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 Date 9357 non-null object \n",
" 1 Time 9357 non-null object \n",
" 2 CO(GT) 9357 non-null object \n",
" 3 PT08.S1(CO) 9357 non-null float64\n",
" 4 NMHC(GT) 9357 non-null float64\n",
" 5 C6H6(GT) 9357 non-null object \n",
" 6 PT08.S2(NMHC) 9357 non-null float64\n",
" 7 NOx(GT) 9357 non-null float64\n",
" 8 PT08.S3(NOx) 9357 non-null float64\n",
" 9 NO2(GT) 9357 non-null float64\n",
" 10 PT08.S4(NO2) 9357 non-null float64\n",
" 11 PT08.S5(O3) 9357 non-null float64\n",
" 12 T 9357 non-null object \n",
" 13 RH 9357 non-null object \n",
" 14 AH 9357 non-null object \n",
"dtypes: float64(8), object(7)\n",
"memory usage: 1.1+ MB\n"
]
}
],
"source": [
"# Column type\n",
"df.info()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "sitting-fellowship",
"metadata": {},
"outputs": [],
"source": [
"# Replace comma with point\n",
"df.replace(\n",
" to_replace = ',',\n",
" value = '.',\n",
" inplace = True,\n",
" regex = True\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "unique-stationery",
"metadata": {},
"outputs": [],
"source": [
"# Change column type\n",
"df = df.astype(\n",
" {\n",
" 'CO(GT)': float, \n",
" 'C6H6(GT)': float,\n",
" 'T': float,\n",
" 'RH': float,\n",
" 'AH': float\n",
" }\n",
")"
]
},
{
"cell_type": "markdown",
"id": "handmade-tuition",
"metadata": {},
"source": [
"## Missing values manipulation"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "ordered-chassis",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Date 114\n",
"Time 114\n",
"CO(GT) 114\n",
"PT08.S1(CO) 114\n",
"NMHC(GT) 114\n",
"C6H6(GT) 114\n",
"PT08.S2(NMHC) 114\n",
"NOx(GT) 114\n",
"PT08.S3(NOx) 114\n",
"NO2(GT) 114\n",
"PT08.S4(NO2) 114\n",
"PT08.S5(O3) 114\n",
"T 114\n",
"RH 114\n",
"AH 114\n",
"dtype: int64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Missing values\n",
"df.isna().sum()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "generic-rendering",
"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>Date</th>\n",
" <th>Time</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10/03/2004</td>\n",
" <td>18.00.00</td>\n",
" <td>2.6</td>\n",
" <td>1360.0</td>\n",
" <td>150.0</td>\n",
" <td>11.9</td>\n",
" <td>1046.0</td>\n",
" <td>166.0</td>\n",
" <td>1056.0</td>\n",
" <td>113.0</td>\n",
" <td>1692.0</td>\n",
" <td>1268.0</td>\n",
" <td>13.6</td>\n",
" <td>48.9</td>\n",
" <td>0.7578</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10/03/2004</td>\n",
" <td>19.00.00</td>\n",
" <td>2.0</td>\n",
" <td>1292.0</td>\n",
" <td>112.0</td>\n",
" <td>9.4</td>\n",
" <td>955.0</td>\n",
" <td>103.0</td>\n",
" <td>1174.0</td>\n",
" <td>92.0</td>\n",
" <td>1559.0</td>\n",
" <td>972.0</td>\n",
" <td>13.3</td>\n",
" <td>47.7</td>\n",
" <td>0.7255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10/03/2004</td>\n",
" <td>20.00.00</td>\n",
" <td>2.2</td>\n",
" <td>1402.0</td>\n",
" <td>88.0</td>\n",
" <td>9.0</td>\n",
" <td>939.0</td>\n",
" <td>131.0</td>\n",
" <td>1140.0</td>\n",
" <td>114.0</td>\n",
" <td>1555.0</td>\n",
" <td>1074.0</td>\n",
" <td>11.9</td>\n",
" <td>54.0</td>\n",
" <td>0.7502</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10/03/2004</td>\n",
" <td>21.00.00</td>\n",
" <td>2.2</td>\n",
" <td>1376.0</td>\n",
" <td>80.0</td>\n",
" <td>9.2</td>\n",
" <td>948.0</td>\n",
" <td>172.0</td>\n",
" <td>1092.0</td>\n",
" <td>122.0</td>\n",
" <td>1584.0</td>\n",
" <td>1203.0</td>\n",
" <td>11.0</td>\n",
" <td>60.0</td>\n",
" <td>0.7867</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10/03/2004</td>\n",
" <td>22.00.00</td>\n",
" <td>1.6</td>\n",
" <td>1272.0</td>\n",
" <td>51.0</td>\n",
" <td>6.5</td>\n",
" <td>836.0</td>\n",
" <td>131.0</td>\n",
" <td>1205.0</td>\n",
" <td>116.0</td>\n",
" <td>1490.0</td>\n",
" <td>1110.0</td>\n",
" <td>11.2</td>\n",
" <td>59.6</td>\n",
" <td>0.7888</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9352</th>\n",
" <td>04/04/2005</td>\n",
" <td>10.00.00</td>\n",
" <td>3.1</td>\n",
" <td>1314.0</td>\n",
" <td>-200.0</td>\n",
" <td>13.5</td>\n",
" <td>1101.0</td>\n",
" <td>472.0</td>\n",
" <td>539.0</td>\n",
" <td>190.0</td>\n",
" <td>1374.0</td>\n",
" <td>1729.0</td>\n",
" <td>21.9</td>\n",
" <td>29.3</td>\n",
" <td>0.7568</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9353</th>\n",
" <td>04/04/2005</td>\n",
" <td>11.00.00</td>\n",
" <td>2.4</td>\n",
" <td>1163.0</td>\n",
" <td>-200.0</td>\n",
" <td>11.4</td>\n",
" <td>1027.0</td>\n",
" <td>353.0</td>\n",
" <td>604.0</td>\n",
" <td>179.0</td>\n",
" <td>1264.0</td>\n",
" <td>1269.0</td>\n",
" <td>24.3</td>\n",
" <td>23.7</td>\n",
" <td>0.7119</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9354</th>\n",
" <td>04/04/2005</td>\n",
" <td>12.00.00</td>\n",
" <td>2.4</td>\n",
" <td>1142.0</td>\n",
" <td>-200.0</td>\n",
" <td>12.4</td>\n",
" <td>1063.0</td>\n",
" <td>293.0</td>\n",
" <td>603.0</td>\n",
" <td>175.0</td>\n",
" <td>1241.0</td>\n",
" <td>1092.0</td>\n",
" <td>26.9</td>\n",
" <td>18.3</td>\n",
" <td>0.6406</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9355</th>\n",
" <td>04/04/2005</td>\n",
" <td>13.00.00</td>\n",
" <td>2.1</td>\n",
" <td>1003.0</td>\n",
" <td>-200.0</td>\n",
" <td>9.5</td>\n",
" <td>961.0</td>\n",
" <td>235.0</td>\n",
" <td>702.0</td>\n",
" <td>156.0</td>\n",
" <td>1041.0</td>\n",
" <td>770.0</td>\n",
" <td>28.3</td>\n",
" <td>13.5</td>\n",
" <td>0.5139</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9356</th>\n",
" <td>04/04/2005</td>\n",
" <td>14.00.00</td>\n",
" <td>2.2</td>\n",
" <td>1071.0</td>\n",
" <td>-200.0</td>\n",
" <td>11.9</td>\n",
" <td>1047.0</td>\n",
" <td>265.0</td>\n",
" <td>654.0</td>\n",
" <td>168.0</td>\n",
" <td>1129.0</td>\n",
" <td>816.0</td>\n",
" <td>28.5</td>\n",
" <td>13.1</td>\n",
" <td>0.5028</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>9357 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" Date Time CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) \\\n",
"0 10/03/2004 18.00.00 2.6 1360.0 150.0 11.9 \n",
"1 10/03/2004 19.00.00 2.0 1292.0 112.0 9.4 \n",
"2 10/03/2004 20.00.00 2.2 1402.0 88.0 9.0 \n",
"3 10/03/2004 21.00.00 2.2 1376.0 80.0 9.2 \n",
"4 10/03/2004 22.00.00 1.6 1272.0 51.0 6.5 \n",
"... ... ... ... ... ... ... \n",
"9352 04/04/2005 10.00.00 3.1 1314.0 -200.0 13.5 \n",
"9353 04/04/2005 11.00.00 2.4 1163.0 -200.0 11.4 \n",
"9354 04/04/2005 12.00.00 2.4 1142.0 -200.0 12.4 \n",
"9355 04/04/2005 13.00.00 2.1 1003.0 -200.0 9.5 \n",
"9356 04/04/2005 14.00.00 2.2 1071.0 -200.0 11.9 \n",
"\n",
" PT08.S2(NMHC) NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) \\\n",
"0 1046.0 166.0 1056.0 113.0 1692.0 \n",
"1 955.0 103.0 1174.0 92.0 1559.0 \n",
"2 939.0 131.0 1140.0 114.0 1555.0 \n",
"3 948.0 172.0 1092.0 122.0 1584.0 \n",
"4 836.0 131.0 1205.0 116.0 1490.0 \n",
"... ... ... ... ... ... \n",
"9352 1101.0 472.0 539.0 190.0 1374.0 \n",
"9353 1027.0 353.0 604.0 179.0 1264.0 \n",
"9354 1063.0 293.0 603.0 175.0 1241.0 \n",
"9355 961.0 235.0 702.0 156.0 1041.0 \n",
"9356 1047.0 265.0 654.0 168.0 1129.0 \n",
"\n",
" PT08.S5(O3) T RH AH \n",
"0 1268.0 13.6 48.9 0.7578 \n",
"1 972.0 13.3 47.7 0.7255 \n",
"2 1074.0 11.9 54.0 0.7502 \n",
"3 1203.0 11.0 60.0 0.7867 \n",
"4 1110.0 11.2 59.6 0.7888 \n",
"... ... ... ... ... \n",
"9352 1729.0 21.9 29.3 0.7568 \n",
"9353 1269.0 24.3 23.7 0.7119 \n",
"9354 1092.0 26.9 18.3 0.6406 \n",
"9355 770.0 28.3 13.5 0.5139 \n",
"9356 816.0 28.5 13.1 0.5028 \n",
"\n",
"[9357 rows x 15 columns]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Non-missing values\n",
"df[df.notnull().any(axis = 1)]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "hearing-diving",
"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>Date</th>\n",
" <th>Time</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>9357</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9358</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9359</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9360</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9361</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9466</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9467</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9468</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9469</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9470</th>\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>NaN</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>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>114 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" Date Time CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) PT08.S2(NMHC) \\\n",
"9357 NaN NaN NaN NaN NaN NaN NaN \n",
"9358 NaN NaN NaN NaN NaN NaN NaN \n",
"9359 NaN NaN NaN NaN NaN NaN NaN \n",
"9360 NaN NaN NaN NaN NaN NaN NaN \n",
"9361 NaN NaN NaN NaN NaN NaN NaN \n",
"... ... ... ... ... ... ... ... \n",
"9466 NaN NaN NaN NaN NaN NaN NaN \n",
"9467 NaN NaN NaN NaN NaN NaN NaN \n",
"9468 NaN NaN NaN NaN NaN NaN NaN \n",
"9469 NaN NaN NaN NaN NaN NaN NaN \n",
"9470 NaN NaN NaN NaN NaN NaN NaN \n",
"\n",
" NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) PT08.S5(O3) T RH AH \n",
"9357 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9358 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9359 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9360 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9361 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"... ... ... ... ... ... .. .. .. \n",
"9466 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9467 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9468 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9469 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"9470 NaN NaN NaN NaN NaN NaN NaN NaN \n",
"\n",
"[114 rows x 15 columns]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Missing values\n",
"df[df.isnull().any(axis = 1)]"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "corrected-penalty",
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[9357, 9358, 9359, 9360, 9361, 9362, 9363, 9364, 9365, 9366, 9367, 9368, 9369, 9370, 9371, 9372, 9373, 9374, 9375, 9376, 9377, 9378, 9379, 9380, 9381, 9382, 9383, 9384, 9385, 9386, 9387, 9388, 9389, 9390, 9391, 9392, 9393, 9394, 9395, 9396, 9397, 9398, 9399, 9400, 9401, 9402, 9403, 9404, 9405, 9406, 9407, 9408, 9409, 9410, 9411, 9412, 9413, 9414, 9415, 9416, 9417, 9418, 9419, 9420, 9421, 9422, 9423, 9424, 9425, 9426, 9427, 9428, 9429, 9430, 9431, 9432, 9433, 9434, 9435, 9436, 9437, 9438, 9439, 9440, 9441, 9442, 9443, 9444, 9445, 9446, 9447, 9448, 9449, 9450, 9451, 9452, 9453, 9454, 9455, 9456, 9457, 9458, 9459, 9460, 9461, 9462, 9463, 9464, 9465, 9466, 9467, 9468, 9469, 9470]\n"
]
}
],
"source": [
"# Indices for missing values\n",
"ind = df[df.isnull().any(axis = 1)].index.tolist()\n",
"print(ind)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "organized-track",
"metadata": {},
"outputs": [],
"source": [
"# Drop missing values\n",
"df.dropna(inplace = True)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "superb-donna",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Date 0\n",
"Time 0\n",
"CO(GT) 0\n",
"PT08.S1(CO) 0\n",
"NMHC(GT) 0\n",
"C6H6(GT) 0\n",
"PT08.S2(NMHC) 0\n",
"NOx(GT) 0\n",
"PT08.S3(NOx) 0\n",
"NO2(GT) 0\n",
"PT08.S4(NO2) 0\n",
"PT08.S5(O3) 0\n",
"T 0\n",
"RH 0\n",
"AH 0\n",
"dtype: int64"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Missing values\n",
"df.isna().sum()"
]
},
{
"cell_type": "markdown",
"id": "rough-baking",
"metadata": {},
"source": [
"## Explanatory data analysis"
]
},
{
"cell_type": "markdown",
"id": "failing-volume",
"metadata": {},
"source": [
"### 1 Linear correlation"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "afraid-printer",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
"#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col1,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col2,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col3,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col4,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col5,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col6,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col7,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col8,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col9,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col10,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col12{\n",
" background-color: #008000;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col1,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col3,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col8,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col2,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col6,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col10,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col12,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col4,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col5,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col7,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col9,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col11{\n",
" background-color: #ebf3eb;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col2{\n",
" background-color: #cce4cc;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col4,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col12{\n",
" background-color: #d4e8d4;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col5,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col4{\n",
" background-color: #4da64d;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col6,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col9{\n",
" background-color: #b2d7b2;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col7,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col1,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col6{\n",
" background-color: #3e9e3e;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col10{\n",
" background-color: #ddecdd;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col3{\n",
" background-color: #e4f0e4;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col12{\n",
" background-color: #e0eee0;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col1{\n",
" background-color: #cfe5cf;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col2{\n",
" background-color: #c2dfc2;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col3,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col8{\n",
" background-color: #219021;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col4{\n",
" background-color: #0e870e;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col5{\n",
" background-color: #76ba76;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col6{\n",
" background-color: #95c995;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col7{\n",
" background-color: #9ece9e;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col9{\n",
" background-color: #148a14;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col10,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col4,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col3,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col10{\n",
" background-color: #339933;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col11{\n",
" background-color: #379b37;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col12{\n",
" background-color: #329832;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col0{\n",
" background-color: #bcdcbc;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col1{\n",
" background-color: #cbe4cb;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col3{\n",
" background-color: #dbebdb;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col4{\n",
" background-color: #c3e0c3;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col5{\n",
" background-color: #a5d1a5;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col6{\n",
" background-color: #9bcc9b;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col7{\n",
" background-color: #a7d2a7;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col8{\n",
" background-color: #b7dab7;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col9{\n",
" background-color: #afd6af;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col10{\n",
" background-color: #cee5ce;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col11{\n",
" background-color: #d7e9d7;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col2{\n",
" background-color: #dfeddf;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col1{\n",
" background-color: #249224;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col2,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col0{\n",
" background-color: #e1eee1;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col5{\n",
" background-color: #a4d0a4;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col6{\n",
" background-color: #4fa74f;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col7{\n",
" background-color: #bdddbd;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col8{\n",
" background-color: #319831;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col9{\n",
" background-color: #45a245;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col10,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col3{\n",
" background-color: #068306;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col1{\n",
" background-color: #108810;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col12,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col3{\n",
" background-color: #038103;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col0{\n",
" background-color: #d1e6d1;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col2{\n",
" background-color: #d0e6d0;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col3{\n",
" background-color: #349a34;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col5{\n",
" background-color: #6db66d;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col6{\n",
" background-color: #b0d6b0;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col7{\n",
" background-color: #9acb9a;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col8,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col4{\n",
" background-color: #1b8d1b;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col9{\n",
" background-color: #118911;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col10{\n",
" background-color: #44a144;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col4{\n",
" background-color: #5aac5a;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col12{\n",
" background-color: #4ba54b;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col10{\n",
" background-color: #66b266;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col1{\n",
" background-color: #b1d7b1;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col4{\n",
" background-color: #92c892;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col7{\n",
" background-color: #229122;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col8,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col2{\n",
" background-color: #d3e7d3;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col9{\n",
" background-color: #68b368;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col11{\n",
" background-color: #e5f0e5;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col1,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col8,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col10{\n",
" background-color: #e0eedf;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col3{\n",
" background-color: #6fb76f;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col8{\n",
" background-color: #c0dec0;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col10{\n",
" background-color: #55a955;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col9{\n",
" background-color: #5cad5c;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col12{\n",
" background-color: #51a851;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col0{\n",
" background-color: #47a347;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col2{\n",
" background-color: #d2e7d2;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col3{\n",
" background-color: #e6f1e6;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col4{\n",
" background-color: #b4d8b4;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col5{\n",
" background-color: #1d8e1d;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col6{\n",
" background-color: #cde5cd;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col9{\n",
" background-color: #91c791;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col12{\n",
" background-color: #e3efe3;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col2{\n",
" background-color: #e8f2e8;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col1{\n",
" background-color: #269226;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col2{\n",
" background-color: #c4e0c4;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col5{\n",
" background-color: #9dcd9d;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col6{\n",
" background-color: #8fc68f;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col7{\n",
" background-color: #bfdebf;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col9,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col8{\n",
" background-color: #359a35;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col8{\n",
" background-color: #4ea64e;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col12{\n",
" background-color: #41a041;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col7{\n",
" background-color: #c7e1c7;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col1{\n",
" background-color: #1a8d1a;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col3{\n",
" background-color: #52a852;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col4{\n",
" background-color: #138913;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col5{\n",
" background-color: #57ab57;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col6{\n",
" background-color: #c6e1c6;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col7{\n",
" background-color: #8cc58c;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col8,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col1{\n",
" background-color: #3c9d3c;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col11,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col12{\n",
" background-color: #67b267;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col0,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col2{\n",
" background-color: #e7f1e7;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col2{\n",
" background-color: #eaf2ea;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col4{\n",
" background-color: #48a348;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col5{\n",
" background-color: #badbba;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col6,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col8{\n",
" background-color: #43a143;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col7,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col7{\n",
" background-color: #cae3ca;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col9{\n",
" background-color: #61af61;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col11{\n",
" background-color: #198c19;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col12,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col10{\n",
" background-color: #048204;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col0{\n",
" background-color: #e2efe2;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col3{\n",
" background-color: #118811;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col5{\n",
" background-color: #acd4ac;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col6{\n",
" background-color: #46a246;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col10{\n",
" background-color: #178b17;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col12,#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col11{\n",
" background-color: #0c860c;\n",
" color: #f1f1f1;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col1{\n",
" background-color: #399c39;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col5{\n",
" background-color: #b3d8b3;\n",
" color: #000000;\n",
" }#T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col9{\n",
" background-color: #5dae5d;\n",
" color: #000000;\n",
" }</style><table id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >CO(GT)</th> <th class=\"col_heading level0 col1\" >PT08.S1(CO)</th> <th class=\"col_heading level0 col2\" >NMHC(GT)</th> <th class=\"col_heading level0 col3\" >C6H6(GT)</th> <th class=\"col_heading level0 col4\" >PT08.S2(NMHC)</th> <th class=\"col_heading level0 col5\" >NOx(GT)</th> <th class=\"col_heading level0 col6\" >PT08.S3(NOx)</th> <th class=\"col_heading level0 col7\" >NO2(GT)</th> <th class=\"col_heading level0 col8\" >PT08.S4(NO2)</th> <th class=\"col_heading level0 col9\" >PT08.S5(O3)</th> <th class=\"col_heading level0 col10\" >T</th> <th class=\"col_heading level0 col11\" >RH</th> <th class=\"col_heading level0 col12\" >AH</th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row0\" class=\"row_heading level0 row0\" >CO(GT)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col0\" class=\"data row0 col0\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col1\" class=\"data row0 col1\" >0.041411</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col2\" class=\"data row0 col2\" >0.128351</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col3\" class=\"data row0 col3\" >-0.031378</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col4\" class=\"data row0 col4\" >0.029926</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col5\" class=\"data row0 col5\" >0.526451</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col6\" class=\"data row0 col6\" >-0.089981</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col7\" class=\"data row0 col7\" >0.671127</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col8\" class=\"data row0 col8\" >-0.073724</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col9\" class=\"data row0 col9\" >0.080310</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col10\" class=\"data row0 col10\" >-0.068939</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col11\" class=\"data row0 col11\" >-0.048227</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row0_col12\" class=\"data row0 col12\" >-0.045892</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row1\" class=\"row_heading level0 row1\" >PT08.S1(CO)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col0\" class=\"data row1 col0\" >0.041411</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col1\" class=\"data row1 col1\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col2\" class=\"data row1 col2\" >0.170007</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col3\" class=\"data row1 col3\" >0.852687</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col4\" class=\"data row1 col4\" >0.933102</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col5\" class=\"data row1 col5\" >0.277993</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col6\" class=\"data row1 col6\" >0.087019</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col7\" class=\"data row1 col7\" >0.154030</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col8\" class=\"data row1 col8\" >0.845149</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col9\" class=\"data row1 col9\" >0.892434</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col10\" class=\"data row1 col10\" >0.754844</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col11\" class=\"data row1 col11\" >0.745375</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row1_col12\" class=\"data row1 col12\" >0.764903</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row2\" class=\"row_heading level0 row2\" >NMHC(GT)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col0\" class=\"data row2 col0\" >0.128351</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col1\" class=\"data row2 col1\" >0.170007</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col2\" class=\"data row2 col2\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col3\" class=\"data row2 col3\" >0.037323</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col4\" class=\"data row2 col4\" >0.110104</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col5\" class=\"data row2 col5\" >-0.004427</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col6\" class=\"data row2 col6\" >0.048821</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col7\" class=\"data row2 col7\" >0.103307</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col8\" class=\"data row2 col8\" >0.162680</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col9\" class=\"data row2 col9\" >0.101185</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col10\" class=\"data row2 col10\" >-0.000009</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col11\" class=\"data row2 col11\" >0.008284</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row2_col12\" class=\"data row2 col12\" >0.012500</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row3\" class=\"row_heading level0 row3\" >C6H6(GT)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col0\" class=\"data row3 col0\" >-0.031378</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col1\" class=\"data row3 col1\" >0.852687</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col2\" class=\"data row3 col2\" >0.037323</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col3\" class=\"data row3 col3\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col4\" class=\"data row3 col4\" >0.767433</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col5\" class=\"data row3 col5\" >-0.001174</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col6\" class=\"data row3 col6\" >0.512193</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col7\" class=\"data row3 col7\" >-0.010992</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col8\" class=\"data row3 col8\" >0.774673</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col9\" class=\"data row3 col9\" >0.641334</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col10\" class=\"data row3 col10\" >0.971375</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col11\" class=\"data row3 col11\" >0.925062</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row3_col12\" class=\"data row3 col12\" >0.984555</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row4\" class=\"row_heading level0 row4\" >PT08.S2(NMHC)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col0\" class=\"data row4 col0\" >0.029926</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col1\" class=\"data row4 col1\" >0.933102</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col2\" class=\"data row4 col2\" >0.110104</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col3\" class=\"data row4 col3\" >0.767433</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col4\" class=\"data row4 col4\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col5\" class=\"data row4 col5\" >0.331272</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col6\" class=\"data row4 col6\" >-0.073667</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col7\" class=\"data row4 col7\" >0.176488</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col8\" class=\"data row4 col8\" >0.874782</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col9\" class=\"data row4 col9\" >0.909905</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col10\" class=\"data row4 col10\" >0.669025</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col11\" class=\"data row4 col11\" >0.585803</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row4_col12\" class=\"data row4 col12\" >0.646572</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row5\" class=\"row_heading level0 row5\" >NOx(GT)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col0\" class=\"data row5 col0\" >0.526451</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col1\" class=\"data row5 col1\" >0.277993</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col2\" class=\"data row5 col2\" >-0.004427</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col3\" class=\"data row5 col3\" >-0.001174</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col4\" class=\"data row5 col4\" >0.331272</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col5\" class=\"data row5 col5\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col6\" class=\"data row5 col6\" >-0.436084</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col7\" class=\"data row5 col7\" >0.817139</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col8\" class=\"data row5 col8\" >0.035546</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col9\" class=\"data row5 col9\" >0.461889</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col10\" class=\"data row5 col10\" >-0.138452</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col11\" class=\"data row5 col11\" >-0.053009</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row5_col12\" class=\"data row5 col12\" >-0.095847</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row6\" class=\"row_heading level0 row6\" >PT08.S3(NOx)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col0\" class=\"data row6 col0\" >-0.089981</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col1\" class=\"data row6 col1\" >0.087019</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col2\" class=\"data row6 col2\" >0.048821</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col3\" class=\"data row6 col3\" >0.512193</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col4\" class=\"data row6 col4\" >-0.073667</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col5\" class=\"data row6 col5\" >-0.436084</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col6\" class=\"data row6 col6\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col7\" class=\"data row6 col7\" >-0.256232</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col8\" class=\"data row6 col8\" >0.122734</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col9\" class=\"data row6 col9\" >-0.208865</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col10\" class=\"data row6 col10\" >0.588111</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col11\" class=\"data row6 col11\" >0.573549</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row6_col12\" class=\"data row6 col12\" >0.621618</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row7\" class=\"row_heading level0 row7\" >NO2(GT)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col0\" class=\"data row7 col0\" >0.671127</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col1\" class=\"data row7 col1\" >0.154030</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col2\" class=\"data row7 col2\" >0.103307</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col3\" class=\"data row7 col3\" >-0.010992</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col4\" class=\"data row7 col4\" >0.176488</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col5\" class=\"data row7 col5\" >0.817139</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col6\" class=\"data row7 col6\" >-0.256232</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col7\" class=\"data row7 col7\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col8\" class=\"data row7 col8\" >-0.022174</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col9\" class=\"data row7 col9\" >0.253439</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col10\" class=\"data row7 col10\" >-0.084104</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col11\" class=\"data row7 col11\" >-0.081305</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row7_col12\" class=\"data row7 col12\" >-0.060440</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row8\" class=\"row_heading level0 row8\" >PT08.S4(NO2)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col0\" class=\"data row8 col0\" >-0.073724</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col1\" class=\"data row8 col1\" >0.845149</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col2\" class=\"data row8 col2\" >0.162680</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col3\" class=\"data row8 col3\" >0.774673</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col4\" class=\"data row8 col4\" >0.874782</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col5\" class=\"data row8 col5\" >0.035546</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col6\" class=\"data row8 col6\" >0.122734</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col7\" class=\"data row8 col7\" >-0.022174</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col8\" class=\"data row8 col8\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col9\" class=\"data row8 col9\" >0.723690</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col10\" class=\"data row8 col10\" >0.755060</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col11\" class=\"data row8 col11\" >0.640707</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row8_col12\" class=\"data row8 col12\" >0.691913</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row9\" class=\"row_heading level0 row9\" >PT08.S5(O3)</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col0\" class=\"data row9 col0\" >0.080310</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col1\" class=\"data row9 col1\" >0.892434</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col2\" class=\"data row9 col2\" >0.101185</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col3\" class=\"data row9 col3\" >0.641334</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col4\" class=\"data row9 col4\" >0.909905</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col5\" class=\"data row9 col5\" >0.461889</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col6\" class=\"data row9 col6\" >-0.208865</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col7\" class=\"data row9 col7\" >0.253439</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col8\" class=\"data row9 col8\" >0.723690</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col9\" class=\"data row9 col9\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col10\" class=\"data row9 col10\" >0.503700</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col11\" class=\"data row9 col11\" >0.524955</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row9_col12\" class=\"data row9 col12\" >0.519467</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row10\" class=\"row_heading level0 row10\" >T</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col0\" class=\"data row10 col0\" >-0.068939</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col1\" class=\"data row10 col1\" >0.754844</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col2\" class=\"data row10 col2\" >-0.000009</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col3\" class=\"data row10 col3\" >0.971375</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col4\" class=\"data row10 col4\" >0.669025</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col5\" class=\"data row10 col5\" >-0.138452</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col6\" class=\"data row10 col6\" >0.588111</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col7\" class=\"data row10 col7\" >-0.084104</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col8\" class=\"data row10 col8\" >0.755060</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col9\" class=\"data row10 col9\" >0.503700</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col10\" class=\"data row10 col10\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col11\" class=\"data row10 col11\" >0.885911</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row10_col12\" class=\"data row10 col12\" >0.981001</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row11\" class=\"row_heading level0 row11\" >RH</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col0\" class=\"data row11 col0\" >-0.048227</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col1\" class=\"data row11 col1\" >0.745375</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col2\" class=\"data row11 col2\" >0.008284</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col3\" class=\"data row11 col3\" >0.925062</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col4\" class=\"data row11 col4\" >0.585803</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col5\" class=\"data row11 col5\" >-0.053009</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col6\" class=\"data row11 col6\" >0.573549</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col7\" class=\"data row11 col7\" >-0.081305</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col8\" class=\"data row11 col8\" >0.640707</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col9\" class=\"data row11 col9\" >0.524955</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col10\" class=\"data row11 col10\" >0.885911</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col11\" class=\"data row11 col11\" >1.000000</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row11_col12\" class=\"data row11 col12\" >0.943995</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96level0_row12\" class=\"row_heading level0 row12\" >AH</th>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col0\" class=\"data row12 col0\" >-0.045892</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col1\" class=\"data row12 col1\" >0.764903</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col2\" class=\"data row12 col2\" >0.012500</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col3\" class=\"data row12 col3\" >0.984555</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col4\" class=\"data row12 col4\" >0.646572</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col5\" class=\"data row12 col5\" >-0.095847</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col6\" class=\"data row12 col6\" >0.621618</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col7\" class=\"data row12 col7\" >-0.060440</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col8\" class=\"data row12 col8\" >0.691913</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col9\" class=\"data row12 col9\" >0.519467</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col10\" class=\"data row12 col10\" >0.981001</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col11\" class=\"data row12 col11\" >0.943995</td>\n",
" <td id=\"T_1fbb2bc8_0c61_11ec_ada0_5065f309ee96row12_col12\" class=\"data row12 col12\" >1.000000</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0x24ebba3b970>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Correlation\n",
"df.corr().style.background_gradient(cmap = cm)"
]
},
{
"cell_type": "markdown",
"id": "secondary-remark",
"metadata": {},
"source": [
"### 2 Daily averaged RH"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "stylish-reason",
"metadata": {},
"outputs": [],
"source": [
"# Data aggregation\n",
"df_avg = df.groupby(['Date']).mean().reset_index()\n",
"# Date type for Date\n",
"df_avg['Date'] = df_avg['Date'].astype('datetime64[ns]')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "committed-grove",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dimension data: 391 rows and 14 columns\n"
]
},
{
"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>Date</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2005-01-01</td>\n",
" <td>-6.287500</td>\n",
" <td>1114.250000</td>\n",
" <td>-200.000</td>\n",
" <td>7.183333</td>\n",
" <td>853.791667</td>\n",
" <td>268.583333</td>\n",
" <td>782.458333</td>\n",
" <td>101.041667</td>\n",
" <td>1032.625000</td>\n",
" <td>1226.416667</td>\n",
" <td>6.870833</td>\n",
" <td>50.795833</td>\n",
" <td>0.498971</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2005-01-02</td>\n",
" <td>2.866667</td>\n",
" <td>1250.166667</td>\n",
" <td>-200.000</td>\n",
" <td>11.987500</td>\n",
" <td>1016.583333</td>\n",
" <td>472.750000</td>\n",
" <td>644.791667</td>\n",
" <td>147.833333</td>\n",
" <td>1184.416667</td>\n",
" <td>1559.083333</td>\n",
" <td>6.625000</td>\n",
" <td>51.741667</td>\n",
" <td>0.504187</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2005-01-03</td>\n",
" <td>1.020833</td>\n",
" <td>820.166667</td>\n",
" <td>-200.000</td>\n",
" <td>2.933333</td>\n",
" <td>618.916667</td>\n",
" <td>166.750000</td>\n",
" <td>1191.833333</td>\n",
" <td>86.958333</td>\n",
" <td>699.083333</td>\n",
" <td>482.708333</td>\n",
" <td>1.433333</td>\n",
" <td>35.104167</td>\n",
" <td>0.240004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2004-01-04</td>\n",
" <td>2.550000</td>\n",
" <td>1063.833333</td>\n",
" <td>310.125</td>\n",
" <td>-14.525000</td>\n",
" <td>859.125000</td>\n",
" <td>146.250000</td>\n",
" <td>745.583333</td>\n",
" <td>84.375000</td>\n",
" <td>1413.833333</td>\n",
" <td>986.375000</td>\n",
" <td>-11.420833</td>\n",
" <td>19.741667</td>\n",
" <td>-24.251979</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2005-01-04</td>\n",
" <td>-7.270833</td>\n",
" <td>903.291667</td>\n",
" <td>-200.000</td>\n",
" <td>3.412500</td>\n",
" <td>663.000000</td>\n",
" <td>161.833333</td>\n",
" <td>946.875000</td>\n",
" <td>107.333333</td>\n",
" <td>943.250000</td>\n",
" <td>523.958333</td>\n",
" <td>15.929167</td>\n",
" <td>35.962500</td>\n",
" <td>0.636529</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) PT08.S2(NMHC) \\\n",
"0 2005-01-01 -6.287500 1114.250000 -200.000 7.183333 853.791667 \n",
"1 2005-01-02 2.866667 1250.166667 -200.000 11.987500 1016.583333 \n",
"2 2005-01-03 1.020833 820.166667 -200.000 2.933333 618.916667 \n",
"3 2004-01-04 2.550000 1063.833333 310.125 -14.525000 859.125000 \n",
"4 2005-01-04 -7.270833 903.291667 -200.000 3.412500 663.000000 \n",
"\n",
" NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) PT08.S5(O3) T \\\n",
"0 268.583333 782.458333 101.041667 1032.625000 1226.416667 6.870833 \n",
"1 472.750000 644.791667 147.833333 1184.416667 1559.083333 6.625000 \n",
"2 166.750000 1191.833333 86.958333 699.083333 482.708333 1.433333 \n",
"3 146.250000 745.583333 84.375000 1413.833333 986.375000 -11.420833 \n",
"4 161.833333 946.875000 107.333333 943.250000 523.958333 15.929167 \n",
"\n",
" RH AH \n",
"0 50.795833 0.498971 \n",
"1 51.741667 0.504187 \n",
"2 35.104167 0.240004 \n",
"3 19.741667 -24.251979 \n",
"4 35.962500 0.636529 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print('Dimension data: {} rows and {} columns'.format(\n",
" len(df_avg),\n",
" len(df_avg.columns))\n",
")\n",
"df_avg.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "verbal-container",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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N7vf5Q+33XYbLBaLXZhpeXk5Pv30U5x//vlo06aNT9uxWq3IyspCVlYW8vPzcd555+HgwYN47rnncOutt7r8zvnnn4+CggKXf/r06dOs30MIISQ8MFEKIYTomDfeeANJSUk47rjj5PA6ABg2bBiefvpprF69GqeffjqApjDCW265BYsXL8aVV14JoCn0Mi0tDaNGjZK/u2XLFgBAr1693LZbVFRk9/9OnTrBZDK5/Oznn3+OGTNm4Pfff0dDQ4Pde8rwy127dgEAunfv7rQNV69t2bIFNTU1yMrK8rif7tYS+kNFRQWAJoEp+Pnnn/H4449j1apVqK2ttft8hw4dmtXOmWeeieOPPx7z5s3D/fffD6BJZNfU1LgUze4wGo349ttvATSJws8++wyffPKJxwycrVu3ltfdOdKiRQs/fgUhhJBwQ1FHCCE65eDBg/j2229htVpx/PHHu/zMm2++KYu6K664ApMmTcI777yDK6+8Ert378Yvv/yCm2++WXbTAMiJOL788kvExcW53G7Hjh3t/p+YmOjyc4sXL8Yll1yCU045BS+88ALatm0rt3XllVe6TPrhaykGm82Gbt26Yfbs2W4/c8IJJ/i0LU/U1tZi27ZtyMvLkzN6rl+/Hueccw46duyIp556Ch07dkRiYiIMBgMmTZqE6urqZrd36623YuLEifjpp58wcOBAvPHGG2jdujUuuOACn7dhMBjsBNro0aMRFxeH//3vf+jdu7db8UYIIUSfUNQRQohOeeutt2C1WvHSSy+hdevWTu/PmTMHH3/8MV588UWkpKQgNTUVo0aNwscff4xDhw7h3XffhSRJdqGXANC1a1d88803aNWqFU466aSA9vG9995DfHw8fvrpJzvhV11djdLSUrvPCqG4ZcsW9OjRw+494R467uf+/fsxaNAgmM2hu5298847aGhosBNVH3zwASwWC77++msngVtSUoL4+Phmt3fttddi8uTJsgv7559/YsqUKW6dUF959tlnsXDhQkyaNAl///13sxOuEEII0R68ohNCiA6RJAlvvfUW2rdvj4kTJ+LSSy91+nPbbbehuroaH330kfy9cePGwWq1Yv78+XjvvffQrVs32ckTiCyYDzzwgMush+Xl5aivr/dpP00mEwwGg5Mj98QTTzi9dtFFF8FgMGDmzJl27ZaXl+O1115z2vZ1112H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dTUeeOABl+5mdXU1kpOTZeGlFHU//vgjSkpKsHv3bp/a6dKlC9auXWv32ogRI1yWo6BTF71IkuTXuGouIkzb04Tt2Wefxfnnn4+FCxfKr9XX1+Pw4cPIyclBp06dMHz4cNx0000AmlydadOm4eOPP8aGDRvcble4PpIk+VyOQLhHwqnLz8+H2WzGyJEj8dNPP6Fbt24hdepEsojWrVujuro6oHNz1apVOOOMMwAAiYmJ8sOb6dOnyy6kWthsNtTV1dndZ9wVIN+zZ48s0EOBaJNOXehZvXo1brzxRrz00ks499xz5dfVFnWhiDrSGj/88AP69u2LvLw8/Pbbb8jIyNBkqROiLSjqdMZtt92Gb7/9Vv6/uPG7c+oE1157LUaMGIGxY8cGNWxi7969aNu2LYzGpqGUmpqKd955B3PmzHH5ND9YhDr75ebNmzF9+nSXGeiqq6uRmZnpJOo2b94sJzcQYWieqK+vx44dO+xSvjc0NKCqqkrephI6ddFLVVUVLBZLSAUK8J9D52nCtmfPHsTHx9utkxPO9EsvvYS7777b6TunnnoqRo0a5fFhT319vVxI3NfMekqnrqGhAWeddRaApknn6aefjvbt24cl/FIkqvIWYuppO2vWrMHpp58OAEhISJAfWD3wwAM44YQTVA13E9ccpahz59RVVlaGdF/p1IWHvXv34uKLL8ZNN93klEVbzfDLJ554IqLrFEqShFdeeQXnnnsubrjhBnz55ZdIT0+HwWCIOlH3+uuvY9iwYWrvhq6gqNMRkiShrKzMTsi4utm6wmAwYO7cuTh06BAee+yxoO2Tq3IKZ511Fu68807ccMMNIbnx2mw2ecITKqdOTFZcicaqqipkZmY6hV/u3LkTX3/9NQDYuanuEE+clXHyQkS6+l1C1NGpCx8NDQ145plnVHkyPHr0aPz5558A/pvAqiHqFi9ejGXLlsn/3717NwYNGoTt27fLr+3duxexsbG47LLL5JTnjjz55JP47rvv8OOPP7p8v76+HsnJyU7te0KIuszMTADAoEGD7N5v3759WMIv8/PzMXToUFx++eUuH8h4Y9OmTaiqqpJFndKpE4S7FqgScc3xxamrrKwMabkBrqkLPZWVlbjwwgvRq1cvvPjii07vm81mVUoazJ49G4888khInWA1aWhowK233op77rkHb7/9Np599ll5fbM/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EytXrsRjjz2GwsJCfPjhhxg2bJjP2Sbd4Y9T19DQgEsvvRRpaWl49913m7WuSxAsUff666/jkUcewaeffupyHaUrRJ+FQtTV1NTgqquuwpNPPolPP/0UU6dOtesnb6LOarXi3nvvxQ033IAXXngBc+bMkfsqUJojrKqrq3HLLbfg8ssvxz333IMVK1YgPz8/LG27Y+/evbjmmmvw8MMP+1zOgWUNfIeiTkeUl5cjNzc3ZE4dAKSnp+Pdd9/Fyy+/jBUrVti9t2XLFrtF8c116gRTp05Fbm4ubrvtNp8vGEoB5c2p27p1K8rKyuzEU5s2bZxEXU1NDZKTkxETE4O77roLkiShsrIS6enpLjONGgwGeXJaU1PjUtRlZmZ6zZDlKOoSExPx119/4aKLLkJNTY3cdl1dnZz90GQyIS4uLmROXW5urvxvpagT63qA4AvKtWvXYvDgwU4TYeFQhlrUuQq/VE628vLywu7U1dXVIT4+Ht27d8fatWvl8Fch6lyFH3ly6m666SbMmzcP77zzDu688075gYcSMUFLTk6GxWKRwxuDidFodDsRVYq6lStX4oMPPpDfE6KuW7du8ngoKSlBZmamT+22b98eS5culf8v2heiDoBXUScy/Sof1gQSfrlq1Sq0bNnSZbiZONeOHDli90AlNjYWOTk5OOWUU/Dnn396bcMbR48exYYNG7yKuj179rjMdBwfH49u3brJJSGUURG+OHU//fQTnnnmGbvXSkpKcOGFF+LWW29Ft27dsHbtWvma7ijqevfujZKSEuzbtw81NTWywxuK89VqteLdd99Ft27d8Nhjj+H+++/Hv//+i1atWskPVBobG7F06VKMHj0arVq1wjPPPINhw4Zh69atWLVqFW655Ran3xAIvoo6SZIwYcIEbNu2DUuWLAl4zhAMUbdw4UKMHz8eb731ltskGa4QIivYIZh79uxB//79sW7dOqxZswajRo1y+ownUVdaWooRI0bgnXfeQUFBAcaPHx/U5Cb+Cqs///wTp5xyCgoKCvDLL79gypQpzX6IECxR19DQgCuuuAInnXSSHAHiCyxr4DsUdTqirKwMOTk5dhPAQEsauOLss8/GnXfeiXHjxtk9le7Rowf69esn/z9QURcbG4v3338fX375Jd5//32fvuOLU1dWVob27dvjl19+kSeBnkRddXU10tLS8PLL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\n",
"text/plain": [
"<Figure size 1000x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (158573762639)>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plotnine.options.figure_size = (10, 4.8)\n",
"(\n",
" ggplot(data = df_avg)+\n",
" geom_line(aes(x = 'Date',\n",
" y = 'RH',\n",
" group = 1))+\n",
" labs(title = 'Average Daily RH')+\n",
" xlab('Date')+\n",
" ylab('RH')+\n",
" theme_bw()\n",
")"
]
},
{
"cell_type": "markdown",
"id": "bulgarian-primary",
"metadata": {},
"source": [
"### 3 Autocorrelation"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "interested-memorial",
"metadata": {},
"outputs": [],
"source": [
"# Figure size\n",
"sns.set(rc = {'figure.figsize': (16, 8)})"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "incomplete-athletics",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1. 0.95718293 0.9204099 0.88206433 0.84493624 0.80980257\n",
" 0.77751823 0.74554691 0.71459272 0.68726112 0.6621406 0.64126285\n",
" 0.62016775 0.6010487 0.58357889 0.57013776 0.55835392 0.54764369\n",
" 0.53762466 0.52776926 0.51973301 0.51079236 0.50061373 0.48863612\n",
" 0.47402896 0.45916512 0.44184904 0.42279603 0.40257239 0.38199443\n",
" 0.36144328 0.34075126 0.32099896 0.30233634 0.2851092 0.26964936\n",
" 0.25560014 0.24345986 0.23331456 0.22732421 0.22287511]\n"
]
}
],
"source": [
"# Autocorrelation\n",
"print(sm.graphics.tsa.acf(df['RH'], nlags = 40))"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "sonic-annual",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAHiCAYAAAD/IQGFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABCVElEQVR4nO3dfXBc1X3G8efuavVmSdisXhwnNhPFJBDHi2jTxLiJKZ5BpraFHfCMDRk7LakDCYmnLpPmBYrTJLzEgTqvbQMlpJnYYMM0CBNiTGDSSbALhcQRoYFgFkcGGVmWwZKxpL177+0fu3e1K2n1utK9u/v9/FFr7949OqvDNnp0zvkdw3EcRwAAAAAAzLCA1x0AAAAAABQnAikAAAAAwBMEUgAAAACAJwikAAAAAABPEEgBAAAAAJ4gkAIAAAAAPEEgBQAULNM09ZGPfER/93d/N677jx49qs997nPT3KuJee2113ThhReOed8DDzygnTt3SpLuu+8+3XXXXdPdNQAApqzE6w4AADBdHn/8cZ133nn6/e9/r1deeUXvec97Rr2/o6NDr7766gz1Lreee+45nXvuuZKkq666yuPeAAAwPgRSAEDBuu+++7Ry5UotWLBA//mf/6mvfvWrevrpp/W1r31NjzzyiCSlHre2tuqmm25SZ2enPvnJT+qee+7RL37xC33ve9+TbduaNWuWvvSlLykSiSgej+ub3/ymfvnLXyoYDOrCCy/Utm3bZBiGbr/9dh08eFDBYFCRSERf+tKXVFVVpeXLlysSieill17SP/zDP+i2227LeByJRPTVr35Vx44dk2maWrVqla677rqM93PixAndfPPN6u7uVldXl975znfqW9/6ln7zm9/oySef1FNPPaXy8nKdPHlSb775pm6++Wa9/PLL+upXv6q33npLhmHommuu0dq1a/X0009rx44dmj9/vl5++WXF43H98z//s/78z//ci6ECABQpluwCAArS4cOH9dvf/laXXXaZ1q5dq9bWVr355ptZ7w8Gg/r617+uBQsW6J577tErr7yibdu26bvf/a4efvhhbdmyRZ/5zGd0+vRp7dq1Sy+88IJaW1v1yCOP6O2339ajjz6qf/u3f9Px48fV2tqq1tZW2bat7du3p77Hueeeq5///Oe69NJLhz3+/Oc/ryuvvFL/9V//pQcffFAHDhzQo48+mtHHn/3sZ2pqatLu3bv1xBNPqLy8XK2trbr00ku1fPly/c3f/I0+/vGPp+6Px+P69Kc/rY0bN2rv3r26++679S//8i/67W9/K0lqa2vTNddco4ceekhXXHGFduzYkcshAABgTMyQAgAK0n333adLLrlEc+bM0Zw5c/Sud71Le/bsUVNT07he/z//8z9asmSJ5s+fL0m66KKLdPbZZ+v3v/+9Dhw4oDVr1qi8vFyS9K1vfUuStG7dOm3dulWhUEiStHHjRl1//fWpNj/4wQ9mfA/38ZkzZ/S///u/OnXqlL797W+nrr344ouKRCKp+z/xiU/o2Wef1b333qsjR47o5Zdf1gUXXJD1PRw5ckQDAwNqbm6WJDU0NKi5uVm/+tWv9OEPf1jz5s3T+eefL0l6//vfr5/+9Kfj+tkAAJArBFIAQME5c+aMWltbVVpaquXLl0uSTp8+rZ/85Ce68MIL5ThO6l7TNEdsw7ZtGYaRcc1xHMXjcZWUZP7P54kTJ2Tb9rDX2Lad0X5lZWXG69zHtm3LcRzdf//9qqiokCSdPHlSZWVlGbO63/zmN9XW1qYrr7xSH/7whxWPxzPey1CWZWV9D5JSgVqSDMMYtS0AAKYDS3YBAAVn7969mj17tn71q1/pySef1JNPPqlf/OIXOnPmjH7zm9+oo6ND3d3dchxHP/vZz1KvCwaDqQB50UUX6de//rWOHj0qSTp48KCOHTumCy64QBdddJEeeeQRxWIx2batr3zlK/rZz36mj370o7rvvvtkmqZs29bOnTv1l3/5l2P2t6qqSk1NTbr33nslST09Pbrqqqv0xBNPZNz361//Wp/4xCe0du1ahcNhHThwQJZlpfruBk1XY2OjSkpKtH//fklSZ2enHnvsMS1dunSSP1kAAHKLGVIAQMG577779Ld/+7cKBoOpazU1Ndq4caMef/xxbdiwQVdeeaXq6ur0V3/1V3r++eclSQsXLlRZWZnWrVunBx54QNu2bdNnP/tZWZal8vJy/fu//7uqq6u1YcMGvf7667riiivkOI4+9KEPaePGjYrH4/rGN76htWvXKh6PKxKJ6J/+6Z/G1ec77rhDX/va19TS0qJYLKbVq1fr8ssv12uvvZa65/rrr9f27dv17W9/W6FQSH/2Z3+m9vZ2SdKyZct0++23Z7QZCoX0r//6r/r617+u7373u7IsS9dff72WLFmip59+eqo/ZgAApsxwWJ8DAAAAAPAAS3YBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4gkAKAAAAAPAEgRQAAAAA4AlfHPvy5ptvy7b9W+w3HK5Sd/dpr7uBJMbDXxgPf2E8/IXx8B/GxF8YD39hPPylUMYjEDA0Z86srM/7IpDatuPrQCrJ9/0rNoyHvzAe/sJ4+Avj4T+Mib8wHv7CePhLMYwHS3YBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4gkAKAAAAAPAEgRQAAAAA4AkCKQAAAADAEwRSAAAAAIAnCKQAAAAAAE8QSAEAAAAAniCQAgAAAAA8QSAFAAAAAHiCQAoAAAAA8ASBFAAAAADgCQIpAAAAAMAT4wqkp0+f1urVq/Xaa68Ne+4Pf/iDrrjiCq1YsUI33nij4vF4zjvpFdt2dOjwCd3/+Es6dPiEbNvxuksAAAAAUDDGDKS/+93vdNVVV+nIkSMjPv/5z39eN998sx577DE5jqM9e/bkuo+esG1Hd+4+pB+0vqBd+17UD1pf0J27DxFKAQAAACBHxgyke/bs0bZt21RfXz/suddff139/f1qamqSJF1xxRXat29fzjvphbZot6IdPRowLTmSBkxL0Y4etUW7ve4aAAAAABSEkrFuuOWWW7I+d/z4cdXV1aUe19XVqbOzc8KdCIerJvya6dZ9qEMx08q4FjMtnTwdU11dtUe9gosx8BfGw18YD39hPPyHMfEXxsNfGA9/KYbxGDOQjsa2bRmGkXrsOE7G4/Hq7j7tu6Ww4apSlYaCGkgLpaWhoM6uKlVXV6+HPUNdXTVj4COMh78wHv7CePgPY+IvjIe/MB7+UijjEQgYo05ATqnK7ty5c9XV1ZV6fOLEiRGX9uajSGNYjfNq5ObrslBQjfNqFGkMe9sxAAAAACgQUwqk73znO1VWVqbnnntOktTa2qply5blpGNeCwQM3bC+SfPCs1R/doWuXbNIN6xvUiAw8RlgAAAAAMBwkwqkmzdv1vPPPy9JuuOOO3Tbbbfpsssu05kzZ7Rp06acdtBLgYChqoqQ6udUqmlhLWEUAAAAAHJo3HtIn3zyydTXd999d+rr8847Tw8++GBuewUAAAAAKHhTWrILAAAAAMBkEUgBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4gkAKAAAAAPAEgRQAAAAA4AkCKQAAAADAE+M+hxRTZ9uO2qLdau/s1YKGakUawwoEDK+7BQAAAACeIJDOENt2dOfuQ4p29ChmWioNBdU4r0Y3rG8ilAIAAAAoSizZnSFt0W5FO3o0YFpyJA2YlqIdPWqLdnvdNQAAAADwBIF0hrR39ipmWhnXYqalo529HvUIAAAAALxFIJ0hCxqqVRoKZlwrDQU1v6Haox4BAAAAgLcIpDMk0hhW47waGcntomXJPaSRxrC3HQMAAAAAjxBIZ0ggYOiG9U2aF56l2ppyXbtmEQWNAAAAABQ1quzOoEDAUFVFSFUVITUtrPW6OwAAAADgKWZIAQAAAACeIJACAAAAADxBIAUAAAAAeIJACgAAAADwBIEUAAAAAOAJquzmMdt21BbtVntnrxY0VCvSGOYYGQAAAAB5g0Cap2zb0Z27Dyna0aOYaak0FFTjvBrONgUAAACQN1iym6faot2KdvRowLTkSBowLUU7etQW7fa6awAAAAAwLgTSPNXe2auYaWVci5mWjnb2etQjAAAAAJgYAmmeWtBQrdJQMONaaSio+Q3VHvUIAAAAACaGQJqnIo1hNc6rkZHcLlqW3EMaaQx72zEAAAAAGCcCaZ4KBAzdsL5J88KzVFtTrmvXLKKgEQAAAIC8QpXdPBYIGKqqCKmqIqSmhbVedwcAAAAAJoQZUgAAAACAJwikAAAAAABPEEgBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4giq7SLFtR23RbrV39mpBQ7UijWGOkQEAAAAwbQikkJQIo3fuPqRoR49ipqXSUFCN82o42xQAAADAtGHJLiRJbdFuRTt6NGBaciQNmJaiHT1qi3Z73TUAAAAABYpACklSe2evYqaVcS1mWjra2etRjwAAAAAUOgIpJEkLGqpVGgpmXCsNBTW/odqjHgEAAAAodARSSJIijWE1zquRkdwuWpbcQxppDHvbMQAAAAAFi0AKSVIgYOiG9U2aF56l2ppyXbtmEQWNAAAAAEwrquwiJRAwVFURUlVFSE0La73uDgAAAIACxwwpAAAAAMATBFIAAAAAgCcIpAAAAAAATxBIAQAAAACeIJACAAAAADxBIAUAAAAAeIJjXzBtbNtRW7Rb7Z29WtBQrUhjmHNNAQAAAKQQSDEtbNvRnbsPKdrRo5hpqTQUVOO8Gt2wvolQCgAAAEASS3YxTdqi3Yp29GjAtORIGjAtRTt61Bbt9rprAAAAAHyCQIpp0d7Zq5hpZVyLmZaOdvZ61CMAAAAAfkMgxbRY0FCt0lAw41ppKKj5DdUe9QgAAACA3xBIMS0ijWE1zquRkdwuWpbcQxppDHvbMQAAAAC+QSDFtAgEDN2wvknzwrNUW1Oua9csoqARAAAAgAxU2cW0CQQMVVWEVFURUtPCWq+7AwAAAMBnmCEFAAAAAHiCQAoAAAAA8ASBFAAAAADgCQIpAAAAAMATFDVC3rBtR23RbnUf6lC4qlSRxjBVewEAAIA8RiBFXrBtR3fuPqRoR49ipqXS5LmmHCUDAAAA5C+W7CIvtEW7Fe3o0YBpyZE0YFqKdvSoLdrtddcAAAAATBKBFHmhvbNXMdPKuBYzLR3t7PWoRwAAAACmalyBdO/evVq5cqWam5u1c+fOYc+/8MILuvLKK3X55Zfr2muvVU9PT847iuK2oKFapaFgxrXSUFDzG6o96hEAAACAqRozkHZ2dmrHjh3atWuXHnroIe3evVuHDx/OuOeWW27Rli1b9PDDD+vd73637rnnnmnrMIpTpDGsxnk1MpLbRcuSe0gjjWFvOwYAAABg0sYMpAcOHNCSJUs0e/ZsVVZWasWKFdq3b1/GPbZt6+2335Yk9fX1qby8fHp6i6IVCBi6YX2T5oVnqf7sCl27ZhEFjQAAAIA8N2aV3ePHj6uuri71uL6+Xm1tbRn3fPGLX9Q111yjW2+9VRUVFdqzZ8+EOhEOV03o/pkUKk0sE62ry83SUNqbmjlnJf7YcelF785Je8iNXI0vcoPx8BfGw38YE39hPPyF8fCXYhiPMQOpbdsyjMFZKMdxMh739/frxhtv1I9+9CNFIhHde++9+sIXvqC77rpr3J3o7j4t23Ym2PWZYcYshUqD6urKTfEcM5YozEN7k28vl+OBqaurq2Y8fITx8BfGw38YE39hPPyF8fCXQhmPQMAYdQJyzCW7c+fOVVdXV+pxV1eX6uvrU4//+Mc/qqysTJFIRJK0fv16PfPMM1PpMwAAAACgCIwZSJcuXaqDBw/q5MmT6uvr0/79+7Vs2bLU8+ecc47eeOMNRaNRSdITTzyhxYsXT1+PAQAAAAAFYcwluw0NDdq6das2bdok0zS1bt06RSIRbd68WVu2bNHixYt122236e///u/lOI7C4bBuvfXWmeg7AAAAACCPjRlIJamlpUUtLS0Z1+6+++7U1xdffLEuvvji3PYMmGa27agt2q32zl4taKhWpDFM1V4AAABgBo0rkAKFxrYd3bn7kKIdPYqZlkqT55pylAwAAAAwc8bcQwoUorZot6IdPRowLTmSBkxL0Y4etUW7ve4aAAAAUDQIpChK7Z29iplWxrWYaeloZ/6X1gYAAADyBYEURWlBQ7VKQ8GMa6WhoOY3FP7hwwAAAIBfEEhRlCKNYTXOq5GR3C5altxDGmkMe9sxAAAAoIgQSFGUAgFDN6xv0rzwLNXWlOvaNYsoaAQAAADMMKrsomgFAoaqKkKqqgipaWGt190BAAAAig4zpAAAAAAATxBIAQAAAACeIJACAAAAADzBHlIgR2zbUVu0W+2dvVrQUK1IY5giSQAAAMAoCKRADti2ozt3H1K0o0cx01Jp8hgZKvcCAAAA2bFkF8iBtmi3oh09GjAtOZIGTEvRjh61Rbu97hoAAADgWwRSIAfaO3sVM62MazHT0tHOXo96BAAAAPgfgRTIgQUN1SoNBTOulYaCmt9Q7VGPAAAAAP8jkAI5EGkMq3FejYzkdtGy5B7SSGPY244BAAAAPkYgBXIgEDB0w/omzQvPUm1Nua5ds4iCRgAAAMAYqLIL5EggYKiqIqSqipCaFtZ63R0AAADA95ghBQAAAAB4gkAKAAAAAPAEgRQAAAAA4An2kAI+ZduO2qLdau/s1YKGakUawxRJAgAAQEEhkAI+ZNuO7tx9SNGOHsVMS6XJY2So3AsAAIBCwpJdwIfaot2KdvRowLTkSBowLUU7etQW7fa6awAAAEDOEEgBH2rv7FXMtDKuxUxLRzt7PeoRAAAAkHsEUsCHFjRUqzQUzLhWGgpqfkO1Rz0CAAAAco9ACvhQpDGsxnk1MpLbRcuSe0gjjWFvOwYAAADkEIEU8KFAwNAN65s0LzxLtTXlunbNIgoaAQAAoOBQZRfwqUDAUFVFSFUVITUtrPW6OwAAAEDOMUMKAAAAAPAEgRQAAAAA4AmW7AJFwrYdtUW71d7ZqwUN1Yo0htmTCgAAAE8RSIEiYNuO7tx9SNGOHsVMS6XJqr0USgIAAICXWLILFIG2aLeiHT0aMC05kgZMS9GOHrVFu73uGgAAAIoYgRQoAu2dvYqZVsa1mGnpaGevRz0CAAAACKRAUVjQUK3SUDDjWmkoqPkN1R71CAAAACCQAkUh0hhW47waGcntomXJPaSRxrC3HQMAAEBRI5ACRSAQMHTD+ibNC89SbU25rl2ziIJGAAAA8BxVdoEiEQgYqqoIqaoipKaFtV53BwAAAGCGFAAAAADgDWZIAUyKbTtqi3ar+1CHwlWlijSGWQIMAACACSGQApgw23Z05+5Dinb0KGZaKk0WSWJfKgAAACaCJbsAJqwt2q1oR48GTEuOpAHTUrSjR23Rbq+7BgAAgDxCIAUwYe2dvYqZVsa1mGnpaGevRz0CAABAPiKQApiwBQ3VKg0FM66VhoKa31DtUY8AAACQjwikACYs0hhW47waGcntomXJPaSRxrC3HQMAAEBeoagRgAkLBAzdsL5J2374jEzb1obl51JlFwAAABNGIAUwKYGAoaqKkEKlQTUtrPW6OwAAAMhDBFIAvuCea9re2asFDdXMuAIAABQBAikAz3GuKQAAQHGiqBEAz3GuKQAAQHEikALwHOeaAgAAFCcCKQDPca4pAABAcSKQAvAc55oCAAAUJwIpAM+555rOC89SbU25rl2ziIJGAAAARYAquwB8wT3XtKoilJNzTTlGBgAAwP8IpAAKDsfIAAAA5AeW7AIoOBwjAwAAkB8IpAAKDsfIAAAA5AcCKYCCwzEyAAAA+YFACqDgcIwMAABAfiCQAig4HCMDAACQH8YVSPfu3auVK1equblZO3fuHPZ8NBrVxo0bdfnll+uTn/ykTp06lfOOAsBEuMfIhM8qV9PC2imHUdt2dOjwCT381Ks6dPiEbNvJUU8BAACK15iBtLOzUzt27NCuXbv00EMPaffu3Tp8+HDqecdx9OlPf1qbN2/Www8/rPPPP1933XXXtHYaAGaSe4zMD1pfUOuvXtUPWl/QnbsPEUoBAACmaMxAeuDAAS1ZskSzZ89WZWWlVqxYoX379qWef+GFF1RZWally5ZJkq677jp9/OMfn74eA8AM4xgZAACA6TFmID1+/Ljq6upSj+vr69XZ2Zl63N7ertraWn35y1/Wxz72MW3btk2VlZXT01sA8ADHyAAAAEyPkrFusG1bhjG498pxnIzH8XhczzzzjH7yk59o8eLF+ta3vqXbb79dt99++7g7EQ5XTbDbMydUmjg6oq4uN8dF0B7t0V7+tbf4vfXa93S7+mODobSsNKgPvLc+Z33NJT/2qZgxHv7DmPgL4+EvjIe/FMN4jBlI586dq2effTb1uKurS/X19anHdXV1Ouecc7R48WJJ0urVq7Vly5YJdaK7+7Rv92KZMUuh0qC6unIzE2Imf6Glvcm3x3j4q71iGI9zwpV69ztq9GL7m3KcxDEy735Hjc4JV+asr7lSV1ftuz4VM8bDfxgTf2E8/IXx8JdCGY9AwBh1AnLMJbtLly7VwYMHdfLkSfX19Wn//v2p/aKSdOGFF+rkyZN68cUXJUlPPvmkFi1alIOuA4A/TMcxMlTtBQAAGMcMaUNDg7Zu3apNmzbJNE2tW7dOkUhEmzdv1pYtW7R48WJ9//vf10033aS+vj7NnTtX27dvn4m+A8CMcY+RqaoIqWlh7ZTacqv2Rjt6FDMtlYaCapxXw1mpAACg6IwZSCWppaVFLS0tGdfuvvvu1NcXXHCBHnzwwdz2DAAKVHrVXimzau9Uwy4AAEA+GXPJLgAgt6jaCwAAkEAgBYAZtqChWqWhYMa10lBQ8xsKv5IeAABAOgIpAMywSGNYjfNq5J6gVZbcQxppDE+6TbdI0v2Pv0SRJAAAkDfGtYcUAJA7btXebT98RgMxS1c3v1eRxvCkCxpRJAkAAOQrZkgBwANu1d7wWeVqWlg7peCYXiTJUWaRJAAAAD8jkAJAnqNIEgAAyFcs2QWAPOcWSRpIC6VTLZJk247aot1q7+zVgobqKS0pBgAAyIZACgB5zi2S9GL7m3KcqRdJYk8qAACYKSzZBYA85xZJmheepfqzK3TtmkVTCo/sSQUAADOFQAoABcAtklQ/p3LKRZLYkwoAAGYKS3YBABnYkwoAAGYKgRQAkIE9qQAAYKawZBcAkCF9T2ptTTl7UgEAwLQhkAIAhnH3pIbPKmdPKgAAmDYs2QUATCv2pAIAgGwIpACAacWeVAAAkA1LdgEA04o9qQAAIBsCKQBg2vl9T6ptOzp0+IQefupVHTp8QrbtTLotAAAwfizZBQDklVzvSWUJMAAA3mGGFACQV9w9qUYyK051TypLgAEA8A6BFACQV3K9J3U6lwDf//hLLAEGAGAULNkFAOQdd09qVUVITQtrp9QWS4ABAPAOM6QAgKLGEmAAALxDIAUAFLV8WAIMAEChYskuAKDo+XkJsMu2HbVFu9Xe2asFDdWKNIZZAgwAyHsEUgAAcshdAvxi+5tynKkvAZbYlwoAKFws2QUAIIfSlwDXn10x5SXAEvtSAQCFi0AKAECOuUuA6+dUqmlh7ZRnMafzaJqHn3qVo2kAAJ5hyS4AAD7H0TQAgELFDCkAAD7H0TQAgEJFIAUAwOc4mgYAUKhYsgsAQB7w+9E0HEsDAJgMAikAAEUm10fTsCcVADBZLNkFAKDI5HoJMHtSAQCTRSAFAKAIuUuAw2eVT/loGvakAgAmi0AKAACmxN2Tmm6qe1IBAMWBQAoAAKYk18fSAACKB0WNAADAlLh7Urf98BkNxCxd3fzeKVfZpWovABQHAikAAJiyXB5LQ9VeACgeLNkFAAC+QtVeACgeBFIAAOArVO0FgOJBIAUAAL5C1V4AKB4EUgAA4CvTUbXXth0dOnxC9z/+kg4dPiHbdnLUWwDAVFDUCAAA+Equq/ZSJAkA/IsZUgAA4Dtu1d7wWeVqWlg7peBIkSQA8C8CKQAAKGgUSQIA/yKQAgCAgkaRJADwLwIpAAAoaNNRJAkAkBsUNQIAAAUtvUiSadvasPzcKRVJkhKFktqi3Wrv7NWChuoptwcAxYpACgAACp5bJClUGlTTwtoptUXVXgDIHZbsAgAATABVewEgdwikAAAAE0DVXgDIHQIpAADABFC1FwByh0AKAAAwAVTtBYDcIZACAABMgFu1d154lmprynXtmkUUNAKASaLKLgAAwAS5VXurKkJTrtorcYwMgOJFIAUAAPAQx8gAKGYs2QUAAPAQx8gAKGYEUgAAAA9xjAyAYkYgBQAA8BDHyAAoZgRSAAAAD3GMDIBiRiAFAADwEMfIAChmVNkFAADwGMfIAChW45oh3bt3r1auXKnm5mbt3Lkz632//OUvtXz58px1DgAAABPjHiPzg9YX1PqrV/WD1hd05+5Dsm3H664BwDBjBtLOzk7t2LFDu3bt0kMPPaTdu3fr8OHDw+47ceKEvvGNb0xLJwEAADA+HCMDIJ+MGUgPHDigJUuWaPbs2aqsrNSKFSu0b9++YffddNNN+uxnPzstnQQAAMD4cIwMgHwy5h7S48ePq66uLvW4vr5ebW1tGff8+Mc/1vvf/35dcMEFk+pEOFw1qdfNhFBpogx7XV1uSq/THu3RHu3RHu35pU3aK8z2Fr+3Xvuebld/bDCUlpUG9YH31uf0v8dc8WOfihnj4S/FMB5jBlLbtmUYg5vgHcfJePzHP/5R+/fv149+9CO98cYbk+pEd/dp3+5rMGOWQqVBdXXl5q+KZvJ/HGhv8u0xHv5qj/HwV3uMh7/ay+V4uG1K/n7Pfm+vGD4j54Qr9e531OjF9jflOIljZN79jhqdE67M6X+PuVBXV+27PhUzxsNfCmU8AgFj1AnIMZfszp07V11dXanHXV1dqq+vTz3et2+furq6dOWVV+pTn/qUjh8/rquvvnqK3QYAAMBkcIwMgHwyZiBdunSpDh48qJMnT6qvr0/79+/XsmXLUs9v2bJFjz32mFpbW3XXXXepvr5eu3btmtZOAwAAIDv3GJnwWeVqWlhLGAXgW2MG0oaGBm3dulWbNm3S2rVrtXr1akUiEW3evFnPP//8TPQRAAAAHrJtR4cOn9DDT72qQ4dP+HarFYD8M+YeUklqaWlRS0tLxrW777572H3vete79OSTT+amZwAAAPCce65ptKNHMdNSaSioxnk1LAMGkBNjzpACAACgeHGuKYDpRCAFAABAVpxrCmA6EUgBAACQ1YKGapWGghnXSkNBzW8o/PMRAUw/AikAAACyijSG1TivRu4x9GXJPaSRxrC3HQNQEAikAAAAyIpzTQFMp3FV2QUAAEDxcs81raoIqWlh7ZTbs21HbdFudR/qULiqVJHGMAEXKFIEUgAAAMwYjpEBkI4luwAAAJgxHCMDIB2BFAAAADOGY2QApCOQAgAAYMZwjAyAdARSAAAAzBiOkQGQjqJGAAAAmDHuMTLbfviMTNvWhuXnUmUXKGIEUgAAAMwo9xiZUGkwp8fItHf2akFDNQEXyCMEUgAAAOQtjpEB8ht7SAEAAJC3OEYGyG8EUgAAAOQtjpEB8huBFAAAAHmLY2SA/EYgBQAAQN7iGBkgvxFIAQAAkLfcY2TmhWeptqZc165ZREEjII9QZRcAAAB5zT1GpqoilJNjZADMHAIpAAAAkIZzTYGZQyAFAAAAkjjXFJhZ7CEFAAAAkjjXFJhZBFIAAAAgiXNNgZlFIAUAAACSONcUmFkEUgAAACCJc02BmUVRIwAAACDJPdd02w+f0UDM0tXN751ylV2q9gLZEUgBAACANLk815SqvcDoWLILAAAATBOq9gKjI5ACAAAA04SqvcDoCKQAAADANKFqLzA6AikAAAAwTajaC4yOokYAAADANKFqLzA6AikAAAAwjajaC2THkl0AAAAgT1C1F4WGQAoAAADkCar2otAQSAEAAIA8QdVeFBoCKQAAAJAnqNqLQkNRIwAAACBPTGfV3u5DHQpXlVK1FzOKQAoAAADkEar2opCwZBcAAAAoUlTthdcIpAAAAECRomovvEYgBQAAAIoUVXvhNQIpAAAAUKSmo2qvbTs6dPiEHn7qVR06fEK27eSotyhEFDUCAAAAilR61V7TtrVh+blTqrJLkSRMFDOkAAAAQBFzq/bWz6lU08LaKQVHiiRhogikAAAAAHKCIkmYKJbsAgAAAMgJt0jSQFoonWqRJNt21BbtVntnrxY0VE9pSTH8h0AKAAAAICfcIkkvtr8px5l6kST2pBY+luwCAAAAyAm3SNK88CzV1pTr2jWLphQe2ZNa+AikAAAAAHLGLZIUPqt8ykWS2JNa+FiyCwAAAMCX2JNa+AikAAAAAHyJPamFjyW7AAAAAHwpH/ak2rajQ4dP6OGnXtWhwydk286k2ypGzJACAAAA8C13T2pVRUhNC2un1NZoe1In0zYzrlPHDCkAAACAouDuSU03lT2p0znjev/jLxXFjCszpAAAAACKQq73pDLjOnXMkAIAAAAoCrnek5oPM65+RyAFAAAAUDRyeU6qO+NqJJuYzhnXQkUgBQAAAIBJ8PuMaz4gkAIAAADAJPl5xjUfUNQIAAAAAHzAnXHd9sNnZNq2Niw/V5HGcMEWNJIIpAAAAADgG+6Ma6g0OOVzV/PBuJbs7t27VytXrlRzc7N27tw57Plf/OIXWrNmjS6//HJ95jOf0alTp3LeUQAAAABAYRkzkHZ2dmrHjh3atWuXHnroIe3evVuHDx9OPX/69Gl95Stf0V133aWHH35Y73vf+/Td7353WjsNAAAAAMh/YwbSAwcOaMmSJZo9e7YqKyu1YsUK7du3L/W8aZratm2bGhoaJEnve9/7dOzYsenrMQAAAACgIIy5h/T48eOqq6tLPa6vr1dbW1vq8Zw5c3TppZdKkvr7+3XXXXdp48aNE+pEOFw1oftnUqg0UXa5ri43pZZpj/Zoj/Zoj/b80ibt0R7t0R7tFUd7fjZmILVtW4YxWNXJcZyMx67e3l5df/31Ou+88/Sxj31sQp3o7j4t23Ym9JqZYsYshUqD6urKzWG0Zixx0C3tTb49xsNf7TEe/mqP8fBXe7kcD7dNyd/v2e/t8RnxV3uMh7/aYzz81V6u/zfEK4GAMeoE5JhLdufOnauurq7U466uLtXX12fcc/z4cV199dV63/vep1tuuWUK3QUAAAAAFIsxA+nSpUt18OBBnTx5Un19fdq/f7+WLVuWet6yLF133XX667/+a914440jzp4CAAAAADDUmEt2GxoatHXrVm3atEmmaWrdunWKRCLavHmztmzZojfeeEP/93//J8uy9Nhjj0mSPvCBDzBTCgAAAAAY1ZiBVJJaWlrU0tKSce3uu++WJC1evFgvvvhi7nsGAAAAAChoYy7ZBQAAAABgOhBIAQAAAACeIJACAAAAADxBIAUAAAAAeIJACgAAAADwBIEUAAAAAOAJAikAAAAAwBMEUgAAAACAJwikAAAAAABPEEgBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4gkAKAAAAAPAEgRQAAAAA4AkCKQAAAADAEwRSAAAAAIAnCKQAAAAAAE8QSAEAAAAAniCQAgAAAAA8QSAFAAAAAHiCQAoAAAAA8ASBFAAAAADgCQIpAAAAAMATBFIAAAAAgCcIpAAAAAAATxBIAQAAAACeIJACAAAAADxBIAUAAAAAeKLE6w4AAAAAwFQYxkRfMMnXKcsLUu1NuMFR2wsExteebTu5+b4eIJACAABg5k0oEIzjpgn+Au9ynCy/yCebGfqse7uRfMZ9PnXfkC/c+93LcduRM/zmYe2n92NYHx1DdvJav2lnbWvE9jLuHfxZWY4jI27rzICVva2hX4/wPtzrVjIg9faZI9wvOXJG/DbD3mry37iVeJ8newdG7tOQbzDyuA1eNeOJ9o6/1ZflZ5S9r0PfiyTFTEuSdKz77RHfR0ZbI/Rv6IWBmCXLdnT0+OksozH4msryEoVrysZ8H35FIAUAAJiC0QPV8Cez3p8WqIYGEEdpwcZJhiEj8fXgL8fJoJP8Bu6vvaZlZ/yi6qR+vTU0+Ht22i/yGb/hG6lrVvKJMwPxRH/Sv29aE+7X6e9hsJ9O6rVmPNGvrlP9yXtG6sPg9cxriX/ttKAwEEsEgvbO04O/9DuZL7CzfI907vW+gbgk6dWOnsznM97o6NJ/lP3J9o509GS8eKxgku1b9bvv91hP2n3jTyRD3/9AzJJV4qj9jZ6RXzBBA8mA9vrx0zlpL+YGyJNnctKeG0i73+rPSXtxK/EDfWtIYJ4sy3Zk2I56346NeW+oJEezsh4hkAIAgGkxcvCaeEAzjJED2WAoGgxi6bMg6cHKSc4oWZatftMaFroyXpd6rZPxPdODkSPJTM7YnDjVn3zNkBkxZ8jrk+1lhrfkPY6TCiyvvH4q48cwfMZo5EA0dLIqFYDcwJItRznZg0z6904Fvjd6R7x3osy4LUfSiTf7ctKeOyN3+szYv8CPh/ve3ZmvKbeX/Ned6csVO1uyBvIEgRQAAJ/JGuTS9ihlC3GpUKTM2aH0GS3HcRLhLXmnO/PgBrdkRJOdkXCMYW27y9jcsJa+pM4NivawYJcMZc7g7JbbLzv5RGopYjJQRTt6hs/wjRTG0mfrUo8Hb+2PWSqxHf0pfUZpCr/LuzMsXTkKVO7P2w1+U+W+NcsisADwLwIpAKDgjTVTZxgacf+ZG8BSwcwNdqngMzizNrhPzJHSZuP6Yu5+rKGBbnC2zLEHv8/gdSdjhs12nNRMzWtdp0cMcSMtaRzs0/Dn3MDnBrT0IJc+Yzbe0JbrJXW5DmguJpQAwD8IpACAnBge+kYPfE5auEtM2CVn01KBzJAb9Ab3gw1ec2fRziRDlZ02Y2c77r8jB7yhs3SOkwg9jhL7xZz0gJkl2A2bkcsyG9f+Rk/OApC7R2k8e4rGIzWDlsfVGQEA+Y1ACgB5algAHGU5Z/pMn5MRotxZvvTgZ2QEvr6YlXqN7b7GSZSYd2f4ErNzWQKfkxn4oh2nhoW9kWfwshRKSV7oz/F+NjeUuYVMcoXZOAAAsiOQAsAUZAY/Y4RrWcKgM1j4PRa3U8s8h1aGHJxFzAyBbgC00wJgzEyUiH+t63TqHtu2U+2NFP4yQt6Qa27gS99vNxVu4OsfyO3ySwAAkL8IpAAKSkYYHGtPoJOY8XNsZ3B5qCTHdpd3Dr7GUSJQOZJOvR2T7QyfFbTtREBMLRO10wNjsq204Jfav/dGT0Zhl2HHFYxT3HIkY3wl4gEAAPyAQApgxow5m5jIhMmZvyF7DN3qn4nzEQaXitpDw6CTvJaYMXScxJl07mxhRjhMKzDjFqtxg+FI5965Z6odO/F2Tn4eqf17VMAEAABFikAKYJihwTH9sRsW3QBn24lD1xMzgWlFaNJmHxNh0Q2NdipAWu4MYvLrvrQjHhLfa3BGMX32cLwzh24BmFydSQcAAIDcIpACBWIwNI4cIG3HSS0FHYhbabON7j2ObDuxLNUNjrbjyLYkKznrmD7D6DiO+mNxlVgBHTnWkzHrONkiLu7rzHhuDw0HAACAPxFIAR9IBMjMJazpy0lNK616adoMpOU4sq1EWBwMjY7i9mCATNa0SQTIAbdITe+EZxtH4i6bZckpAAAAJoNACuRAakYyrYiOuxTVTp+hTDsOw52JtGxHlm0n/rUS91tWIkj2xdxD60+lwt+UZiCT/9qcOQgAAAAfIJACaYYue01f7mrbg0tbU9dtR3HLUdyyZdt2xjmL7v3pIXKiYdK9N84MJAAAAAoQgRQFzV0KmxEubTv5r7uvUurtMzOCZdxKzlxadkaQTB3vkSVVcs4iAAAAMH4EUuSXtCWxIwfMxNdWMlzGLVuWlagCmx4u3eWz/bFEcHz9+GkP3xQAAABQnAik8IX0mUzbcdL2VyaL99i2zLgjM57Ya3nkjd4RA+ZU9lcCAAAAmFkEUkyvIUV+0oNmojKsrXjckRm3ErOY8cRy2fSQmV6Ax4zbKikJ6Eyf6dEbAgAAAJArBFJMiWFIhmGkAmQ8eQSJux/TjCfOsny1o0eWnRY07ez7MAEAAAAUBwIpRpUeOOPpx5RYieWzsbilWNxWPG6ljiyx7cFls2Y8cQhm30Dcw3cBAAAAwI8IpEiFTst25CgRJk/3x2XGbZlxSzEz8a9tDw+cAAAAADBZBNIiYhiGpMQMp3usScy0NGBa6o9Zisdt9Q8kztF8rbPX6+4CAAAAKHAE0gLkBs+4lVhmG7dsxUxbA2Zc/QPxxNLa5NLboZj4BAAAADBTCKR5yj0mRUbiqJP+eKJC7YBpaSBmacBMBE+3qi0AAAAA+A2B1OfSiwqZliPLsmVatgZiiWW2/QNxOZLaj/UQPAEAAADkFQKpT7jB0z06JW7Zilt2InTGLJmmlVpqm35ciptBCaMAAAAA8g2BdKYZg/+acUeWnZjx7B9IFBeKxazk/k6bSrYAAAAAChqBdJqkH6WSmO1M/GvGbdm2o+jrPQRPAAAAAEWNQJpDcduRGXeX2sY1ELMVMy3Ztp0449ORzLgtSYqZlse9BQAAAABvEUhzxDAMdZ/q01u9/cx4AgAAAMA4BLzuQCFxHIcwCgAAAADjRCAFAAAAAHhiXIF07969WrlypZqbm7Vz585hz//hD3/QFVdcoRUrVujGG29UPB7PeUcBAAAAAIVlzEDa2dmpHTt2aNeuXXrooYe0e/duHT58OOOez3/+87r55pv12GOPyXEc7dmzZ9o6DAAAAAAoDGMG0gMHDmjJkiWaPXu2KisrtWLFCu3bty/1/Ouvv67+/n41NTVJkq644oqM5wEAAAAAGInhOKOX4fnBD36gM2fOaOvWrZKkBx54QG1tbfra174mSfrtb3+r7du367777pMk/elPf9KnPvUpPfbYY+PuxC0//B+92TMw2fcwrdqP98owDM2vqxr9RiNxlEvcGr2q0fE3z0iS6udU5qR/xdieYRiqm12Rs/Ykf79fv7fHePirPcbDX+3lcjzcNiV/v2e/t8dnxF/tMR7+ao/x8Fd74x2PkqCh0lBQ8mlx1Tk1ZbrxmiVZnx/z2BfbtmUYRuqx4zgZj8d6fjxKQkGFSoMTes1Mec+7Zo/7Xst2JGP0/xLmjRVsJ4j2aI/2aI/2iqO96WiT9miP9miP9vK/vZJgQKGQP7OUlMh6oz4/VgNz587Vs88+m3rc1dWl+vr6jOe7urpSj0+cOJHx/Hj83crzZds+jfSS6uqq1dXVO+o9hmHoWPfbeqvXnzO9hWT27Eq99dYZr7uBJMbDXxgPf2E8/Icx8RfGw18YD38Z73jMqSnT3LMrfXv8ZCAw+mTlmHtIly5dqoMHD+rkyZPq6+vT/v37tWzZstTz73znO1VWVqbnnntOktTa2prxPAAAAAAAIxkzkDY0NGjr1q3atGmT1q5dq9WrVysSiWjz5s16/vnnJUl33HGHbrvtNl122WU6c+aMNm3aNO0dBwAAAADktzGLGs2E7u7TLNnFuLGcxF8YD39hPPyF8fAfxsRfGA9/YTz8pZCW7IbD2ffEjjlDCgAAAADAdCCQ5tLEigsDAAAAQFEbs8ouxsvRnOpyVVWE1B+zNBCzFDMtWbYj23Jk+3UOHQAAAAA8QiDNEceRykoCKisJqLoiJMMw5DiOTMtR3LIVtxwNxCz1m3GZpqW45ci2HV/vnQUAAACA6UQgnQaOI7m1okoChkoCQSkkVVeUSCqX5MiM24o7UjxuK2Za6o/FEzOqlpOYVSWoAgAAAChwBNIZlMioyaAaDCR++CUBGWlBNTGbKsUtWwNmYunvgBknqAIAAAAoOARSH0gPqsFAQMGAVBYKaFZ5SWLprxxZlqN4cvlvzLQ0kJxVJagCAAAAyFcEUp9zl/4GA4aCASMjqEqO4vZgUDVNW/1mXP0DiaBq24mwCgAAAAB+RCDNU6mgahgKlhgqKwlIZZJhlElKVPU1rcTM6uCMqqV43JZl27Jtx7eH5wIAAAAoDgTSAuMGVUOGSoOGFJQqSoMyDMkwDFn2YNXfuGWrPxbXQCyxDDgxo2oTVAEAAADMCAJpkXAr/xqSQsGAQkFJCqqmMnFEje04MuOJQOou/zUtWzHTlhlPhFXbcZhZBQAAAJAzBNIil35ETShoKBQMSqGgVK7UrKqjxD7V9AJKZtxWLG4pFrcVjyeOqyGwAgAAAJgIAimySg+r7l7VdKnA6iSCqhtWrfTAmpphlWzHkZOcaSW0AgAAACCQYtLSA2vAMBRI7lmVlCywJEmJasC2I9m2LSsZTG07USHYjNuyLDs102rbiTZtgisAAABQ8AikmDbp56saGjxjdSh3plVScpY1EVzTZ17NeHJva9xWaSig0lBQTjKwJoIr4RUAAADINwRSeC59pnU8wTUcrlLXrN7kLKpSlYFtW7IcW1bcUTxZnCluORkzr+73YvYVAAAA8B6BFHkjPbjKSS4TNqSSQDDtrsTX7nLh5MRraplwtgBr2XbqSBzLdmRZ9rAQ60jMxAIAAAA5RCBFQXKXC6eHx7EDrJQtxLr/OsnlwYnQOkaQ1ZBAS5AFAAAAMhBIASktLI4cYhP/Z7hsQdatJmyn9rgOhlK3GnHc3S9rpVcpTgZaOZKTHmgT1wi1AAAAKCQEUmAKsgVZwzASR+WM8frBSsTKGmgdKXP5sJIzt7YbZO3EvVZ6UajBe+WIZccAAADwJQIp4KH0SsSjBtpRku1Is7Sp8OkuOR4WSN0KxYPH7FhuCLYzH1uWnTFLqyFfJ4pNiZALAACACSOQAnku2yyt5Abb1E7ZMdtKD7fpj90w6y4nduxkuJVUU12hsypKBkOukkE4Y/+tW0jKSc3eujO57ntwC1ZlBF9lXgcAAEBhIZACSEkPt5mPEwLuEuPgYLitnlWq/jMDWds0MnKwMeyak1yaLDnJwJt976x7rzur6+7RtW1n8DgfW7KSs8C2lbjmvhc36A597E5UO1neNwAAAKYHgRTAtMoMdyMHvmRMTTt/duzZ3IzXZ5nZHfyuybCbqr7syJGRsS/XcYzB55JfuwWpbHdWN3WGbeZ1K+Pa4BJn93unh2A39qaH7JF+JgAAAMWAQAog7401syslomqqiFQqsU4s+Epjz/gmvn+iA7aTHoKHzP7KkRwjbQY4LQin35cWhlOzwOlVm4c8DoUCKisNZvwcsoXitMuDZ/yKcAwAAGYOgRQAJmA8M76uzBCcfnVyhgbfkQJxOFylEyd6JUODM7VOIuSmjhKSOxssuUE4PRhLg48zlk+nLZlOD8dS2izykNe5M8ZDf07DA/BgSE79wzJqAAAKHoEUAPLE8FA2clhznNRTicjqVmxOO2ZoKsE42eTQK6M8N3zW2DCSe4dTM8aDIXkwhGYGZ7nLrDUYkB0NziIPzkAP2TucFqrt1OsHA7N7X8a/6dPHQ68nu5M+Me+k3Ux4BgBg/AikAIAJyxaOR35uUPqscXDwQdqzUzdSIB5vYB4Mu+mhOfm8YYxQDdpw4/OQGeDEtarqclWVBTJmkqXsRzFJIwdoJb/WkJnpwe+V+T7c95KemofNQCe/IEwDALxEIAUAFJSRQ9X4Q9fw0OxeTf93fMJnVciOxbN/rzHCc/Z7soRot2hW4obEex0pSEupPczu9cF2JRmDoThjD/SQo5ps9/tI2UP1kGrW6cF6xO/tfj10ljr1f1LPpj2RPWQPbRcA4C8EUgAAPDJWeM5+T6b0ED24XTn3s88jfu9xhOrs9yUMDdfuAydjZjc9YKc91tCQnXrBiLPW1TUVqi4PDm/D0ZDgPjiLnR6609u13Rs1cvhO7c3OEsBHfDwkiA9eV9r1IZF7aChPuz40nI/0PQHASwRSAAAwaeMJ1dnvGy69/lcqXmfMUg+7c0LOrimXNWBO6DXZw/TIT4wWvqXMpdVSZhAfPtM9eNfQQD7YXuqO5BeDwdwY0v7gdzTSrqX9QUCD/2dooB9ajCwjrKe/LvX9RvjDgBvak9eqZ4XkxMsy/vgwfPY7rS+p/ejD33/GOxzjv7f0/eDZ7xn6ReaFLJezPRzxyZH+YDDi7fwRAQWMQAoAADCK7GFg5CcmEx5Si8KHzXQP+yLLY++NFcTT7kx9VVtbpROh4CTbGTQ05Keup55Pv9ftRWawHB5A04JwWqeGBvnh11OvHnLByHyVMfxFo/+BZ5Q+GNJIGXvoHzWGX8v83jU15aoMBUb8eWb+YSHziWHfc4RvlHFPtk4o289g+OqBUZoYcSyy/YFhrD8spL73WH0cYSzH+weHbG2GSgaPchtNIOC//38wEQRSAAAATNn4g/jQX9zHE8qmJmMB+5CQn71o+Fi/5Od3CBhJ3ZxKKW7lpK3J/GFhAq3nphWfD2E4XKXu7tNZ/+CSLp9n0QmkAAAAAHJqegNSbhrPhxDnVmcvZAGvOwAAAAAAKE4EUgAAAACAJwikAAAAAABPEEgBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4gkAKAAAAAPAEgRQAAAAA4AkCKQAAAADAEwRSAAAAAIAnCKQAAAAAAE8QSAEAAAAAniCQAgAAAAA8QSAFAAAAAHiCQAoAAAAA8ASBFAAAAADgiRKvOyBJgYDhdRfGlA99LCaMh78wHv7CePgL4+E/jIm/MB7+wnj4SyGMx1jvwXAcx5mhvgAAAAAAkMKSXQAAAACAJwikAAAAAABPEEgBAAAAAJ4gkAIAAAAAPEEgBQAAAAB4gkAKAAAAAPAEgRQAAAAA4AkCKQAAAADAEwRSAAAAAIAnCKQAAAAAAE8QSEexd+9erVy5Us3Nzdq5c6fX3Sl6Gzdu1KpVq7RmzRqtWbNGv/vd77zuUlE6ffq0Vq9erddee02SdODAAbW0tKi5uVk7duzwuHfFZ+h4fOlLX1Jzc3Pqc/L444973MPi8r3vfU+rVq3SqlWrtH37dkl8Rrw00njwGfHOt7/9ba1cuVKrVq3SvffeK4nPh5dGGg8+H977xje+oS9+8YuSiujz4WBEb7zxhnPJJZc4b775pvP22287LS0tzssvv+x1t4qWbdvORz7yEcc0Ta+7UtQOHTrkrF692lm0aJFz9OhRp6+vz7n44oud9vZ2xzRN55prrnF++ctfet3NojF0PBzHcVavXu10dnZ63LPi9NRTTznr1693BgYGnFgs5mzatMnZu3cvnxGPjDQe+/fv5zPikaefftrZsGGDY5qm09fX51xyySXOH/7wBz4fHhlpPF555RU+Hx47cOCA8+EPf9j5whe+UFS/YzFDmsWBAwe0ZMkSzZ49W5WVlVqxYoX27dvndbeKVjQalSRdc801uvzyy/WTn/zE4x4Vpz179mjbtm2qr6+XJLW1temcc87R/PnzVVJSopaWFj4nM2joePT19amjo0Nf/vKX1dLSou985zuybdvjXhaPuro6ffGLX1RpaalCoZDe85736MiRI3xGPDLSeHR0dPAZ8ciHPvQh/fjHP1ZJSYm6u7tlWZZ6enr4fHhkpPEoLy/n8+Ght956Szt27NB1110nqbh+xyKQZnH8+HHV1dWlHtfX16uzs9PDHhW3np4eXXTRRfr+97+vH/3oR7r//vv11FNPed2tonPLLbfogx/8YOoxnxNvDR2PEydOaMmSJbr11lu1Z88ePfvss3rwwQc97GFxOffcc9XU1CRJOnLkiH7+85/LMAw+Ix4ZaTw++tGP8hnxUCgU0ne+8x2tWrVKF110Ef8b4rGh4xGPx/l8eOjmm2/W1q1bVVNTI6m4fscikGZh27YMw0g9dhwn4zFm1oUXXqjt27erurpaZ599ttatW6f//u//9rpbRY/Pib/Mnz9f3//+91VfX6+Kigpt3LiRz4kHXn75ZV1zzTX6x3/8R82fP5/PiMfSx6OxsZHPiMe2bNmigwcP6tixYzpy5AifD4+lj8fBgwf5fHjkgQce0Dve8Q5ddNFFqWvF9DtWidcd8Ku5c+fq2WefTT3u6upKLYvDzHv22Wdlmmbqg+o4jkpK+M/Xa3PnzlVXV1fqMZ8Tb7300ks6cuSIVqxYIYnPiReee+45bdmyRV/+8pe1atUqPfPMM3xGPDR0PPiMeOeVV15RLBbT+eefr4qKCjU3N2vfvn0KBoOpe/h8zJyRxuPRRx/V7Nmz+Xx44NFHH1VXV5fWrFmjU6dO6cyZM3r99deL5vPBDGkWS5cu1cGDB3Xy5En19fVp//79WrZsmdfdKlq9vb3avn27BgYGdPr0af30pz/VpZde6nW3it4FF1ygV199VX/6059kWZYeeeQRPicechxHt956q06dOiXTNLV7924+JzPo2LFjuv7663XHHXdo1apVkviMeGmk8eAz4p3XXntNN910k2KxmGKxmJ544glt2LCBz4dHRhqPv/iLv+Dz4ZF7771XjzzyiFpbW7VlyxYtX75c//Ef/1E0nw/+7JFFQ0ODtm7dqk2bNsk0Ta1bt06RSMTrbhWtSy65RL/73e+0du1a2batq6++WhdeeKHX3Sp6ZWVluv322/W5z31OAwMDuvjii3XZZZd53a2idd555+lTn/qUrrrqKsXjcTU3N2v16tVed6to3HPPPRoYGNDtt9+eurZhwwY+Ix7JNh58Rrxx8cUXq62tTWvXrlUwGFRzc7NWrVqls88+m8+HB0Yaj89+9rOaM2cOnw+fKKbfsQzHcRyvOwEAAAAAKD4s2QUAAAAAeIJACgAAAADwBIEUAAAAAOAJAikAAAAAwBMEUgAAAACAJwikAAAAAABPEEgBAAAAAJ74f0O31MYqmnh5AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sm.graphics.tsa.plot_acf(df['RH'], lags = 40)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "verbal-personality",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1. 0.95718293 0.9204099 0.88206433 0.84493624 0.80980257\n",
" 0.77751823 0.74554691 0.71459272 0.68726112 0.6621406 0.64126285\n",
" 0.62016775 0.6010487 0.58357889 0.57013776 0.55835392 0.54764369\n",
" 0.53762466 0.52776926 0.51973301 0.51079236 0.50061373 0.48863612\n",
" 0.47402896 0.45916512 0.44184904 0.42279603 0.40257239 0.38199443\n",
" 0.36144328 0.34075126 0.32099896 0.30233634 0.2851092 0.26964936\n",
" 0.25560014 0.24345986 0.23331456 0.22732421 0.22287511]\n"
]
}
],
"source": [
"# Partial autocorrelation\n",
"print(sm.graphics.tsa.acf(df['RH'], nlags = 40))"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "british-thursday",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAHiCAYAAAD/IQGFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAyoElEQVR4nO39fZSddX0v/L9nJpNASEJImEmAYjTiDRYJwVYNkQfR2wRJhiDFQqGkp5xfVKonqzlqRUG0S3kopYdj1XUUjtWCQQORgqk20ELBo8ktxWMIcERJ04BASIYE8kAeZjJ7//7AzEl4yCSZPfnuZL9ea7FWrr33XHz29bme3vv67ms3VavVagAAAGAfay5dAAAAAI1JIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUgLrw9NNP561vfWtmzJjR+9/ZZ5+d+fPn7/G87r///nz5y19Oktx777350pe+1Of/+6STTnrd52+55ZYce+yxWbJkyW7X8NWvfjX/8i//stuv3xcuu+yyfPOb39zlazZs2JCZM2f2Ts+YMSPr168f6NIAaFCDShcAANsddNBBueuuu3qnV61alenTp+dtb3tbjjvuuN2ezyOPPJJ169YlSd73vvflfe97X7/q+t73vpeOjo78/d//fSZOnLhbf/Ozn/0sxxxzTL/+vyWsW7cujzzySO/0jv0AgFoTSAGoW2PGjMm4ceOyYsWKvOENb8gXvvCFPPnkk3nxxRdzyCGH5Prrr8/48eNz8cUX59BDD83y5ctz1lln5Xvf+156enoyfPjwjBs3LnfffXe+8Y1vZMmSJfnrv/7rdHV1pbOzM5MnT87VV1+9yxp+9rOfZd26dfnUpz6V97///Vm5cmWOOOKIJMnFF1+ciy66KGeeeeZO02vWrMmjjz6a6667Li0tLZk0aVL+8i//Mo8//niamppy6qmn5r/+1/+aQYMG5eGHH86XvvSlbN68Oa2trfmLv/iLnHzyyXnooYdy3XXX9T7+53/+5znttNNyxx13ZP78+dm8eXOGDRuWD37wgztN33LLLbn99tvz3e9+N5VKJSNHjsznPve5vPnNb97pfc2fPz/z5s1Ld3d31q1bl1mzZuXCCy/MZz7zmWzZsiUzZszIHXfckd/93d/N4sWLM2rUqHzta1/LD3/4w7S0tORNb3pTPve5z6WtrS0XX3xxJk6cmP/9v/93Vq5cmZNPPjlf/OIX09xsIBYAuyaQAlC3fvGLX+Spp57KiSeemB//+McZMWJE5s2blyS58sorM3fu3Hzuc59LkowYMSI/+tGPkiTVajUvvPBC5syZkzvuuKN3fjfffHNmz56dd73rXXnppZfyvve9L48++mhGjhz5ujXceuut6ejoyJgxYzJp0qR85zvfyac+9ald1n3RRRdl4cKFueiii/L+978/n/70pzNy5MgsWLAg3d3dufTSS/N3f/d3+dM//dN87GMfy5e+9KW85z3vyaOPPprPfOYzvXX+j//xP3LiiSfmiSeeyB//8R/3Dl9etmxZ7rvvvgwbNix33HHHTtMPPvhg7rzzzsydOzcHH3xwfvKTn+TjH/94/umf/qm3vpdeeim33357brzxxhx22GFZsmRJ/vRP/zQXXnhhrrnmmnR0dLzqyuj3v//9/K//9b8yf/78DB06NF/5yld2GgL81FNP5ZZbbsmmTZvygQ98IA8++GAmTZq0m50GoFEJpADUje1X5pKkp6cnhx12WP76r/86RxxxRI444ogcffTRueWWW/Lkk0/mwQcf3Ol7n7//+7/f5/yvvfba/PjHP87Xv/71LF++PFu3bs2mTZteN5B2dnbm3nvvzfe///0kyTnnnJMvfOEL+djHPpahQ4fu9vv68Y9/nO9+97tpamrK4MGDc8EFF+Tv//7v8+53vzvNzc15z3vekyR529velgULFuSBBx7IG97whpx44olJkre85S15+9vfngcffDBNTU059thjM2zYsN757zh9//3358knn8wFF1zQ+/z69evz4osv9k4fcsgh+frXv54HHnggK1asyOOPP55Nmzb1+R7OPffc3vc9c+bMfP3rX09XV1eS5Iwzzkhzc3OGDRuWcePG9Q6ZBoBdEUgBqBuv/A7pjm699dbcdtttueiii9LR0ZGRI0fm6aef7n1+dwLiH//xH+fYY4/Nqaeemg984AN5+OGHU61WX/f1t912W5Lk0ksvTZJUKpVs3Lgx//AP/5CLLrooSXb6++7u7tecT6VSSVNT007T27ZtS0tLy06PJ8mvf/3r9PT0vOrxarWabdu2pbW19VXvdcfpSqWSGTNm9F7FrVQqWb16dQ499NDe1zz33HM5//zz84d/+If5vd/7vZx55pn513/919ddDrt6D9sddNBBvf9uamra5XIFgO18uQOA/cJPfvKTfPCDH8yHPvShvOlNb8p9992Xnp6e13xtS0vLTmEpefkq4SOPPJJPfvKTmTJlSp577rk89dRTqVQqrzmPnp6e3H777fnLv/zL3Hfffbnvvvty//335yMf+UhuvvnmVKvVjBo1Ko8++miSl4fR/upXv3rNGk455ZR85zvfSbVaTVdXV2677bZMnjw548ePT1NTU376058mSR577LH8yZ/8SU488cQsX748S5cuTZI88cQT+bd/+7e8853v7HM5nXLKKfnhD3+Y1atXJ0m++93v5k/+5E92es2jjz6aUaNG5c/+7M9yyimn9IbRnp6eDBo0KD09Pa8KlKeeemq+//3v915JveWWW/KOd7wjgwcP7rMmAHg9rpACsF+45JJLcuWVV/Z+j3LixIn59a9//ZqvnTRpUj75yU/mi1/8Yo4//vgkL3/H9MMf/nA++MEPZujQoRkzZkze/va358knn8zRRx/9qnn867/+ayqVSjo6OnZ6/D/9p/+Um2++OQ888EAuvfTSXHbZZXnggQcyfvz4nYYNv/e9781/+2//Ld3d3bniiivypS99KR0dHenu7s6pp56aj370oxk8eHC+8pWv5Oqrr851112X1tbWfOUrX8no0aPz5S9/OV/84hezZcuWNDU15Zprrsmb3vSm/OIXv9jlcjrllFMya9asXHLJJWlqasqwYcPy1a9+daerm+9+97szf/78nHnmmWlqaso73/nOjBo1Kk8++WTGjRuXCRMmZNq0aZk7d27v35x33nlZuXJlPvShD6VSqWTcuHG5/vrr++gaAOxaU9WYGgAAAAowZBcAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIuriZ19eeOGlVCr1e7Pf0aOHZc2ajaXL4Lf0o77oR33Rj/qiH/VHT+qLftQX/agvB0o/mpubcthhh7zu83URSCuVal0H0iR1X1+j0Y/6oh/1RT/qi37UHz2pL/pRX/SjvjRCPwzZBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIgRSAAAAihBIAQAAKEIgBQAAoAiBFAAAgCJ2K5Bu3Lgx06dPz9NPP/2q5375y1/m3HPPzdSpU3P55Zdn27ZtNS+ylEqlmiXLns/3/vlXWbLs+VQq1dIlAQAAHDD6DKQPP/xw/uiP/igrVqx4zec/9alP5corr8zdd9+darWa2267rdY1FlGpVPM385bkG3c9llsXPp5v3PVY/mbeEqEUAACgRvoMpLfddls+//nPp729/VXPPfPMM9myZUsmTpyYJDn33HOzcOHCmhdZwtLla7L82fXZ2t2TapKt3T1Z/uz6LF2+pnRpAAAAB4RBfb3gqquuet3nVq9enba2tt7ptra2rFq1ao+LGD162B7/zUBbs+TZdHX37PRYV3dP1m7sSlvb8EJVsZ0e1Bf9qC/6UV/0o/7oSX3Rj/qiH/WlEfrRZyDdlUqlkqampt7parW60/TuWrNmY90NhR09bHAGt7Zk6w6hdHBrS0YNG5zOzg0FK6Otbbge1BH9qC/6UV/0o/7oSX3Rj/qiH/XlQOlHc3PTLi9A9usuu2PHjk1nZ2fv9PPPP/+aQ3v3RxPGj874I0dke74e0tqS8UeOyITxo8sWBgAAcIDoVyA96qijMmTIkPz85z9Pktx111057bTTalJYac3NTfnE+RNz5OhD0j7q4HxkxvH5xPkT09y851eAAQAAeLW9CqSzZs3KI488kiS5/vrrc8011+TMM8/Mpk2bMnPmzJoWWFJzc1OGHdya9sOGZuIxhwujAAAANbTb3yG97777ev9900039f77uOOOy/z582tbFQAAAAe8fg3ZBQAAgL0lkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQwqXUAjqVSqWbp8TZ5atSFvGDM8E8aPTnNzU+myAAAAihBI95FKpZq/mbcky59dn67ungxubcn4I0fkE+dPFEoBAICGZMjuPrJ0+Zosf3Z9tnb3pJpka3dPlj+7PkuXryldGgAAQBEC6T7y1KoN6eru2emxru6e/GbVhkIVAQAAlCWQ7iNvGDM8g1tbdnpscGtLjh4zvFBFAAAAZQmk+8iE8aMz/sgRafrt10WH/PY7pBPGjy5bGAAAQCEC6T7S3NyUT5w/MUeOPiSHjzgoH5lxvBsaAQAADc1ddveh5uamDDu4NcMObs3EYw4vXQ4AAEBRrpACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARexWIF2wYEHOOuusTJkyJXPnzn3V84899lj+4A/+IGeffXY+8pGPZP369TUvFAAAgANLn4F01apVueGGG3LrrbfmzjvvzLx587Js2bKdXnPVVVdl9uzZ+cEPfpA3velN+eY3vzlgBQMAAHBg6DOQLlq0KJMmTcrIkSMzdOjQTJ06NQsXLtzpNZVKJS+99FKSZPPmzTnooIMGploAAAAOGH0G0tWrV6etra13ur29PatWrdrpNZdddlmuuOKKnHLKKVm0aFEuuOCC2lcKAADAAWVQXy+oVCppamrqna5WqztNb9myJZdffnm+/e1vZ8KECfnWt76VT3/607nxxht3u4jRo4ftYdn7TuvgliRJW9vwupxfo7L86ot+1Bf9qC/6UX/0pL7oR33Rj/rSCP3oM5COHTs2Dz30UO90Z2dn2tvbe6d//etfZ8iQIZkwYUKS5Pzzz8+Xv/zlPSpizZqNqVSqe/Q3+0p3V09aB7eks3NDzeaXpGbza0RtbcMtvzqiH/VFP+qLftQfPakv+lFf9KO+HCj9aG5u2uUFyD6H7E6ePDmLFy/O2rVrs3nz5txzzz057bTTep8fN25cnnvuuSxfvjxJcu+99+aEE06oQekAAAAcyPq8QjpmzJjMmTMnM2fOTHd3d84777xMmDAhs2bNyuzZs3PCCSfkmmuuyZ//+Z+nWq1m9OjRufrqq/dF7QAAAOzH+gykSdLR0ZGOjo6dHrvpppt6/3366afn9NNPr21lAAAAHND6HLILAAAAA0EgBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIgRSAAAAihBIAQAAKEIgBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIgRSAAAAihBIAQAAKEIgBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIgRSAAAAihBIAQAAKEIgBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIgRSAAAAihBIAQAAKEIgBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACKEEgBAAAoQiAFAACgCIEUAACAIgRSAAAAihBIAQAAKEIgBQAAoAiBFAAAgCIEUgAAAIoQSAEAAChCIAUAAKAIgRQAAIAiBFIAAACK2K1AumDBgpx11lmZMmVK5s6d+6rnly9fnosvvjhnn312/vN//s9Zt25dzQsFAADgwNJnIF21alVuuOGG3Hrrrbnzzjszb968LFu2rPf5arWaSy+9NLNmzcoPfvCDvPWtb82NN944oEUDAACw/+szkC5atCiTJk3KyJEjM3To0EydOjULFy7sff6xxx7L0KFDc9pppyVJPvrRj+aiiy4auIoBAAA4IAzq6wWrV69OW1tb73R7e3uWLl3aO/3UU0/l8MMPz2c/+9n88pe/zPjx4/O5z31uj4oYPXrYHr1+X2od3JIkaWsbXpfza1SWX33Rj/qiH/VFP+qPntQX/agv+lFfGqEffQbSSqWSpqam3ulqtbrT9LZt2/Lggw/mO9/5Tk444YT89//+33Pttdfm2muv3e0i1qzZmEqluoel7xvdXT1pHdySzs4NNZtfkprNrxG1tQ23/OqIftQX/agv+lF/9KS+6Ed90Y/6cqD0o7m5aZcXIPscsjt27Nh0dnb2Tnd2dqa9vb13uq2tLePGjcsJJ5yQJJk+ffpOV1ABAADgtfQZSCdPnpzFixdn7dq12bx5c+65557e74smyUknnZS1a9fm8ccfT5Lcd999Of744weuYgAAAA4IfQ7ZHTNmTObMmZOZM2emu7s75513XiZMmJBZs2Zl9uzZOeGEE/K1r30tV1xxRTZv3pyxY8fmuuuu2xe1AwAAsB/rM5AmSUdHRzo6OnZ67Kabbur994knnpj58+fXtjIAAAAOaH0O2QUAAICBIJACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBG7FUgXLFiQs846K1OmTMncuXNf93X3339/3vve99asOAAAAA5cg/p6wapVq3LDDTfkjjvuyODBg3PBBRfkXe96V4455pidXvf888/nr/7qrwasUAAAAA4sfV4hXbRoUSZNmpSRI0dm6NChmTp1ahYuXPiq111xxRX5+Mc/PiBFAgAAcODpM5CuXr06bW1tvdPt7e1ZtWrVTq+5+eab87u/+7s58cQTa18hAAAAB6Q+h+xWKpU0NTX1Tler1Z2mf/3rX+eee+7Jt7/97Tz33HN7VcTo0cP26u/2hdbBLUmStrbhdTm/RmX51Rf9qC/6UV/0o/7oSX3Rj/qiH/WlEfrRZyAdO3ZsHnrood7pzs7OtLe3904vXLgwnZ2d+YM/+IN0d3dn9erVufDCC3PrrbfudhFr1mxMpVLdw9L3je6unrQObkln54aazS9JzebXiNrahlt+dUQ/6ot+1Bf9qD96Ul/0o77oR305UPrR3Ny0ywuQfQ7ZnTx5chYvXpy1a9dm8+bNueeee3Laaaf1Pj979uzcfffdueuuu3LjjTemvb19j8IoAAAAjanPQDpmzJjMmTMnM2fOzDnnnJPp06dnwoQJmTVrVh555JF9USMAAAAHoD6H7CZJR0dHOjo6dnrspptuetXrfud3fif33XdfbSoDAADggNbnFVIAAAAYCAIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFCEQAoAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFCGQAgAAUIRACgAAQBECKQAAAEUIpAAAABQhkAIAAFDEbgXSBQsW5KyzzsqUKVMyd+7cVz3/L//yL5kxY0bOPvvs/Nmf/VnWrVtX80IBAAA4sPQZSFetWpUbbrght956a+68887Mmzcvy5Yt631+48aN+cIXvpAbb7wxP/jBD3LsscfmK1/5yoAWDQAAwP6vz0C6aNGiTJo0KSNHjszQoUMzderULFy4sPf57u7ufP7zn8+YMWOSJMcee2xWrlw5cBUDAABwQBjU1wtWr16dtra23un29vYsXbq0d/qwww7L+9///iTJli1bcuONN+biiy/eoyJGjx62R6/fl1oHtyRJ2tqG1+X8GpXlV1/0o77oR33Rj/qjJ/VFP+qLftSXRuhHn4G0Uqmkqampd7pare40vd2GDRvysY99LMcdd1w++MEP7lERa9ZsTKVS3aO/2Ve6u3rSOrglnZ0baja/JDWbXyNqaxtu+dUR/agv+lFf9KP+6El90Y/6oh/15UDpR3Nz0y4vQPY5ZHfs2LHp7Ozsne7s7Ex7e/tOr1m9enUuvPDCHHvssbnqqqv6US4AAACNos9AOnny5CxevDhr167N5s2bc8899+S0007rfb6npycf/ehH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OWeddVamTZuWb33rW0lsHyW9Vj9sH+X91V/9VS677LIkDbR9VHlNzz33XPWMM86ovvDCC9WXXnqp2tHRUX3iiSdKl9WwKpVK9ZRTTql2d3eXLqWhLVmypDp9+vTq8ccfX/3Nb35T3bx5c/X000+vPvXUU9Xu7u7qJZdcUr3//vtLl9kwXtmParVanT59enXVqlWFK2tMP/3pT6vnn39+devWrdWurq7qzJkzqwsWLLCNFPJa/bjnnntsI4X87Gc/q15wwQXV7u7u6ubNm6tnnHFG9Ze//KXto5DX6se///u/2z4KW7RoUfVd73pX9dOf/nRDnWO5Qvo6Fi1alEmTJmXkyJEZOnRopk6dmoULF5Yuq2EtX748SXLJJZfk7LPPzne+853CFTWm2267LZ///OfT3t6eJFm6dGnGjRuXo48+OoMGDUpHR4ftZB96ZT82b96cZ599Np/97GfT0dGRv/3bv02lUilcZeNoa2vLZZddlsGDB6e1tTVvfvObs2LFCttIIa/Vj2effdY2Usg73/nO3HzzzRk0aFDWrFmTnp6erF+/3vZRyGv146CDDrJ9FPTiiy/mhhtuyEc/+tEkjXWOJZC+jtWrV6etra13ur29PatWrSpYUWNbv359Tj755Hzta1/Lt7/97Xzve9/LT3/609JlNZyrrroqv//7v987bTsp65X9eP755zNp0qRcffXVue222/LQQw9l/vz5BStsLG95y1syceLEJMmKFSvyT//0T2lqarKNFPJa/Tj11FNtIwW1trbmb//2bzNt2rScfPLJjiGFvbIf27Zts30UdOWVV2bOnDkZMWJEksY6xxJIX0elUklTU1PvdLVa3Wmafeukk07Kddddl+HDh2fUqFE577zz8sADD5Quq+HZTurL0Ucfna997Wtpb2/PwQcfnIsvvth2UsATTzyRSy65JH/xF3+Ro48+2jZS2I79GD9+vG2ksNmzZ2fx4sVZuXJlVqxYYfsobMd+LF682PZRyO23354jjjgiJ598cu9jjXSONah0AfVq7Nixeeihh3qnOzs7e4fFse899NBD6e7u7t1Qq9VqBg2y+pY2duzYdHZ29k7bTsr61a9+lRUrVmTq1KlJbCcl/PznP8/s2bPz2c9+NtOmTcuDDz5oGynolf2wjZTz7//+7+nq6spb3/rWHHzwwZkyZUoWLlyYlpaW3tfYPvad1+rHj370o4wcOdL2UcCPfvSjdHZ2ZsaMGVm3bl02bdqUZ555pmG2D1dIX8fkyZOzePHirF27Nps3b84999yT0047rXRZDWvDhg257rrrsnXr1mzcuDH/8A//kPe///2ly2p4J554Yv7jP/4jTz75ZHp6evKP//iPtpOCqtVqrr766qxbty7d3d2ZN2+e7WQfWrlyZT72sY/l+uuvz7Rp05LYRkp6rX7YRsp5+umnc8UVV6SrqytdXV259957c8EFF9g+CnmtfrzjHe+wfRTyrW99K//4j/+Yu+66K7Nnz8573/ve/M//+T8bZvvwscfrGDNmTObMmZOZM2emu7s75513XiZMmFC6rIZ1xhln5OGHH84555yTSqWSCy+8MCeddFLpshrekCFDcu211+a//Jf/kq1bt+b000/PmWeeWbqshnXcccflwx/+cP7oj/4o27Zty5QpUzJ9+vTSZTWMb37zm9m6dWuuvfba3scuuOAC20ghr9cP20gZp59+epYuXZpzzjknLS0tmTJlSqZNm5ZRo0bZPgp4rX58/OMfz2GHHWb7qBONdI7VVK1Wq6WLAAAAoPEYsgsAAEARAikAAABFCKQAAAAUIZACAABQhEAKAABAEQIpAAAARQikAAAAFPH/B9pSo9jk+CamAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sm.graphics.tsa.plot_pacf(df['RH'], lags = 40)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "precious-snake",
"metadata": {},
"source": [
"## Data paritioning"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "automatic-chosen",
"metadata": {},
"outputs": [],
"source": [
"# Split into training data and testing data\n",
"df_train = df.iloc[:(len(df) - 100), :]\n",
"df_test = df.iloc[(len(df) - 100):, :]"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "extra-canal",
"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>Date</th>\n",
" <th>Time</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>9252</th>\n",
" <td>31/03/2005</td>\n",
" <td>06.00.00</td>\n",
" <td>0.9</td>\n",
" <td>1068.0</td>\n",
" <td>-200.0</td>\n",
" <td>6.1</td>\n",
" <td>816.0</td>\n",
" <td>191.0</td>\n",
" <td>681.0</td>\n",
" <td>80.0</td>\n",
" <td>1264.0</td>\n",
" <td>1011.0</td>\n",
" <td>12.6</td>\n",
" <td>71.5</td>\n",
" <td>1.0380</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9253</th>\n",
" <td>31/03/2005</td>\n",
" <td>07.00.00</td>\n",
" <td>4.0</td>\n",
" <td>1531.0</td>\n",
" <td>-200.0</td>\n",
" <td>23.6</td>\n",
" <td>1394.0</td>\n",
" <td>673.0</td>\n",
" <td>407.0</td>\n",
" <td>133.0</td>\n",
" <td>1860.0</td>\n",
" <td>1683.0</td>\n",
" <td>12.7</td>\n",
" <td>69.6</td>\n",
" <td>1.0206</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9254</th>\n",
" <td>31/03/2005</td>\n",
" <td>08.00.00</td>\n",
" <td>4.1</td>\n",
" <td>1184.0</td>\n",
" <td>-200.0</td>\n",
" <td>10.9</td>\n",
" <td>1012.0</td>\n",
" <td>547.0</td>\n",
" <td>567.0</td>\n",
" <td>170.0</td>\n",
" <td>1397.0</td>\n",
" <td>1341.0</td>\n",
" <td>16.8</td>\n",
" <td>51.6</td>\n",
" <td>0.9818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9255</th>\n",
" <td>31/03/2005</td>\n",
" <td>09.00.00</td>\n",
" <td>1.9</td>\n",
" <td>1064.0</td>\n",
" <td>-200.0</td>\n",
" <td>6.8</td>\n",
" <td>848.0</td>\n",
" <td>275.0</td>\n",
" <td>692.0</td>\n",
" <td>139.0</td>\n",
" <td>1212.0</td>\n",
" <td>1014.0</td>\n",
" <td>20.3</td>\n",
" <td>40.1</td>\n",
" <td>0.9439</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9256</th>\n",
" <td>31/03/2005</td>\n",
" <td>10.00.00</td>\n",
" <td>1.3</td>\n",
" <td>996.0</td>\n",
" <td>-200.0</td>\n",
" <td>4.9</td>\n",
" <td>759.0</td>\n",
" <td>200.0</td>\n",
" <td>773.0</td>\n",
" <td>124.0</td>\n",
" <td>1119.0</td>\n",
" <td>751.0</td>\n",
" <td>21.0</td>\n",
" <td>37.3</td>\n",
" <td>0.9139</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Time CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) \\\n",
"9252 31/03/2005 06.00.00 0.9 1068.0 -200.0 6.1 \n",
"9253 31/03/2005 07.00.00 4.0 1531.0 -200.0 23.6 \n",
"9254 31/03/2005 08.00.00 4.1 1184.0 -200.0 10.9 \n",
"9255 31/03/2005 09.00.00 1.9 1064.0 -200.0 6.8 \n",
"9256 31/03/2005 10.00.00 1.3 996.0 -200.0 4.9 \n",
"\n",
" PT08.S2(NMHC) NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) \\\n",
"9252 816.0 191.0 681.0 80.0 1264.0 \n",
"9253 1394.0 673.0 407.0 133.0 1860.0 \n",
"9254 1012.0 547.0 567.0 170.0 1397.0 \n",
"9255 848.0 275.0 692.0 139.0 1212.0 \n",
"9256 759.0 200.0 773.0 124.0 1119.0 \n",
"\n",
" PT08.S5(O3) T RH AH \n",
"9252 1011.0 12.6 71.5 1.0380 \n",
"9253 1683.0 12.7 69.6 1.0206 \n",
"9254 1341.0 16.8 51.6 0.9818 \n",
"9255 1014.0 20.3 40.1 0.9439 \n",
"9256 751.0 21.0 37.3 0.9139 "
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Training data\n",
"df_train.tail()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "competent-arctic",
"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>Date</th>\n",
" <th>Time</th>\n",
" <th>CO(GT)</th>\n",
" <th>PT08.S1(CO)</th>\n",
" <th>NMHC(GT)</th>\n",
" <th>C6H6(GT)</th>\n",
" <th>PT08.S2(NMHC)</th>\n",
" <th>NOx(GT)</th>\n",
" <th>PT08.S3(NOx)</th>\n",
" <th>NO2(GT)</th>\n",
" <th>PT08.S4(NO2)</th>\n",
" <th>PT08.S5(O3)</th>\n",
" <th>T</th>\n",
" <th>RH</th>\n",
" <th>AH</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>9257</th>\n",
" <td>31/03/2005</td>\n",
" <td>11.00.00</td>\n",
" <td>1.2</td>\n",
" <td>984.0</td>\n",
" <td>-200.0</td>\n",
" <td>4.2</td>\n",
" <td>724.0</td>\n",
" <td>185.0</td>\n",
" <td>810.0</td>\n",
" <td>118.0</td>\n",
" <td>1088.0</td>\n",
" <td>630.0</td>\n",
" <td>21.0</td>\n",
" <td>36.9</td>\n",
" <td>0.9089</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9258</th>\n",
" <td>31/03/2005</td>\n",
" <td>12.00.00</td>\n",
" <td>1.2</td>\n",
" <td>980.0</td>\n",
" <td>-200.0</td>\n",
" <td>4.3</td>\n",
" <td>728.0</td>\n",
" <td>164.0</td>\n",
" <td>808.0</td>\n",
" <td>108.0</td>\n",
" <td>1098.0</td>\n",
" <td>565.0</td>\n",
" <td>22.8</td>\n",
" <td>33.0</td>\n",
" <td>0.9040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9259</th>\n",
" <td>31/03/2005</td>\n",
" <td>13.00.00</td>\n",
" <td>1.2</td>\n",
" <td>970.0</td>\n",
" <td>-200.0</td>\n",
" <td>4.0</td>\n",
" <td>710.0</td>\n",
" <td>150.0</td>\n",
" <td>833.0</td>\n",
" <td>100.0</td>\n",
" <td>1094.0</td>\n",
" <td>535.0</td>\n",
" <td>24.0</td>\n",
" <td>30.3</td>\n",
" <td>0.8925</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9260</th>\n",
" <td>31/03/2005</td>\n",
" <td>14.00.00</td>\n",
" <td>0.9</td>\n",
" <td>940.0</td>\n",
" <td>-200.0</td>\n",
" <td>3.1</td>\n",
" <td>656.0</td>\n",
" <td>134.0</td>\n",
" <td>913.0</td>\n",
" <td>91.0</td>\n",
" <td>1052.0</td>\n",
" <td>471.0</td>\n",
" <td>22.6</td>\n",
" <td>33.2</td>\n",
" <td>0.9007</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9261</th>\n",
" <td>31/03/2005</td>\n",
" <td>15.00.00</td>\n",
" <td>1.0</td>\n",
" <td>963.0</td>\n",
" <td>-200.0</td>\n",
" <td>3.7</td>\n",
" <td>691.0</td>\n",
" <td>128.0</td>\n",
" <td>857.0</td>\n",
" <td>89.0</td>\n",
" <td>1075.0</td>\n",
" <td>512.0</td>\n",
" <td>22.5</td>\n",
" <td>32.9</td>\n",
" <td>0.8846</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Time CO(GT) PT08.S1(CO) NMHC(GT) C6H6(GT) \\\n",
"9257 31/03/2005 11.00.00 1.2 984.0 -200.0 4.2 \n",
"9258 31/03/2005 12.00.00 1.2 980.0 -200.0 4.3 \n",
"9259 31/03/2005 13.00.00 1.2 970.0 -200.0 4.0 \n",
"9260 31/03/2005 14.00.00 0.9 940.0 -200.0 3.1 \n",
"9261 31/03/2005 15.00.00 1.0 963.0 -200.0 3.7 \n",
"\n",
" PT08.S2(NMHC) NOx(GT) PT08.S3(NOx) NO2(GT) PT08.S4(NO2) \\\n",
"9257 724.0 185.0 810.0 118.0 1088.0 \n",
"9258 728.0 164.0 808.0 108.0 1098.0 \n",
"9259 710.0 150.0 833.0 100.0 1094.0 \n",
"9260 656.0 134.0 913.0 91.0 1052.0 \n",
"9261 691.0 128.0 857.0 89.0 1075.0 \n",
"\n",
" PT08.S5(O3) T RH AH \n",
"9257 630.0 21.0 36.9 0.9089 \n",
"9258 565.0 22.8 33.0 0.9040 \n",
"9259 535.0 24.0 30.3 0.8925 \n",
"9260 471.0 22.6 33.2 0.9007 \n",
"9261 512.0 22.5 32.9 0.8846 "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Testing data\n",
"df_test.head()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "taken-evidence",
"metadata": {},
"outputs": [],
"source": [
"# Data partitioning - split training data into training and validation\n",
"X = df_train[df_train.columns[~df_train.columns.isin(\n",
" ['Date', 'Time', 'RH'])]]\n",
"y = df_train['RH']\n",
"\n",
"# Testing\n",
"X_test = df_test[df_test.columns[~df_test.columns.isin(\n",
" ['Date', 'Time', 'RH'])]]"
]
},
{
"cell_type": "markdown",
"id": "exotic-people",
"metadata": {},
"source": [
"## Data modelling - without parameters tuning"
]
},
{
"cell_type": "markdown",
"id": "temporal-president",
"metadata": {},
"source": [
"### 1 Anchored walk-forward optimization"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "solved-reviewer",
"metadata": {},
"outputs": [],
"source": [
"# Define the model\n",
"randomForest = RandomForestRegressor()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "grateful-scotland",
"metadata": {},
"outputs": [],
"source": [
"# Fit the model\n",
"tscv = TimeSeriesSplit(n_splits = 10)\n",
"scores = cross_val_score(\n",
" estimator = randomForest,\n",
" X = X,\n",
" y = y,\n",
" cv = tscv,\n",
" scoring = make_scorer(mean_squared_error)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "smart-springfield",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loss: 9.920 (+/- 9.623)\n"
]
}
],
"source": [
"# Result - anchored walk-forward optimization\n",
"print('Loss: {0:.3f} (+/- {1:.3f})'.format(\n",
" scores.mean(),\n",
" scores.std())\n",
")"
]
},
{
"cell_type": "markdown",
"id": "electronic-raleigh",
"metadata": {},
"source": [
"### 2 Non-anchored walk-forward optimization"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "confident-rates",
"metadata": {},
"outputs": [],
"source": [
"# Function for non-anchored walk-forward optimization\n",
"class NonAnchoredTimeSeriesSplit():\n",
" def __init__(self, n_splits):\n",
" self.n_splits = n_splits\n",
" \n",
" def get_n_splits(self, X, y, groups):\n",
" return self.n_splits\n",
" \n",
" def split(self, X, y = None, groups = None):\n",
" n_samples = len(X)\n",
" k_fold_size = n_samples // self.n_splits\n",
" indices = np.arange(n_samples)\n",
"\n",
" margin = 0\n",
" for i in range(self.n_splits):\n",
" start = i * k_fold_size\n",
" stop = start + k_fold_size\n",
" mid = int(0.8 * (stop - start)) + start\n",
" yield indices[start: mid], indices[mid + margin: stop]"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "charming-communication",
"metadata": {},
"outputs": [],
"source": [
"# Fit the model\n",
"ntscv = NonAnchoredTimeSeriesSplit(n_splits = 10)\n",
"scores = cross_val_score(\n",
" estimator = randomForest,\n",
" X = X,\n",
" y = y,\n",
" cv = ntscv,\n",
" scoring = make_scorer(mean_squared_error)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "fleet-school",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loss: 490.442 (+/- 1374.825)\n"
]
}
],
"source": [
"# Result - non-anchored walk-forward optimization\n",
"print('Loss: {0:.3f} (+/- {1:.3f})'.format(\n",
" scores.mean(),\n",
" scores.std())\n",
")"
]
},
{
"cell_type": "markdown",
"id": "latter-lobby",
"metadata": {},
"source": [
"### 3 k-fold cross validation"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "stock-wells",
"metadata": {},
"outputs": [],
"source": [
"# Fit the model\n",
"kfcv = KFold(n_splits = 10)\n",
"scores = cross_val_score(\n",
" estimator = randomForest,\n",
" X = X,\n",
" y = y,\n",
" cv = kfcv,\n",
" scoring = make_scorer(mean_squared_error)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "prospective-consistency",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loss: 0.935 (+/- 0.951)\n"
]
}
],
"source": [
"# Result - k-fold cross validation\n",
"print('Loss: {0:.3f} (+/- {1:.3f})'.format(\n",
" scores.mean(),\n",
" scores.std())\n",
")"
]
},
{
"cell_type": "markdown",
"id": "working-clock",
"metadata": {},
"source": [
"## Data modelling - with parameters tuning"
]
},
{
"cell_type": "markdown",
"id": "traditional-republican",
"metadata": {},
"source": [
"### Random parameters"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "short-montana",
"metadata": {},
"outputs": [],
"source": [
"# Number of trees in random forest\n",
"n_estimators = [int(x) for x in np.linspace(\n",
" start = 200,\n",
" stop = 2000,\n",
" num = 2)]\n",
"# Number of features to consider at every split\n",
"max_features = ['auto', 'sqrt']\n",
"# Maximum number of levels in tree\n",
"max_depth = [int(x) for x in np.linspace(10, 50, num = 2)]\n",
"max_depth.append(None)\n",
"# Minimum number of samples required to split a node\n",
"min_samples_split = [2, 5]\n",
"# Minimum number of samples required at each leaf node\n",
"min_samples_leaf = [1, 2]\n",
"# Method of selecting samples for training each tree\n",
"bootstrap = [True, False]\n",
"# Create the random grid\n",
"random_grid = {'n_estimators': n_estimators,\n",
" 'max_depth': max_depth,\n",
" 'min_samples_leaf': min_samples_leaf}\n",
"scorers = {\n",
" 'mean_squared_error': make_scorer(mean_squared_error)\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "textile-reception",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"{'n_estimators': [200, 2000],\n",
" 'max_depth': [10, 50, None],\n",
" 'min_samples_leaf': [1, 2]}"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random_grid"
]
},
{
"cell_type": "markdown",
"id": "limited-courtesy",
"metadata": {},
"source": [
"### 1 Anchored walk-forward optimization"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "demographic-single",
"metadata": {},
"outputs": [],
"source": [
"# Grid-search\n",
"gridSearch = GridSearchCV(\n",
" estimator = randomForest,\n",
" param_grid = random_grid,\n",
" scoring = scorers,\n",
" cv = tscv,\n",
" verbose = 3,\n",
" refit = 'mean_squared_error',\n",
" n_jobs = -1\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "satisfied-howard",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fitting 10 folds for each of 12 candidates, totalling 120 fits\n"
]
},
{
"data": {
"text/plain": [
"GridSearchCV(cv=TimeSeriesSplit(gap=0, max_train_size=None, n_splits=10, test_size=None),\n",
" estimator=RandomForestRegressor(), n_jobs=-1,\n",
" param_grid={'max_depth': [10, 50, None],\n",
" 'min_samples_leaf': [1, 2],\n",
" 'n_estimators': [200, 2000]},\n",
" refit='mean_squared_error',\n",
" scoring={'mean_squared_error': make_scorer(mean_squared_error)},\n",
" verbose=3)"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Fit the model\n",
"gridSearch.fit(X, y)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "working-application",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'max_depth': 10, 'min_samples_leaf': 2, 'n_estimators': 200}"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Best parameters\n",
"gridSearch.best_params_"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "comprehensive-boost",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"11.033576440784717"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Best score\n",
"gridSearch.best_score_"
]
},
{
"cell_type": "markdown",
"id": "incorporate-nigeria",
"metadata": {},
"source": [
"### 2 Non-anchored walk-forward optimization"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "centered-reservation",
"metadata": {},
"outputs": [],
"source": [
"# Grid-search\n",
"gridSearch = GridSearchCV(\n",
" estimator = randomForest,\n",
" param_grid = random_grid,\n",
" scoring = scorers,\n",
" cv = ntscv,\n",
" verbose = 3,\n",
" refit = 'mean_squared_error',\n",
" n_jobs = -1\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "refined-assessment",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fitting 10 folds for each of 12 candidates, totalling 120 fits\n"
]
},
{
"data": {
"text/plain": [
"GridSearchCV(cv=<__main__.NonAnchoredTimeSeriesSplit object at 0x0000024EBC3D3730>,\n",
" estimator=RandomForestRegressor(), n_jobs=-1,\n",
" param_grid={'max_depth': [10, 50, None],\n",
" 'min_samples_leaf': [1, 2],\n",
" 'n_estimators': [200, 2000]},\n",
" refit='mean_squared_error',\n",
" scoring={'mean_squared_error': make_scorer(mean_squared_error)},\n",
" verbose=3)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Fit the model\n",
"gridSearch.fit(X, y)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "sublime-trauma",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'max_depth': 50, 'min_samples_leaf': 2, 'n_estimators': 200}"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Best parameters\n",
"gridSearch.best_params_"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "assured-offering",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"531.9855142731253"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Best score\n",
"gridSearch.best_score_"
]
},
{
"cell_type": "markdown",
"id": "particular-fiction",
"metadata": {},
"source": [
"### 3 k-fold cross validation"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "beginning-plain",
"metadata": {},
"outputs": [],
"source": [
"# Grid-search\n",
"gridSearch = GridSearchCV(\n",
" estimator = randomForest,\n",
" param_grid = random_grid,\n",
" scoring = scorers,\n",
" cv = kfcv,\n",
" verbose = 3,\n",
" refit = 'mean_squared_error',\n",
" n_jobs = -1\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "specified-colon",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fitting 10 folds for each of 12 candidates, totalling 120 fits\n"
]
},
{
"data": {
"text/plain": [
"GridSearchCV(cv=KFold(n_splits=10, random_state=None, shuffle=False),\n",
" estimator=RandomForestRegressor(), n_jobs=-1,\n",
" param_grid={'max_depth': [10, 50, None],\n",
" 'min_samples_leaf': [1, 2],\n",
" 'n_estimators': [200, 2000]},\n",
" refit='mean_squared_error',\n",
" scoring={'mean_squared_error': make_scorer(mean_squared_error)},\n",
" verbose=3)"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Fit the model\n",
"gridSearch.fit(X, y)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "veterinary-cookbook",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'max_depth': 10, 'min_samples_leaf': 1, 'n_estimators': 200}"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Best parameters\n",
"gridSearch.best_params_"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "fifth-motel",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.0154805626246963"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Best score\n",
"gridSearch.best_score_"
]
}
],
"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.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment