{ "cells": [ { "cell_type": "markdown", "id": "22fda647", "metadata": {}, "source": [ "

ROAD SURFACE TEMPERATURE ANALYSIS

\n", "\n", "
Influence of weather on road conditions for self driving cars
\n", "
ECON 323 PROJECT
\n", "\n", "*Authors: Martina Chiesa and Pascal Terpstra*" ] }, { "cell_type": "markdown", "id": "d66492d2", "metadata": {}, "source": [ "# Index\n", "\n", "[Introduction](#Introduction)\n", "\n", "[Objective and method](#Objective-and-method)\n", "\n", "[Libraries](#Libraries)\n", "\n", "[Data](#Data)\n", "\n", "[Data Exploration](#Data-Exploration)\n", "\n", "- [Univariate statistics](#Univariate-statistics)\n", "\n", "- [Missing value imputation](#Missing-value-imputation)\n", "\n", "- [Date time](#Date-time)\n", "\n", "- [Road Surface Temperature graph ](#Road-Surface-Temperature-graph)\n", "\n", "- [Road Surface Temperature in a day](#Road-Surface-Temperature-in-a-day)\n", "\n", "- [Temperature in a day](#Temperature-in-a-day)\n", "\n", "[Regression models](#Regression-models)\n", "\n", "- [Linear regression](#Linear-regression)\n", " - [Prediction RST at 2pm](#Prediction-RST-at-2pm)\n", " - [Prediction RST at 10pm](#Prediction-RST-at-10pm)\n", "- [Lasso regression](#Lasso-regression)\n", " - [Lasso RST at 2pm](#Lasso-RST-at-2pm)\n", " - [Lasso RST at 10pm](#Lasso-RST-at-10pm)\n", "\n", "[Build a new dataframe for classification](#Build-a-new-dataframe-for-classification)\n", " - [Adding response variable](#Adding-response-variable)\n", " \n", "[Pre processing](#Pre-processing)\n", "- [Split in train and test sets](#Split-in-train-and-test-sets)\n", "- [Feature scaling](#Feature-scaling)\n", "\n", "[Classification analysis](#Classification-analysis)\n", "- [Logistic regression classifier](#Logistic-regression-classifier)\n", "- [KNN](#KNN)\n", "- [SVM linear](#SVM-linear)\n", "- [SVM non linear](#SVM-non-linear)\n", "- [Naive bayes classifier](#Naive-bayes-classifier)\n", "- [Decision tree](#Decision-tree)\n", "- [Random forest](#Random-forest)\n", "- [Ada boost](#Ada-boost)\n", "\n", "[Conclusions](#Conclusions)" ] }, { "cell_type": "markdown", "id": "fa4dab29", "metadata": {}, "source": [ "## Introduction\n", "\n", "In the context of the development of self-driving cars, it is relevant to be able to predict road surface temperature, since it highly influences the safety of roads and it is therefore important that cars adapt their driving style depending on the road conditions (*Sukuvaara, Timo, et al. \"ITS-Enabled advanced road weather services and infrastructures for vehicle winter testing, professional traffic fleets and future automated driving.\" Proceedings of the 2018 ITS World Congress, Copenhagen, Denmark. 2018.*).\n", "\n", "Autonomous vehicles can sense their surroundings and navigate without human intervention. Although promising and proving safety features, the trustworthiness of these cars has to be examined before they can be widely adopted on the road. Unlike traditional network\n", "security, autonomous vehicles rely heavily on their sensory ability of their surroundings to make driving decision, which incurs a security risk from sensors.\n", "\n", "However, these sensors can may not be so accurate yet, thus companies are also collecting weather data available from other sources, such as observations from Earth-orbiting satellites to evaluate the road condition and test the related car performance (*Wentz, Frank J., and Matthias Schabel. \"Precise climate monitoring using complementary satellite data sets.\" Nature 403.6768 (2000): 414-416.*).\n", "\n", "\n", "## Objective and method\n", "\n", "Our main goal in this report is to predict road surface temperature - which is usually unknown - based on information about the weather such as air temperature and solar radiation.\n", "\n", "Specifically we will perform two different types of analysis: \n", "\n", "- Regression\n", "\n", "First, we will try to create models that can predict the road surface temperature using linear regression and lasso regularization. Self-driving cars may have to adapt their driving style based on the temperature of the road and since we are yet unable to measure the exact temperature of roads we will have to make decisions on the data that is accessible. In this case we are in possession of many predictors and we will therefore make use of lasso regularization to prevent overfitting. Next, we will fit a linear model on the predictors that are not dropped yet by the lasso regression, because lasso regression is a biased estimator of the true parameters.\n", "\n", "- Classification\n", "\n", "Then, we will focus on a classification tasks in which the real word application is not limited to automatic cars. Nowadays, also the current commercial vehicles are equipped with the Advanced Driver Assistance Systems (ADASs), which use an environment perception module consisted of several sensors whose objective is to provide relevant data necessary to interpret the surrounding scenes near the vehicle. In normal climatic conditions, the reliability and benefits of the ADASs have gained popularity and confidence. However, in adverse weather conditions, the experience of the driver is required to compensate for the failure of the ADASs to appropriately perceive the surrounding environment, which usually results in severe accidents. \n", "In particular when the road surface temperature is close to 0°C ice risk is verified. Thus, the ability to distinguish this situation from the others could be helpful in order to prevent accidents.\n", "\n", "We identify the Risk class for days in which the temperature is in a range between 0°C + - standard deviation of the distribution of Road Surface Temperature mean.\n", "\n", "Methods that will be used are: Logistic Regression, KNN, SVM, Naive Bayes classifier, Decision tree, Random Forest, Ada Boost.\n", "\n", "We both work on all tasks, but mainly Pascal focused on regression and Martina on classification." ] }, { "cell_type": "markdown", "id": "341dfc99", "metadata": {}, "source": [ "## Libraries" ] }, { "cell_type": "code", "execution_count": 41, "id": "7cb5f9e9", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy import interpolate\n", "import pandas as pd\n", "import plotly.express as px\n", "import seaborn as sb\n", "\n", "from sklearn.model_selection import cross_val_score\n", "from sklearn import linear_model\n", "from sklearn import (linear_model, metrics, neural_network, pipeline, model_selection)\n", "from sklearn import datasets\n", "from sklearn.linear_model import Lasso\n", "from sklearn.linear_model import LassoCV\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.preprocessing import LabelEncoder\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import classification_report, f1_score, accuracy_score, confusion_matrix\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.svm import SVC\n", "from sklearn.naive_bayes import GaussianNB\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.ensemble import AdaBoostClassifier\n", "from sklearn.model_selection import GridSearchCV\n", "\n", "import statsmodels.api as sm\n", "\n", "import plotly.offline as pyo\n", "pyo.init_notebook_mode()" ] }, { "cell_type": "markdown", "id": "665b2f34", "metadata": {}, "source": [ "## Data\n", "\n", "In this report we will investigate a data set that contains information about weather and temperature of road surface at certain moments in time, namely for each hour of the day from November 1st 2017 until April 15th 2022 in the village Dollerup, Germany (coordinates: 6.6994,54.7717). \n", "\n", "In detail, each row corresponds to a day in which 24 values (one for each hour of the day) are collected for the following variables:\n", "\n", "| Variable Name | Meaning |\n", "| --- | --- |\n", "| RST | Road Surface Temperature |\n", "| TT | Air Temperature|\n", "| TD | Dew Point Temperature|\n", "| GRAD1 | Solar Radiation|\n", "| NE | Effective Cloud Cover |\n", "| FF | Wind Speed |\n", "\n", "Furthermore, the time of the measurement of the variable is given at the end of the variable name. For example, RST_1000 represents the road surface temperature at 10am, and RST_1800 represents the same at 6pm." ] }, { "cell_type": "code", "execution_count": 42, "id": "43fa35c9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dateRST_0000RST_0100RST_0200RST_0300RST_0400RST_0500RST_0600RST_0700RST_0800...FF_1400FF_1500FF_1600FF_1700FF_1800FF_1900FF_2000FF_2100FF_2200FF_2300
0201711019.89.910.210.510.811.111.211.5NaN...19.017.316.618.718.020.220.322.121.319.7
120171102NaNNaNNaNNaNNaNNaNNaNNaN8.6...15.814.612.710.69.412.09.67.88.68.1
2201711036.66.96.57.27.17.17.07.68.6...9.711.410.510.410.511.111.012.411.612.1
3201711048.68.68.68.58.58.58.48.69.0...9.28.410.011.812.412.111.69.711.113.7
4201711059.710.110.29.58.78.18.17.58.3...6.06.47.35.95.96.26.65.26.48.0
\n", "

5 rows × 145 columns

\n", "
" ], "text/plain": [ " date RST_0000 RST_0100 RST_0200 RST_0300 RST_0400 RST_0500 \\\n", "0 20171101 9.8 9.9 10.2 10.5 10.8 11.1 \n", "1 20171102 NaN NaN NaN NaN NaN NaN \n", "2 20171103 6.6 6.9 6.5 7.2 7.1 7.1 \n", "3 20171104 8.6 8.6 8.6 8.5 8.5 8.5 \n", "4 20171105 9.7 10.1 10.2 9.5 8.7 8.1 \n", "\n", " RST_0600 RST_0700 RST_0800 ... FF_1400 FF_1500 FF_1600 FF_1700 \\\n", "0 11.2 11.5 NaN ... 19.0 17.3 16.6 18.7 \n", "1 NaN NaN 8.6 ... 15.8 14.6 12.7 10.6 \n", "2 7.0 7.6 8.6 ... 9.7 11.4 10.5 10.4 \n", "3 8.4 8.6 9.0 ... 9.2 8.4 10.0 11.8 \n", "4 8.1 7.5 8.3 ... 6.0 6.4 7.3 5.9 \n", "\n", " FF_1800 FF_1900 FF_2000 FF_2100 FF_2200 FF_2300 \n", "0 18.0 20.2 20.3 22.1 21.3 19.7 \n", "1 9.4 12.0 9.6 7.8 8.6 8.1 \n", "2 10.5 11.1 11.0 12.4 11.6 12.1 \n", "3 12.4 12.1 11.6 9.7 11.1 13.7 \n", "4 5.9 6.2 6.6 5.2 6.4 8.0 \n", "\n", "[5 rows x 145 columns]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#path = 'C:/Users/pasca/Documents/100356.csv'\n", "path = 'C:/Users/chies/OneDrive/Desktop/ECON_323/project/100356.csv'\n", "df = pd.read_csv(path)\n", "df.head()" ] }, { "cell_type": "markdown", "id": "e002cacd", "metadata": {}, "source": [ "## Data Exploration\n", "\n", "### Univariate statistics" ] }, { "cell_type": "code", "execution_count": 43, "id": "1ad11662", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 1015 entries, 0 to 1014\n", "Columns: 145 entries, date to FF_2300\n", "dtypes: float64(144), int64(1)\n", "memory usage: 1.1 MB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "markdown", "id": "edcefaf0", "metadata": {}, "source": [ "Tha dataset contains 145 columns and 1015 rows.\n", "\n", "We present now summary statistics for each variable:" ] }, { "cell_type": "code", "execution_count": 44, "id": "2faca583", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RST_0000RST_0100RST_0200RST_0300RST_0400RST_0500RST_0600RST_0700RST_0800RST_0900...FF_1400FF_1500FF_1600FF_1700FF_1800FF_1900FF_2000FF_2100FF_2200FF_2300
count976.000000970.000000971.000000972.000000970.000000972.000000975.000000978.000000978.000000980.000000...1015.0000001015.0000001015.0000001015.0000001015.0000001015.0000001015.0000001015.0000001015.0000001015.000000
mean4.3592214.1998974.0823893.9840533.9336083.9258234.1327184.6443765.6956037.058265...12.70344812.43773412.19773412.01123211.84069011.73911311.72305411.63921211.61379311.617537
std4.4952374.4766464.4720774.4822504.4952154.4947304.4838074.6672515.1341045.694181...5.7312495.7334695.5235525.3765375.3206025.2365075.2651155.2515225.2779425.405816
min-9.400000-10.100000-10.500000-10.900000-11.200000-11.400000-11.500000-11.600000-10.600000-8.500000...1.0000000.9000001.7000001.9000001.4000001.1000001.5000001.9000001.2000001.100000
25%1.2000001.1000000.9000000.8000000.8000000.8750001.1000001.7000002.3000003.300000...8.6000008.2000008.1000008.2000008.1500008.1000008.0000008.0000008.0000007.900000
50%4.0000004.0000003.7000003.6500003.6000003.6000003.8000004.5000005.2000006.100000...12.00000011.60000011.40000011.20000011.00000011.00000011.10000011.00000011.00000010.800000
75%7.1000007.0000006.8000006.8250006.8000006.8000007.0000007.5000008.80000010.400000...16.00000016.00000015.40000014.95000014.80000014.45000014.60000014.60000014.70000014.900000
max17.30000017.00000018.00000018.00000018.20000018.10000018.10000019.00000020.90000025.000000...38.60000037.40000035.60000034.30000035.00000034.80000034.90000034.10000033.80000034.700000
\n", "

8 rows × 144 columns

\n", "
" ], "text/plain": [ " RST_0000 RST_0100 RST_0200 RST_0300 RST_0400 RST_0500 \\\n", "count 976.000000 970.000000 971.000000 972.000000 970.000000 972.000000 \n", "mean 4.359221 4.199897 4.082389 3.984053 3.933608 3.925823 \n", "std 4.495237 4.476646 4.472077 4.482250 4.495215 4.494730 \n", "min -9.400000 -10.100000 -10.500000 -10.900000 -11.200000 -11.400000 \n", "25% 1.200000 1.100000 0.900000 0.800000 0.800000 0.875000 \n", "50% 4.000000 4.000000 3.700000 3.650000 3.600000 3.600000 \n", "75% 7.100000 7.000000 6.800000 6.825000 6.800000 6.800000 \n", "max 17.300000 17.000000 18.000000 18.000000 18.200000 18.100000 \n", "\n", " RST_0600 RST_0700 RST_0800 RST_0900 ... FF_1400 \\\n", "count 975.000000 978.000000 978.000000 980.000000 ... 1015.000000 \n", "mean 4.132718 4.644376 5.695603 7.058265 ... 12.703448 \n", "std 4.483807 4.667251 5.134104 5.694181 ... 5.731249 \n", "min -11.500000 -11.600000 -10.600000 -8.500000 ... 1.000000 \n", "25% 1.100000 1.700000 2.300000 3.300000 ... 8.600000 \n", "50% 3.800000 4.500000 5.200000 6.100000 ... 12.000000 \n", "75% 7.000000 7.500000 8.800000 10.400000 ... 16.000000 \n", "max 18.100000 19.000000 20.900000 25.000000 ... 38.600000 \n", "\n", " FF_1500 FF_1600 FF_1700 FF_1800 FF_1900 \\\n", "count 1015.000000 1015.000000 1015.000000 1015.000000 1015.000000 \n", "mean 12.437734 12.197734 12.011232 11.840690 11.739113 \n", "std 5.733469 5.523552 5.376537 5.320602 5.236507 \n", "min 0.900000 1.700000 1.900000 1.400000 1.100000 \n", "25% 8.200000 8.100000 8.200000 8.150000 8.100000 \n", "50% 11.600000 11.400000 11.200000 11.000000 11.000000 \n", "75% 16.000000 15.400000 14.950000 14.800000 14.450000 \n", "max 37.400000 35.600000 34.300000 35.000000 34.800000 \n", "\n", " FF_2000 FF_2100 FF_2200 FF_2300 \n", "count 1015.000000 1015.000000 1015.000000 1015.000000 \n", "mean 11.723054 11.639212 11.613793 11.617537 \n", "std 5.265115 5.251522 5.277942 5.405816 \n", "min 1.500000 1.900000 1.200000 1.100000 \n", "25% 8.000000 8.000000 8.000000 7.900000 \n", "50% 11.100000 11.000000 11.000000 10.800000 \n", "75% 14.600000 14.600000 14.700000 14.900000 \n", "max 34.900000 34.100000 33.800000 34.700000 \n", "\n", "[8 rows x 144 columns]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df.drop(['date'], axis=1).describe())" ] }, { "cell_type": "markdown", "id": "8d149f50", "metadata": {}, "source": [ "It is possible to notice that the all the variable have approximately same scale and in general similar distributions. This was expected by the meaning of each variable. For example the distribution of the Air Temperature at 10am is expected to behave similarly to the same measure at 6pm. " ] }, { "cell_type": "markdown", "id": "c7fcbdca", "metadata": {}, "source": [ "### Missing value imputation\n", "\n", "Then we want to check if there are missing values:" ] }, { "cell_type": "code", "execution_count": 45, "id": "6726b70a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dateRST_0000RST_0100RST_0200RST_0300RST_0400RST_0500RST_0600RST_0700RST_0800...FF_1400FF_1500FF_1600FF_1700FF_1800FF_1900FF_2000FF_2100FF_2200FF_2300
0201711019.89.910.210.510.811.111.211.5NaN...19.017.316.618.718.020.220.322.121.319.7
120171102NaNNaNNaNNaNNaNNaNNaNNaN8.6...15.814.612.710.69.412.09.67.88.68.1
7201711082.63.64.03.44.04.25.35.66.1...8.75.46.27.46.36.17.26.76.95.4
820171109NaNNaNNaNNaNNaNNaNNaNNaNNaN...16.317.218.418.99.28.410.49.910.010.0
920171110NaNNaNNaNNaNNaNNaNNaNNaNNaN...15.318.919.416.216.115.013.516.513.016.0
..................................................................
984202203163.53.12.32.22.72.82.93.95.0...11.713.011.514.114.513.613.414.915.616.3
985202203174.64.54.13.73.84.14.55.26.0...17.215.616.413.012.610.010.49.89.09.2
99320220325NaNNaN4.2NaNNaN3.23.65.410.2...11.312.612.411.210.59.210.59.110.210.2
999202203310.00.00.20.30.10.61.02.03.0...18.918.116.816.814.413.914.312.611.613.5
100020220401NaNNaNNaN0.80.80.81.63.25.4...13.712.812.512.812.813.212.211.610.48.6
\n", "

106 rows × 145 columns

\n", "
" ], "text/plain": [ " date RST_0000 RST_0100 RST_0200 RST_0300 RST_0400 RST_0500 \\\n", "0 20171101 9.8 9.9 10.2 10.5 10.8 11.1 \n", "1 20171102 NaN NaN NaN NaN NaN NaN \n", "7 20171108 2.6 3.6 4.0 3.4 4.0 4.2 \n", "8 20171109 NaN NaN NaN NaN NaN NaN \n", "9 20171110 NaN NaN NaN NaN NaN NaN \n", "... ... ... ... ... ... ... ... \n", "984 20220316 3.5 3.1 2.3 2.2 2.7 2.8 \n", "985 20220317 4.6 4.5 4.1 3.7 3.8 4.1 \n", "993 20220325 NaN NaN 4.2 NaN NaN 3.2 \n", "999 20220331 0.0 0.0 0.2 0.3 0.1 0.6 \n", "1000 20220401 NaN NaN NaN 0.8 0.8 0.8 \n", "\n", " RST_0600 RST_0700 RST_0800 ... FF_1400 FF_1500 FF_1600 FF_1700 \\\n", "0 11.2 11.5 NaN ... 19.0 17.3 16.6 18.7 \n", "1 NaN NaN 8.6 ... 15.8 14.6 12.7 10.6 \n", "7 5.3 5.6 6.1 ... 8.7 5.4 6.2 7.4 \n", "8 NaN NaN NaN ... 16.3 17.2 18.4 18.9 \n", "9 NaN NaN NaN ... 15.3 18.9 19.4 16.2 \n", "... ... ... ... ... ... ... ... ... \n", "984 2.9 3.9 5.0 ... 11.7 13.0 11.5 14.1 \n", "985 4.5 5.2 6.0 ... 17.2 15.6 16.4 13.0 \n", "993 3.6 5.4 10.2 ... 11.3 12.6 12.4 11.2 \n", "999 1.0 2.0 3.0 ... 18.9 18.1 16.8 16.8 \n", "1000 1.6 3.2 5.4 ... 13.7 12.8 12.5 12.8 \n", "\n", " FF_1800 FF_1900 FF_2000 FF_2100 FF_2200 FF_2300 \n", "0 18.0 20.2 20.3 22.1 21.3 19.7 \n", "1 9.4 12.0 9.6 7.8 8.6 8.1 \n", "7 6.3 6.1 7.2 6.7 6.9 5.4 \n", "8 9.2 8.4 10.4 9.9 10.0 10.0 \n", "9 16.1 15.0 13.5 16.5 13.0 16.0 \n", "... ... ... ... ... ... ... \n", "984 14.5 13.6 13.4 14.9 15.6 16.3 \n", "985 12.6 10.0 10.4 9.8 9.0 9.2 \n", "993 10.5 9.2 10.5 9.1 10.2 10.2 \n", "999 14.4 13.9 14.3 12.6 11.6 13.5 \n", "1000 12.8 13.2 12.2 11.6 10.4 8.6 \n", "\n", "[106 rows x 145 columns]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df.isna().any(axis=1)]" ] }, { "cell_type": "code", "execution_count": 46, "id": "8c32844f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of missing values in the dataframe: 1121\n" ] } ], "source": [ "print(\"Total number of missing values in the dataframe:\", df.isnull().sum().sum())" ] }, { "cell_type": "markdown", "id": "d51a832e", "metadata": {}, "source": [ "We chose to replace all missing values by its previous value, i.e. the value of the day before at the same time through the following function:" ] }, { "cell_type": "code", "execution_count": 47, "id": "b9260851", "metadata": {}, "outputs": [], "source": [ "def missing(df):\n", " \"\"\" \n", " input = dataframe\n", " fill missing values with the next observed value\n", " output = dataframe with no Nan\n", " \"\"\"\n", " df = df.fillna(method=\"bfill\")\n", " return df" ] }, { "cell_type": "code", "execution_count": 48, "id": "8339d812", "metadata": {}, "outputs": [], "source": [ "df = missing(df)\n", "#df.isnull().sum().sum() # to check that now is 0" ] }, { "cell_type": "markdown", "id": "7b9240e3", "metadata": {}, "source": [ "### Date time\n", "\n", "Date variable is read as numeric, so it is necessary to change the format of it." ] }, { "cell_type": "code", "execution_count": 49, "id": "62d08a14", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 2017-11-01\n", "1 2017-11-02\n", "2 2017-11-03\n", "3 2017-11-04\n", "4 2017-11-05\n", " ... \n", "1010 2022-04-11\n", "1011 2022-04-12\n", "1012 2022-04-13\n", "1013 2022-04-14\n", "1014 2022-04-15\n", "Name: date, Length: 1015, dtype: datetime64[ns]" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['date'] = pd.to_datetime(df['date'], format='%Y%m%d') # convert to date time\n", "df['date']" ] }, { "cell_type": "markdown", "id": "8dd44780", "metadata": {}, "source": [ "### Road Surface Temperature graph \n", "\n", "To get a better idea of the mobility of the road surface temperature, we made a time series plot of the road surface temperature for each day at 2pm from 2017-11-01 until 2022-04-15." ] }, { "cell_type": "code", "execution_count": 50, "id": "62fc92c6", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "date=%{x}
Road Service Temperature=%{y}", "legendgroup": "", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "showlegend": false, "type": "scattergl", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014 ], "xaxis": "x", "y": [ 12.6, 12.6, 10.5, 12.3, 11.3, 9, 7.7, 8.6, 8.6, 8.6, 8.6, 8.6, 8.6, 8.6, 8.6, 8.6, 6.7, 4.1, 5.6, 6.7, 6.3, 9.9, 9.7, 6.3, 4.2, 5, 4.5, 5.4, 5.4, 2.7, 4.7, 2.7, 5.4, 4.7, 7.7, 8.2, 4.7, 2.1, 1.7, 0, 1, 0.7, 0.4, 2.1, 3.9, 1.6, 1.1, 2.6, 5.7, 7, 6.4, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 3.4, 1.2, 1, 2.6, 4, 3.8, 2.2, 2.1, 1.7, 1.5, 1.8, 2.1, 1, 1.6, 1.6, 4.1, 1.2, 4.8, 10.6, 7.4, 7.1, 6.2, 8.5, 6.5, 5.3, 6.2, 4, 4.5, -0.3, 2.5, 1.8, 4.5, 4.5, 4.4, 4.3, 2.4, 3.4, 5.5, 7.4, 6.9, 0.8, 6.5, 6.7, 7, 9, 8.6, 8.5, 5.5, 8.4, 7.3, 3.7, 5.4, -1.5, -1.3, -2.6, 0.8, 3.9, 1.8, 6.9, 8.8, 4.9, 8.3, 11.4, 4, 10.6, 9, 7, 7.8, 7.5, 4.6, 6.7, 12.6, 15.3, 15.3, 9.6, 8.2, 10.2, 13, 10, 10, 16.5, 6.8, 5.4, 15.7, 8.3, 16.1, 18.7, 14.3, 19, 8.8, 23.8, 26.1, 29.3, 28.4, 12.8, 20.7, 22, 12.6, 10.4, 12.8, 27.1, 30.2, 35, 30.6, 24.8, 17, 20.7, 16.8, 21.1, 19.6, 14.9, 20.6, 22.8, 19.5, 21.2, 20.8, 14.6, 20.9, 17.3, 23.7, 19.5, 20.5, 17.5, 17.9, 23.3, 23.9, 25.7, 28.1, 25.7, 26.3, 21.4, 23.7, 20.4, 18.1, 18.7, 16.6, 16.9, 13.2, 12.7, 13.6, 11.2, 9.1, 9.4, 6.5, 10, 10.8, 12.5, 11.6, 11.3, 9.8, 10.6, 11.6, 13.6, 11.8, 9.5, 10.4, 11.6, 10.5, 9.9, 9.7, 11.7, 9.5, 7.2, 6.7, 5.7, 5.3, 6.4, 4.2, 4.1, 3.8, 4.5, 5.2, 3.8, 1.8, 4.7, 8.1, 7.1, 8.2, 9.5, 5.6, 3.5, 6.7, 10.3, 7.4, 6.1, 5.1, 4.1, 4.9, 3.3, 2, 2.1, 0.8, 1.4, 4.9, 3.3, 5.3, 5.8, 5, 5.7, 4.1, 6.1, 7.8, 7.9, 7.6, 7.4, 5.6, 7.1, 5.9, 3.8, 1, 5.8, 7.8, 6.3, 6.3, 6.3, 4.6, 2.2, 6.5, 5.8, 6.4, 3.7, 6.7, 6.7, 4.4, 3.5, 2.4, 3.3, 3, 2.7, -0.4, -2.5, -0.8, 3.3, 5.2, 3.4, 2.3, 3.6, 2.3, 1.5, 2.6, 6.3, 3.5, 6, 4.8, 5.9, 6.4, 5.3, 5.2, 10.7, 9.4, 8.9, 10.3, 14.3, 13, 15.4, 15.5, 8.1, 9.5, 8.4, 10.7, 9.6, 15.7, 15.9, 17.6, 18.2, 15.7, 12.3, 9.2, 11.3, 7.3, 13, 6.9, 9.2, 13.3, 7.7, 10.5, 16.4, 5.1, 5.5, 7, 8.2, 7.2, 13.7, 17.3, 19.7, 11.2, 11.7, 12.9, 20.5, 19.8, 18.9, 15.2, 11.2, 16.8, 20.2, 23.1, 21.7, 21.3, 21.7, 10.8, 24.2, 21.8, 26.6, 28, 26.6, 24.9, 14.6, 11.1, 20.2, 13.7, 16, 23.1, 26.6, 23, 19.1, 26.6, 20.2, 30.7, 29.4, 27, 24.7, 17.2, 20.1, 25.3, 21.1, 14.5, 22.3, 12.2, 17.6, 15.1, 11.9, 13.4, 16.8, 15.4, 16, 15.8, 15.8, 13.8, 15, 12.5, 17.3, 21.8, 15.6, 17.4, 16, 14.8, 14.3, 12.4, 14, 14.8, 14.5, 12.9, 14.8, 13.4, 11.5, 11.2, 9.7, 9.3, 6.2, 11.7, 11.1, 10.8, 7.6, 7.3, 7.4, 9.8, 9.6, 8.2, 6.5, 5.8, 4.8, 7.3, 6.8, 8.2, 6.6, 8.3, 8.1, 6.9, 6.8, 8.4, 8.1, 6.9, 7, 7.2, 7.8, 8.9, 5.1, 5.3, 6.3, 4.8, 6.6, 7.6, 6.8, 6.1, 7.6, 8.1, 6, 5.7, 6, 5.1, 2.8, 4.2, 4.4, 5.7, 7, 7.2, 7.5, 5.9, 7.1, 4.9, 7.4, 6, 6.1, 5.6, 4.1, 2.2, 2.3, 6.1, 6.2, 5, 2, 6.1, 4.7, 4.9, 6.1, 6.8, 8.9, 8.9, 5.9, 5.2, 5.5, 6.1, 7.8, 9.2, 8.2, 8.4, 5.1, 6.4, 6.6, 7.6, 8.2, 6.4, 6.9, 6, 6.3, 7.1, 5.9, 4.5, 7, 7.8, 9.7, 8.5, 8, 8.7, 9.4, 8.6, 6.6, 7.4, 7.2, 7.4, 4.4, 6.2, 4.7, 6.1, 8, 10.5, 9.2, 8.3, 9.8, 7.4, 8.9, 8.3, 6.1, 6.5, 5.7, 7.4, 8.5, 10.4, 11.1, 9.1, 12.1, 10.7, 8.1, 10.6, 7, 11, 9, 13.8, 9.1, 16.7, 11.6, 15.4, 17.1, 15.1, 13.9, 13.6, 9.8, 22, 18.6, 18.8, 15.9, 18.9, 17.6, 21.4, 20, 22.6, 23.2, 18.7, 21.9, 22.5, 11.5, 12, 13.2, 20.3, 26.3, 30.3, 30, 30, 28, 27.3, 29.2, 31.2, 20.3, 20.8, 26.5, 30.6, 28.4, 28.4, 25.6, 28, 25.9, 30.8, 27.1, 25.1, 20.4, 18.4, 19.4, 15.9, 21.8, 22.8, 23.2, 18.9, 18.2, 18.3, 16.8, 17.1, 19, 12.2, 18.5, 11.6, 12.1, 15.9, 18.1, 13.6, 13.8, 14.8, 16, 15.5, 14, 11.2, 12.6, 15.9, 15.8, 14.6, 11.6, 11.8, 13.1, 13.7, 9.9, 13.5, 14.2, 15.6, 16.3, 13.7, 10.4, 11.2, 15.4, 12.4, 10.8, 9.8, 8.2, 6.5, 8.7, 9.6, 10.4, 13.2, 10.1, 11.7, 11.6, 6.4, 7.1, 7.3, 9.1, 8, 8.5, 6.8, 9.5, 7.1, 5.7, 4.3, 3.7, 5.2, 4.8, 2.9, 2.4, 3.9, 5.4, 6.2, 6.1, 5.2, 3.7, 3, 3.7, 3.8, 6, 7.7, 7.1, 7.5, 7.5, 5.7, 7.2, 6.6, 7.5, 5.2, 4.1, 1.6, 3.3, 2.9, 3, 2.9, 4.5, 3.5, 3.4, 3.5, 3.3, 3, 2.9, 1.7, 2.7, 2, 2.6, 2.4, 4.1, 1.5, 1.9, 2, 0.5, 1.3, 1.7, 3.5, 4.1, 6.7, 7.3, 5.6, 4.4, 3.3, 5, 5, 3.1, 3, 0.9, 2.8, 3.4, 1.3, 1, -0.5, 2.1, 2.5, 2.6, -2.6, -2, 2, 3.2, 1.2, 1.8, 2.6, 2.4, 1.1, 3.6, 5.4, 10.9, 10.3, 14, 16.5, 16.1, 14.5, 15.1, 11.6, 14.5, 14.5, 16.3, 16.3, 16.4, 13.6, 9.3, 13.1, 8.5, 7.4, 14.3, 13.1, 9.5, 11.1, 11.1, 11.1, 11.1, 11.1, 16.3, 17.2, 14.7, 9.5, 6.4, 16.9, 11.7, 10.6, 17.1, 20.3, 18.4, 12.5, 8.2, 12.7, 24.7, 28.7, 17.4, 19.3, 22.4, 10.3, 12.4, 7.8, 10.7, 10.2, 16.7, 21.1, 7.3, 16.8, 19.4, 22.3, 21.5, 27.6, 22.1, 21.3, 20.9, 26.8, 18, 27.9, 18.2, 16.8, 24.1, 27.1, 23.7, 24.6, 22.3, 17.3, 20.9, 20.1, 17.3, 18.5, 14.3, 17.4, 21.3, 17.6, 18.8, 17, 15.1, 11.5, 14, 14, 14, 14.6, 12.7, 14.2, 13.9, 14.5, 10.2, 9.4, 12.4, 13.4, 10.6, 10.5, 13.2, 16.4, 15.7, 13.3, 13.8, 13, 12.6, 10.6, 8.6, 11.3, 10.1, 8.7, 11.1, 11.3, 11.9, 12.5, 10.5, 8.9, 8.8, 8.2, 6.9, 7.4, 10.2, 12.7, 10.8, 8.3, 7.1, 8.4, 8.2, 6.3, 4.6, 4, 4.1, 4.2, 4.1, 6.5, 2.4, 2.3, 4.3, 3.3, 2.5, 2.4, 2.5, 3.3, 4, 2.8, 5.7, 8.5, 5.6, 9, 6.7, 7.5, 7.4, 7, 2.7, 1.4, 1.2, -0.6, -0.7, -2.9, -2.5, -1, 2.1, 2.5, 8.2, 9.5, 9.2, 9.8, 7.6, 5, 4.1, 2.4, 2.7, 3.3, 2.7, 3.7, 4.4, 6, 7.4, 7.1, 5.5, 5.8, 5.8, 7, 4.4, 2.6, 5.1, 7.3, 8.7, 5.6, 6.5, 5.7, 8.5, 7.1, 8.3, 7.3, 4.8, 6.2, 7.4, 7, 6.8, 6, 5.7, 8.1, 8.4, 8.1, 7.9, 7.9, 6.4, 7.6, 8.3, 8.8, 8.4, 6.6, 4.3, 6, 6.2, 4.9, 7.6, 11.3, 6.7, 11.9, 13.6, 12.4, 13.7, 7.1, 13.8, 10.2, 13.5, 7.5, 13.8, 15.7, 16.9, 17.2, 16.5, 15.4, 17, 16.5, 13.4, 17.3, 9.1, 8.1, 20.9, 19.5, 16.3, 20.5, 21.5, 22.9, 23.3, 25.2, 25.2, 24.8, 16.5, 17.1, 13, 14.3, 14.3, 16.5, 11, 8.7, 14.5, 8.6, 9.8, 9.1, 12.2, 13, 22.5, 21.3, 26.6, 24.3, 14 ], "yaxis": "y" } ], "layout": { "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "date" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "Road Service Temperature" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "example = pd.DataFrame(\n", " {\n", " \"date\": np.arange(len(df['RST_1400'])),\n", " \"Road Service Temperature\": df['RST_1400'],\n", " }\n", ")\n", "px.line(example, x=\"date\", y=\"Road Service Temperature\")" ] }, { "cell_type": "markdown", "id": "66c33d39", "metadata": {}, "source": [ "From the plot above we can observe and learn a lot. One can notice that the data is homogeneous in the sense that the road surface temperature is usually similar to the day(s) before it. Furthermore, there is a clear presence of seasonality, by noticing that some patterns are similar each day, such as the peeks in each summer." ] }, { "cell_type": "markdown", "id": "5a4be29e", "metadata": {}, "source": [ "### Road Surface Temperature in a day\n", "In the graph below we plot the average road surface temperature for each hour of the day across all the data that we have. From this plot we can get a better idea of the amount of variation and whether there could be some intuitive explanation." ] }, { "cell_type": "code", "execution_count": 51, "id": "d60d9ded", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "hour of day=%{x}
Road Service Temperature=%{y}", "legendgroup": "", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 ], "xaxis": "x", "y": [ 4.315566502463047, 4.16187192118227, 4.0418719211822625, 3.953004926108376, 3.9154679802955656, 3.9048275862068946, 4.082167487684725, 4.564827586206893, 5.608965517241375, 6.978029556650239, 8.6216748768473, 9.960000000000006, 10.738325123152704, 10.854384236453203, 10.403546798029556, 9.306009852216755, 8.114876847290649, 6.976551724137933, 6.1367487684729065, 5.608866995073886, 5.234778325123158, 4.93221674876847, 4.678719211822659, 4.452315270935958 ], "yaxis": "y" } ], "layout": { "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "hour of day" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "Road Service Temperature" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vRST = np.zeros(24)\n", "for i in range(24):\n", " vRST[i] = df.iloc[:,1+i].mean()\n", "example2 = pd.DataFrame(\n", " {\n", " \"hour of day\": np.arange(24),\n", " \"Road Service Temperature\": vRST,\n", " }\n", ")\n", "px.line(example2, x=\"hour of day\", y=\"Road Service Temperature\")" ] }, { "cell_type": "markdown", "id": "022671cf", "metadata": {}, "source": [ "From the graph above we can see that the road surface temperature differs a lot across the day and we may suspect that there is a correlation between solar radiation and temperature with the road surface temperature, since the average road surface temperature is higher during the day and lower in the night. Furthermore, we can see that for each hour of the day we will probably have to make a seperate model, because the influence of the road surface temperature of the hours before strongly depends on the hour we focus on. For instance, if we know that it was 10 degrees at 11am we will probably predict an even higher temperature at 12pm, whereas if we know that the road surface temperature was 10 degrees at 3pm, we will predict a lower value for the road surface temperature at 4pm, i.e. the parameter value in a time series model will depend the hour of the day and we must therefore distinguish models depending on the hour." ] }, { "cell_type": "markdown", "id": "cddfbb43", "metadata": {}, "source": [ "### Temperature in a day\n", "\n", "Now, we will make a plot of the average air temperature (TT) for each hour of the day to see whether there is a similarity in distribution with the road surface temperature as we expect." ] }, { "cell_type": "code", "execution_count": 52, "id": "01271fd5", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "hour of day=%{x}
Temperature=%{y}", "legendgroup": "", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 ], "xaxis": "x", "y": [ 5.173596059113302, 5.08177339901477, 4.994187192118222, 4.917832512315266, 4.850640394088672, 4.8095566502463045, 4.852610837438423, 5.096059113300493, 5.531231527093593, 6.072315270935956, 6.592216748768474, 7.022364532019706, 7.329359605911332, 7.475369458128082, 7.411527093596059, 7.172610837438422, 6.765517241379321, 6.353103448275855, 5.998029556650246, 5.746699507389161, 5.5726108374384244, 5.435073891625616, 5.327192118226608, 5.228965517241374 ], "yaxis": "y" } ], "layout": { "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "hour of day" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "Temperature" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vTT = np.zeros(24)\n", "for i in range(24):\n", " vTT[i] = df.iloc[:,25+i].mean()\n", "example2 = pd.DataFrame(\n", " {\n", " \"hour of day\": np.arange(24),\n", " \"Temperature\": vTT,\n", " }\n", ")\n", "px.line(example2, x=\"hour of day\", y=\"Temperature\")" ] }, { "cell_type": "markdown", "id": "f229d5c8", "metadata": {}, "source": [ "From the plots above we can notice that the average road surface temperature and average temperature seem to have a very similar distribution, which indicates that temperature will be an important predictor." ] }, { "cell_type": "markdown", "id": "ebbf1632", "metadata": {}, "source": [ "# Prediction and classification analysis\n", "\n", "## Regression models\n", "\n", "In this section we predict the road surface temperature on a specific time, namely 2pm and 10pm using as predictors: TT, TD, GRAD1, NE and FF available at the current values of the predictors and ten lags. E.g. for 2pm the predictors will be from 8am until 2pm. \n", "\n", "First, we will use linear regression to get an idea of the predictive power of the model and to designate which variables are important predictors. Secondly, we will apply lasso regularization on the same predictors to delete the variables that are of no importance. To decide which value to use as tuning parameter in lasso regression we will make use of cross validation." ] }, { "cell_type": "markdown", "id": "dce0c2d1", "metadata": {}, "source": [ "### Linear regression\n", "\n", "The method we will try out first is linear regression which can be exploited by the following equation:\n", "$y_i = \\beta_0 + \\beta_1 x_{i1} + ... + \\beta_k x_{ik} + u_i \\qquad (i = 1,2, ..., n)$\n", "\n", "where the parameters are estimated by minimizing the squared loss as follows: $\\hat{\\beta} = \\underset{\\beta\\in R^{k+1}}{\\mathrm{argmin}}\\sum_{i=1}^{n}{(y_i-X_i'\\beta)^2}$.\n", "\n", "The response variable $Y$ is the Road Surface Temperature at time 2pm firstly, then at 10pm." ] }, { "cell_type": "markdown", "id": "67c81ba5", "metadata": {}, "source": [ "#### Prediction RST at 2pm" ] }, { "cell_type": "code", "execution_count": 53, "id": "c2fd19c8", "metadata": {}, "outputs": [], "source": [ "def regression(df, hour, lags):\n", " \"\"\"\n", " input: dataframe, hour for response, number of lags\n", " output: X matrix containing TT, TD, GRAD1, NE, FF up to a certain number of lags, \n", " y vector containing RST for the given hour\n", " \"\"\"\n", " X = pd.concat([pd.DataFrame(df.iloc[:, (df.columns.get_loc(\"TT_0000\")+hour-lags):(df.columns.get_loc(\"TT_0000\")+hour+1)]),\n", " pd.DataFrame(df.iloc[:, (df.columns.get_loc(\"TD_0000\")+hour-lags):(df.columns.get_loc(\"TD_0000\")+hour+1)]),\n", " pd.DataFrame(df.iloc[:, (df.columns.get_loc(\"GRAD1_0000\")+hour-lags):(df.columns.get_loc(\"GRAD1_0000\")+hour+1)]),\n", " pd.DataFrame(df.iloc[:, (df.columns.get_loc(\"NE_0000\")+hour-lags):(df.columns.get_loc(\"NE_0000\")+hour+1)]),\n", " pd.DataFrame(df.iloc[:, (df.columns.get_loc(\"FF_0000\")+hour-lags):(df.columns.get_loc(\"FF_0000\")+hour+1)])\n", " ], axis=1)\n", "\n", " y = pd.DataFrame(df.iloc[:, df.columns.get_loc(\"RST_0000\")+hour])\n", " return X,y\n", "\n", "def lmodel(X,y):\n", " '''\n", " input: X matrix, y vector\n", " output: linear regression model summary on given input\n", " '''\n", " X = sm.add_constant(X)\n", " model = sm.OLS(y, X).fit()\n", " print(model.summary())" ] }, { "cell_type": "code", "execution_count": 54, "id": "b548b069", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: RST_1400 R-squared: 0.962\n", "Model: OLS Adj. R-squared: 0.960\n", "Method: Least Squares F-statistic: 443.9\n", "Date: Thu, 15 Dec 2022 Prob (F-statistic): 0.00\n", "Time: 22:26:25 Log-Likelihood: -1743.7\n", "No. Observations: 1015 AIC: 3599.\n", "Df Residuals: 959 BIC: 3875.\n", "Df Model: 55 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const -3.1230 0.329 -9.491 0.000 -3.769 -2.477\n", "TT_0400 0.1657 0.150 1.107 0.268 -0.128 0.459\n", "TT_0500 0.0117 0.209 0.056 0.955 -0.399 0.422\n", "TT_0600 -0.2435 0.201 -1.213 0.225 -0.638 0.150\n", "TT_0700 0.3506 0.213 1.649 0.099 -0.067 0.768\n", "TT_0800 -0.0367 0.194 -0.189 0.850 -0.417 0.344\n", "TT_0900 -0.0754 0.172 -0.437 0.662 -0.414 0.263\n", "TT_1000 0.1722 0.173 0.998 0.318 -0.166 0.511\n", "TT_1100 -0.1582 0.163 -0.968 0.333 -0.479 0.163\n", "TT_1200 0.1043 0.141 0.740 0.459 -0.172 0.381\n", "TT_1300 0.0695 0.143 0.486 0.627 -0.211 0.350\n", "TT_1400 0.7044 0.103 6.837 0.000 0.502 0.907\n", "TD_0400 0.0891 0.154 0.579 0.562 -0.213 0.391\n", "TD_0500 -0.1802 0.241 -0.747 0.455 -0.653 0.293\n", "TD_0600 -0.1853 0.249 -0.745 0.456 -0.673 0.302\n", "TD_0700 0.4173 0.220 1.897 0.058 -0.014 0.849\n", "TD_0800 -0.1214 0.192 -0.632 0.527 -0.498 0.255\n", "TD_0900 0.1807 0.176 1.028 0.304 -0.164 0.526\n", "TD_1000 -0.4439 0.181 -2.459 0.014 -0.798 -0.090\n", "TD_1100 0.3055 0.178 1.714 0.087 -0.044 0.655\n", "TD_1200 -0.3071 0.167 -1.843 0.066 -0.634 0.020\n", "TD_1300 0.1375 0.176 0.780 0.435 -0.208 0.483\n", "TD_1400 0.0201 0.108 0.185 0.853 -0.192 0.233\n", "GRAD1_0400 4.1896 4.817 0.870 0.385 -5.263 13.642\n", "GRAD1_0500 0.1135 0.125 0.906 0.365 -0.132 0.359\n", "GRAD1_0600 -0.0103 0.017 -0.621 0.534 -0.043 0.022\n", "GRAD1_0700 0.0036 0.007 0.540 0.589 -0.009 0.017\n", "GRAD1_0800 0.0024 0.004 0.596 0.551 -0.005 0.010\n", "GRAD1_0900 0.0015 0.003 0.541 0.588 -0.004 0.007\n", "GRAD1_1000 0.0060 0.002 2.794 0.005 0.002 0.010\n", "GRAD1_1100 -0.0036 0.002 -2.084 0.037 -0.007 -0.000\n", "GRAD1_1200 0.0063 0.002 3.650 0.000 0.003 0.010\n", "GRAD1_1300 0.0045 0.002 2.506 0.012 0.001 0.008\n", "GRAD1_1400 0.0142 0.001 10.008 0.000 0.011 0.017\n", "NE_0400 0.0171 0.044 0.388 0.698 -0.069 0.104\n", "NE_0500 0.0973 0.054 1.792 0.073 -0.009 0.204\n", "NE_0600 -0.0428 0.044 -0.980 0.327 -0.128 0.043\n", "NE_0700 -0.0553 0.053 -1.042 0.298 -0.159 0.049\n", "NE_0800 0.0836 0.058 1.453 0.146 -0.029 0.197\n", "NE_0900 0.0848 0.048 1.749 0.081 -0.010 0.180\n", "NE_1000 -0.0744 0.078 -0.956 0.339 -0.227 0.078\n", "NE_1100 0.1329 0.080 1.654 0.099 -0.025 0.291\n", "NE_1200 0.0735 0.082 0.902 0.367 -0.086 0.234\n", "NE_1300 0.0698 0.081 0.866 0.387 -0.088 0.228\n", "NE_1400 0.1422 0.060 2.383 0.017 0.025 0.259\n", "FF_0400 -0.0632 0.033 -1.924 0.055 -0.128 0.001\n", "FF_0500 0.0593 0.044 1.335 0.182 -0.028 0.147\n", "FF_0600 -0.0120 0.046 -0.261 0.794 -0.102 0.078\n", "FF_0700 -0.0315 0.045 -0.706 0.480 -0.119 0.056\n", "FF_0800 -0.0112 0.041 -0.272 0.786 -0.092 0.070\n", "FF_0900 0.0581 0.042 1.398 0.162 -0.023 0.140\n", "FF_1000 0.0104 0.040 0.258 0.797 -0.069 0.090\n", "FF_1100 -0.0502 0.041 -1.219 0.223 -0.131 0.031\n", "FF_1200 -0.0363 0.037 -0.971 0.332 -0.110 0.037\n", "FF_1300 0.0240 0.039 0.620 0.536 -0.052 0.100\n", "FF_1400 -0.0551 0.030 -1.839 0.066 -0.114 0.004\n", "==============================================================================\n", "Omnibus: 67.138 Durbin-Watson: 1.445\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 288.268\n", "Skew: -0.042 Prob(JB): 2.53e-63\n", "Kurtosis: 5.609 Cond. No. 6.54e+04\n", "==============================================================================\n", "\n", "Notes:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "[2] The condition number is large, 6.54e+04. This might indicate that there are\n", "strong multicollinearity or other numerical problems.\n" ] } ], "source": [ "df = missing(df)\n", "\n", "X1400,y1400 = regression(df, 14, 10)\n", "lmodel(X1400,y1400)" ] }, { "cell_type": "markdown", "id": "0848bdc7", "metadata": {}, "source": [ "From the table above we can see that many variables are deemed insignificant ($P(x_i>|t|)>0.05$). The variables that are deemed most important seem to be the coefficients which have $P>|t| = 0:$ (TT1400), (GRAD1_1200) and (GRAD1_1400). Furtermore, the adjusted $R^2$ value of 0.960 implicates that we can explain most of the variation in road surface temperature." ] }, { "cell_type": "markdown", "id": "3052d71a", "metadata": {}, "source": [ "#### Prediction RST at 10pm" ] }, { "cell_type": "code", "execution_count": 55, "id": "d8cb3567", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: RST_2200 R-squared: 0.962\n", "Model: OLS Adj. R-squared: 0.960\n", "Method: Least Squares F-statistic: 447.5\n", "Date: Thu, 15 Dec 2022 Prob (F-statistic): 0.00\n", "Time: 22:26:25 Log-Likelihood: -1287.6\n", "No. Observations: 1015 AIC: 2685.\n", "Df Residuals: 960 BIC: 2956.\n", "Df Model: 54 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const -2.8540 0.201 -14.231 0.000 -3.248 -2.460\n", "TT_1200 0.1748 0.064 2.745 0.006 0.050 0.300\n", "TT_1300 -0.0823 0.089 -0.922 0.357 -0.257 0.093\n", "TT_1400 0.0766 0.084 0.909 0.364 -0.089 0.242\n", "TT_1500 -0.2566 0.105 -2.446 0.015 -0.462 -0.051\n", "TT_1600 0.3697 0.113 3.273 0.001 0.148 0.591\n", "TT_1700 -0.1176 0.113 -1.039 0.299 -0.340 0.104\n", "TT_1800 0.1319 0.120 1.100 0.272 -0.103 0.367\n", "TT_1900 -0.0774 0.130 -0.596 0.551 -0.332 0.177\n", "TT_2000 0.1172 0.135 0.870 0.384 -0.147 0.382\n", "TT_2100 -0.0401 0.127 -0.316 0.752 -0.289 0.209\n", "TT_2200 0.6417 0.081 7.914 0.000 0.483 0.801\n", "TD_1200 0.0918 0.071 1.291 0.197 -0.048 0.231\n", "TD_1300 -0.1298 0.112 -1.163 0.245 -0.349 0.089\n", "TD_1400 0.1492 0.107 1.389 0.165 -0.062 0.360\n", "TD_1500 -0.2424 0.105 -2.307 0.021 -0.449 -0.036\n", "TD_1600 0.1700 0.115 1.478 0.140 -0.056 0.396\n", "TD_1700 -0.0835 0.120 -0.698 0.486 -0.318 0.151\n", "TD_1800 0.0919 0.130 0.707 0.480 -0.163 0.347\n", "TD_1900 -0.1215 0.130 -0.934 0.351 -0.377 0.134\n", "TD_2000 -0.0250 0.135 -0.186 0.853 -0.289 0.239\n", "TD_2100 0.1358 0.140 0.967 0.334 -0.140 0.411\n", "TD_2200 0.0208 0.091 0.228 0.820 -0.159 0.200\n", "GRAD1_1200 0.0021 0.001 2.373 0.018 0.000 0.004\n", "GRAD1_1300 0.0004 0.001 0.351 0.726 -0.002 0.003\n", "GRAD1_1400 0.0004 0.001 0.315 0.753 -0.002 0.003\n", "GRAD1_1500 0.0011 0.002 0.719 0.472 -0.002 0.004\n", "GRAD1_1600 0.0010 0.002 0.400 0.689 -0.004 0.006\n", "GRAD1_1700 0.0037 0.004 0.951 0.342 -0.004 0.011\n", "GRAD1_1800 0.0021 0.010 0.216 0.829 -0.017 0.021\n", "GRAD1_1900 0.0526 0.071 0.740 0.459 -0.087 0.192\n", "GRAD1_2000 -2.2381 3.841 -0.583 0.560 -9.775 5.299\n", "GRAD1_2100 1.0782 1.585 0.680 0.496 -2.032 4.188\n", "GRAD1_2200 -0.8168 1.763 -0.463 0.643 -4.277 2.643\n", "NE_1200 0.0731 0.038 1.908 0.057 -0.002 0.148\n", "NE_1300 0.0343 0.052 0.665 0.506 -0.067 0.136\n", "NE_1400 0.0033 0.049 0.067 0.946 -0.093 0.099\n", "NE_1500 -0.0758 0.050 -1.510 0.131 -0.174 0.023\n", "NE_1600 0.0803 0.046 1.726 0.085 -0.011 0.171\n", "NE_1700 0.0496 0.039 1.257 0.209 -0.028 0.127\n", "NE_1800 -0.0153 0.020 -0.758 0.449 -0.055 0.024\n", "NE_1900 0.0072 0.029 0.248 0.805 -0.050 0.064\n", "NE_2000 0.0084 0.038 0.220 0.826 -0.067 0.084\n", "NE_2100 0.0822 0.042 1.938 0.053 -0.001 0.165\n", "NE_2200 0.1828 0.031 5.908 0.000 0.122 0.243\n", "FF_1200 0.0046 0.018 0.254 0.800 -0.031 0.040\n", "FF_1300 -0.0097 0.025 -0.395 0.693 -0.058 0.038\n", "FF_1400 -0.0610 0.026 -2.331 0.020 -0.112 -0.010\n", "FF_1500 0.0196 0.024 0.805 0.421 -0.028 0.067\n", "FF_1600 0.0208 0.025 0.825 0.409 -0.029 0.070\n", "FF_1700 -0.0240 0.026 -0.930 0.353 -0.075 0.027\n", "FF_1800 0.0089 0.027 0.335 0.738 -0.043 0.061\n", "FF_1900 0.0411 0.028 1.477 0.140 -0.013 0.096\n", "FF_2000 -0.0299 0.027 -1.110 0.267 -0.083 0.023\n", "FF_2100 0.0023 0.028 0.084 0.933 -0.052 0.057\n", "FF_2200 -0.0452 0.021 -2.205 0.028 -0.086 -0.005\n", "==============================================================================\n", "Omnibus: 117.482 Durbin-Watson: 1.248\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 652.087\n", "Skew: 0.361 Prob(JB): 2.52e-142\n", "Kurtosis: 6.860 Cond. No. 1.31e+16\n", "==============================================================================\n", "\n", "Notes:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "[2] The smallest eigenvalue is 1.4e-24. This might indicate that there are\n", "strong multicollinearity problems or that the design matrix is singular.\n" ] } ], "source": [ "X2200,y2200 = regression(df, 22, 10)\n", "X2200\n", "lmodel(X2200,y2200)" ] }, { "cell_type": "markdown", "id": "7887fb32", "metadata": {}, "source": [ "The predictive performance of the linear regression model for 10pm is similar to the performance for 2pm, though we can notice that the parameter values are different. One thing that is interesting to notice is that solar radiation (GRAD1) was an important predictor for RST at 2pm but seems to be of no importance at 10pm, which makes sense, because there is no solar radiation around 10pm anymore. This stresses the importance to make distuinguished models for each hour of the day." ] }, { "cell_type": "markdown", "id": "44825798", "metadata": {}, "source": [ "### Lasso regression" ] }, { "cell_type": "markdown", "id": "b12d7bbc", "metadata": {}, "source": [ "Since many of the variables that were included in the linear model are not relevant and should therefore be ommited, we will make use of lasso regularization, which not only minimizes the sum of squared residuals, but also adds a penalty term which prevents overfitting:\n", "\n", "$\\hat{\\beta}_{lasso} = \\underset{\\beta}{\\arg\\min} \\sum\\limits_{i=1}^n (y_i-X_i'\\beta)^2 + \\lambda \\sum\\limits_{j=1}^p |\\beta_{j}|$\n", "\n", "Note that $\\lambda$ determines the weight of the added penalty, meaning that $\\lambda$ can be any value in the interval $[0, \\infty)$. The benefit of using Lasso regularization is that the less contributing variables will be eliminated from the model. Thus, due to Lasso regularization the model will give more accurate predictions when applying it to out of sample predictions. We will make use of Cross-Validation (CV) to choose the tuning parameter $\\lambda$. More specifically, we will use K-fold CV, which splits the data in K folds and leaves out one of the folds to train the model on all folds except one and make predictions on the left-out fold to estimate the Mean Squared Error (MSE) for a grid of $\\lambda$ values.\n", "\n", "In the code below we will apply lasso on the same predictors as in the linear regression models above." ] }, { "cell_type": "markdown", "id": "063db896", "metadata": {}, "source": [ "#### Lasso RST at 2pm" ] }, { "cell_type": "code", "execution_count": 56, "id": "0f4dcda8", "metadata": {}, "outputs": [], "source": [ "def lassoReg(X,y):\n", " '''\n", " input: matrix X and response vector y\n", " output: dataframe containing MSE, estimated using CV, for all values of the alpha grid 0 until 1.\n", " '''\n", " n = 500\n", " #Creating alpha grid\n", " alphas = np.linspace(0.002,1,n)\n", " mse = np.zeros(n)\n", " X_train=X\n", " y_train=y\n", " \n", " #creating function that fits lasso regression model and returns MSE for same training set\n", " def fit_and_report_mses(mod, X_train, y_train):\n", " mod.fit(X_train, y_train)\n", " return metrics.mean_squared_error(y_train, mod.predict(X_train))\n", "\n", " msetrain = [np.mean(fit_and_report_mses(linear_model.Lasso(alpha=alpha, max_iter=50000),\n", " X_train, y_train))\n", " for alpha in alphas]\n", " \n", " #Calculating estimated MSE on CV for alpha grid\n", " msecv = [-np.mean(cross_val_score(linear_model.Lasso(alpha=alpha, max_iter=50000),\n", " X_train, y_train, cv=10, scoring='neg_mean_squared_error'))\n", " for alpha in alphas]\n", "\n", " print('Optimal alpha: ', alphas[np.where(msecv==np.min(msecv))], 'with corresponding MSE: ', round(np.min(msecv),2))\n", "\n", " #Creating dataframe, which helps making a nice plot for alpha grid against its corresponding estimated MSE\n", " example3 = pd.DataFrame(\n", " {\n", " \"Alpha\": np.concatenate((alphas,alphas)),\n", " \"MSE\": np.concatenate((msecv,msetrain)),\n", " \"cv-train\": np.concatenate((np.repeat(\"CV\", len(alphas)),np.repeat(\"Train\", len(alphas))))\n", " }\n", " )\n", " return example3" ] }, { "cell_type": "code", "execution_count": 57, "id": "13f9324e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimal alpha: [0.048] with corresponding MSE: 2.19\n" ] }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "cv-train=CV
Alpha=%{x}
MSE=%{y}", "legendgroup": "CV", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "CV", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0.002, 0.004, 0.006, 0.008, 0.01, 0.012, 0.014, 0.016, 0.018000000000000002, 0.020000000000000004, 0.022, 0.024, 0.026000000000000002, 0.028000000000000004, 0.03, 0.032, 0.034, 0.036000000000000004, 0.038000000000000006, 0.04, 0.042, 0.044000000000000004, 0.046, 0.048, 0.05, 0.052000000000000005, 0.054000000000000006, 0.056, 0.058, 0.060000000000000005, 0.062, 0.064, 0.066, 0.068, 0.07, 0.07200000000000001, 0.07400000000000001, 0.076, 0.078, 0.08, 0.082, 0.084, 0.08600000000000001, 0.08800000000000001, 0.09, 0.092, 0.094, 0.096, 0.098, 0.1, 0.10200000000000001, 0.10400000000000001, 0.10600000000000001, 0.108, 0.11, 0.112, 0.114, 0.116, 0.11800000000000001, 0.12000000000000001, 0.122, 0.124, 0.126, 0.128, 0.13, 0.132, 0.134, 0.136, 0.138, 0.14, 0.14200000000000002, 0.14400000000000002, 0.14600000000000002, 0.148, 0.15, 0.152, 0.154, 0.156, 0.158, 0.16, 0.162, 0.164, 0.166, 0.168, 0.17, 0.17200000000000001, 0.17400000000000002, 0.17600000000000002, 0.178, 0.18, 0.182, 0.184, 0.186, 0.188, 0.19, 0.192, 0.194, 0.196, 0.198, 0.2, 0.202, 0.20400000000000001, 0.20600000000000002, 0.20800000000000002, 0.21000000000000002, 0.212, 0.214, 0.216, 0.218, 0.22, 0.222, 0.224, 0.226, 0.228, 0.23, 0.232, 0.234, 0.23600000000000002, 0.23800000000000002, 0.24000000000000002, 0.242, 0.244, 0.246, 0.248, 0.25, 0.252, 0.254, 0.256, 0.258, 0.26, 0.262, 0.264, 0.266, 0.268, 0.27, 0.272, 0.274, 0.276, 0.278, 0.28, 0.28200000000000003, 0.28400000000000003, 0.28600000000000003, 0.28800000000000003, 0.29000000000000004, 0.292, 0.294, 0.296, 0.298, 0.3, 0.302, 0.304, 0.306, 0.308, 0.31, 0.312, 0.314, 0.316, 0.318, 0.32, 0.322, 0.324, 0.326, 0.328, 0.33, 0.332, 0.334, 0.336, 0.338, 0.34, 0.342, 0.34400000000000003, 0.34600000000000003, 0.34800000000000003, 0.35000000000000003, 0.35200000000000004, 0.354, 0.356, 0.358, 0.36, 0.362, 0.364, 0.366, 0.368, 0.37, 0.372, 0.374, 0.376, 0.378, 0.38, 0.382, 0.384, 0.386, 0.388, 0.39, 0.392, 0.394, 0.396, 0.398, 0.4, 0.402, 0.404, 0.406, 0.40800000000000003, 0.41000000000000003, 0.41200000000000003, 0.41400000000000003, 0.41600000000000004, 0.41800000000000004, 0.42, 0.422, 0.424, 0.426, 0.428, 0.43, 0.432, 0.434, 0.436, 0.438, 0.44, 0.442, 0.444, 0.446, 0.448, 0.45, 0.452, 0.454, 0.456, 0.458, 0.46, 0.462, 0.464, 0.466, 0.468, 0.47000000000000003, 0.47200000000000003, 0.47400000000000003, 0.47600000000000003, 0.47800000000000004, 0.48000000000000004, 0.482, 0.484, 0.486, 0.488, 0.49, 0.492, 0.494, 0.496, 0.498, 0.5, 0.502, 0.504, 0.506, 0.508, 0.51, 0.512, 0.514, 0.516, 0.518, 0.52, 0.522, 0.524, 0.526, 0.528, 0.53, 0.532, 0.534, 0.536, 0.538, 0.54, 0.542, 0.544, 0.546, 0.548, 0.55, 0.552, 0.554, 0.556, 0.558, 0.56, 0.562, 0.5640000000000001, 0.5660000000000001, 0.5680000000000001, 0.5700000000000001, 0.5720000000000001, 0.5740000000000001, 0.5760000000000001, 0.5780000000000001, 0.58, 0.582, 0.584, 0.586, 0.588, 0.59, 0.592, 0.594, 0.596, 0.598, 0.6, 0.602, 0.604, 0.606, 0.608, 0.61, 0.612, 0.614, 0.616, 0.618, 0.62, 0.622, 0.624, 0.626, 0.628, 0.63, 0.632, 0.634, 0.636, 0.638, 0.64, 0.642, 0.644, 0.646, 0.648, 0.65, 0.652, 0.654, 0.656, 0.658, 0.66, 0.662, 0.664, 0.666, 0.668, 0.67, 0.672, 0.674, 0.676, 0.678, 0.68, 0.682, 0.684, 0.686, 0.6880000000000001, 0.6900000000000001, 0.6920000000000001, 0.6940000000000001, 0.6960000000000001, 0.6980000000000001, 0.7000000000000001, 0.7020000000000001, 0.7040000000000001, 0.706, 0.708, 0.71, 0.712, 0.714, 0.716, 0.718, 0.72, 0.722, 0.724, 0.726, 0.728, 0.73, 0.732, 0.734, 0.736, 0.738, 0.74, 0.742, 0.744, 0.746, 0.748, 0.75, 0.752, 0.754, 0.756, 0.758, 0.76, 0.762, 0.764, 0.766, 0.768, 0.77, 0.772, 0.774, 0.776, 0.778, 0.78, 0.782, 0.784, 0.786, 0.788, 0.79, 0.792, 0.794, 0.796, 0.798, 0.8, 0.802, 0.804, 0.806, 0.808, 0.81, 0.812, 0.8140000000000001, 0.8160000000000001, 0.8180000000000001, 0.8200000000000001, 0.8220000000000001, 0.8240000000000001, 0.8260000000000001, 0.8280000000000001, 0.8300000000000001, 0.8320000000000001, 0.8340000000000001, 0.836, 0.838, 0.84, 0.842, 0.844, 0.846, 0.848, 0.85, 0.852, 0.854, 0.856, 0.858, 0.86, 0.862, 0.864, 0.866, 0.868, 0.87, 0.872, 0.874, 0.876, 0.878, 0.88, 0.882, 0.884, 0.886, 0.888, 0.89, 0.892, 0.894, 0.896, 0.898, 0.9, 0.902, 0.904, 0.906, 0.908, 0.91, 0.912, 0.914, 0.916, 0.918, 0.92, 0.922, 0.924, 0.926, 0.928, 0.93, 0.932, 0.934, 0.936, 0.9380000000000001, 0.9400000000000001, 0.9420000000000001, 0.9440000000000001, 0.9460000000000001, 0.9480000000000001, 0.9500000000000001, 0.9520000000000001, 0.9540000000000001, 0.9560000000000001, 0.9580000000000001, 0.9600000000000001, 0.962, 0.964, 0.966, 0.968, 0.97, 0.972, 0.974, 0.976, 0.978, 0.98, 0.982, 0.984, 0.986, 0.988, 0.99, 0.992, 0.994, 0.996, 0.998, 1 ], "xaxis": "x", "y": [ 2.2646970342940973, 2.2480075916329625, 2.2332324482811803, 2.221767818746468, 2.2148923341258575, 2.212327283474827, 2.2099379013088187, 2.2090068519538786, 2.208502626318002, 2.2074085190029353, 2.205556839153391, 2.203346545086158, 2.201008308052397, 2.1987825943213872, 2.1969024179571397, 2.1950869241800572, 2.193244589724946, 2.191578629628721, 2.19077462042609, 2.190327447054993, 2.18997033591305, 2.189593561101281, 2.1893367093335625, 2.1892946999032192, 2.189444159792406, 2.1898261003204444, 2.190164450895966, 2.190700362392526, 2.191267140534292, 2.1918288583954095, 2.1924637670911102, 2.193146544378304, 2.1933612722253057, 2.1933439898594616, 2.1933608752558604, 2.193442688589807, 2.193562932719751, 2.1937021305289157, 2.1937775520714573, 2.1936295146686193, 2.19344759427689, 2.1933434599170862, 2.193302421395095, 2.1932154030507776, 2.193148597786693, 2.193100538224181, 2.1930434411972093, 2.1930398174108463, 2.193065600278961, 2.1931562620659792, 2.1932792079204697, 2.193410368190086, 2.1936623375459505, 2.1939243837156637, 2.1941802803346198, 2.194440173745732, 2.1947103338758263, 2.194985770326418, 2.1952684604721884, 2.1955568410578703, 2.1958524815241085, 2.1961545702649197, 2.1964644461621816, 2.1967794913409477, 2.197103033006349, 2.197431627529814, 2.197769802339337, 2.1981121137469986, 2.1984610439959438, 2.1988172611637316, 2.1991816619830575, 2.19955177164722, 2.1999279943640033, 2.2003096738036283, 2.2006656720965694, 2.201051828114928, 2.2014698958000087, 2.201893768579277, 2.202325016363399, 2.2027568162258833, 2.2031917480731193, 2.2036350251510077, 2.2040992003136823, 2.204585144184043, 2.2050773542307724, 2.2055724813126116, 2.20607575441497, 2.206585576197239, 2.207100513744332, 2.207624729433896, 2.2081550329011534, 2.208692569056244, 2.209236187677086, 2.2097828296755626, 2.210334804134593, 2.2108938719157725, 2.2114597761893338, 2.2120329137144683, 2.2126140097894362, 2.2132076057139427, 2.2138355863668435, 2.214470373751456, 2.2151123092521257, 2.215766182389509, 2.2164421881188616, 2.217115299287154, 2.2177952967193137, 2.2184814297300015, 2.219174936648227, 2.219875021911226, 2.220580800665813, 2.2212960311429373, 2.2220165513136356, 2.22274431593683, 2.2234785849828516, 2.224219769435302, 2.224980608248149, 2.2257466332117, 2.226525364773408, 2.227323868823265, 2.2281214317718616, 2.228914050034286, 2.2297199823406353, 2.2305349456943055, 2.231352369838241, 2.232160308895268, 2.23298472318975, 2.233828596041547, 2.2346645655680155, 2.235509765292485, 2.2363640969780554, 2.237225633314453, 2.2380932164597835, 2.238966587994188, 2.2398493496425558, 2.2407436452053946, 2.2416463998466396, 2.242556276602297, 2.2434735931169443, 2.244393900519938, 2.2453454858937434, 2.246303835739933, 2.2472664363423984, 2.2482490715121273, 2.2492391505303373, 2.250236954604909, 2.2512495962534085, 2.25226608189688, 2.253305449972487, 2.254355133171308, 2.255416490994443, 2.256471079424362, 2.2575190842218786, 2.258573889515358, 2.2596382082062485, 2.26071228199607, 2.261791489445245, 2.262876639290659, 2.263970676652858, 2.2650708260352266, 2.266175498614732, 2.2672831146142225, 2.2683992106198376, 2.269524907579063, 2.2706605966419486, 2.2717984938255205, 2.2729338026707184, 2.274079274248168, 2.2752292804711223, 2.276391545935722, 2.277550152018371, 2.2787164556923343, 2.27988444678167, 2.281067080090644, 2.2822545315278986, 2.2834460334759603, 2.284641406312343, 2.2858413682354692, 2.287052681148853, 2.2882680189805944, 2.2894822813961637, 2.2907169559776164, 2.2919592095729664, 2.293209536980332, 2.2944501107563116, 2.295676987049178, 2.2969124868868898, 2.298154325423422, 2.299399416192505, 2.300647068697243, 2.301901291703248, 2.3031645949493633, 2.304433414730186, 2.3057085766543906, 2.3069910288501125, 2.30827735509823, 2.3095633945075464, 2.3108571654135863, 2.3121559943815395, 2.313463420944287, 2.3147885055951525, 2.316122086050607, 2.317461330991372, 2.3187947956539765, 2.3201367325757776, 2.321486259903576, 2.322834093615738, 2.324153348759798, 2.325474460077653, 2.326800070783945, 2.328131424016429, 2.3294689461387477, 2.33081492670246, 2.3321661848793602, 2.333505370088495, 2.334852367988506, 2.3362006734438636, 2.3375586307816465, 2.338919393775917, 2.3402893391747535, 2.341666822645401, 2.343048679582893, 2.34443431520567, 2.34583378472509, 2.34722232187931, 2.3486190110679135, 2.3500226328522538, 2.351426226633805, 2.352833422444232, 2.354249098640456, 2.3556653493579787, 2.357085334536058, 2.3585149485196033, 2.3599508882714177, 2.361394586207056, 2.3628469108815646, 2.3643071911682396, 2.3657742846790653, 2.367249310721649, 2.3687291013326712, 2.3702164319641534, 2.3717098568194093, 2.373212541354399, 2.3747200733464995, 2.3762323410452266, 2.377756174308695, 2.379284387225437, 2.380820185681889, 2.3823727845232066, 2.3839453754831803, 2.385522025900024, 2.387108066080773, 2.3887060349807485, 2.390309124899407, 2.391917174736566, 2.3935329392588107, 2.3951522838910857, 2.3967791094127477, 2.3984191862674047, 2.4000419302729674, 2.4016607008240647, 2.4032746198954547, 2.404884733926206, 2.4064962422945055, 2.408108611512049, 2.4097301809873874, 2.4113588229767986, 2.412989944128454, 2.4146286229873333, 2.4162708096385552, 2.4179323298773485, 2.4196149138265013, 2.4213003150666648, 2.4229934645839033, 2.424690695412785, 2.4263956510503184, 2.4281067954142346, 2.4298240007132086, 2.431546364125146, 2.43327111346596, 2.434997905533611, 2.436726494973629, 2.4384616533257177, 2.440202607950653, 2.441951180973009, 2.4437015383802003, 2.4454629477687053, 2.44722829830683, 2.4490016551349494, 2.4507810731612416, 2.4525842149624477, 2.454388918575281, 2.456199221103726, 2.4580150082237915, 2.459836113984938, 2.461663199157079, 2.4634952178614764, 2.465330817446152, 2.4671738840256316, 2.4690228361280906, 2.470875629717492, 2.4727348397796702, 2.474601198035676, 2.4764760705944364, 2.478354876619569, 2.480239464722888, 2.48213123759903, 2.484021574822098, 2.485906275847989, 2.48773008553971, 2.4895302099002303, 2.4913273722177207, 2.493130019424709, 2.4949367451299542, 2.496744684156554, 2.498546278034863, 2.5003541385756978, 2.502187172581254, 2.504011933863982, 2.5058451216444375, 2.507684173724325, 2.5095299111052585, 2.5113791864469923, 2.513238473934027, 2.515100641621695, 2.5169677867581726, 2.5188479047973606, 2.5207329224127735, 2.522627087763698, 2.5245279819720126, 2.5264308620233202, 2.5283412535073473, 2.5302596976592593, 2.5321824478441575, 2.5341075077690585, 2.5360213786370283, 2.5379280191474125, 2.539832785154413, 2.5417406239399636, 2.543655534303679, 2.545577054605465, 2.547504111874335, 2.549437731639345, 2.5513761290115395, 2.553317226227235, 2.5552640257774586, 2.5572147008222474, 2.5591724536953766, 2.561132268126961, 2.5630885944316075, 2.5650473233758886, 2.5670105505280763, 2.568975862927698, 2.5709504709567264, 2.57292693165411, 2.574912093959612, 2.576902436341377, 2.578897130409057, 2.5808803704511014, 2.5828193282386542, 2.584764909069977, 2.5867163141069356, 2.5886702652581417, 2.5906292453000477, 2.5925929798641727, 2.5945634365616352, 2.596499214712228, 2.598374995714762, 2.600255537354656, 2.6021393064380107, 2.6040193808674252, 2.605906833353132, 2.6077942524369777, 2.6096908043879283, 2.611511523721671, 2.6132909721351534, 2.615071468759127, 2.616856689969015, 2.6186469654248095, 2.6204431394887453, 2.622243788017639, 2.6240501093065243, 2.6258551322587484, 2.627646137503979, 2.6293829519933096, 2.631122826438186, 2.6328357754152663, 2.634548212101121, 2.636218432265684, 2.637810661211842, 2.6394037415011318, 2.640998866828009, 2.6426042628363997, 2.6442147100731495, 2.645826778937402, 2.647442234529307, 2.649057150993339, 2.6506772374565224, 2.6522970766933827, 2.6539237708478085, 2.655553488923773, 2.657188667826014, 2.658826588315209, 2.6604588371225217, 2.662095284412581, 2.6637357196810987, 2.6653811929900866, 2.6670034719501428, 2.668581334103152, 2.6701643347593227, 2.671750790826306, 2.6733408416835562, 2.674934415395511, 2.676530906529153, 2.67813180521666, 2.6797368794702385, 2.681346772897407, 2.68296014826963, 2.6845751055102602, 2.6861937387466623, 2.6878173389067643, 2.6894447533704415, 2.691076009260006, 2.692710969385761, 2.694349650830669, 2.69599361406013, 2.6976376691928694, 2.6992875806267795, 2.700939945518756, 2.7025971607761337, 2.7041963553674413, 2.7056732434862467, 2.707154810978717, 2.7086353704560393, 2.710122532753744, 2.711612904744349, 2.713108248661459, 2.7146051331735377, 2.7161048690085785, 2.717601623315467, 2.7189299894659604, 2.720262708187976, 2.7215993876857416, 2.7229387851497338, 2.7242816701966945, 2.725626834853654, 2.7269766354080858, 2.7283304362084273, 2.729685492855166, 2.730909182827473, 2.73212122433975, 2.733307147071362, 2.7343796715715665, 2.7354554125570174, 2.736415188008926, 2.7372097668278865, 2.7380070107288965, 2.738803780421803, 2.739478955554243, 2.7401470238425234, 2.740818019879849, 2.7414891840416695, 2.7421644531024256, 2.7428394818977635, 2.743516252934311, 2.744194719650923, 2.744876881669922, 2.745560046959358, 2.7462446247994756, 2.7469321651850658, 2.747621849285917, 2.7483122086894545, 2.7490051291398254, 2.749698277195968, 2.750393981469906, 2.7510920689118215, 2.7517924499050714, 2.752494045672429, 2.7531974320865444, 2.7539021921147846, 2.7545388849826375, 2.75509297299552, 2.755646376989914, 2.7562001506712215, 2.7567555656591263, 2.757312044280975, 2.7578686437764444, 2.758425771092712, 2.758985101255687, 2.7595451210233644, 2.760105640132469, 2.7606677908878843, 2.761230998011544, 2.7617964689618795, 2.7623199049870406, 2.762845618478882, 2.7633724526048002, 2.7639013510953285, 2.764431464268081, 2.7649604257178004 ], "yaxis": "y" }, { "hovertemplate": "cv-train=Train
Alpha=%{x}
MSE=%{y}", "legendgroup": "Train", "line": { "color": "#EF553B", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "Train", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0.002, 0.004, 0.006, 0.008, 0.01, 0.012, 0.014, 0.016, 0.018000000000000002, 0.020000000000000004, 0.022, 0.024, 0.026000000000000002, 0.028000000000000004, 0.03, 0.032, 0.034, 0.036000000000000004, 0.038000000000000006, 0.04, 0.042, 0.044000000000000004, 0.046, 0.048, 0.05, 0.052000000000000005, 0.054000000000000006, 0.056, 0.058, 0.060000000000000005, 0.062, 0.064, 0.066, 0.068, 0.07, 0.07200000000000001, 0.07400000000000001, 0.076, 0.078, 0.08, 0.082, 0.084, 0.08600000000000001, 0.08800000000000001, 0.09, 0.092, 0.094, 0.096, 0.098, 0.1, 0.10200000000000001, 0.10400000000000001, 0.10600000000000001, 0.108, 0.11, 0.112, 0.114, 0.116, 0.11800000000000001, 0.12000000000000001, 0.122, 0.124, 0.126, 0.128, 0.13, 0.132, 0.134, 0.136, 0.138, 0.14, 0.14200000000000002, 0.14400000000000002, 0.14600000000000002, 0.148, 0.15, 0.152, 0.154, 0.156, 0.158, 0.16, 0.162, 0.164, 0.166, 0.168, 0.17, 0.17200000000000001, 0.17400000000000002, 0.17600000000000002, 0.178, 0.18, 0.182, 0.184, 0.186, 0.188, 0.19, 0.192, 0.194, 0.196, 0.198, 0.2, 0.202, 0.20400000000000001, 0.20600000000000002, 0.20800000000000002, 0.21000000000000002, 0.212, 0.214, 0.216, 0.218, 0.22, 0.222, 0.224, 0.226, 0.228, 0.23, 0.232, 0.234, 0.23600000000000002, 0.23800000000000002, 0.24000000000000002, 0.242, 0.244, 0.246, 0.248, 0.25, 0.252, 0.254, 0.256, 0.258, 0.26, 0.262, 0.264, 0.266, 0.268, 0.27, 0.272, 0.274, 0.276, 0.278, 0.28, 0.28200000000000003, 0.28400000000000003, 0.28600000000000003, 0.28800000000000003, 0.29000000000000004, 0.292, 0.294, 0.296, 0.298, 0.3, 0.302, 0.304, 0.306, 0.308, 0.31, 0.312, 0.314, 0.316, 0.318, 0.32, 0.322, 0.324, 0.326, 0.328, 0.33, 0.332, 0.334, 0.336, 0.338, 0.34, 0.342, 0.34400000000000003, 0.34600000000000003, 0.34800000000000003, 0.35000000000000003, 0.35200000000000004, 0.354, 0.356, 0.358, 0.36, 0.362, 0.364, 0.366, 0.368, 0.37, 0.372, 0.374, 0.376, 0.378, 0.38, 0.382, 0.384, 0.386, 0.388, 0.39, 0.392, 0.394, 0.396, 0.398, 0.4, 0.402, 0.404, 0.406, 0.40800000000000003, 0.41000000000000003, 0.41200000000000003, 0.41400000000000003, 0.41600000000000004, 0.41800000000000004, 0.42, 0.422, 0.424, 0.426, 0.428, 0.43, 0.432, 0.434, 0.436, 0.438, 0.44, 0.442, 0.444, 0.446, 0.448, 0.45, 0.452, 0.454, 0.456, 0.458, 0.46, 0.462, 0.464, 0.466, 0.468, 0.47000000000000003, 0.47200000000000003, 0.47400000000000003, 0.47600000000000003, 0.47800000000000004, 0.48000000000000004, 0.482, 0.484, 0.486, 0.488, 0.49, 0.492, 0.494, 0.496, 0.498, 0.5, 0.502, 0.504, 0.506, 0.508, 0.51, 0.512, 0.514, 0.516, 0.518, 0.52, 0.522, 0.524, 0.526, 0.528, 0.53, 0.532, 0.534, 0.536, 0.538, 0.54, 0.542, 0.544, 0.546, 0.548, 0.55, 0.552, 0.554, 0.556, 0.558, 0.56, 0.562, 0.5640000000000001, 0.5660000000000001, 0.5680000000000001, 0.5700000000000001, 0.5720000000000001, 0.5740000000000001, 0.5760000000000001, 0.5780000000000001, 0.58, 0.582, 0.584, 0.586, 0.588, 0.59, 0.592, 0.594, 0.596, 0.598, 0.6, 0.602, 0.604, 0.606, 0.608, 0.61, 0.612, 0.614, 0.616, 0.618, 0.62, 0.622, 0.624, 0.626, 0.628, 0.63, 0.632, 0.634, 0.636, 0.638, 0.64, 0.642, 0.644, 0.646, 0.648, 0.65, 0.652, 0.654, 0.656, 0.658, 0.66, 0.662, 0.664, 0.666, 0.668, 0.67, 0.672, 0.674, 0.676, 0.678, 0.68, 0.682, 0.684, 0.686, 0.6880000000000001, 0.6900000000000001, 0.6920000000000001, 0.6940000000000001, 0.6960000000000001, 0.6980000000000001, 0.7000000000000001, 0.7020000000000001, 0.7040000000000001, 0.706, 0.708, 0.71, 0.712, 0.714, 0.716, 0.718, 0.72, 0.722, 0.724, 0.726, 0.728, 0.73, 0.732, 0.734, 0.736, 0.738, 0.74, 0.742, 0.744, 0.746, 0.748, 0.75, 0.752, 0.754, 0.756, 0.758, 0.76, 0.762, 0.764, 0.766, 0.768, 0.77, 0.772, 0.774, 0.776, 0.778, 0.78, 0.782, 0.784, 0.786, 0.788, 0.79, 0.792, 0.794, 0.796, 0.798, 0.8, 0.802, 0.804, 0.806, 0.808, 0.81, 0.812, 0.8140000000000001, 0.8160000000000001, 0.8180000000000001, 0.8200000000000001, 0.8220000000000001, 0.8240000000000001, 0.8260000000000001, 0.8280000000000001, 0.8300000000000001, 0.8320000000000001, 0.8340000000000001, 0.836, 0.838, 0.84, 0.842, 0.844, 0.846, 0.848, 0.85, 0.852, 0.854, 0.856, 0.858, 0.86, 0.862, 0.864, 0.866, 0.868, 0.87, 0.872, 0.874, 0.876, 0.878, 0.88, 0.882, 0.884, 0.886, 0.888, 0.89, 0.892, 0.894, 0.896, 0.898, 0.9, 0.902, 0.904, 0.906, 0.908, 0.91, 0.912, 0.914, 0.916, 0.918, 0.92, 0.922, 0.924, 0.926, 0.928, 0.93, 0.932, 0.934, 0.936, 0.9380000000000001, 0.9400000000000001, 0.9420000000000001, 0.9440000000000001, 0.9460000000000001, 0.9480000000000001, 0.9500000000000001, 0.9520000000000001, 0.9540000000000001, 0.9560000000000001, 0.9580000000000001, 0.9600000000000001, 0.962, 0.964, 0.966, 0.968, 0.97, 0.972, 0.974, 0.976, 0.978, 0.98, 0.982, 0.984, 0.986, 0.988, 0.99, 0.992, 0.994, 0.996, 0.998, 1 ], "xaxis": "x", "y": [ 1.8218995882689908, 1.8271695718249303, 1.8325296212751687, 1.837842790100628, 1.8417801403185197, 1.846374574843671, 1.8504125900564652, 1.853410943291435, 1.8566005541433075, 1.8600531441735701, 1.8637352012017683, 1.8665316895304065, 1.868587885072446, 1.8707994146821867, 1.8729126616708707, 1.8751172445245339, 1.877341567302015, 1.878794033810613, 1.8801263360493639, 1.8814550630514797, 1.8827869252452805, 1.8841839948730814, 1.8856460251938998, 1.8871730288099204, 1.8887649872449352, 1.8904221847787699, 1.8917275088491454, 1.8930285262386013, 1.8943768553312998, 1.8957724658901767, 1.8972156638668343, 1.8987059041815781, 1.900243450817441, 1.9015485919612074, 1.9026811643347743, 1.9038466191647352, 1.9050447355337297, 1.9062758815383656, 1.9075398325137176, 1.9088365874418136, 1.910166018380413, 1.9115285658786563, 1.9120528933621723, 1.9123201015925144, 1.912593403755995, 1.9128728158192958, 1.913158348210847, 1.9134500982463825, 1.9137478755747244, 1.9140518684731351, 1.9143619260517102, 1.9146781304498883, 1.915000514891766, 1.9153289368907456, 1.9156635114820624, 1.9160043031759322, 1.9163511619886557, 1.9167041482875096, 1.9170633197467373, 1.9174285438784735, 1.91779990397879, 1.9181773893561582, 1.918561093561795, 1.918950844767419, 1.919346729491154, 1.9197487186313436, 1.9201569539358634, 1.920571220007641, 1.9209916149739759, 1.921418142921235, 1.9218507941793166, 1.92228966786583, 1.922734561874176, 1.9231856237490692, 1.9236428013326201, 1.9241061114231617, 1.9245756642098903, 1.9250512346905564, 1.9255329287044547, 1.9260207698273901, 1.9265147458904925, 1.9270148588636988, 1.9275211989784888, 1.928033575504482, 1.928552046135555, 1.929076653375861, 1.9295832228454033, 1.9300756934456353, 1.930573797485272, 1.9310776429857233, 1.9315870347146278, 1.932102020235943, 1.9326226508325912, 1.9331489327564453, 1.9336808621965997, 1.9342183826197676, 1.934761569735646, 1.9353104490034458, 1.9358648682907371, 1.936424884786856, 1.9369905431315493, 1.9375618253531486, 1.9381387352725195, 1.938721290669527, 1.939309440623377, 1.9399032331284256, 1.9405027039128233, 1.9411077390466878, 1.941718366243108, 1.9423345797460607, 1.9429564453390924, 1.943583946024608, 1.944217056708308, 1.9448558114163128, 1.9455001714616265, 1.9461502451541361, 1.946805861608553, 1.9474670753839056, 1.9481339045922799, 1.9488063449776027, 1.949484436355769, 1.9501681049787352, 1.9508574250212918, 1.9515718036292882, 1.9523766481371936, 1.9531861396945527, 1.9539983562513088, 1.9548093007797647, 1.9556188062241524, 1.9564351206188746, 1.957257212779552, 1.9580861623097567, 1.958921437416864, 1.9597624585166886, 1.9606103323527573, 1.9614645320808082, 1.962324472196863, 1.9631912934808498, 1.9640644250251644, 1.9649432755165415, 1.9658290252265544, 1.9667210795037502, 1.9676188472921428, 1.9685235196800899, 1.969434499214494, 1.9703490786132731, 1.971268226671242, 1.9721936517788063, 1.9731246973255065, 1.974062663335426, 1.9750069102714658, 1.975957423546644, 1.9769135345082105, 1.9778765912538383, 1.978845922429162, 1.9798208095727814, 1.9808026786961321, 1.9817908129990685, 1.9827844919639226, 1.9837851468318113, 1.9847920490889297, 1.9858051901251776, 1.9868229941888913, 1.9878796827502565, 1.988942894420922, 1.9900133915754565, 1.9910903683550598, 1.9921738254470596, 1.993263758111315, 1.9943592795293263, 1.9954621374742847, 1.9965714924303684, 1.9976873083507807, 1.998808708877613, 1.9999374627710829, 2.0010726906176597, 2.0022143907331174, 2.003361624829913, 2.0045161912177254, 2.0056773014229234, 2.0068449295214887, 2.008019033223502, 2.0091986532797463, 2.0103857094057522, 2.0115792506874537, 2.0127792715266195, 2.0139847829223263, 2.015197691251043, 2.016417138851919, 2.0176431120186895, 2.018874548100278, 2.0201134845834496, 2.02135889265621, 2.022610773541519, 2.023868069651209, 2.0251329071030515, 2.0264031545624013, 2.0276798048997615, 2.0289616000436475, 2.030250190363882, 2.0315453982679728, 2.0328446641826714, 2.034146304770409, 2.0354188397206903, 2.0366978092242354, 2.0379830962987344, 2.0392732397958797, 2.0405711110653053, 2.0418752594426883, 2.043185594177946, 2.0445007054054782, 2.0458235997621688, 2.0471528012988203, 2.0484882633755968, 2.0498299884534785, 2.051176425489328, 2.0525306561490524, 2.053891147141818, 2.055257906632004, 2.056630938787049, 2.0580086121626566, 2.059394126957781, 2.060785811834703, 2.0621837676320234, 2.0635879943785906, 2.064996902609912, 2.0664137430024554, 2.067836845745594, 2.0692662064367133, 2.070701829577302, 2.0721419799924443, 2.0735901164224466, 2.0750445079721747, 2.0765051609616716, 2.0779702868911785, 2.0794434489276683, 2.080922842346417, 2.082408433038049, 2.083900299205104, 2.0853965380907273, 2.0868919112419837, 2.088389133483085, 2.089896515467122, 2.0914103337615715, 2.0929305872148447, 2.0944572677567352, 2.095990362957304, 2.09752944439564, 2.099075191436526, 2.100627293945877, 2.102185097433359, 2.1037497484624312, 2.105320695073306, 2.1068979255163875, 2.1084814012486426, 2.1100701443056082, 2.1116660290142697, 2.113268154525342, 2.1148764848642005, 2.1164909627059907, 2.1180822461764626, 2.11967473729032, 2.121275180539557, 2.1228802022752724, 2.1244934542607776, 2.126113140297672, 2.1277368936622802, 2.1293691645440678, 2.1310052056243918, 2.1326499234126475, 2.1343003264317044, 2.135947401370493, 2.1376034878955243, 2.1392631089862126, 2.1409314044693897, 2.1426057188891248, 2.144286146552337, 2.1459726628000464, 2.147665268358998, 2.1493639483072418, 2.1510687007688527, 2.152779590774944, 2.1544965830687968, 2.1562196427399933, 2.15794603499946, 2.15968122045378, 2.1614224666844213, 2.1631697751329733, 2.1649231416155303, 2.166682565089105, 2.168445309703239, 2.1702168559308244, 2.171994466497768, 2.173778148323155, 2.175565127906273, 2.1773609377710863, 2.1791628149507734, 2.1809707613373988, 2.182784778230708, 2.18460198109547, 2.1864280293413594, 2.1882601525999403, 2.190098350866896, 2.191942627105959, 2.193790093693992, 2.1956464968161375, 2.1975089673076402, 2.199357316461437, 2.201205033104349, 2.2030553826916317, 2.204913135490343, 2.206774245353634, 2.208643618517564, 2.2105189898743487, 2.2123980223866893, 2.214285362931006, 2.2161786918018263, 2.2180780096831603, 2.219980926621419, 2.2218922111446937, 2.2238094890504208, 2.225730318394042, 2.227659561817173, 2.2295947930557047, 2.2315360223505025, 2.2334807377342525, 2.2354339515268733, 2.237393164001113, 2.239358372998662, 2.2413269653468, 2.2433040511760023, 2.245287146853164, 2.247276243025864, 2.2492686789893224, 2.2512697487314197, 2.253276814058492, 2.2552898713542158, 2.2573089391735786, 2.2593312628299946, 2.261362351031112, 2.263399519761675, 2.2654427037022686, 2.267421574840923, 2.2693348573490844, 2.2712569206879674, 2.2731814806350794, 2.2751144570006936, 2.2770504032779613, 2.278992773541445, 2.280939535170153, 2.2828533236194635, 2.284756192979397, 2.28666446208041, 2.2885781322115806, 2.2904935331556513, 2.292417990980668, 2.294348226269907, 2.2962841699158476, 2.298221803351277, 2.3001685679683437, 2.3021207397950887, 2.3040745634633084, 2.3060375647031295, 2.3080059818692424, 2.3099760125463575, 2.3119552602587343, 2.3139361264535427, 2.3159263243512602, 2.3179219232273103, 2.319919081687615, 2.3219255191360237, 2.323937369455042, 2.3259507458984157, 2.3279734324696686, 2.3300015338913433, 2.3320311141602845, 2.3340700285473206, 2.3361143033575122, 2.3381598401005848, 2.340214765159479, 2.3422750995938832, 2.3443368243210543, 2.3464079597692535, 2.348484493619014, 2.349899018379504, 2.351269446490315, 2.3526432822582453, 2.354017300770173, 2.3553980930933034, 2.3567823667816556, 2.358170126436477, 2.3595614370105142, 2.360952979363603, 2.362351403780699, 2.363753387747081, 2.3651589305534375, 2.3665646656486543, 2.3679773059725586, 2.369393498994245, 2.3708132725458273, 2.3722365939207477, 2.3736600744800875, 2.375090513835856, 2.376524510406378, 2.3779620700940183, 2.379403188316518, 2.3808444272801363, 2.3822926593257066, 2.383744449361242, 2.3851997937786393, 2.386655222821631, 2.388117720737775, 2.389583855120398, 2.391053544802343, 2.3925233201882743, 2.3940001568830143, 2.3954805546303213, 2.396964536690485, 2.3984485391598764, 2.399939635503077, 2.401434292465434, 2.4029289502126447, 2.4044307291324545, 2.4059360345294585, 2.4074446942492287, 2.408956774616811, 2.410468986298161, 2.411988348315909, 2.4135112621724253, 2.4150377294403174, 2.416564119580342, 2.418097694627388, 2.4196348242453594, 2.421175507963692, 2.4227197453386955, 2.424263877931667, 2.425815240354714, 2.427370156006167, 2.4289286404154757, 2.430486984244306, 2.432052582686983, 2.4336217296464806, 2.435194433451705, 2.4367706882599416, 2.4383467613261534, 2.439930116861379, 2.4415170249025673, 2.4431075184137656, 2.4446977766711133, 2.4462953369866316, 2.447896447307171, 2.449501128507984, 2.451109396856469, 2.4527174173207476, 2.454332824684089, 2.4559517796654, 2.4575742882918505, 2.4591964961231843, 2.4608260783266593, 2.4624592152230513, 2.464095908104011, 2.465454836008675, 2.465904267526873, 2.4663546175581743, 2.466805920724948, 2.467258185056978, 2.4677114028925113, 2.4681655888369485, 2.468620759431011, 2.4690768949554847, 2.4695340911071173, 2.46999227535532, 2.4704514534460507, 2.4709116258064507, 2.471372821420685, 2.4718350409736662, 2.4722982216261684, 2.4727623409513177, 2.4732313885662385, 2.473697360496989, 2.4741643015601853, 2.4746321970210596, 2.4751010508518188, 2.4755708298377743, 2.476041251285179, 2.4765124977468047, 2.4769848737968863, 2.4774623634449098, 2.4779365851700352, 2.4784119703639895, 2.4788883160307496, 2.4793656323801994, 2.4798332865658868, 2.4803018215134607, 2.480770128745363, 2.4812390078765425, 2.481708827648703, 2.4821834574023884, 2.482655166494873, 2.483127823768324 ], "yaxis": "y" } ], "layout": { "legend": { "title": { "text": "cv-train" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "Alpha" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "MSE" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import warnings\n", "warnings.filterwarnings('ignore')\n", "example3 = lassoReg(np.matrix(X1400),y1400)\n", "px.line(example3, x=\"Alpha\", y=\"MSE\", color=\"cv-train\")" ] }, { "cell_type": "markdown", "id": "047018d8", "metadata": {}, "source": [ "The optimal lasso regression model for RST1400 seems to be for $\\alpha=0.048$, since it minimizes the estimated MSE using CV. One can notice that the MSE on the training set is lower than on the left-out fold, which make sense intuitively." ] }, { "cell_type": "code", "execution_count": 58, "id": "040dee94", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lasso
TT_04000.040399
TT_05000.000000
TT_06000.000000
TT_07000.175607
TT_08000.039599
TT_09000.000000
TT_10000.000000
TT_11000.000000
TT_12000.000000
TT_13000.068205
TT_14000.694896
TD_04000.000000
TD_0500-0.000000
TD_0600-0.000000
TD_07000.000000
TD_08000.000000
TD_0900-0.000000
TD_1000-0.049887
TD_1100-0.000000
TD_1200-0.000000
TD_1300-0.000000
TD_14000.000000
GRAD1_04000.000000
GRAD1_05000.000000
GRAD1_0600-0.005161
GRAD1_07000.004623
GRAD1_08000.002682
GRAD1_09000.002266
GRAD1_10000.006073
GRAD1_1100-0.003775
GRAD1_12000.005764
GRAD1_13000.004337
GRAD1_14000.014364
NE_04000.012087
NE_05000.066627
NE_0600-0.016707
NE_0700-0.005721
NE_08000.045778
NE_09000.057771
NE_10000.000000
NE_11000.082545
NE_12000.040359
NE_13000.072016
NE_14000.143800
FF_0400-0.020241
FF_05000.000000
FF_0600-0.000000
FF_0700-0.000000
FF_0800-0.000000
FF_09000.002726
FF_10000.000000
FF_1100-0.027617
FF_1200-0.029053
FF_1300-0.000000
FF_1400-0.031354
\n", "
" ], "text/plain": [ " lasso\n", "TT_0400 0.040399\n", "TT_0500 0.000000\n", "TT_0600 0.000000\n", "TT_0700 0.175607\n", "TT_0800 0.039599\n", "TT_0900 0.000000\n", "TT_1000 0.000000\n", "TT_1100 0.000000\n", "TT_1200 0.000000\n", "TT_1300 0.068205\n", "TT_1400 0.694896\n", "TD_0400 0.000000\n", "TD_0500 -0.000000\n", "TD_0600 -0.000000\n", "TD_0700 0.000000\n", "TD_0800 0.000000\n", "TD_0900 -0.000000\n", "TD_1000 -0.049887\n", "TD_1100 -0.000000\n", "TD_1200 -0.000000\n", "TD_1300 -0.000000\n", "TD_1400 0.000000\n", "GRAD1_0400 0.000000\n", "GRAD1_0500 0.000000\n", "GRAD1_0600 -0.005161\n", "GRAD1_0700 0.004623\n", "GRAD1_0800 0.002682\n", "GRAD1_0900 0.002266\n", "GRAD1_1000 0.006073\n", "GRAD1_1100 -0.003775\n", "GRAD1_1200 0.005764\n", "GRAD1_1300 0.004337\n", "GRAD1_1400 0.014364\n", "NE_0400 0.012087\n", "NE_0500 0.066627\n", "NE_0600 -0.016707\n", "NE_0700 -0.005721\n", "NE_0800 0.045778\n", "NE_0900 0.057771\n", "NE_1000 0.000000\n", "NE_1100 0.082545\n", "NE_1200 0.040359\n", "NE_1300 0.072016\n", "NE_1400 0.143800\n", "FF_0400 -0.020241\n", "FF_0500 0.000000\n", "FF_0600 -0.000000\n", "FF_0700 -0.000000\n", "FF_0800 -0.000000\n", "FF_0900 0.002726\n", "FF_1000 0.000000\n", "FF_1100 -0.027617\n", "FF_1200 -0.029053\n", "FF_1300 -0.000000\n", "FF_1400 -0.031354" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lasso_model = Lasso(alpha=0.048).fit(X1400,y1400)\n", "lasso_coefs = pd.Series(dict(zip(list(X1400), lasso_model.coef_)))\n", "coefs = pd.DataFrame(dict(lasso=lasso_coefs))\n", "coefs" ] }, { "cell_type": "markdown", "id": "94e2c127", "metadata": {}, "source": [ "The cell above provides us with the estimated parameter coefficients. The estimated coefficient values are absolutely lower than the values in the linear regression model. Furthermore, some coefficients are now set equal to 0 and are therefore deemed insignificant." ] }, { "cell_type": "markdown", "id": "64de9fe2", "metadata": {}, "source": [ "#### Lasso RST at 10pm" ] }, { "cell_type": "code", "execution_count": 59, "id": "d7fa91a2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimal alpha: [0.044] with corresponding MSE: 0.84\n" ] }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "cv-train=CV
Alpha=%{x}
MSE=%{y}", "legendgroup": "CV", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "CV", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0.002, 0.004, 0.006, 0.008, 0.01, 0.012, 0.014, 0.016, 0.018000000000000002, 0.020000000000000004, 0.022, 0.024, 0.026000000000000002, 0.028000000000000004, 0.03, 0.032, 0.034, 0.036000000000000004, 0.038000000000000006, 0.04, 0.042, 0.044000000000000004, 0.046, 0.048, 0.05, 0.052000000000000005, 0.054000000000000006, 0.056, 0.058, 0.060000000000000005, 0.062, 0.064, 0.066, 0.068, 0.07, 0.07200000000000001, 0.07400000000000001, 0.076, 0.078, 0.08, 0.082, 0.084, 0.08600000000000001, 0.08800000000000001, 0.09, 0.092, 0.094, 0.096, 0.098, 0.1, 0.10200000000000001, 0.10400000000000001, 0.10600000000000001, 0.108, 0.11, 0.112, 0.114, 0.116, 0.11800000000000001, 0.12000000000000001, 0.122, 0.124, 0.126, 0.128, 0.13, 0.132, 0.134, 0.136, 0.138, 0.14, 0.14200000000000002, 0.14400000000000002, 0.14600000000000002, 0.148, 0.15, 0.152, 0.154, 0.156, 0.158, 0.16, 0.162, 0.164, 0.166, 0.168, 0.17, 0.17200000000000001, 0.17400000000000002, 0.17600000000000002, 0.178, 0.18, 0.182, 0.184, 0.186, 0.188, 0.19, 0.192, 0.194, 0.196, 0.198, 0.2, 0.202, 0.20400000000000001, 0.20600000000000002, 0.20800000000000002, 0.21000000000000002, 0.212, 0.214, 0.216, 0.218, 0.22, 0.222, 0.224, 0.226, 0.228, 0.23, 0.232, 0.234, 0.23600000000000002, 0.23800000000000002, 0.24000000000000002, 0.242, 0.244, 0.246, 0.248, 0.25, 0.252, 0.254, 0.256, 0.258, 0.26, 0.262, 0.264, 0.266, 0.268, 0.27, 0.272, 0.274, 0.276, 0.278, 0.28, 0.28200000000000003, 0.28400000000000003, 0.28600000000000003, 0.28800000000000003, 0.29000000000000004, 0.292, 0.294, 0.296, 0.298, 0.3, 0.302, 0.304, 0.306, 0.308, 0.31, 0.312, 0.314, 0.316, 0.318, 0.32, 0.322, 0.324, 0.326, 0.328, 0.33, 0.332, 0.334, 0.336, 0.338, 0.34, 0.342, 0.34400000000000003, 0.34600000000000003, 0.34800000000000003, 0.35000000000000003, 0.35200000000000004, 0.354, 0.356, 0.358, 0.36, 0.362, 0.364, 0.366, 0.368, 0.37, 0.372, 0.374, 0.376, 0.378, 0.38, 0.382, 0.384, 0.386, 0.388, 0.39, 0.392, 0.394, 0.396, 0.398, 0.4, 0.402, 0.404, 0.406, 0.40800000000000003, 0.41000000000000003, 0.41200000000000003, 0.41400000000000003, 0.41600000000000004, 0.41800000000000004, 0.42, 0.422, 0.424, 0.426, 0.428, 0.43, 0.432, 0.434, 0.436, 0.438, 0.44, 0.442, 0.444, 0.446, 0.448, 0.45, 0.452, 0.454, 0.456, 0.458, 0.46, 0.462, 0.464, 0.466, 0.468, 0.47000000000000003, 0.47200000000000003, 0.47400000000000003, 0.47600000000000003, 0.47800000000000004, 0.48000000000000004, 0.482, 0.484, 0.486, 0.488, 0.49, 0.492, 0.494, 0.496, 0.498, 0.5, 0.502, 0.504, 0.506, 0.508, 0.51, 0.512, 0.514, 0.516, 0.518, 0.52, 0.522, 0.524, 0.526, 0.528, 0.53, 0.532, 0.534, 0.536, 0.538, 0.54, 0.542, 0.544, 0.546, 0.548, 0.55, 0.552, 0.554, 0.556, 0.558, 0.56, 0.562, 0.5640000000000001, 0.5660000000000001, 0.5680000000000001, 0.5700000000000001, 0.5720000000000001, 0.5740000000000001, 0.5760000000000001, 0.5780000000000001, 0.58, 0.582, 0.584, 0.586, 0.588, 0.59, 0.592, 0.594, 0.596, 0.598, 0.6, 0.602, 0.604, 0.606, 0.608, 0.61, 0.612, 0.614, 0.616, 0.618, 0.62, 0.622, 0.624, 0.626, 0.628, 0.63, 0.632, 0.634, 0.636, 0.638, 0.64, 0.642, 0.644, 0.646, 0.648, 0.65, 0.652, 0.654, 0.656, 0.658, 0.66, 0.662, 0.664, 0.666, 0.668, 0.67, 0.672, 0.674, 0.676, 0.678, 0.68, 0.682, 0.684, 0.686, 0.6880000000000001, 0.6900000000000001, 0.6920000000000001, 0.6940000000000001, 0.6960000000000001, 0.6980000000000001, 0.7000000000000001, 0.7020000000000001, 0.7040000000000001, 0.706, 0.708, 0.71, 0.712, 0.714, 0.716, 0.718, 0.72, 0.722, 0.724, 0.726, 0.728, 0.73, 0.732, 0.734, 0.736, 0.738, 0.74, 0.742, 0.744, 0.746, 0.748, 0.75, 0.752, 0.754, 0.756, 0.758, 0.76, 0.762, 0.764, 0.766, 0.768, 0.77, 0.772, 0.774, 0.776, 0.778, 0.78, 0.782, 0.784, 0.786, 0.788, 0.79, 0.792, 0.794, 0.796, 0.798, 0.8, 0.802, 0.804, 0.806, 0.808, 0.81, 0.812, 0.8140000000000001, 0.8160000000000001, 0.8180000000000001, 0.8200000000000001, 0.8220000000000001, 0.8240000000000001, 0.8260000000000001, 0.8280000000000001, 0.8300000000000001, 0.8320000000000001, 0.8340000000000001, 0.836, 0.838, 0.84, 0.842, 0.844, 0.846, 0.848, 0.85, 0.852, 0.854, 0.856, 0.858, 0.86, 0.862, 0.864, 0.866, 0.868, 0.87, 0.872, 0.874, 0.876, 0.878, 0.88, 0.882, 0.884, 0.886, 0.888, 0.89, 0.892, 0.894, 0.896, 0.898, 0.9, 0.902, 0.904, 0.906, 0.908, 0.91, 0.912, 0.914, 0.916, 0.918, 0.92, 0.922, 0.924, 0.926, 0.928, 0.93, 0.932, 0.934, 0.936, 0.9380000000000001, 0.9400000000000001, 0.9420000000000001, 0.9440000000000001, 0.9460000000000001, 0.9480000000000001, 0.9500000000000001, 0.9520000000000001, 0.9540000000000001, 0.9560000000000001, 0.9580000000000001, 0.9600000000000001, 0.962, 0.964, 0.966, 0.968, 0.97, 0.972, 0.974, 0.976, 0.978, 0.98, 0.982, 0.984, 0.986, 0.988, 0.99, 0.992, 0.994, 0.996, 0.998, 1 ], "xaxis": "x", "y": [ 2.2646970342940973, 2.2480075916329625, 2.2332324482811803, 2.221767818746468, 2.2148923341258575, 2.212327283474827, 2.2099379013088187, 2.2090068519538786, 2.208502626318002, 2.2074085190029353, 2.205556839153391, 2.203346545086158, 2.201008308052397, 2.1987825943213872, 2.1969024179571397, 2.1950869241800572, 2.193244589724946, 2.191578629628721, 2.19077462042609, 2.190327447054993, 2.18997033591305, 2.189593561101281, 2.1893367093335625, 2.1892946999032192, 2.189444159792406, 2.1898261003204444, 2.190164450895966, 2.190700362392526, 2.191267140534292, 2.1918288583954095, 2.1924637670911102, 2.193146544378304, 2.1933612722253057, 2.1933439898594616, 2.1933608752558604, 2.193442688589807, 2.193562932719751, 2.1937021305289157, 2.1937775520714573, 2.1936295146686193, 2.19344759427689, 2.1933434599170862, 2.193302421395095, 2.1932154030507776, 2.193148597786693, 2.193100538224181, 2.1930434411972093, 2.1930398174108463, 2.193065600278961, 2.1931562620659792, 2.1932792079204697, 2.193410368190086, 2.1936623375459505, 2.1939243837156637, 2.1941802803346198, 2.194440173745732, 2.1947103338758263, 2.194985770326418, 2.1952684604721884, 2.1955568410578703, 2.1958524815241085, 2.1961545702649197, 2.1964644461621816, 2.1967794913409477, 2.197103033006349, 2.197431627529814, 2.197769802339337, 2.1981121137469986, 2.1984610439959438, 2.1988172611637316, 2.1991816619830575, 2.19955177164722, 2.1999279943640033, 2.2003096738036283, 2.2006656720965694, 2.201051828114928, 2.2014698958000087, 2.201893768579277, 2.202325016363399, 2.2027568162258833, 2.2031917480731193, 2.2036350251510077, 2.2040992003136823, 2.204585144184043, 2.2050773542307724, 2.2055724813126116, 2.20607575441497, 2.206585576197239, 2.207100513744332, 2.207624729433896, 2.2081550329011534, 2.208692569056244, 2.209236187677086, 2.2097828296755626, 2.210334804134593, 2.2108938719157725, 2.2114597761893338, 2.2120329137144683, 2.2126140097894362, 2.2132076057139427, 2.2138355863668435, 2.214470373751456, 2.2151123092521257, 2.215766182389509, 2.2164421881188616, 2.217115299287154, 2.2177952967193137, 2.2184814297300015, 2.219174936648227, 2.219875021911226, 2.220580800665813, 2.2212960311429373, 2.2220165513136356, 2.22274431593683, 2.2234785849828516, 2.224219769435302, 2.224980608248149, 2.2257466332117, 2.226525364773408, 2.227323868823265, 2.2281214317718616, 2.228914050034286, 2.2297199823406353, 2.2305349456943055, 2.231352369838241, 2.232160308895268, 2.23298472318975, 2.233828596041547, 2.2346645655680155, 2.235509765292485, 2.2363640969780554, 2.237225633314453, 2.2380932164597835, 2.238966587994188, 2.2398493496425558, 2.2407436452053946, 2.2416463998466396, 2.242556276602297, 2.2434735931169443, 2.244393900519938, 2.2453454858937434, 2.246303835739933, 2.2472664363423984, 2.2482490715121273, 2.2492391505303373, 2.250236954604909, 2.2512495962534085, 2.25226608189688, 2.253305449972487, 2.254355133171308, 2.255416490994443, 2.256471079424362, 2.2575190842218786, 2.258573889515358, 2.2596382082062485, 2.26071228199607, 2.261791489445245, 2.262876639290659, 2.263970676652858, 2.2650708260352266, 2.266175498614732, 2.2672831146142225, 2.2683992106198376, 2.269524907579063, 2.2706605966419486, 2.2717984938255205, 2.2729338026707184, 2.274079274248168, 2.2752292804711223, 2.276391545935722, 2.277550152018371, 2.2787164556923343, 2.27988444678167, 2.281067080090644, 2.2822545315278986, 2.2834460334759603, 2.284641406312343, 2.2858413682354692, 2.287052681148853, 2.2882680189805944, 2.2894822813961637, 2.2907169559776164, 2.2919592095729664, 2.293209536980332, 2.2944501107563116, 2.295676987049178, 2.2969124868868898, 2.298154325423422, 2.299399416192505, 2.300647068697243, 2.301901291703248, 2.3031645949493633, 2.304433414730186, 2.3057085766543906, 2.3069910288501125, 2.30827735509823, 2.3095633945075464, 2.3108571654135863, 2.3121559943815395, 2.313463420944287, 2.3147885055951525, 2.316122086050607, 2.317461330991372, 2.3187947956539765, 2.3201367325757776, 2.321486259903576, 2.322834093615738, 2.324153348759798, 2.325474460077653, 2.326800070783945, 2.328131424016429, 2.3294689461387477, 2.33081492670246, 2.3321661848793602, 2.333505370088495, 2.334852367988506, 2.3362006734438636, 2.3375586307816465, 2.338919393775917, 2.3402893391747535, 2.341666822645401, 2.343048679582893, 2.34443431520567, 2.34583378472509, 2.34722232187931, 2.3486190110679135, 2.3500226328522538, 2.351426226633805, 2.352833422444232, 2.354249098640456, 2.3556653493579787, 2.357085334536058, 2.3585149485196033, 2.3599508882714177, 2.361394586207056, 2.3628469108815646, 2.3643071911682396, 2.3657742846790653, 2.367249310721649, 2.3687291013326712, 2.3702164319641534, 2.3717098568194093, 2.373212541354399, 2.3747200733464995, 2.3762323410452266, 2.377756174308695, 2.379284387225437, 2.380820185681889, 2.3823727845232066, 2.3839453754831803, 2.385522025900024, 2.387108066080773, 2.3887060349807485, 2.390309124899407, 2.391917174736566, 2.3935329392588107, 2.3951522838910857, 2.3967791094127477, 2.3984191862674047, 2.4000419302729674, 2.4016607008240647, 2.4032746198954547, 2.404884733926206, 2.4064962422945055, 2.408108611512049, 2.4097301809873874, 2.4113588229767986, 2.412989944128454, 2.4146286229873333, 2.4162708096385552, 2.4179323298773485, 2.4196149138265013, 2.4213003150666648, 2.4229934645839033, 2.424690695412785, 2.4263956510503184, 2.4281067954142346, 2.4298240007132086, 2.431546364125146, 2.43327111346596, 2.434997905533611, 2.436726494973629, 2.4384616533257177, 2.440202607950653, 2.441951180973009, 2.4437015383802003, 2.4454629477687053, 2.44722829830683, 2.4490016551349494, 2.4507810731612416, 2.4525842149624477, 2.454388918575281, 2.456199221103726, 2.4580150082237915, 2.459836113984938, 2.461663199157079, 2.4634952178614764, 2.465330817446152, 2.4671738840256316, 2.4690228361280906, 2.470875629717492, 2.4727348397796702, 2.474601198035676, 2.4764760705944364, 2.478354876619569, 2.480239464722888, 2.48213123759903, 2.484021574822098, 2.485906275847989, 2.48773008553971, 2.4895302099002303, 2.4913273722177207, 2.493130019424709, 2.4949367451299542, 2.496744684156554, 2.498546278034863, 2.5003541385756978, 2.502187172581254, 2.504011933863982, 2.5058451216444375, 2.507684173724325, 2.5095299111052585, 2.5113791864469923, 2.513238473934027, 2.515100641621695, 2.5169677867581726, 2.5188479047973606, 2.5207329224127735, 2.522627087763698, 2.5245279819720126, 2.5264308620233202, 2.5283412535073473, 2.5302596976592593, 2.5321824478441575, 2.5341075077690585, 2.5360213786370283, 2.5379280191474125, 2.539832785154413, 2.5417406239399636, 2.543655534303679, 2.545577054605465, 2.547504111874335, 2.549437731639345, 2.5513761290115395, 2.553317226227235, 2.5552640257774586, 2.5572147008222474, 2.5591724536953766, 2.561132268126961, 2.5630885944316075, 2.5650473233758886, 2.5670105505280763, 2.568975862927698, 2.5709504709567264, 2.57292693165411, 2.574912093959612, 2.576902436341377, 2.578897130409057, 2.5808803704511014, 2.5828193282386542, 2.584764909069977, 2.5867163141069356, 2.5886702652581417, 2.5906292453000477, 2.5925929798641727, 2.5945634365616352, 2.596499214712228, 2.598374995714762, 2.600255537354656, 2.6021393064380107, 2.6040193808674252, 2.605906833353132, 2.6077942524369777, 2.6096908043879283, 2.611511523721671, 2.6132909721351534, 2.615071468759127, 2.616856689969015, 2.6186469654248095, 2.6204431394887453, 2.622243788017639, 2.6240501093065243, 2.6258551322587484, 2.627646137503979, 2.6293829519933096, 2.631122826438186, 2.6328357754152663, 2.634548212101121, 2.636218432265684, 2.637810661211842, 2.6394037415011318, 2.640998866828009, 2.6426042628363997, 2.6442147100731495, 2.645826778937402, 2.647442234529307, 2.649057150993339, 2.6506772374565224, 2.6522970766933827, 2.6539237708478085, 2.655553488923773, 2.657188667826014, 2.658826588315209, 2.6604588371225217, 2.662095284412581, 2.6637357196810987, 2.6653811929900866, 2.6670034719501428, 2.668581334103152, 2.6701643347593227, 2.671750790826306, 2.6733408416835562, 2.674934415395511, 2.676530906529153, 2.67813180521666, 2.6797368794702385, 2.681346772897407, 2.68296014826963, 2.6845751055102602, 2.6861937387466623, 2.6878173389067643, 2.6894447533704415, 2.691076009260006, 2.692710969385761, 2.694349650830669, 2.69599361406013, 2.6976376691928694, 2.6992875806267795, 2.700939945518756, 2.7025971607761337, 2.7041963553674413, 2.7056732434862467, 2.707154810978717, 2.7086353704560393, 2.710122532753744, 2.711612904744349, 2.713108248661459, 2.7146051331735377, 2.7161048690085785, 2.717601623315467, 2.7189299894659604, 2.720262708187976, 2.7215993876857416, 2.7229387851497338, 2.7242816701966945, 2.725626834853654, 2.7269766354080858, 2.7283304362084273, 2.729685492855166, 2.730909182827473, 2.73212122433975, 2.733307147071362, 2.7343796715715665, 2.7354554125570174, 2.736415188008926, 2.7372097668278865, 2.7380070107288965, 2.738803780421803, 2.739478955554243, 2.7401470238425234, 2.740818019879849, 2.7414891840416695, 2.7421644531024256, 2.7428394818977635, 2.743516252934311, 2.744194719650923, 2.744876881669922, 2.745560046959358, 2.7462446247994756, 2.7469321651850658, 2.747621849285917, 2.7483122086894545, 2.7490051291398254, 2.749698277195968, 2.750393981469906, 2.7510920689118215, 2.7517924499050714, 2.752494045672429, 2.7531974320865444, 2.7539021921147846, 2.7545388849826375, 2.75509297299552, 2.755646376989914, 2.7562001506712215, 2.7567555656591263, 2.757312044280975, 2.7578686437764444, 2.758425771092712, 2.758985101255687, 2.7595451210233644, 2.760105640132469, 2.7606677908878843, 2.761230998011544, 2.7617964689618795, 2.7623199049870406, 2.762845618478882, 2.7633724526048002, 2.7639013510953285, 2.764431464268081, 2.7649604257178004 ], "yaxis": "y" }, { "hovertemplate": "cv-train=Train
Alpha=%{x}
MSE=%{y}", "legendgroup": "Train", "line": { "color": "#EF553B", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "Train", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0.002, 0.004, 0.006, 0.008, 0.01, 0.012, 0.014, 0.016, 0.018000000000000002, 0.020000000000000004, 0.022, 0.024, 0.026000000000000002, 0.028000000000000004, 0.03, 0.032, 0.034, 0.036000000000000004, 0.038000000000000006, 0.04, 0.042, 0.044000000000000004, 0.046, 0.048, 0.05, 0.052000000000000005, 0.054000000000000006, 0.056, 0.058, 0.060000000000000005, 0.062, 0.064, 0.066, 0.068, 0.07, 0.07200000000000001, 0.07400000000000001, 0.076, 0.078, 0.08, 0.082, 0.084, 0.08600000000000001, 0.08800000000000001, 0.09, 0.092, 0.094, 0.096, 0.098, 0.1, 0.10200000000000001, 0.10400000000000001, 0.10600000000000001, 0.108, 0.11, 0.112, 0.114, 0.116, 0.11800000000000001, 0.12000000000000001, 0.122, 0.124, 0.126, 0.128, 0.13, 0.132, 0.134, 0.136, 0.138, 0.14, 0.14200000000000002, 0.14400000000000002, 0.14600000000000002, 0.148, 0.15, 0.152, 0.154, 0.156, 0.158, 0.16, 0.162, 0.164, 0.166, 0.168, 0.17, 0.17200000000000001, 0.17400000000000002, 0.17600000000000002, 0.178, 0.18, 0.182, 0.184, 0.186, 0.188, 0.19, 0.192, 0.194, 0.196, 0.198, 0.2, 0.202, 0.20400000000000001, 0.20600000000000002, 0.20800000000000002, 0.21000000000000002, 0.212, 0.214, 0.216, 0.218, 0.22, 0.222, 0.224, 0.226, 0.228, 0.23, 0.232, 0.234, 0.23600000000000002, 0.23800000000000002, 0.24000000000000002, 0.242, 0.244, 0.246, 0.248, 0.25, 0.252, 0.254, 0.256, 0.258, 0.26, 0.262, 0.264, 0.266, 0.268, 0.27, 0.272, 0.274, 0.276, 0.278, 0.28, 0.28200000000000003, 0.28400000000000003, 0.28600000000000003, 0.28800000000000003, 0.29000000000000004, 0.292, 0.294, 0.296, 0.298, 0.3, 0.302, 0.304, 0.306, 0.308, 0.31, 0.312, 0.314, 0.316, 0.318, 0.32, 0.322, 0.324, 0.326, 0.328, 0.33, 0.332, 0.334, 0.336, 0.338, 0.34, 0.342, 0.34400000000000003, 0.34600000000000003, 0.34800000000000003, 0.35000000000000003, 0.35200000000000004, 0.354, 0.356, 0.358, 0.36, 0.362, 0.364, 0.366, 0.368, 0.37, 0.372, 0.374, 0.376, 0.378, 0.38, 0.382, 0.384, 0.386, 0.388, 0.39, 0.392, 0.394, 0.396, 0.398, 0.4, 0.402, 0.404, 0.406, 0.40800000000000003, 0.41000000000000003, 0.41200000000000003, 0.41400000000000003, 0.41600000000000004, 0.41800000000000004, 0.42, 0.422, 0.424, 0.426, 0.428, 0.43, 0.432, 0.434, 0.436, 0.438, 0.44, 0.442, 0.444, 0.446, 0.448, 0.45, 0.452, 0.454, 0.456, 0.458, 0.46, 0.462, 0.464, 0.466, 0.468, 0.47000000000000003, 0.47200000000000003, 0.47400000000000003, 0.47600000000000003, 0.47800000000000004, 0.48000000000000004, 0.482, 0.484, 0.486, 0.488, 0.49, 0.492, 0.494, 0.496, 0.498, 0.5, 0.502, 0.504, 0.506, 0.508, 0.51, 0.512, 0.514, 0.516, 0.518, 0.52, 0.522, 0.524, 0.526, 0.528, 0.53, 0.532, 0.534, 0.536, 0.538, 0.54, 0.542, 0.544, 0.546, 0.548, 0.55, 0.552, 0.554, 0.556, 0.558, 0.56, 0.562, 0.5640000000000001, 0.5660000000000001, 0.5680000000000001, 0.5700000000000001, 0.5720000000000001, 0.5740000000000001, 0.5760000000000001, 0.5780000000000001, 0.58, 0.582, 0.584, 0.586, 0.588, 0.59, 0.592, 0.594, 0.596, 0.598, 0.6, 0.602, 0.604, 0.606, 0.608, 0.61, 0.612, 0.614, 0.616, 0.618, 0.62, 0.622, 0.624, 0.626, 0.628, 0.63, 0.632, 0.634, 0.636, 0.638, 0.64, 0.642, 0.644, 0.646, 0.648, 0.65, 0.652, 0.654, 0.656, 0.658, 0.66, 0.662, 0.664, 0.666, 0.668, 0.67, 0.672, 0.674, 0.676, 0.678, 0.68, 0.682, 0.684, 0.686, 0.6880000000000001, 0.6900000000000001, 0.6920000000000001, 0.6940000000000001, 0.6960000000000001, 0.6980000000000001, 0.7000000000000001, 0.7020000000000001, 0.7040000000000001, 0.706, 0.708, 0.71, 0.712, 0.714, 0.716, 0.718, 0.72, 0.722, 0.724, 0.726, 0.728, 0.73, 0.732, 0.734, 0.736, 0.738, 0.74, 0.742, 0.744, 0.746, 0.748, 0.75, 0.752, 0.754, 0.756, 0.758, 0.76, 0.762, 0.764, 0.766, 0.768, 0.77, 0.772, 0.774, 0.776, 0.778, 0.78, 0.782, 0.784, 0.786, 0.788, 0.79, 0.792, 0.794, 0.796, 0.798, 0.8, 0.802, 0.804, 0.806, 0.808, 0.81, 0.812, 0.8140000000000001, 0.8160000000000001, 0.8180000000000001, 0.8200000000000001, 0.8220000000000001, 0.8240000000000001, 0.8260000000000001, 0.8280000000000001, 0.8300000000000001, 0.8320000000000001, 0.8340000000000001, 0.836, 0.838, 0.84, 0.842, 0.844, 0.846, 0.848, 0.85, 0.852, 0.854, 0.856, 0.858, 0.86, 0.862, 0.864, 0.866, 0.868, 0.87, 0.872, 0.874, 0.876, 0.878, 0.88, 0.882, 0.884, 0.886, 0.888, 0.89, 0.892, 0.894, 0.896, 0.898, 0.9, 0.902, 0.904, 0.906, 0.908, 0.91, 0.912, 0.914, 0.916, 0.918, 0.92, 0.922, 0.924, 0.926, 0.928, 0.93, 0.932, 0.934, 0.936, 0.9380000000000001, 0.9400000000000001, 0.9420000000000001, 0.9440000000000001, 0.9460000000000001, 0.9480000000000001, 0.9500000000000001, 0.9520000000000001, 0.9540000000000001, 0.9560000000000001, 0.9580000000000001, 0.9600000000000001, 0.962, 0.964, 0.966, 0.968, 0.97, 0.972, 0.974, 0.976, 0.978, 0.98, 0.982, 0.984, 0.986, 0.988, 0.99, 0.992, 0.994, 0.996, 0.998, 1 ], "xaxis": "x", "y": [ 1.8218995882689908, 1.8271695718249303, 1.8325296212751687, 1.837842790100628, 1.8417801403185197, 1.846374574843671, 1.8504125900564652, 1.853410943291435, 1.8566005541433075, 1.8600531441735701, 1.8637352012017683, 1.8665316895304065, 1.868587885072446, 1.8707994146821867, 1.8729126616708707, 1.8751172445245339, 1.877341567302015, 1.878794033810613, 1.8801263360493639, 1.8814550630514797, 1.8827869252452805, 1.8841839948730814, 1.8856460251938998, 1.8871730288099204, 1.8887649872449352, 1.8904221847787699, 1.8917275088491454, 1.8930285262386013, 1.8943768553312998, 1.8957724658901767, 1.8972156638668343, 1.8987059041815781, 1.900243450817441, 1.9015485919612074, 1.9026811643347743, 1.9038466191647352, 1.9050447355337297, 1.9062758815383656, 1.9075398325137176, 1.9088365874418136, 1.910166018380413, 1.9115285658786563, 1.9120528933621723, 1.9123201015925144, 1.912593403755995, 1.9128728158192958, 1.913158348210847, 1.9134500982463825, 1.9137478755747244, 1.9140518684731351, 1.9143619260517102, 1.9146781304498883, 1.915000514891766, 1.9153289368907456, 1.9156635114820624, 1.9160043031759322, 1.9163511619886557, 1.9167041482875096, 1.9170633197467373, 1.9174285438784735, 1.91779990397879, 1.9181773893561582, 1.918561093561795, 1.918950844767419, 1.919346729491154, 1.9197487186313436, 1.9201569539358634, 1.920571220007641, 1.9209916149739759, 1.921418142921235, 1.9218507941793166, 1.92228966786583, 1.922734561874176, 1.9231856237490692, 1.9236428013326201, 1.9241061114231617, 1.9245756642098903, 1.9250512346905564, 1.9255329287044547, 1.9260207698273901, 1.9265147458904925, 1.9270148588636988, 1.9275211989784888, 1.928033575504482, 1.928552046135555, 1.929076653375861, 1.9295832228454033, 1.9300756934456353, 1.930573797485272, 1.9310776429857233, 1.9315870347146278, 1.932102020235943, 1.9326226508325912, 1.9331489327564453, 1.9336808621965997, 1.9342183826197676, 1.934761569735646, 1.9353104490034458, 1.9358648682907371, 1.936424884786856, 1.9369905431315493, 1.9375618253531486, 1.9381387352725195, 1.938721290669527, 1.939309440623377, 1.9399032331284256, 1.9405027039128233, 1.9411077390466878, 1.941718366243108, 1.9423345797460607, 1.9429564453390924, 1.943583946024608, 1.944217056708308, 1.9448558114163128, 1.9455001714616265, 1.9461502451541361, 1.946805861608553, 1.9474670753839056, 1.9481339045922799, 1.9488063449776027, 1.949484436355769, 1.9501681049787352, 1.9508574250212918, 1.9515718036292882, 1.9523766481371936, 1.9531861396945527, 1.9539983562513088, 1.9548093007797647, 1.9556188062241524, 1.9564351206188746, 1.957257212779552, 1.9580861623097567, 1.958921437416864, 1.9597624585166886, 1.9606103323527573, 1.9614645320808082, 1.962324472196863, 1.9631912934808498, 1.9640644250251644, 1.9649432755165415, 1.9658290252265544, 1.9667210795037502, 1.9676188472921428, 1.9685235196800899, 1.969434499214494, 1.9703490786132731, 1.971268226671242, 1.9721936517788063, 1.9731246973255065, 1.974062663335426, 1.9750069102714658, 1.975957423546644, 1.9769135345082105, 1.9778765912538383, 1.978845922429162, 1.9798208095727814, 1.9808026786961321, 1.9817908129990685, 1.9827844919639226, 1.9837851468318113, 1.9847920490889297, 1.9858051901251776, 1.9868229941888913, 1.9878796827502565, 1.988942894420922, 1.9900133915754565, 1.9910903683550598, 1.9921738254470596, 1.993263758111315, 1.9943592795293263, 1.9954621374742847, 1.9965714924303684, 1.9976873083507807, 1.998808708877613, 1.9999374627710829, 2.0010726906176597, 2.0022143907331174, 2.003361624829913, 2.0045161912177254, 2.0056773014229234, 2.0068449295214887, 2.008019033223502, 2.0091986532797463, 2.0103857094057522, 2.0115792506874537, 2.0127792715266195, 2.0139847829223263, 2.015197691251043, 2.016417138851919, 2.0176431120186895, 2.018874548100278, 2.0201134845834496, 2.02135889265621, 2.022610773541519, 2.023868069651209, 2.0251329071030515, 2.0264031545624013, 2.0276798048997615, 2.0289616000436475, 2.030250190363882, 2.0315453982679728, 2.0328446641826714, 2.034146304770409, 2.0354188397206903, 2.0366978092242354, 2.0379830962987344, 2.0392732397958797, 2.0405711110653053, 2.0418752594426883, 2.043185594177946, 2.0445007054054782, 2.0458235997621688, 2.0471528012988203, 2.0484882633755968, 2.0498299884534785, 2.051176425489328, 2.0525306561490524, 2.053891147141818, 2.055257906632004, 2.056630938787049, 2.0580086121626566, 2.059394126957781, 2.060785811834703, 2.0621837676320234, 2.0635879943785906, 2.064996902609912, 2.0664137430024554, 2.067836845745594, 2.0692662064367133, 2.070701829577302, 2.0721419799924443, 2.0735901164224466, 2.0750445079721747, 2.0765051609616716, 2.0779702868911785, 2.0794434489276683, 2.080922842346417, 2.082408433038049, 2.083900299205104, 2.0853965380907273, 2.0868919112419837, 2.088389133483085, 2.089896515467122, 2.0914103337615715, 2.0929305872148447, 2.0944572677567352, 2.095990362957304, 2.09752944439564, 2.099075191436526, 2.100627293945877, 2.102185097433359, 2.1037497484624312, 2.105320695073306, 2.1068979255163875, 2.1084814012486426, 2.1100701443056082, 2.1116660290142697, 2.113268154525342, 2.1148764848642005, 2.1164909627059907, 2.1180822461764626, 2.11967473729032, 2.121275180539557, 2.1228802022752724, 2.1244934542607776, 2.126113140297672, 2.1277368936622802, 2.1293691645440678, 2.1310052056243918, 2.1326499234126475, 2.1343003264317044, 2.135947401370493, 2.1376034878955243, 2.1392631089862126, 2.1409314044693897, 2.1426057188891248, 2.144286146552337, 2.1459726628000464, 2.147665268358998, 2.1493639483072418, 2.1510687007688527, 2.152779590774944, 2.1544965830687968, 2.1562196427399933, 2.15794603499946, 2.15968122045378, 2.1614224666844213, 2.1631697751329733, 2.1649231416155303, 2.166682565089105, 2.168445309703239, 2.1702168559308244, 2.171994466497768, 2.173778148323155, 2.175565127906273, 2.1773609377710863, 2.1791628149507734, 2.1809707613373988, 2.182784778230708, 2.18460198109547, 2.1864280293413594, 2.1882601525999403, 2.190098350866896, 2.191942627105959, 2.193790093693992, 2.1956464968161375, 2.1975089673076402, 2.199357316461437, 2.201205033104349, 2.2030553826916317, 2.204913135490343, 2.206774245353634, 2.208643618517564, 2.2105189898743487, 2.2123980223866893, 2.214285362931006, 2.2161786918018263, 2.2180780096831603, 2.219980926621419, 2.2218922111446937, 2.2238094890504208, 2.225730318394042, 2.227659561817173, 2.2295947930557047, 2.2315360223505025, 2.2334807377342525, 2.2354339515268733, 2.237393164001113, 2.239358372998662, 2.2413269653468, 2.2433040511760023, 2.245287146853164, 2.247276243025864, 2.2492686789893224, 2.2512697487314197, 2.253276814058492, 2.2552898713542158, 2.2573089391735786, 2.2593312628299946, 2.261362351031112, 2.263399519761675, 2.2654427037022686, 2.267421574840923, 2.2693348573490844, 2.2712569206879674, 2.2731814806350794, 2.2751144570006936, 2.2770504032779613, 2.278992773541445, 2.280939535170153, 2.2828533236194635, 2.284756192979397, 2.28666446208041, 2.2885781322115806, 2.2904935331556513, 2.292417990980668, 2.294348226269907, 2.2962841699158476, 2.298221803351277, 2.3001685679683437, 2.3021207397950887, 2.3040745634633084, 2.3060375647031295, 2.3080059818692424, 2.3099760125463575, 2.3119552602587343, 2.3139361264535427, 2.3159263243512602, 2.3179219232273103, 2.319919081687615, 2.3219255191360237, 2.323937369455042, 2.3259507458984157, 2.3279734324696686, 2.3300015338913433, 2.3320311141602845, 2.3340700285473206, 2.3361143033575122, 2.3381598401005848, 2.340214765159479, 2.3422750995938832, 2.3443368243210543, 2.3464079597692535, 2.348484493619014, 2.349899018379504, 2.351269446490315, 2.3526432822582453, 2.354017300770173, 2.3553980930933034, 2.3567823667816556, 2.358170126436477, 2.3595614370105142, 2.360952979363603, 2.362351403780699, 2.363753387747081, 2.3651589305534375, 2.3665646656486543, 2.3679773059725586, 2.369393498994245, 2.3708132725458273, 2.3722365939207477, 2.3736600744800875, 2.375090513835856, 2.376524510406378, 2.3779620700940183, 2.379403188316518, 2.3808444272801363, 2.3822926593257066, 2.383744449361242, 2.3851997937786393, 2.386655222821631, 2.388117720737775, 2.389583855120398, 2.391053544802343, 2.3925233201882743, 2.3940001568830143, 2.3954805546303213, 2.396964536690485, 2.3984485391598764, 2.399939635503077, 2.401434292465434, 2.4029289502126447, 2.4044307291324545, 2.4059360345294585, 2.4074446942492287, 2.408956774616811, 2.410468986298161, 2.411988348315909, 2.4135112621724253, 2.4150377294403174, 2.416564119580342, 2.418097694627388, 2.4196348242453594, 2.421175507963692, 2.4227197453386955, 2.424263877931667, 2.425815240354714, 2.427370156006167, 2.4289286404154757, 2.430486984244306, 2.432052582686983, 2.4336217296464806, 2.435194433451705, 2.4367706882599416, 2.4383467613261534, 2.439930116861379, 2.4415170249025673, 2.4431075184137656, 2.4446977766711133, 2.4462953369866316, 2.447896447307171, 2.449501128507984, 2.451109396856469, 2.4527174173207476, 2.454332824684089, 2.4559517796654, 2.4575742882918505, 2.4591964961231843, 2.4608260783266593, 2.4624592152230513, 2.464095908104011, 2.465454836008675, 2.465904267526873, 2.4663546175581743, 2.466805920724948, 2.467258185056978, 2.4677114028925113, 2.4681655888369485, 2.468620759431011, 2.4690768949554847, 2.4695340911071173, 2.46999227535532, 2.4704514534460507, 2.4709116258064507, 2.471372821420685, 2.4718350409736662, 2.4722982216261684, 2.4727623409513177, 2.4732313885662385, 2.473697360496989, 2.4741643015601853, 2.4746321970210596, 2.4751010508518188, 2.4755708298377743, 2.476041251285179, 2.4765124977468047, 2.4769848737968863, 2.4774623634449098, 2.4779365851700352, 2.4784119703639895, 2.4788883160307496, 2.4793656323801994, 2.4798332865658868, 2.4803018215134607, 2.480770128745363, 2.4812390078765425, 2.481708827648703, 2.4821834574023884, 2.482655166494873, 2.483127823768324 ], "yaxis": "y" } ], "layout": { "legend": { "title": { "text": "cv-train" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "Alpha" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "MSE" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "example4 = lassoReg(X2200,y2200)\n", "px.line(example3, x=\"Alpha\", y=\"MSE\", color=\"cv-train\")" ] }, { "cell_type": "markdown", "id": "14e2f9ca", "metadata": {}, "source": [ "The optimal lasso regression model for RST2200 seems to be for $\\alpha=0.044$, since it minimizes the estimated MSE using cross-validation. Moreover, we can notice that many variables were set to 0 and thus deemed insiginificant." ] }, { "cell_type": "code", "execution_count": 60, "id": "ed5de812", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lasso
TT_12000.104730
TT_13000.000000
TT_14000.000000
TT_15000.000000
TT_16000.078908
TT_17000.000000
TT_18000.062059
TT_19000.000000
TT_20000.047117
TT_21000.000000
TT_22000.626788
TD_12000.000000
TD_13000.000000
TD_14000.000000
TD_1500-0.000000
TD_16000.000000
TD_17000.000000
TD_18000.000000
TD_19000.000000
TD_20000.000000
TD_21000.000000
TD_22000.071725
GRAD1_12000.001877
GRAD1_13000.000171
GRAD1_14000.000075
GRAD1_15000.001163
GRAD1_16000.002237
GRAD1_17000.003312
GRAD1_18000.005909
GRAD1_19000.000000
GRAD1_2000-0.000000
GRAD1_21000.000000
GRAD1_22000.000000
NE_12000.059796
NE_13000.000864
NE_14000.000000
NE_15000.000000
NE_16000.036876
NE_17000.037229
NE_1800-0.000000
NE_19000.000000
NE_20000.013189
NE_21000.082416
NE_22000.183437
FF_1200-0.000000
FF_1300-0.000000
FF_1400-0.034338
FF_15000.000000
FF_16000.000000
FF_17000.000000
FF_18000.000000
FF_19000.005986
FF_2000-0.000000
FF_2100-0.000000
FF_2200-0.038410
\n", "
" ], "text/plain": [ " lasso\n", "TT_1200 0.104730\n", "TT_1300 0.000000\n", "TT_1400 0.000000\n", "TT_1500 0.000000\n", "TT_1600 0.078908\n", "TT_1700 0.000000\n", "TT_1800 0.062059\n", "TT_1900 0.000000\n", "TT_2000 0.047117\n", "TT_2100 0.000000\n", "TT_2200 0.626788\n", "TD_1200 0.000000\n", "TD_1300 0.000000\n", "TD_1400 0.000000\n", "TD_1500 -0.000000\n", "TD_1600 0.000000\n", "TD_1700 0.000000\n", "TD_1800 0.000000\n", "TD_1900 0.000000\n", "TD_2000 0.000000\n", "TD_2100 0.000000\n", "TD_2200 0.071725\n", "GRAD1_1200 0.001877\n", "GRAD1_1300 0.000171\n", "GRAD1_1400 0.000075\n", "GRAD1_1500 0.001163\n", "GRAD1_1600 0.002237\n", "GRAD1_1700 0.003312\n", "GRAD1_1800 0.005909\n", "GRAD1_1900 0.000000\n", "GRAD1_2000 -0.000000\n", "GRAD1_2100 0.000000\n", "GRAD1_2200 0.000000\n", "NE_1200 0.059796\n", "NE_1300 0.000864\n", "NE_1400 0.000000\n", "NE_1500 0.000000\n", "NE_1600 0.036876\n", "NE_1700 0.037229\n", "NE_1800 -0.000000\n", "NE_1900 0.000000\n", "NE_2000 0.013189\n", "NE_2100 0.082416\n", "NE_2200 0.183437\n", "FF_1200 -0.000000\n", "FF_1300 -0.000000\n", "FF_1400 -0.034338\n", "FF_1500 0.000000\n", "FF_1600 0.000000\n", "FF_1700 0.000000\n", "FF_1800 0.000000\n", "FF_1900 0.005986\n", "FF_2000 -0.000000\n", "FF_2100 -0.000000\n", "FF_2200 -0.038410" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lasso_model = Lasso(alpha=0.044).fit(X2200,y2200)\n", "lasso_coefs = pd.Series(dict(zip(list(X2200), lasso_model.coef_)))\n", "coefs = pd.DataFrame(dict(lasso=lasso_coefs))\n", "coefs" ] }, { "cell_type": "markdown", "id": "3a736042", "metadata": {}, "source": [ "Many variables are set to 0 for the corresponding lasso model. The most important predictor is TT_2200, the current temperature. Furthermore, NE seems to be an important factor as well, whereas GRAD1, FF and TD seem to be close to negligible." ] }, { "cell_type": "markdown", "id": "6ee1e495", "metadata": {}, "source": [ "# Classification analysis\n", "\n", "In this section we want to conduct a classification analysis in which we are able to predict if a day has 'driving risk' or not, accordingly to the other variables (air temperature, dew point temperature, solar radiation, effective cloud cover, wind speed).\n", "\n", "Thus, we firstly code a new binary output variable which represents the risk. Thus, we are not interested anymore in the hourly values, so we consider the daily mean of the road surface temperature in a day (given by the mean by row of the 24 columns RST). If this value is close to 0 means that driving could be risky on that day. \n", "\n", "As techniques we will apply several machine learning algorithms to classify that variable. \n", "In order to do so, we create a new dataframe which summaries for each day the information regarding each of these variables (TT, TD, GRAD1, NE, FF). Specifically, to summarise them in an informative and compact representation we generate new features (std, skewness, min, max, ...).\n", "This method generates a large set of candidate features by combining information in the original features, with the aim of maximizing predictive performance." ] }, { "cell_type": "markdown", "id": "b0b30fbf", "metadata": {}, "source": [ "## Build a new dataframe for classification" ] }, { "cell_type": "markdown", "id": "ffb4ae56", "metadata": {}, "source": [ "Functions for feature generation:" ] }, { "cell_type": "code", "execution_count": 61, "id": "f9c29a30", "metadata": {}, "outputs": [], "source": [ "from scipy import stats \n", "def mean(x):\n", " return np.mean(x)\n", "def std(x):\n", " return np.std(x)\n", "def ptp(x):\n", " return np.ptp(x)\n", "def variance(x):\n", " return np.var(x)\n", "def minim(x):\n", " return np.min(x)\n", "def maxim(x):\n", " return np.max(x)\n", "def argminim(x):\n", " return np.argmin(x)\n", "def argmaxim(x):\n", " return np.argmax(x)\n", "def rms(x):\n", " return np.sqrt(np.mean(x**2))\n", "def skewness(x):\n", " return stats.skew(x)\n", "def kurtosis(x):\n", " return stats.kurtosis(x)\n", "\n", "def concatenate_features(x):\n", " '''''''''\n", " this function apply several functions defined above.\n", " It takes as input a numpy array.\n", " It outputs a vector with the value of each function: mean, std, ...\n", " '''''''''\n", " return mean(x),std(x),ptp(x),variance(x),minim(x),maxim(x),argminim(x),argmaxim(x),rms(x),skewness(x),kurtosis(x)" ] }, { "cell_type": "markdown", "id": "d2df65ba", "metadata": {}, "source": [ "Apply the concatenate_features function to each predictor and store the values in a dictionary." ] }, { "cell_type": "code", "execution_count": 62, "id": "686e8128", "metadata": {}, "outputs": [], "source": [ "variables = [\"RST\", \"TT\", \"TD\", \"GRAD1\", \"NE\", \"FF\"]\n", "date_list = []\n", "final_dic = {}\n", "\n", "for i in range(len(df)): # consider one row per time\n", " \n", " date = df[\"date\"][i]\n", " date_list.append(date) # add date in the list\n", " \n", " # create empty list to collect mean, std, var, ... for a fixed predictor\n", " gen_features = {}\n", " \n", " for var in variables: # for each variable (RST, TT, ...)\n", " # create empty list to collect all the data in the 24 columns for a fixed variable\n", " all_values = []\n", " \n", " for col in df.columns: # for each column\n", " if col.split(\"_\")[0] == var: # if the var is in the column name, then:\n", " \n", " all_values.append(df[col][i])\n", "\n", " # add a list with the new features associated to the name of the var in a dictionary\n", " gen_features[var] = concatenate_features(np.array(all_values))\n", " \n", " final_dic[date] = gen_features" ] }, { "cell_type": "markdown", "id": "e3acb872", "metadata": {}, "source": [ "Storing all the values in a new dataframe." ] }, { "cell_type": "code", "execution_count": 63, "id": "7698a628", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateRST_meanTT_meanTT_stdTT_ptpTT_varTT_minimTT_maximTT_argminimTT_argmaxim...FF_stdFF_ptpFF_varFF_minimFF_maximFF_argminimFF_argmaximFF_rmsFF_skewnessFF_kurtosis
02017-11-0110.78750011.8000000.6757712.40.45666710.512.90.014.0...3.29106310.810.83109411.322.10.021.017.008931-0.251824-1.224803
12017-11-029.57916710.3250000.8120193.40.6593758.511.923.012.0...4.00213314.116.0170667.821.921.01.014.2446040.421528-0.817587
22017-11-038.7583338.6833331.0102253.91.0205566.410.32.011.0...2.0673897.74.2740974.712.45.021.09.291259-0.243920-0.896543
32017-11-049.5833339.6750000.6001742.10.3602088.911.07.013.0...1.9698387.23.8802606.513.710.023.010.302568-0.136474-1.105156
42017-11-058.5083339.1333331.4432794.82.0830566.411.222.01.0...2.4773948.56.1374835.213.721.01.08.6418800.977124-0.182912
..................................................................
10102022-04-119.3708335.0458332.7040067.87.3116491.29.05.016.0...1.9255557.13.7077602.59.621.011.06.575745-0.266277-0.512240
10112022-04-1210.0500006.1666672.7558528.27.5947221.29.41.014.0...3.99603113.615.9682644.017.60.018.013.512710-0.874238-0.375518
10122022-04-1315.01250010.4041672.7915768.47.7928996.615.01.013.0...2.2021307.74.8493755.713.419.00.09.4355710.322618-0.817434
10132022-04-1414.9125009.5833331.8780906.03.5272227.513.523.011.0...3.05927310.39.3591495.716.02.015.011.3011250.109536-1.170334
10142022-04-1510.6125007.0750000.7848832.50.6160425.88.321.013.0...2.1799238.04.7520663.811.823.011.08.4566300.101002-0.677766
\n", "

1015 rows × 57 columns

\n", "
" ], "text/plain": [ " Date RST_mean TT_mean TT_std TT_ptp TT_var TT_minim \\\n", "0 2017-11-01 10.787500 11.800000 0.675771 2.4 0.456667 10.5 \n", "1 2017-11-02 9.579167 10.325000 0.812019 3.4 0.659375 8.5 \n", "2 2017-11-03 8.758333 8.683333 1.010225 3.9 1.020556 6.4 \n", "3 2017-11-04 9.583333 9.675000 0.600174 2.1 0.360208 8.9 \n", "4 2017-11-05 8.508333 9.133333 1.443279 4.8 2.083056 6.4 \n", "... ... ... ... ... ... ... ... \n", "1010 2022-04-11 9.370833 5.045833 2.704006 7.8 7.311649 1.2 \n", "1011 2022-04-12 10.050000 6.166667 2.755852 8.2 7.594722 1.2 \n", "1012 2022-04-13 15.012500 10.404167 2.791576 8.4 7.792899 6.6 \n", "1013 2022-04-14 14.912500 9.583333 1.878090 6.0 3.527222 7.5 \n", "1014 2022-04-15 10.612500 7.075000 0.784883 2.5 0.616042 5.8 \n", "\n", " TT_maxim TT_argminim TT_argmaxim ... FF_std FF_ptp FF_var \\\n", "0 12.9 0.0 14.0 ... 3.291063 10.8 10.831094 \n", "1 11.9 23.0 12.0 ... 4.002133 14.1 16.017066 \n", "2 10.3 2.0 11.0 ... 2.067389 7.7 4.274097 \n", "3 11.0 7.0 13.0 ... 1.969838 7.2 3.880260 \n", "4 11.2 22.0 1.0 ... 2.477394 8.5 6.137483 \n", "... ... ... ... ... ... ... ... \n", "1010 9.0 5.0 16.0 ... 1.925555 7.1 3.707760 \n", "1011 9.4 1.0 14.0 ... 3.996031 13.6 15.968264 \n", "1012 15.0 1.0 13.0 ... 2.202130 7.7 4.849375 \n", "1013 13.5 23.0 11.0 ... 3.059273 10.3 9.359149 \n", "1014 8.3 21.0 13.0 ... 2.179923 8.0 4.752066 \n", "\n", " FF_minim FF_maxim FF_argminim FF_argmaxim FF_rms FF_skewness \\\n", "0 11.3 22.1 0.0 21.0 17.008931 -0.251824 \n", "1 7.8 21.9 21.0 1.0 14.244604 0.421528 \n", "2 4.7 12.4 5.0 21.0 9.291259 -0.243920 \n", "3 6.5 13.7 10.0 23.0 10.302568 -0.136474 \n", "4 5.2 13.7 21.0 1.0 8.641880 0.977124 \n", "... ... ... ... ... ... ... \n", "1010 2.5 9.6 21.0 11.0 6.575745 -0.266277 \n", "1011 4.0 17.6 0.0 18.0 13.512710 -0.874238 \n", "1012 5.7 13.4 19.0 0.0 9.435571 0.322618 \n", "1013 5.7 16.0 2.0 15.0 11.301125 0.109536 \n", "1014 3.8 11.8 23.0 11.0 8.456630 0.101002 \n", "\n", " FF_kurtosis \n", "0 -1.224803 \n", "1 -0.817587 \n", "2 -0.896543 \n", "3 -1.105156 \n", "4 -0.182912 \n", "... ... \n", "1010 -0.512240 \n", "1011 -0.375518 \n", "1012 -0.817434 \n", "1013 -1.170334 \n", "1014 -0.677766 \n", "\n", "[1015 rows x 57 columns]" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create an empty dataframe\n", "clas_df = pd.DataFrame()\n", "\n", "clas_df[\"Date\"] = date_list\n", "\n", "\n", "functions = [\"mean\", \"std\", \"ptp\",\"var\",\"minim\",\"maxim\",\"argminim\",\"argmaxim\",\"rms\",\"skewness\",\"kurtosis\"] \n", "\n", "for i in range(len(clas_df)): # i indicates the row\n", " \n", " d = date_list[i]\n", " \n", " for var in variables: # for each variable\n", " # RST is the response, so we don't need all the values but just the mean\n", " if var == 'RST': \n", " clas_df.at[i, var + \"_\" + functions[0]] = final_dic[d][var][0] \n", " \n", " else: \n", " for j in range(11): \n", "\n", " # example: final_dic[pd.Timestamp('2017-11-01')]['RST'][0]\n", " clas_df.at[i, var + \"_\" + functions[j]] = final_dic[d][var][j] \n", " \n", "clas_df" ] }, { "cell_type": "markdown", "id": "7873f591", "metadata": {}, "source": [ "\n", "### Adding response variable\n", "\n", "0°C indicates the ice temperature, which is computed as a mean, so we consider a day risky if the temperature is lower than 4.78°C. Approximately 0°C+/-std(RST_mean). " ] }, { "cell_type": "code", "execution_count": 64, "id": "8282aed2", "metadata": {}, "outputs": [], "source": [ "def scale(x):\n", " \"\"\"\n", " classification of a value in Safe and Risky\n", " \"\"\"\n", " if x > 4.78 or x < -4.78:\n", " return \"Safe\"\n", " else:\n", " return \"Risk\" " ] }, { "cell_type": "code", "execution_count": 65, "id": "5ea994d8", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateTT_meanTT_stdTT_ptpTT_varTT_minimTT_maximTT_argminimTT_argmaximTT_rms...FF_ptpFF_varFF_minimFF_maximFF_argminimFF_argmaximFF_rmsFF_skewnessFF_kurtosisY
02017-11-0111.8000000.6757712.40.45666710.512.90.014.011.819334...10.810.83109411.322.10.021.017.008931-0.251824-1.224803Safe
12017-11-0210.3250000.8120193.40.6593758.511.923.012.010.356882...14.116.0170667.821.921.01.014.2446040.421528-0.817587Safe
22017-11-038.6833331.0102253.91.0205566.410.32.011.08.741901...7.74.2740974.712.45.021.09.291259-0.243920-0.896543Safe
32017-11-049.6750000.6001742.10.3602088.911.07.013.09.693598...7.23.8802606.513.710.023.010.302568-0.136474-1.105156Safe
42017-11-059.1333331.4432794.82.0830566.411.222.01.09.246666...8.56.1374835.213.721.01.08.6418800.977124-0.182912Safe
..................................................................
10102022-04-115.0458332.7040067.87.3116491.29.05.016.05.724691...7.13.7077602.59.621.011.06.575745-0.266277-0.512240Safe
10112022-04-126.1666672.7558528.27.5947221.29.41.014.06.754443...13.615.9682644.017.60.018.013.512710-0.874238-0.375518Safe
10122022-04-1310.4041672.7915768.47.7928996.615.01.013.010.772167...7.74.8493755.713.419.00.09.4355710.322618-0.817434Safe
10132022-04-149.5833331.8780906.03.5272227.513.523.011.09.765628...10.39.3591495.716.02.015.011.3011250.109536-1.170334Safe
10142022-04-157.0750000.7848832.50.6160425.88.321.013.07.118403...8.04.7520663.811.823.011.08.4566300.101002-0.677766Safe
\n", "

1015 rows × 57 columns

\n", "
" ], "text/plain": [ " Date TT_mean TT_std TT_ptp TT_var TT_minim TT_maxim \\\n", "0 2017-11-01 11.800000 0.675771 2.4 0.456667 10.5 12.9 \n", "1 2017-11-02 10.325000 0.812019 3.4 0.659375 8.5 11.9 \n", "2 2017-11-03 8.683333 1.010225 3.9 1.020556 6.4 10.3 \n", "3 2017-11-04 9.675000 0.600174 2.1 0.360208 8.9 11.0 \n", "4 2017-11-05 9.133333 1.443279 4.8 2.083056 6.4 11.2 \n", "... ... ... ... ... ... ... ... \n", "1010 2022-04-11 5.045833 2.704006 7.8 7.311649 1.2 9.0 \n", "1011 2022-04-12 6.166667 2.755852 8.2 7.594722 1.2 9.4 \n", "1012 2022-04-13 10.404167 2.791576 8.4 7.792899 6.6 15.0 \n", "1013 2022-04-14 9.583333 1.878090 6.0 3.527222 7.5 13.5 \n", "1014 2022-04-15 7.075000 0.784883 2.5 0.616042 5.8 8.3 \n", "\n", " TT_argminim TT_argmaxim TT_rms ... FF_ptp FF_var FF_minim \\\n", "0 0.0 14.0 11.819334 ... 10.8 10.831094 11.3 \n", "1 23.0 12.0 10.356882 ... 14.1 16.017066 7.8 \n", "2 2.0 11.0 8.741901 ... 7.7 4.274097 4.7 \n", "3 7.0 13.0 9.693598 ... 7.2 3.880260 6.5 \n", "4 22.0 1.0 9.246666 ... 8.5 6.137483 5.2 \n", "... ... ... ... ... ... ... ... \n", "1010 5.0 16.0 5.724691 ... 7.1 3.707760 2.5 \n", "1011 1.0 14.0 6.754443 ... 13.6 15.968264 4.0 \n", "1012 1.0 13.0 10.772167 ... 7.7 4.849375 5.7 \n", "1013 23.0 11.0 9.765628 ... 10.3 9.359149 5.7 \n", "1014 21.0 13.0 7.118403 ... 8.0 4.752066 3.8 \n", "\n", " FF_maxim FF_argminim FF_argmaxim FF_rms FF_skewness FF_kurtosis \\\n", "0 22.1 0.0 21.0 17.008931 -0.251824 -1.224803 \n", "1 21.9 21.0 1.0 14.244604 0.421528 -0.817587 \n", "2 12.4 5.0 21.0 9.291259 -0.243920 -0.896543 \n", "3 13.7 10.0 23.0 10.302568 -0.136474 -1.105156 \n", "4 13.7 21.0 1.0 8.641880 0.977124 -0.182912 \n", "... ... ... ... ... ... ... \n", "1010 9.6 21.0 11.0 6.575745 -0.266277 -0.512240 \n", "1011 17.6 0.0 18.0 13.512710 -0.874238 -0.375518 \n", "1012 13.4 19.0 0.0 9.435571 0.322618 -0.817434 \n", "1013 16.0 2.0 15.0 11.301125 0.109536 -1.170334 \n", "1014 11.8 23.0 11.0 8.456630 0.101002 -0.677766 \n", "\n", " Y \n", "0 Safe \n", "1 Safe \n", "2 Safe \n", "3 Safe \n", "4 Safe \n", "... ... \n", "1010 Safe \n", "1011 Safe \n", "1012 Safe \n", "1013 Safe \n", "1014 Safe \n", "\n", "[1015 rows x 57 columns]" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clas_df['Y'] = clas_df[\"RST_mean\"].apply(scale)\n", "clas_df = clas_df.drop([\"RST_mean\"], axis=1)\n", "clas_df" ] }, { "cell_type": "markdown", "id": "c9b35e0b", "metadata": {}, "source": [ "## Pre processing" ] }, { "cell_type": "markdown", "id": "d82978c6", "metadata": {}, "source": [ "### Split in train and test sets" ] }, { "cell_type": "code", "execution_count": 66, "id": "8ca69cff", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The shape of X_train is: (812, 55)\n", "The shape of X_test is: (203, 55)\n", "\n", "The shape of y_train is: (812,)\n", "The shape of y_test is: (203,)\n" ] } ], "source": [ "y = clas_df['Y']\n", "X = clas_df.drop([\"Y\", \"Date\"], axis=1)\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state = 42)\n", "\n", "print(\"The shape of X_train is:\", X_train.shape)\n", "print(\"The shape of X_test is:\", X_test.shape)\n", "print('')\n", "print(\"The shape of y_train is:\", y_train.shape)\n", "print(\"The shape of y_test is:\", y_test.shape)" ] }, { "cell_type": "markdown", "id": "c80dd6e3", "metadata": {}, "source": [ "### Feature scaling" ] }, { "cell_type": "markdown", "id": "04137a52", "metadata": {}, "source": [ "Coding the response variable in 0 and 1 (1=Risk)" ] }, { "cell_type": "code", "execution_count": 67, "id": "c22bb21a", "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "array([1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n", " 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1,\n", " 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1,\n", " 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,\n", " 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n", " 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1,\n", " 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", " 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1,\n", " 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n", " 1, 1, 1, 0, 1])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#For label data (y) always use LabelEncoder\n", "LaEnc = LabelEncoder()\n", "y_train = LaEnc.fit_transform(y_train)\n", "y_train\n", "\n", "y_test = LaEnc.transform(y_test)\n", "y_test" ] }, { "cell_type": "code", "execution_count": 68, "id": "c1e16d2a", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Safe 612\n", "Risk 403\n", "Name: Y, dtype: int64" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clas_df['Y'].value_counts()" ] }, { "cell_type": "markdown", "id": "132014b9", "metadata": {}, "source": [ "The dataset is balanced, the classes are similar in terms of occurrence." ] }, { "cell_type": "code", "execution_count": 69, "id": "7188c265", "metadata": {}, "outputs": [], "source": [ "sc = StandardScaler()\n", "X_train = sc.fit_transform(X_train)\n", "X_test = sc.transform(X_test)" ] }, { "cell_type": "markdown", "id": "277440d4", "metadata": {}, "source": [ "## Classification analysis" ] }, { "cell_type": "markdown", "id": "6d5bdaa6", "metadata": {}, "source": [ "We fit different models to find the one that could be used in future to early detect a cold day. \n", "\n", "A good classifier has minimum test error rate, which is measured by:\n", "\n", "$ {ER = \\frac{1}{n}\\sum\\limits_{i=1}^n I(y_i \\neq \\hat{y_i} )} $\n", "\n", "This error rate can be easily computed summing the elements on the second diagonal in the confusion matrix divided by the total number of observations in the table.\n", "\n", "The accuracy is equal to $ acc = 1 - ER $ , or also the sum of the elements on the first diagonal of the confusion matrix, divided by n. \n", "\n", "$ acc = \\frac{TP + TN}{P + N} $\n", "\n", "There are other interesting measures like the precision, which is a measure of exactness and the recall, which measures the completeness. " ] }, { "cell_type": "markdown", "id": "ed127e9c", "metadata": {}, "source": [ "### Logistic regression classifier" ] }, { "cell_type": "markdown", "id": "2ebccf38", "metadata": {}, "source": [ "Logistic regression models the probability that Y belongs to a particular category h using the logistic function. $ P(Y=h | X=x)=p(x)= \\frac{exp(\\beta_0 + \\beta_1x)}{1+exp(\\beta_0 + \\beta_1x)} $\n", "\n" ] }, { "cell_type": "code", "execution_count": 70, "id": "fbb4729a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 76 5]\n", " [ 8 114]]\n", "Accuracy of logistic regression = 93.6 %\n" ] } ], "source": [ "LogitReg = LogisticRegression(max_iter = 10000000000000000) # add maximum iteration\n", "LogitReg.fit(X_train, y_train)\n", "\n", "y_pred=LogitReg.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "print(cm)\n", "print(\"Accuracy of logistic regression =\", round(accuracy_score(y_test, y_pred)*100,2), \"%\")" ] }, { "cell_type": "markdown", "id": "d0a28917", "metadata": {}, "source": [ "### KNN" ] }, { "cell_type": "markdown", "id": "7025656d", "metadata": {}, "source": [ "K-Nearest-Neighbor classifier first identifies the neighbors K points in the training data that are closest (in distance) to the point x0. \n", "\n", "Then it estimates the conditional probability for class h as the fraction of points in these group whose response values equal h:\n", "\n", "$ {P(Y=h | X=x_0) = \\frac{1}{K}\\sum\\limits_{i=1}^K I(y_i = h)} $\n", "\n", "Finally, KNN applyes the Bayes rule and classifies the test observation x0 to the class with the largest probability. " ] }, { "cell_type": "code", "execution_count": 71, "id": "a325c87a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 66 15]\n", " [ 22 100]]\n", "\n", "\n", "Accuracy of KNN: 81.77 \n", "\n" ] } ], "source": [ "KNNclassifier = KNeighborsClassifier(n_neighbors = 3, metric = 'euclidean', p = 2)\n", "KNNclassifier.fit(X_train, y_train)\n", "\n", "y_pred = KNNclassifier.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(cm)\n", "print(\"\\n\")\n", "print(\"Accuracy of KNN:\", round(acc*100,2),'\\n')" ] }, { "cell_type": "markdown", "id": "4879d3f9", "metadata": {}, "source": [ "We decided to use as metric to measure the distance between points the euclidean distance and K=3, but it does not mean that this is the best K." ] }, { "cell_type": "markdown", "id": "ddc57364", "metadata": {}, "source": [ "### SVM linear" ] }, { "cell_type": "markdown", "id": "7356aedf", "metadata": {}, "source": [ "The support vector classifier is called also soft margin classifier. 'Soft' comes from the fact that hyperplane does not perfectly separate the two classes, accepting some errors. The advantage is that it is robust to individual observations. " ] }, { "cell_type": "code", "execution_count": 72, "id": "3747da56", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 78 3]\n", " [ 9 113]]\n", "\n", "\n", "Accuracy of SVM linear: 94.09 \n", "\n" ] } ], "source": [ "SVMclassifier = SVC(kernel = 'linear', random_state = 1)\n", "SVMclassifier.fit(X_train, y_train)\n", "\n", "y_pred = SVMclassifier.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(cm)\n", "print(\"\\n\")\n", "print(\"Accuracy of SVM linear:\", round(acc*100,2),'\\n')" ] }, { "cell_type": "markdown", "id": "98e111b8", "metadata": {}, "source": [ "### SVM non linear" ] }, { "cell_type": "markdown", "id": "7dc7063b", "metadata": {}, "source": [ "The support vector machines are extension of the support vector classifier, resulting from enlarging the feature space using kernels. \n", "\n", "The idea behind it is to accomodate a non linear boundary. " ] }, { "cell_type": "code", "execution_count": 73, "id": "868dc0b9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 70 11]\n", " [ 8 114]]\n", "\n", "\n", "Accuracy of SVM rbf: 90.64 \n", "\n" ] } ], "source": [ "SVMclassifier = SVC(kernel = 'rbf', random_state = 1)\n", "SVMclassifier.fit(X_train, y_train)\n", "\n", "y_pred = SVMclassifier.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(cm)\n", "print(\"\\n\")\n", "print(\"Accuracy of SVM rbf:\", round(acc*100,2),'\\n')" ] }, { "cell_type": "markdown", "id": "051156ee", "metadata": {}, "source": [ "### Naive bayes classifier" ] }, { "cell_type": "markdown", "id": "797f74d6", "metadata": {}, "source": [ "The Naive bayes classifier is a technique that assumes that the features $X_k$ are independent for a given class Y=h :\n", "$ f_h(X) = {\\prod\\limits_{j=1}^p f_{hj}(X_j)} $" ] }, { "cell_type": "code", "execution_count": 74, "id": "19a13987", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 73 8]\n", " [ 15 107]]\n", "\n", "\n", "Accuracy of Naive bayes Classifier: 88.67 \n", "\n" ] } ], "source": [ "NBclassifier = GaussianNB()\n", "NBclassifier.fit(X_train, y_train)\n", "\n", "y_pred = NBclassifier.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(cm)\n", "print(\"\\n\")\n", "print(\"Accuracy of Naive bayes Classifier:\", round(acc*100,2),'\\n')" ] }, { "cell_type": "markdown", "id": "49502959", "metadata": {}, "source": [ "### Decision tree" ] }, { "cell_type": "markdown", "id": "3bc5f2f8", "metadata": {}, "source": [ "Classification trees stratifies the predictor space into a number of simple regions according to splitting rules. \n", "\n", "The approach is top down since it begins at the top of the tree and then successively splits the predictor space and it is called recursive binary splitting. \n", "\n", "Each observation is allocated to the most commonly occurring class of training observations in the region to which it belongs. " ] }, { "cell_type": "code", "execution_count": 75, "id": "681fb78b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 71 10]\n", " [ 13 109]]\n", "\n", "\n", "Accuracy of decision tree: 88.67 \n", "\n" ] } ], "source": [ "Treeclassifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 1)\n", "Treeclassifier.fit(X_train, y_train)\n", "\n", "y_pred = Treeclassifier.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(cm)\n", "print(\"\\n\")\n", "print(\"Accuracy of decision tree:\", round(acc*100,2),'\\n')" ] }, { "cell_type": "markdown", "id": "e067897c", "metadata": {}, "source": [ "### Random forest" ] }, { "cell_type": "markdown", "id": "5a91aef5", "metadata": {}, "source": [ "Random forest is an improvment over bagging by decorrelating trees. \n", "\n", "Firstly, it generate B samples from the training set using bootstrap. \n", "Then, train the tree on each b-th bootstrapped training, but before each split only m predictors are considered as split candidates.\n", "Finally, it average all the predictors" ] }, { "cell_type": "code", "execution_count": 76, "id": "3a024e7e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 75 6]\n", " [ 11 111]]\n", "\n", "\n", "Accuracy of random forest: 91.63 \n", "\n" ] } ], "source": [ "Forestclassifier = RandomForestClassifier(n_estimators = 10, criterion = 'entropy', random_state = 1)\n", "Forestclassifier.fit(X_train, y_train)\n", "\n", "y_pred = Forestclassifier.predict(X_test)\n", "\n", "cm = confusion_matrix(y_test, y_pred)\n", "acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(cm)\n", "print(\"\\n\")\n", "print(\"Accuracy of random forest:\", round(acc*100,2),'\\n')" ] }, { "cell_type": "markdown", "id": "1d09ca63", "metadata": {}, "source": [ "We decided to use the entropy as criterion to for making the binary split since it turns out that classification error is not sufficiently sensitive for tree growing. An other alternative could have been the Gini index.\n", "\n", "$ D = -{\\sum\\limits_{k=1}^K \\hat{p}_{mk}log(\\hat{p}_{mk})} $" ] }, { "cell_type": "markdown", "id": "e074cca3", "metadata": {}, "source": [ "### Ada boost" ] }, { "cell_type": "markdown", "id": "3b575077", "metadata": {}, "source": [ "Ada Boost procedure trains the classifiers on weighted versions of the training sample, giving higher weight to cases that are currently miscalssified, then the final classifier is a linear combination of the classifier from each stage. \n", "\n", "Each successive classifier is forced to concentrate on those training observations that are missed by previous one in the sequence.\n", "\n", "Below we are going to find the best Ada Boost Classifier between some possible classifier choosing the best values for the learning rate and the number of estimator from a grid of possible values." ] }, { "cell_type": "code", "execution_count": 77, "id": "ab22fdef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 1min 26s\n", "Best: 0.923634 using {'learning_rate': 0.45, 'n_estimators': 175}\n", "0.860849 (0.009035) with: {'learning_rate': 0.01, 'n_estimators': 50}\n", "0.859619 (0.008844) with: {'learning_rate': 0.01, 'n_estimators': 75}\n", "0.867013 (0.013652) with: {'learning_rate': 0.01, 'n_estimators': 100}\n", "0.874398 (0.007775) with: {'learning_rate': 0.01, 'n_estimators': 125}\n", "0.869473 (0.009010) with: {'learning_rate': 0.01, 'n_estimators': 150}\n", "0.875637 (0.013419) with: {'learning_rate': 0.01, 'n_estimators': 175}\n", "0.883030 (0.014696) with: {'learning_rate': 0.01, 'n_estimators': 200}\n", "0.902724 (0.014776) with: {'learning_rate': 0.12, 'n_estimators': 50}\n", "0.902724 (0.017321) with: {'learning_rate': 0.12, 'n_estimators': 75}\n", "0.900260 (0.018261) with: {'learning_rate': 0.12, 'n_estimators': 100}\n", "0.910113 (0.012450) with: {'learning_rate': 0.12, 'n_estimators': 125}\n", "0.908879 (0.016535) with: {'learning_rate': 0.12, 'n_estimators': 150}\n", "0.908874 (0.017095) with: {'learning_rate': 0.12, 'n_estimators': 175}\n", "0.910104 (0.018382) with: {'learning_rate': 0.12, 'n_estimators': 200}\n", "0.905184 (0.009093) with: {'learning_rate': 0.23, 'n_estimators': 50}\n", "0.908879 (0.011321) with: {'learning_rate': 0.23, 'n_estimators': 75}\n", "0.910104 (0.009633) with: {'learning_rate': 0.23, 'n_estimators': 100}\n", "0.913790 (0.006316) with: {'learning_rate': 0.23, 'n_estimators': 125}\n", "0.913794 (0.010570) with: {'learning_rate': 0.23, 'n_estimators': 150}\n", "0.916259 (0.009179) with: {'learning_rate': 0.23, 'n_estimators': 175}\n", "0.915020 (0.008023) with: {'learning_rate': 0.23, 'n_estimators': 200}\n", "0.907644 (0.013075) with: {'learning_rate': 0.34, 'n_estimators': 50}\n", "0.912564 (0.015148) with: {'learning_rate': 0.34, 'n_estimators': 75}\n", "0.913799 (0.012505) with: {'learning_rate': 0.34, 'n_estimators': 100}\n", "0.912573 (0.016537) with: {'learning_rate': 0.34, 'n_estimators': 125}\n", "0.913794 (0.010570) with: {'learning_rate': 0.34, 'n_estimators': 150}\n", "0.916250 (0.009742) with: {'learning_rate': 0.34, 'n_estimators': 175}\n", "0.912560 (0.013597) with: {'learning_rate': 0.34, 'n_estimators': 200}\n", "0.908870 (0.012155) with: {'learning_rate': 0.45, 'n_estimators': 50}\n", "0.911325 (0.010903) with: {'learning_rate': 0.45, 'n_estimators': 75}\n", "0.917489 (0.004578) with: {'learning_rate': 0.45, 'n_estimators': 100}\n", "0.910095 (0.012201) with: {'learning_rate': 0.45, 'n_estimators': 125}\n", "0.918719 (0.009040) with: {'learning_rate': 0.45, 'n_estimators': 150}\n", "0.923634 (0.009779) with: {'learning_rate': 0.45, 'n_estimators': 175}\n", "0.923634 (0.009779) with: {'learning_rate': 0.45, 'n_estimators': 200}\n", "0.911334 (0.007924) with: {'learning_rate': 0.56, 'n_estimators': 50}\n", "0.911339 (0.013077) with: {'learning_rate': 0.56, 'n_estimators': 75}\n", "0.913803 (0.012109) with: {'learning_rate': 0.56, 'n_estimators': 100}\n", "0.910095 (0.006318) with: {'learning_rate': 0.56, 'n_estimators': 125}\n", "0.919958 (0.008634) with: {'learning_rate': 0.56, 'n_estimators': 150}\n", "0.915020 (0.003148) with: {'learning_rate': 0.56, 'n_estimators': 175}\n", "0.912555 (0.007040) with: {'learning_rate': 0.56, 'n_estimators': 200}\n", "0.906419 (0.017325) with: {'learning_rate': 0.67, 'n_estimators': 50}\n", "0.918714 (0.008021) with: {'learning_rate': 0.67, 'n_estimators': 75}\n", "0.919954 (0.006236) with: {'learning_rate': 0.67, 'n_estimators': 100}\n", "0.916259 (0.009179) with: {'learning_rate': 0.67, 'n_estimators': 125}\n", "0.918714 (0.008021) with: {'learning_rate': 0.67, 'n_estimators': 150}\n", "0.915015 (0.013198) with: {'learning_rate': 0.67, 'n_estimators': 175}\n", "0.913781 (0.009332) with: {'learning_rate': 0.67, 'n_estimators': 200}\n", "0.903936 (0.005308) with: {'learning_rate': 0.78, 'n_estimators': 50}\n", "0.912564 (0.009178) with: {'learning_rate': 0.78, 'n_estimators': 75}\n", "0.908874 (0.014194) with: {'learning_rate': 0.78, 'n_estimators': 100}\n", "0.913799 (0.009635) with: {'learning_rate': 0.78, 'n_estimators': 125}\n", "0.910091 (0.006389) with: {'learning_rate': 0.78, 'n_estimators': 150}\n", "0.912560 (0.010595) with: {'learning_rate': 0.78, 'n_estimators': 175}\n", "0.913785 (0.011469) with: {'learning_rate': 0.78, 'n_estimators': 200}\n", "0.913785 (0.006385) with: {'learning_rate': 0.89, 'n_estimators': 50}\n", "0.903931 (0.010528) with: {'learning_rate': 0.89, 'n_estimators': 75}\n", "0.908852 (0.010730) with: {'learning_rate': 0.89, 'n_estimators': 100}\n", "0.905157 (0.009381) with: {'learning_rate': 0.89, 'n_estimators': 125}\n", "0.910082 (0.014360) with: {'learning_rate': 0.89, 'n_estimators': 150}\n", "0.910082 (0.012319) with: {'learning_rate': 0.89, 'n_estimators': 175}\n", "0.911316 (0.008142) with: {'learning_rate': 0.89, 'n_estimators': 200}\n", "0.902711 (0.004574) with: {'learning_rate': 1.0, 'n_estimators': 50}\n", "0.911325 (0.010903) with: {'learning_rate': 1.0, 'n_estimators': 75}\n", "0.910091 (0.014290) with: {'learning_rate': 1.0, 'n_estimators': 100}\n", "0.917466 (0.012713) with: {'learning_rate': 1.0, 'n_estimators': 125}\n", "0.917471 (0.009851) with: {'learning_rate': 1.0, 'n_estimators': 150}\n", "0.912537 (0.014103) with: {'learning_rate': 1.0, 'n_estimators': 175}\n", "0.912537 (0.016751) with: {'learning_rate': 1.0, 'n_estimators': 200}\n" ] } ], "source": [ "n_estimators =[int(x) for x in np.linspace(start = 50, stop = 200, num =7)]\n", "learning_rate =[float(x) for x in np.linspace(start = 0.01, stop = 1, num =10)]\n", "\n", "param_grid = {'n_estimators':n_estimators,\n", " 'learning_rate':learning_rate}\n", "\n", "ada=AdaBoostClassifier()\n", "\n", "grid_ada = GridSearchCV(estimator = ada, param_grid=param_grid, cv=3)\n", "\n", "%time grid_ada_result = grid_ada.fit(X_train,y_train)\n", "\n", "# summarize results\n", "print(\"Best: %f using %s\" % (grid_ada_result.best_score_, grid_ada_result.best_params_))\n", "means = grid_ada_result.cv_results_['mean_test_score']\n", "stds = grid_ada_result.cv_results_['std_test_score']\n", "params = grid_ada_result.cv_results_['params']\n", "for mean, stdev, param in zip(means, stds, params):\n", " print(\"%f (%f) with: %r\" % (mean, stdev, param))" ] }, { "cell_type": "code", "execution_count": 78, "id": "aec0bf8f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion Matrix\n", "[[ 73 8]\n", " [ 10 112]]\n", "\n", "\n", "Accuracy of Adaboost: 91.13 \n", "\n" ] } ], "source": [ "#results on the test set for the best model\n", "best_model_ada = grid_ada.best_estimator_\n", "y_pred = best_model_ada.predict(X_test)\n", "conf_matrix = confusion_matrix(y_test, y_pred)\n", "ada_acc = accuracy_score(y_test, y_pred)\n", "print('Confusion Matrix')\n", "print(conf_matrix)\n", "print(\"\\n\")\n", "print(\"Accuracy of Adaboost:\",round(ada_acc*100,2),'\\n')" ] }, { "cell_type": "code", "execution_count": 79, "id": "adf02faa", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAACFkAAAIaCAYAAADxmwABAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdd3gUVf/+8XvTExJKSCGBBJIAoYTeuw2RpoiAioIiiFR9UCzwtSAIgqJIUUBFkCrSpRcpQZAmvZtIIPTQSSF1f3/425VIEpLNJtng+3Vdz/XInDNz7pmdbJvPnjEYjUajAAAAAAAAAAAAAAAAkCW7gg4AAAAAAAAAAAAAAABQGFBkAQAAAAAAAAAAAAAAkA0UWQAAAAAAAAAAAAAAAGQDRRYAAAAAAAAAAAAAAADZQJEFAAAAAAAAAAAAAABANlBkAQAAAAAAAAAAAAAAkA0UWQAAAAAAYEVnz55VaGhohv+rVKmSqlevrubNm6tv377asGFDQceVJJ08edKc8W7vvfeeQkNDNWbMmFyPceXKFd26dSvX28lP3bp1U2hoqGbPnl3QUfJVZGRkQUcAAAAAAMBmORR0AAAAAAAAHlRhYWFycnIy/9toNCopKUlnz57Vxo0btXHjRnXt2lUfffRRAabMezNmzNDEiRM1b948FS1atKDjIBMxMTEaOXKkoqOjtWjRooKOAwAAAACATaLIAgAAAACAPDJ+/HiVKVPmnuXJycmaNGmSpkyZorlz56pZs2Z65JFHCiBh1t588029+uqrKlGiRK628+mnn1opUf4aM2aMEhIS5O3tXdBR8sXWrVu1evVqVa1ataCjAAAAAABgs7hdCAAAAAAA+czR0VGDBg1SrVq1JElz584t4EQZ8/HxUUhIiDw9PQs6SoHw9/dXSEgIs28AAAAAAAAziiwAAAAAACggDz/8sCTp0KFDBZwEAAAAAAAA2UGRBQAAAAAABcTd3V2SFBcXZ142ceJEhYaGatq0aZo7d66aN2+u6tWrq127djp9+rS5X3R0tD788EM98sgjCgsLU4MGDfTaa6/p999/z3S8mJgYjRo1So8++qiqV6+u1q1ba+bMmUpLS8uw/3vvvafQ0FCNGTPmnrbo6GiNHDlSjz/+uKpXr6769eurZ8+e+u233+7ZF5P27dsrNDRUO3fuTLetdevWqWfPnqpfv77CwsL08MMPa+jQoTp16tQ942bn+ERHR+v9999Xu3btVLNmTdWtW1edO3fW999/r4SEhEyPz79169ZNoaGhmj17tnnZ4sWLFRoaqpEjR+rKlSv68MMP1bRpU1WvXl1t2rTRrFmzJElGo1E//fSTnnzySVWvXl0NGzbU4MGDdfny5XRj7Ny5U6GhoerZs6du376tYcOGqWnTpqpZs6bat2+vadOmKTExMcN8iYmJmj59ujp16qRatWqpRo0aateunb766ivdvHkz0/3Zu3evPv74Y9WuXVu1a9fWyy+/rIceekhDhgyRJB05ckShoaH33MLG9Ji3b99etWvXVlhYmJo2bar+/ftrx44d94xnOn/WrFmj48ePa+DAgWrYsKGqVaumtm3basqUKUpKSspw37Jzft3t6tWrGjNmjFq1aqXq1aurXr16eumll7RmzZoM+wMAAAAAYCmHgg4AAAAAAMB/1ZkzZyRJfn5+97StW7dO+/fvl7+/v0qXLq34+HgFBARIkrZu3arXX39d8fHxcnV1VYUKFXTt2jVt3rxZmzdv1sCBAzVgwIB02zt16pR69OihCxcuyMXFRRUqVNClS5c0cuRI1a1bN0e5t23bpjfeeEO3b9+Wm5ubypcvr5iYGP3222/67bffNHLkSHXq1El+fn6qXbu29u7dK0mqUqWKXFxc5OHhIUlKS0vTO++8o+XLl5uPQ0BAgE6dOqVFixZpxYoVGjt2rB5//PFsH5/IyEg9//zzunnzpooVK6bg4GDFx8fr0KFDOnjwoNavX6/Zs2fL0dExR/v8b+fPn1eHDh10/fp1hYSEyGAwKDIyUp988okSEhJ06tQpLV68WN7e3goKCtLJkye1fPlyHT16VMuWLbtn/Pj4eL344os6fvy4AgICVKJECf3555/67LPPtHHjRk2dOtVclCNJ165d08svv6wTJ07IYDAoODhYTk5O+vPPPzV58mQtW7ZM33//vUJCQu7JPmbMGO3fv18VK1bUjRs35O3traJFi8rZ2VlRUVFyc3NTpUqV5O3tbV7nt99+U//+/XXnzh15eHgoMDBQiYmJio6O1oYNG/Trr79q7Nixateu3T3j7dixQ4MHD5YkBQUFydXVVRERERo3bpwOHDigyZMnp+uf3fPL5MiRI3r11Vd19epVOTk5KSgoSAkJCdqxY4d27Nihjh07atSoUTIYDJY9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s2aNihYtqoceekg1a9bMk/FNzw2ff/655s6dq4SEBDk6Oio5OVnFihUzFxzWq1dPVapUsfhz8Icffqiff/5Zjo6OqlmzpooUKaI9e/aYZ3CqUaOG3n777Xs+L9gC0zH65JNPNHv2bBUrVkxJSUnmz74eHh5q0KCBHn74YdWuXVt+fn5ycXHJ8Timv4/4+HgNHTpUa9euldFo1BtvvKEePXrIxcVFW7Zs0e7du5Wamqq2bdsqLCzM5t4rZKVLly46ePCg/P39devWLfPjX6JECTVu3FiPPPKIqlevLl9f31w9R5mOyXPPPacTJ07onXfe0SOPPKKzZ89q6dKlWrFihfnxk/7+nqFjx473/GDifiiyeICZXlAmT56s8ePHq0WLFmrXrp2io6N19OhRHT58WBcvXjRfiDFVkpYtW1YBAQG5GvuNN97QoUOH9N1336X7YJCQkKD9+/dr7dq12rBhg/neo97e3tq6dWuuxswLpifPrVu36tVXX9VDDz2kcePGyd7eXk5OTpo+fbomTJhgfuFxdnbWwIED9dJLL1l8sSwuLk5NmzZV06ZNNXr0aHPl1jvvvKNffvlFzZs318svv6zz58/r/fff16OPPqqvv/4610+kd9839/HHH1dYWJjef/99VapUSdHR0Vq6dKl++eUXxcTEmNdp3Lix2rRpow4dOph/RWYttpbnbqbHdsSIEZo/f77Gjh2rJ554QrGxsYqJidGBAwe0ZcsW7dixw/xmNjQ0VDVq1NDQoUMteoG9m+m8HDFihObMmaPnnntO3bt3l4uLixISEnTu3Dlt2rRJa9asUXx8vPr27avevXvn+YwjpuKq999/Xy+++KIk6erVq+rcubMuXbqkLl26qH79+po+fboOHjyo+fPnq0aNGnmSyVINGzaUp6enpk+fbv7CZsmSJRo/frwuXrwof39/nT9/Xvb29po5c6bq1KmT6zFtsaghKSlJzz77rDw9PTV16tR0t3lJSkrSvn37tGXLFv3+++/6888/lZKSopYtW2rixIl5ksf0fPDiiy9qz5496t27t/z9/XX16lXt3LlTR44cUVxcnLy8vBQWFqb69eurVq1aqlKlSoFMSZ0fF59s9WJBTnXs2FFHjx7Viy++aH7OP3LkiK5cuSJXV1eFhYWpUaNGql27toKCglSyZMl056O1dOjQQadOndJ7772nli1b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s2fP4uLiQklJCW5ubldsKyJS1RRnrT/0F5Ab4urqytSpUykrK2P27Nm8/vrrZGRkUFxcbGxja3yYTCays7OZNWsWZrOZUaNGAcoAFRERERERERERERGRmtOgQQM8PDwwm824ubkpbiEi1UJx1vrDzqq/hNwAW/bUxo0bmTNnDkeOHKFt27ZER0fTuXNn3N3d8fLywmQysX79epYuXcqZM2eYPn06MTExWh9IRERERERERERERERERO44irPWH0qykJuWnp7OvHnzSExMBMDR0REvLy8KCgowm80UFRXh7e3NE088YaxjJiIiIiIiIiIiIiIiIiJyJ1OctW5TkoXcEqvVyuHDh1m1ahVJSUmUlZVRVFSEs7MzkZGRDB8+nFatWhnbah0zEREREREREREREREREbnTKc5adynJQqpMeXk5Z8+excXFhZKSEtzc3Gp6l0REREREREREREREREREajXFWesWJVnIbaOMKhERERERERERERERERGRG6M4a+2mJAsRERERERERERERERERERGR62Bf0zsgIiIiIiIiIiIiIiIiIiIiUhcoyUJERERERERERERERERERETkOijJQkREREREREREREREREREROQ6KMlCRERERERERERERERERERE5DooyUJEREREREREakRFRQVz587l/vvvJzAwkIiICNasWVOt+2CxWDh8+HC1fqaIiIiIiIiI1F1KshARERERERGRGrFgwQLmzZvH999/j7+/Px4eHjRt2rTaPj8zM5OhQ4eycuXKavtMEREREREREanbGtT0DoiIiIiIiIjInenLL78E4JlnnuG5556r9s9ftmwZ+/btIzw8vNo/W0RERERERETqJlWyEBEREREREZEacfr0aQBCQkJqeE9ERERERERERK6PkixEREREREREpEaUl5cDYDaba3hPRERERERERESuj53VarXW9E6IiIiIiIiIyJ3jiSeeYMeOHVc8/sgjj/Dmm28CkJqayuLFi0lPT+fs2bN4enoSERHBuHHj8Pf3v+r7pqWlsWLFCnbt2sWPP/4IgLe3N927d+epp54yXnfs2DF+//vfX/PzV69ezcsvv8y9997L6tWrr9ju448/5rXXXiMsLIyPPvrIeLxdu3Y4Ozvz5ZdfMnXqVFJTU3F2dubRRx/lL3/5CwAWi4U1a9awatUqcnJyKC0tpXnz5jzwwAOMHTsWV1fXKz4vOzubDz74gL1795Kfn4+TkxNt27Zl4MCBxMTE0KCBVoMVERERERERqS6qZCEiIiIiIiIi1apt27Z07drVSA6w/btFixYAzJ8/n5EjR7Jp0yYsFgtt27blwoULrFq1iocffpgtW7Zc8Z7z58/nD3/4A2vXrqW0tJQ2bdrg6enJsWPHWLlyJUOGDOHbb78FwNHRka5du+Lp6QlAkyZNKn3+raioqOBPf/oTO3bsoHXr1pSVlXHPPfcAUFpayrPPPsvLL79MWloabm5utG7dmu+++453332XRx55hLy8vErvt2PHDoYNG8a6des4d+4cbdu2xc3NjdTUVKZNm8af//znW95nEREREREREbl+muogIiIiIiIiItXqb3/7GwDh4eH89NNPvPLKK4SHhwPw1Vdf8dZbb+Hi4sJrr71G//79ASgrK+P999/nrbfe4s9//jNr167F19cXgP379zN37lxMJhMzZ87koYceMj5r//79jBs3jh9++IGlS5fy6quv4u3tzfLly3nppZf4/PPPGTBgAC+++GKVfLeLFy9y4sQJ1q5dS4sWLbhw4QImkwmAmTNnsnnzZlq3bs2sWbPo2LEjAGfOnGHatGl89dVXTJo0ic8++wx7+0vzYmbMmEFpaSkvvvgiY8aMMR5PTEzk2WefZcOGDaSlpRESElIl+y8iIiIiIiIiv06VLERERERERESk1njrrbcAmDp1qpFgAeDg4MD//M//8OCDD1JUVMTixYuN57Zv306DBg3o169fpQQLgPbt2zN8+HAAcnNzb/8XAIYNG2ZUxXB2dsbR0ZETJ06wYsUKHBwcmDt3rpFgAXDXXXcxa9YsfH192bdvH998843x3IEDBwAYOnSokWABEBERwVNPPUX//v0pKyurlu8lIiIiIiIiIkqyEBEREREREZFa4rvvvuPQoUPY29tXSrC4nC2JYuvWrcZjTz75JBkZGbz55ptXfY2TkxMAxcXFVbzHV9e5c+crHtu6dStlZWV07NiR1q1bX/G8o6MjvXv3Nra1sS018sILL5CZmYnVajWemzhxInPmzKF79+5V/A1ERERERERE5Fq0XIiIiIiIiIiI1AqHDh0CwN7enieffPKq25SUlABw9OhRrFYrdnZ2AMZ/k5KSOHToEHl5eRw9epSsrCxOnjwJgMViud1fAQBvb+8r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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "importances = best_model_ada.feature_importances_*100\n", "feature_list = X.columns\n", "\n", "sample_df = pd.DataFrame([])\n", "feature_list\n", "sample_df['features'] = feature_list\n", "sample_df['importance_score'] = importances\n", "sample_df = sample_df.sort_values(by = ['importance_score'],ascending=False)\n", "plt.figure(figsize=(30,8))\n", "sb.set(font_scale = 2)\n", "sb.barplot(x='features',y='importance_score',data =sample_df).set(title=\"Predictors importance\")\n", "plt.xticks(rotation=70)\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "id": "db6057fa", "metadata": {}, "source": [ "## Conclusions\n", "\n", "In the regression analysis we constructed prediction models for two different times in the day and saw that we were able to predict the road surface temperature based on the given predictors with an estimated MSE of around 2.19 and 0.84 for RST_1400 and RST_2200, respectively. This suggests that we are better in predicting road surface temperatures in the evening/night rather than during the day. Furthermore, the most important features for predicting the current road surface temperature seems to be the current temperature and - depending on whether it is day or night - solar radiation is an important predictor.\n", "\n", "From the classification analysis we observed that all the classification models works well in predicting the response variable. \n", "The best one is the SVM, which has an accuracy of about 94%. \n", "Thus, in future, it would be possible to aware people about the risk of driving in days with specific values of air temperature, dew point temperature, solar radiation, effective cloud cover, wind speed, without really knowing the road surface temperature. Moreover in the context of self-driving cars it is necessary to improve the performance of sensors in recognizing these weather situations and then study the behaviour of the car in terms of road-holding. " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }