Files
FYS-STK4155/doc/pub/Regression/ipynb/Regression.ipynb
T
Morten Hjorth-Jensen 8712b165a9 small change
2021-09-06 18:15:51 +02:00

6485 lines
1021 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- dom:TITLE: Data Analysis and Machine Learning: Linear Regression and more Advanced Regression Analysis -->\n",
"# Data Analysis and Machine Learning: Linear Regression and more Advanced Regression Analysis\n",
"<!-- dom:AUTHOR: Morten Hjorth-Jensen at Department of Physics, University of Oslo & Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -->\n",
"<!-- Author: --> \n",
"**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n",
"\n",
"Date: **Sep 11, 2020**\n",
"\n",
"Copyright 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Why Linear Regression (aka Ordinary Least Squares and family)\n",
"\n",
"Fitting a continuous function with linear parameterization in terms of the parameters $\\boldsymbol{\\beta}$.\n",
"* Method of choice for fitting a continuous function!\n",
"\n",
"* Gives an excellent introduction to central Machine Learning features with **understandable pedagogical** links to other methods like **Neural Networks**, **Support Vector Machines** etc\n",
"\n",
"* Analytical expression for the fitting parameters $\\boldsymbol{\\beta}$\n",
"\n",
"* Analytical expressions for statistical propertiers like mean values, variances, confidence intervals and more\n",
"\n",
"* Analytical relation with probabilistic interpretations \n",
"\n",
"* Easy to introduce basic concepts like bias-variance tradeoff, cross-validation, resampling and regularization techniques and many other ML topics\n",
"\n",
"* Easy to code! And links well with classification problems and logistic regression and neural networks\n",
"\n",
"* Allows for **easy** hands-on understanding of gradient descent methods\n",
"\n",
"* and many more features\n",
"\n",
"For more discussions of Ridge and Lasso regression, [Wessel van Wieringen's](https://arxiv.org/abs/1509.09169) article is highly recommended.\n",
"Similarly, [Mehta et al's article](https://arxiv.org/abs/1803.08823) is also recommended.\n",
"\n",
"\n",
"## Regression analysis, overarching aims\n",
"\n",
"Regression modeling deals with the description of the sampling distribution of a given random variable $y$ and how it varies as function of another variable or a set of such variables $\\boldsymbol{x} =[x_0, x_1,\\dots, x_{n-1}]^T$. \n",
"The first variable is called the **dependent**, the **outcome** or the **response** variable while the set of variables $\\boldsymbol{x}$ is called the independent variable, or the predictor variable or the explanatory variable. \n",
"\n",
"A regression model aims at finding a likelihood function $p(\\boldsymbol{y}\\vert \\boldsymbol{x})$, that is the conditional distribution for $\\boldsymbol{y}$ with a given $\\boldsymbol{x}$. The estimation of $p(\\boldsymbol{y}\\vert \\boldsymbol{x})$ is made using a data set with \n",
"* $n$ cases $i = 0, 1, 2, \\dots, n-1$ \n",
"\n",
"* Response (target, dependent or outcome) variable $y_i$ with $i = 0, 1, 2, \\dots, n-1$ \n",
"\n",
"* $p$ so-called explanatory (independent or predictor) variables $\\boldsymbol{x}_i=[x_{i0}, x_{i1}, \\dots, x_{ip-1}]$ with $i = 0, 1, 2, \\dots, n-1$ and explanatory variables running from $0$ to $p-1$. See below for more explicit examples. \n",
"\n",
" The goal of the regression analysis is to extract/exploit relationship between $\\boldsymbol{y}$ and $\\boldsymbol{x}$ in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things.\n",
"\n",
"\n",
"\n",
"## Regression analysis, overarching aims II\n",
"\n",
"\n",
"Consider an experiment in which $p$ characteristics of $n$ samples are\n",
"measured. The data from this experiment, for various explanatory variables $p$ are normally represented by a matrix \n",
"$\\mathbf{X}$.\n",
"\n",
"The matrix $\\mathbf{X}$ is called the *design\n",
"matrix*. Additional information of the samples is available in the\n",
"form of $\\boldsymbol{y}$ (also as above). The variable $\\boldsymbol{y}$ is\n",
"generally referred to as the *response variable*. The aim of\n",
"regression analysis is to explain $\\boldsymbol{y}$ in terms of\n",
"$\\boldsymbol{X}$ through a functional relationship like $y_i =\n",
"f(\\mathbf{X}_{i,\\ast})$. When no prior knowledge on the form of\n",
"$f(\\cdot)$ is available, it is common to assume a linear relationship\n",
"between $\\boldsymbol{X}$ and $\\boldsymbol{y}$. This assumption gives rise to\n",
"the *linear regression model* where $\\boldsymbol{\\beta} = [\\beta_0, \\ldots,\n",
"\\beta_{p-1}]^{T}$ are the *regression parameters*. \n",
"\n",
"Linear regression gives us a set of analytical equations for the parameters $\\beta_j$.\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Examples\n",
"In order to understand the relation among the predictors $p$, the set of data $n$ and the target (outcome, output etc) $\\boldsymbol{y}$,\n",
"consider the model we discussed for describing nuclear binding energies. \n",
"\n",
"There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model.\n",
"Assuming"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"BE(A) = a_0+a_1A+a_2A^{2/3}+a_3A^{-1/3}+a_4A^{-1},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we have five predictors, that is the intercept, the $A$ dependent term, the $A^{2/3}$ term and the $A^{-1/3}$ and $A^{-1}$ terms.\n",
"This gives $p=0,1,2,3,4$. Furthermore we have $n$ entries for each predictor. It means that our design matrix is a \n",
"$p\\times n$ matrix $\\boldsymbol{X}$.\n",
"\n",
"Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the\n",
"so-called [credit card default data from Taiwan](https://www.sciencedirect.com/science/article/pii/S0957417407006719?via%3Dihub). The data set contains data on $n=30000$ credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are $24$ such predictors or attributes leading to a design matrix of dimensionality $24 \\times 30000$. This is however a classification problem and we will come back to it when we discuss Logistic Regression.\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## General linear models\n",
"Before we proceed let us study a case from linear algebra where we aim at fitting a set of data $\\boldsymbol{y}=[y_0,y_1,\\dots,y_{n-1}]$. We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables $\\boldsymbol{x}=[x_0,x_1,\\dots,x_{n-1}]$, that is $y_i = y(x_i)$ with $i=0,1,2,\\dots,n-1$. The variables $x_i$ could represent physical quantities like time, temperature, position etc. We assume that $y(x)$ is a smooth function. \n",
"\n",
"Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of $y$ which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree $n-1$ with $n$ points, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"y=y(x) \\rightarrow y(x_i)=\\tilde{y}_i+\\epsilon_i=\\sum_{j=0}^{n-1} \\beta_j x_i^j+\\epsilon_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\epsilon_i$ is the error in our approximation.\n",
"\n",
"\n",
"\n",
"\n",
"## Rewriting the fitting procedure as a linear algebra problem\n",
"For every set of values $y_i,x_i$ we have thus the corresponding set of equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"y_0&=\\beta_0+\\beta_1x_0^1+\\beta_2x_0^2+\\dots+\\beta_{n-1}x_0^{n-1}+\\epsilon_0\\\\\n",
"y_1&=\\beta_0+\\beta_1x_1^1+\\beta_2x_1^2+\\dots+\\beta_{n-1}x_1^{n-1}+\\epsilon_1\\\\\n",
"y_2&=\\beta_0+\\beta_1x_2^1+\\beta_2x_2^2+\\dots+\\beta_{n-1}x_2^{n-1}+\\epsilon_2\\\\\n",
"\\dots & \\dots \\\\\n",
"y_{n-1}&=\\beta_0+\\beta_1x_{n-1}^1+\\beta_2x_{n-1}^2+\\dots+\\beta_{n-1}x_{n-1}^{n-1}+\\epsilon_{n-1}.\\\\\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Rewriting the fitting procedure as a linear algebra problem, more details\n",
"Defining the vectors"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y} = [y_0,y_1, y_2,\\dots, y_{n-1}]^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} = [\\beta_0,\\beta_1, \\beta_2,\\dots, \\beta_{n-1}]^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\epsilon} = [\\epsilon_0,\\epsilon_1, \\epsilon_2,\\dots, \\epsilon_{n-1}]^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and the design matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}=\n",
"\\begin{bmatrix} \n",
"1& x_{0}^1 &x_{0}^2& \\dots & \\dots &x_{0}^{n-1}\\\\\n",
"1& x_{1}^1 &x_{1}^2& \\dots & \\dots &x_{1}^{n-1}\\\\\n",
"1& x_{2}^1 &x_{2}^2& \\dots & \\dots &x_{2}^{n-1}\\\\ \n",
"\\dots& \\dots &\\dots& \\dots & \\dots &\\dots\\\\\n",
"1& x_{n-1}^1 &x_{n-1}^2& \\dots & \\dots &x_{n-1}^{n-1}\\\\\n",
"\\end{bmatrix}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can rewrite our equations as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta}+\\boldsymbol{\\epsilon}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The above design matrix is called a [Vandermonde matrix](https://en.wikipedia.org/wiki/Vandermonde_matrix).\n",
"\n",
"\n",
"\n",
"\n",
"## Generalizing the fitting procedure as a linear algebra problem\n",
"\n",
"We are obviously not limited to the above polynomial expansions. We\n",
"could replace the various powers of $x$ with elements of Fourier\n",
"series or instead of $x_i^j$ we could have $\\cos{(j x_i)}$ or $\\sin{(j\n",
"x_i)}$, or time series or other orthogonal functions. For every set\n",
"of values $y_i,x_i$ we can then generalize the equations to"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"y_0&=\\beta_0x_{00}+\\beta_1x_{01}+\\beta_2x_{02}+\\dots+\\beta_{n-1}x_{0n-1}+\\epsilon_0\\\\\n",
"y_1&=\\beta_0x_{10}+\\beta_1x_{11}+\\beta_2x_{12}+\\dots+\\beta_{n-1}x_{1n-1}+\\epsilon_1\\\\\n",
"y_2&=\\beta_0x_{20}+\\beta_1x_{21}+\\beta_2x_{22}+\\dots+\\beta_{n-1}x_{2n-1}+\\epsilon_2\\\\\n",
"\\dots & \\dots \\\\\n",
"y_{i}&=\\beta_0x_{i0}+\\beta_1x_{i1}+\\beta_2x_{i2}+\\dots+\\beta_{n-1}x_{in-1}+\\epsilon_i\\\\\n",
"\\dots & \\dots \\\\\n",
"y_{n-1}&=\\beta_0x_{n-1,0}+\\beta_1x_{n-1,2}+\\beta_2x_{n-1,2}+\\dots+\\beta_{n-1}x_{n-1,n-1}+\\epsilon_{n-1}.\\\\\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note that we have $p=n$ here. The matrix is symmetric. This is generally not the case!**\n",
"\n",
"\n",
"\n",
"\n",
"## Generalizing the fitting procedure as a linear algebra problem\n",
"We redefine in turn the matrix $\\boldsymbol{X}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}=\n",
"\\begin{bmatrix} \n",
"x_{00}& x_{01} &x_{02}& \\dots & \\dots &x_{0,n-1}\\\\\n",
"x_{10}& x_{11} &x_{12}& \\dots & \\dots &x_{1,n-1}\\\\\n",
"x_{20}& x_{21} &x_{22}& \\dots & \\dots &x_{2,n-1}\\\\ \n",
"\\dots& \\dots &\\dots& \\dots & \\dots &\\dots\\\\\n",
"x_{n-1,0}& x_{n-1,1} &x_{n-1,2}& \\dots & \\dots &x_{n-1,n-1}\\\\\n",
"\\end{bmatrix}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and without loss of generality we rewrite again our equations as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta}+\\boldsymbol{\\epsilon}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The left-hand side of this equation is kwown. Our error vector $\\boldsymbol{\\epsilon}$ and the parameter vector $\\boldsymbol{\\beta}$ are our unknow quantities. How can we obtain the optimal set of $\\beta_i$ values?\n",
"\n",
"\n",
"\n",
"\n",
"## Optimizing our parameters\n",
"We have defined the matrix $\\boldsymbol{X}$ via the equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"y_0&=\\beta_0x_{00}+\\beta_1x_{01}+\\beta_2x_{02}+\\dots+\\beta_{n-1}x_{0n-1}+\\epsilon_0\\\\\n",
"y_1&=\\beta_0x_{10}+\\beta_1x_{11}+\\beta_2x_{12}+\\dots+\\beta_{n-1}x_{1n-1}+\\epsilon_1\\\\\n",
"y_2&=\\beta_0x_{20}+\\beta_1x_{21}+\\beta_2x_{22}+\\dots+\\beta_{n-1}x_{2n-1}+\\epsilon_1\\\\\n",
"\\dots & \\dots \\\\\n",
"y_{i}&=\\beta_0x_{i0}+\\beta_1x_{i1}+\\beta_2x_{i2}+\\dots+\\beta_{n-1}x_{in-1}+\\epsilon_1\\\\\n",
"\\dots & \\dots \\\\\n",
"y_{n-1}&=\\beta_0x_{n-1,0}+\\beta_1x_{n-1,2}+\\beta_2x_{n-1,2}+\\dots+\\beta_{n-1}x_{n-1,n-1}+\\epsilon_{n-1}.\\\\\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we noted above, we stayed with a system with the design matrix \n",
" $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times n}$, that is we have $p=n$. For reasons to come later (algorithmic arguments) we will hereafter define \n",
"our matrix as $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$, with the predictors refering to the column numbers and the entries $n$ being the row elements.\n",
"\n",
"\n",
"\n",
"\n",
"## Our model for the nuclear binding energies\n",
"\n",
"In our [introductory notes](https://compphysics.github.io/MachineLearning/doc/pub/How2ReadData/html/How2ReadData.html) we looked at the so-called [liquid drop model](https://en.wikipedia.org/wiki/Semi-empirical_mass_formula). Let us remind ourselves about what we did by looking at the code.\n",
"\n",
"We restate the parts of the code we are most interested in."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>1</th>\n",
" <th>A</th>\n",
" <th>A^(2/3)</th>\n",
" <th>A^(-1/3)</th>\n",
" <th>1/A</th>\n",
" </tr>\n",
" <tr>\n",
" <th>A</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1.0</td>\n",
" <td>2.0</td>\n",
" <td>1.587401</td>\n",
" <td>0.793701</td>\n",
" <td>0.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1.0</td>\n",
" <td>3.0</td>\n",
" <td>2.080084</td>\n",
" <td>0.693361</td>\n",
" <td>0.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>2.519842</td>\n",
" <td>0.629961</td>\n",
" <td>0.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1.0</td>\n",
" <td>5.0</td>\n",
" <td>2.924018</td>\n",
" <td>0.584804</td>\n",
" <td>0.200000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>264</th>\n",
" <td>1.0</td>\n",
" <td>264.0</td>\n",
" <td>41.153106</td>\n",
" <td>0.155883</td>\n",
" <td>0.003788</td>\n",
" </tr>\n",
" <tr>\n",
" <th>265</th>\n",
" <td>1.0</td>\n",
" <td>265.0</td>\n",
" <td>41.256962</td>\n",
" <td>0.155687</td>\n",
" <td>0.003774</td>\n",
" </tr>\n",
" <tr>\n",
" <th>266</th>\n",
" <td>1.0</td>\n",
" <td>266.0</td>\n",
" <td>41.360688</td>\n",
" <td>0.155491</td>\n",
" <td>0.003759</td>\n",
" </tr>\n",
" <tr>\n",
" <th>269</th>\n",
" <td>1.0</td>\n",
" <td>269.0</td>\n",
" <td>41.671089</td>\n",
" <td>0.154911</td>\n",
" <td>0.003717</td>\n",
" </tr>\n",
" <tr>\n",
" <th>270</th>\n",
" <td>1.0</td>\n",
" <td>270.0</td>\n",
" <td>41.774300</td>\n",
" <td>0.154720</td>\n",
" <td>0.003704</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>267 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" 1 A A^(2/3) A^(-1/3) 1/A\n",
"A \n",
"1 1.0 1.0 1.000000 1.000000 1.000000\n",
"2 1.0 2.0 1.587401 0.793701 0.500000\n",
"3 1.0 3.0 2.080084 0.693361 0.333333\n",
"4 1.0 4.0 2.519842 0.629961 0.250000\n",
"5 1.0 5.0 2.924018 0.584804 0.200000\n",
".. ... ... ... ... ...\n",
"264 1.0 264.0 41.153106 0.155883 0.003788\n",
"265 1.0 265.0 41.256962 0.155687 0.003774\n",
"266 1.0 266.0 41.360688 0.155491 0.003759\n",
"269 1.0 269.0 41.671089 0.154911 0.003717\n",
"270 1.0 270.0 41.774300 0.154720 0.003704\n",
"\n",
"[267 rows x 5 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"# Common imports\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from IPython.display import display\n",
"import os\n",
"\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"infile = open(data_path(\"MassEval2016.dat\"),'r')\n",
"\n",
"\n",
"# Read the experimental data with Pandas\n",
"Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),\n",
" names=('N', 'Z', 'A', 'Element', 'Ebinding'),\n",
" widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),\n",
" header=39,\n",
" index_col=False)\n",
"\n",
"# Extrapolated values are indicated by '#' in place of the decimal place, so\n",
"# the Ebinding column won't be numeric. Coerce to float and drop these entries.\n",
"Masses['Ebinding'] = pd.to_numeric(Masses['Ebinding'], errors='coerce')\n",
"Masses = Masses.dropna()\n",
"# Convert from keV to MeV.\n",
"Masses['Ebinding'] /= 1000\n",
"\n",
"# Group the DataFrame by nucleon number, A.\n",
"Masses = Masses.groupby('A')\n",
"# Find the rows of the grouped DataFrame with the maximum binding energy.\n",
"Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])\n",
"A = Masses['A']\n",
"Z = Masses['Z']\n",
"N = Masses['N']\n",
"Element = Masses['Element']\n",
"Energies = Masses['Ebinding']\n",
"\n",
"# Now we set up the design matrix X\n",
"X = np.zeros((len(A),5))\n",
"X[:,0] = 1\n",
"X[:,1] = A\n",
"X[:,2] = A**(2.0/3.0)\n",
"X[:,3] = A**(-1.0/3.0)\n",
"X[:,4] = A**(-1.0)\n",
"# Then nice printout using pandas\n",
"DesignMatrix = pd.DataFrame(X)\n",
"DesignMatrix.index = A\n",
"DesignMatrix.columns = ['1', 'A', 'A^(2/3)', 'A^(-1/3)', '1/A']\n",
"display(DesignMatrix)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With $\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p\\times 1}$, it means that we will hereafter write our equations for the approximation as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"throughout these lectures. \n",
"\n",
"\n",
"## Optimizing our parameters, more details\n",
"With the above we use the design matrix to define the approximation $\\boldsymbol{\\tilde{y}}$ via the unknown quantity $\\boldsymbol{\\beta}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and in order to find the optimal parameters $\\beta_i$ instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values $y_i$ (which represent hopefully the exact values) and the parameterized values $\\tilde{y}_i$, namely"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or using the matrix $\\boldsymbol{X}$ and in a more compact matrix-vector notation as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This function is one possible way to define the so-called cost function.\n",
"\n",
"\n",
"\n",
"It is also common to define\n",
"the function $C$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{2n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"since when taking the first derivative with respect to the unknown parameters $\\beta$, the factor of $2$ cancels out.\n",
"\n",
"\n",
"\n",
"\n",
"## Interpretations and optimizing our parameters\n",
"\n",
"The function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"can be linked to the variance of the quantity $y_i$ if we interpret the latter as the mean value. \n",
"When linking (see the discussion below) with the maximum likelihood approach below, we will indeed interpret $y_i$ as a mean value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"y_{i}=\\langle y_i \\rangle = \\beta_0x_{i,0}+\\beta_1x_{i,1}+\\beta_2x_{i,2}+\\dots+\\beta_{n-1}x_{i,n-1}+\\epsilon_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\langle y_i \\rangle$ is the mean value. Keep in mind also that\n",
"till now we have treated $y_i$ as the exact value. Normally, the\n",
"response (dependent or outcome) variable $y_i$ the outcome of a\n",
"numerical experiment or another type of experiment and is thus only an\n",
"approximation to the true value. It is then always accompanied by an\n",
"error estimate, often limited to a statistical error estimate given by\n",
"the standard deviation discussed earlier. In the discussion here we\n",
"will treat $y_i$ as our exact value for the response variable.\n",
"\n",
"In order to find the parameters $\\beta_i$ we will then minimize the spread of $C(\\boldsymbol{\\beta})$, that is we are going to solve the problem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In practical terms it means we will require"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)^2\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which results in"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_{ij}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or in a matrix-vector form as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Interpretations and optimizing our parameters\n",
"We can rewrite"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{y} = \\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and if the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ is invertible we have the solution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} =\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We note also that since our design matrix is defined as $\\boldsymbol{X}\\in\n",
"{\\mathbb{R}}^{n\\times p}$, the product $\\boldsymbol{X}^T\\boldsymbol{X} \\in\n",
"{\\mathbb{R}}^{p\\times p}$. In the above case we have that $p \\ll n$,\n",
"in our case $p=5$ meaning that we end up with inverting a small\n",
"$5\\times 5$ matrix. This is a rather common situation, in many cases we end up with low-dimensional\n",
"matrices to invert. The methods discussed here and for many other\n",
"supervised learning algorithms like classification with logistic\n",
"regression or support vector machines, exhibit dimensionalities which\n",
"allow for the usage of direct linear algebra methods such as **LU** decomposition or **Singular Value Decomposition** (SVD) for finding the inverse of the matrix\n",
"$\\boldsymbol{X}^T\\boldsymbol{X}$.\n",
"\n",
"\n",
"\n",
"**Small question**: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$? What kind of problems can we expect?\n",
"\n",
"\n",
"\n",
"## Some useful matrix and vector expressions\n",
"\n",
"The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and \n",
"matrices as upper case boldfaced letters."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2\n",
"6\n",
" \n",
"<\n",
"<\n",
"<\n",
"!\n",
"!\n",
"M\n",
"A\n",
"T\n",
"H\n",
"_\n",
"B\n",
"L\n",
"O\n",
"C\n",
"K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2\n",
"7\n",
" \n",
"<\n",
"<\n",
"<\n",
"!\n",
"!\n",
"M\n",
"A\n",
"T\n",
"H\n",
"_\n",
"B\n",
"L\n",
"O\n",
"C\n",
"K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2\n",
"8\n",
" \n",
"<\n",
"<\n",
"<\n",
"!\n",
"!\n",
"M\n",
"A\n",
"T\n",
"H\n",
"_\n",
"B\n",
"L\n",
"O\n",
"C\n",
"K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\log{\\vert\\boldsymbol{A}\\vert}}{\\partial \\boldsymbol{A}} = (\\boldsymbol{A}^{-1})^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Interpretations and optimizing our parameters\n",
"The residuals $\\boldsymbol{\\epsilon}$ are in turn given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\epsilon} = \\boldsymbol{y}-\\boldsymbol{\\tilde{y}} = \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and with"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{\\epsilon}=\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"meaning that the solution for $\\boldsymbol{\\beta}$ is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.\n",
"\n",
"\n",
"\n",
"\n",
"Let us now return to our nuclear binding energies and simply code the above equations. \n",
"\n",
"## Own code for Ordinary Least Squares\n",
"\n",
"It is rather straightforward to implement the matrix inversion and obtain the parameters $\\boldsymbol{\\beta}$. After having defined the matrix $\\boldsymbol{X}$ we simply need to \n",
"write"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# matrix inversion to find beta\n",
"beta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Energies)\n",
"# and then make the prediction\n",
"ytilde = X @ beta"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Alternatively, you can use the least squares functionality in **Numpy** as"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"fit = np.linalg.lstsq(X, Energies, rcond =None)[0]\n",
"ytildenp = np.dot(fit,X.T)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And finally we plot our fit with and compare with data"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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J5KBP37iVSodye6JLFo9PT00NDTQ1dWllWwvgrszMDBAT08Pa9eunfLzIjkEHg/8jGr4IgtKLpejra1NYX+RzIy2trYL/qYUyUQMS+OzdDTCF1loFPYzYzr/jtEM/KJG+CIip4pkIoaV9fDTquGLyBl8+9vfxsx48cUXZ+T1vva1r7F582Y2b97Mddddx7PPPjux7Qc/+AGXXnop69ev59577524/+tf/zqXX345sViM7du3n/R6O3fu5K1vfSuXX345V1555Ywd5I5c4Ls7XqnhpzXCF5Ez2LZtG29729t48MEHZ+T11q5dy2OPPQs7MJkAAAu/SURBVMbOnTv57Gc/y9133w1AEAT8zu/8Dg899BC7du1i27Zt7Nq1C4ArrriCb33rW7zjHe846bVKpRIf+9jH+NKXvsQLL7zAo48+ekEzcc4lckNgD5zAHTeoUQ1fZMH6l19+alZe94E7rz3n9pGREX7605/yyCOPcOutt/L5z3+eRx99lM997nMsXbqUHTt2cNttt3HllVdy3333kc1m+c53vsMll1xCf38/n/jEJ9i/fz8Af/VXf8X111/PddddN/H6b3nLW+jp6QHgySefZP369axbtw6A22+/ne9+97ts2rSJyy677Izte/jhh9m8eTNXXXUVAG1tbRf9bzIuekPgAMIQwjiktXiaiJziO9/5DjfddBMbN26ktbWVZ555BoBnn32W++67j+eee46vfOUr7NmzhyeffJK77rqLv/7rvwbgU5/6FPfccw9PPfUU3/zmN7nrrrtOe/0HHniA9773vQD09vayatWqiW2dnZ309vaes3179uzBzLjxxhu5+uqr+bM/+7OZ6noER/glJ3TH45BJ6kxbkYXqfCPx2bJt2zY+/elPA+UR97Zt27jlllu49tprWb58OQCXXHIJ73nPewC48soreeSRRwD44Q9/OFGSARgeHubEiRM0NDQA8Mgjj/DAAw/w+OOPA+US86nON7umVCrx+OOP89RTT1FbW8sNN9zANddcww033HCRPY9i4AeVwI9BRiN8EZlkYGCAH//4xzz//POYGUEQYGbcfPPNpNPpicfFYrGJv2OxGKVSCYAwDPn5z39OTU3Naa+9c+dO7rrrLh566KGJMkxnZycHDhyYeExPTw8rVqw4Zxs7Ozt55zvfSXt7OwA333wzzzzzzIwEfuQSsZgP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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Masses['Eapprox'] = ytilde\n",
"# Generate a plot comparing the experimental with the fitted values values.\n",
"fig, ax = plt.subplots()\n",
"ax.set_xlabel(r'$A = N + Z$')\n",
"ax.set_ylabel(r'$E_\\mathrm{bind}\\,/\\mathrm{MeV}$')\n",
"ax.plot(Masses['A'], Masses['Ebinding'], alpha=0.7, lw=2,\n",
" label='Ame2016')\n",
"ax.plot(Masses['A'], Masses['Eapprox'], alpha=0.7, lw=2, c='m',\n",
" label='Fit')\n",
"ax.legend()\n",
"save_fig(\"Masses2016OLS\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Adding error analysis and training set up\n",
"\n",
"We can easily test our fit by computing the $R2$ score that we discussed in connection with the functionality of **Scikit-Learn** in the introductory slides.\n",
"Since we are not using **Scikit-Learn** here we can define our own $R2$ function as"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def R2(y_data, y_model):\n",
" return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and we would be using it as"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.9547578478889096\n"
]
}
],
"source": [
"print(R2(Energies,ytilde))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can easily add our **MSE** score as"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.037875961483052376\n"
]
}
],
"source": [
"def MSE(y_data,y_model):\n",
" n = np.size(y_model)\n",
" return np.sum((y_data-y_model)**2)/n\n",
"\n",
"print(MSE(Energies,ytilde))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and finally the relative error as"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A \n",
"1 0 inf\n",
"2 1 1.123190\n",
"3 2 0.327631\n",
"4 6 0.344172\n",
"5 9 0.044402\n",
" ... \n",
"264 3304 0.009911\n",
"265 3310 0.009154\n",
"266 3317 0.007824\n",
"269 3338 0.011347\n",
"270 3344 0.009790\n",
"Name: Ebinding, Length: 267, dtype: float64\n"
]
}
],
"source": [
"def RelativeError(y_data,y_model):\n",
" return abs((y_data-y_model)/y_data)\n",
"print(RelativeError(Energies, ytilde))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The $\\chi^2$ function\n",
"\n",
"Normally, the response (dependent or outcome) variable $y_i$ is the\n",
"outcome of a numerical experiment or another type of experiment and is\n",
"thus only an approximation to the true value. It is then always\n",
"accompanied by an error estimate, often limited to a statistical error\n",
"estimate given by the standard deviation discussed earlier. In the\n",
"discussion here we will treat $y_i$ as our exact value for the\n",
"response variable.\n",
"\n",
"Introducing the standard deviation $\\sigma_i$ for each measurement\n",
"$y_i$, we define now the $\\chi^2$ function (omitting the $1/n$ term)\n",
"as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\chi^2(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\frac{\\left(y_i-\\tilde{y}_i\\right)^2}{\\sigma_i^2}=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\frac{1}{\\boldsymbol{\\Sigma^2}}\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where the matrix $\\boldsymbol{\\Sigma}$ is a diagonal matrix with $\\sigma_i$ as matrix elements.\n",
"\n",
"\n",
"\n",
"## The $\\chi^2$ function\n",
"\n",
"In order to find the parameters $\\beta_i$ we will then minimize the spread of $\\chi^2(\\boldsymbol{\\beta})$ by requiring"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)^2\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which results in"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}\\frac{x_{ij}}{\\sigma_i}\\left(\\frac{y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or in a matrix-vector form as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\beta}\\right).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have defined the matrix $\\boldsymbol{A} =\\boldsymbol{X}/\\boldsymbol{\\Sigma}$ with matrix elements $a_{ij} = x_{ij}/\\sigma_i$ and the vector $\\boldsymbol{b}$ with elements $b_i = y_i/\\sigma_i$.\n",
"\n",
"\n",
"\n",
"## The $\\chi^2$ function\n",
"\n",
"We can rewrite"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\beta}\\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{A}^T\\boldsymbol{b} = \\boldsymbol{A}^T\\boldsymbol{A}\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and if the matrix $\\boldsymbol{A}^T\\boldsymbol{A}$ is invertible we have the solution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} =\\left(\\boldsymbol{A}^T\\boldsymbol{A}\\right)^{-1}\\boldsymbol{A}^T\\boldsymbol{b}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The $\\chi^2$ function\n",
"\n",
"If we then introduce the matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{H} = \\left(\\boldsymbol{A}^T\\boldsymbol{A}\\right)^{-1},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we have then the following expression for the parameters $\\beta_j$ (the matrix elements of $\\boldsymbol{H}$ are $h_{ij}$)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta_j = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}\\frac{y_i}{\\sigma_i}\\frac{x_{ik}}{\\sigma_i} = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}b_ia_{ik}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We state without proof the expression for the uncertainty in the parameters $\\beta_j$ as (we leave this as an exercise)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\sigma^2(\\beta_j) = \\sum_{i=0}^{n-1}\\sigma_i^2\\left( \\frac{\\partial \\beta_j}{\\partial y_i}\\right)^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"resulting in"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\sigma^2(\\beta_j) = \\left(\\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}a_{ik}\\right)\\left(\\sum_{l=0}^{p-1}h_{jl}\\sum_{m=0}^{n-1}a_{ml}\\right) = h_{jj}!\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The $\\chi^2$ function\n",
"The first step here is to approximate the function $y$ with a first-order polynomial, that is we write"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"y=y(x) \\rightarrow y(x_i) \\approx \\beta_0+\\beta_1 x_i.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By computing the derivatives of $\\chi^2$ with respect to $\\beta_0$ and $\\beta_1$ show that these are given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_0} = -2\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\beta_0-\\beta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_1} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_i\\left(\\frac{y_i-\\beta_0-\\beta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The $\\chi^2$ function\n",
"\n",
"For a linear fit (a first-order polynomial) we don't need to invert a matrix!! \n",
"Defining"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\gamma = \\sum_{i=0}^{n-1}\\frac{1}{\\sigma_i^2},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\gamma_x = \\sum_{i=0}^{n-1}\\frac{x_{i}}{\\sigma_i^2},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\gamma_y = \\sum_{i=0}^{n-1}\\left(\\frac{y_i}{\\sigma_i^2}\\right),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\gamma_{xx} = \\sum_{i=0}^{n-1}\\frac{x_ix_{i}}{\\sigma_i^2},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\gamma_{xy} = \\sum_{i=0}^{n-1}\\frac{y_ix_{i}}{\\sigma_i^2},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta_0 = \\frac{\\gamma_{xx}\\gamma_y-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta_1 = \\frac{\\gamma_{xy}\\gamma-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This approach (different linear and non-linear regression) suffers\n",
"often from both being underdetermined and overdetermined in the\n",
"unknown coefficients $\\beta_i$. A better approach is to use the\n",
"Singular Value Decomposition (SVD) method discussed below. Or using\n",
"Lasso and Ridge regression. See below.\n",
"\n",
"\n",
"\n",
"\n",
"## Fitting an Equation of State for Dense Nuclear Matter\n",
"\n",
"Before we continue, let us introduce yet another example. We are going to fit the\n",
"nuclear equation of state using results from many-body calculations.\n",
"The equation of state we have made available here, as function of\n",
"density, has been derived using modern nucleon-nucleon potentials with\n",
"[the addition of three-body\n",
"forces](https://www.sciencedirect.com/science/article/pii/S0370157399001106). This\n",
"time the file is presented as a standard **csv** file.\n",
"\n",
"The beginning of the Python code here is similar to what you have seen\n",
"before, with the same initializations and declarations. We use also\n",
"**pandas** again, rather extensively in order to organize our data.\n",
"\n",
"The difference now is that we use **Scikit-Learn's** regression tools\n",
"instead of our own matrix inversion implementation. Furthermore, we\n",
"sneak in **Ridge** regression (to be discussed below) which includes a\n",
"hyperparameter $\\lambda$, also to be explained below.\n",
"\n",
"## The code"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean squared error: 12.36\n",
"Variance score: 1.00\n",
"Mean absolute error: 2.83\n",
"[ 0. 618.32047562 -861.13519106 1404.91549644] -11.057088709963296\n",
"Mean squared error: 197.93\n",
"Variance score: 1.00\n",
"Mean absolute error: 11.69\n",
"[ 0. 28.18220995 282.79902342 842.30879705] 12.946893955209475\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.pyplot as plt\n",
"import sklearn.linear_model as skl\n",
"from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error\n",
"\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"infile = open(data_path(\"EoS.csv\"),'r')\n",
"\n",
"# Read the EoS data as csv file and organize the data into two arrays with density and energies\n",
"EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n",
"EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n",
"EoS = EoS.dropna()\n",
"Energies = EoS['Energy']\n",
"Density = EoS['Density']\n",
"# The design matrix now as function of various polytrops\n",
"X = np.zeros((len(Density),4))\n",
"X[:,3] = Density**(4.0/3.0)\n",
"X[:,2] = Density\n",
"X[:,1] = Density**(2.0/3.0)\n",
"X[:,0] = 1\n",
"\n",
"# We use now Scikit-Learn's linear regressor and ridge regressor\n",
"# OLS part\n",
"clf = skl.LinearRegression().fit(X, Energies)\n",
"ytilde = clf.predict(X)\n",
"EoS['Eols'] = ytilde\n",
"# The mean squared error \n",
"print(\"Mean squared error: %.2f\" % mean_squared_error(Energies, ytilde))\n",
"# Explained variance score: 1 is perfect prediction \n",
"print('Variance score: %.2f' % r2_score(Energies, ytilde))\n",
"# Mean absolute error \n",
"print('Mean absolute error: %.2f' % mean_absolute_error(Energies, ytilde))\n",
"print(clf.coef_, clf.intercept_)\n",
"\n",
"# The Ridge regression with a hyperparameter lambda = 0.1\n",
"_lambda = 0.1\n",
"clf_ridge = skl.Ridge(alpha=_lambda).fit(X, Energies)\n",
"yridge = clf_ridge.predict(X)\n",
"EoS['Eridge'] = yridge\n",
"# The mean squared error \n",
"print(\"Mean squared error: %.2f\" % mean_squared_error(Energies, yridge))\n",
"# Explained variance score: 1 is perfect prediction \n",
"print('Variance score: %.2f' % r2_score(Energies, yridge))\n",
"# Mean absolute error \n",
"print('Mean absolute error: %.2f' % mean_absolute_error(Energies, yridge))\n",
"print(clf_ridge.coef_, clf_ridge.intercept_)\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.set_xlabel(r'$\\rho[\\mathrm{fm}^{-3}]$')\n",
"ax.set_ylabel(r'Energy per particle')\n",
"ax.plot(EoS['Density'], EoS['Energy'], alpha=0.7, lw=2,\n",
" label='Theoretical data')\n",
"ax.plot(EoS['Density'], EoS['Eols'], alpha=0.7, lw=2, c='m',\n",
" label='OLS')\n",
"ax.plot(EoS['Density'], EoS['Eridge'], alpha=0.7, lw=2, c='g',\n",
" label='Ridge $\\lambda = 0.1$')\n",
"ax.legend()\n",
"save_fig(\"EoSfitting\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The above simple polynomial in density $\\rho$ gives an excellent fit\n",
"to the data. \n",
"\n",
"We note also that there is a small deviation between the\n",
"standard OLS and the Ridge regression at higher densities. We discuss this in more detail\n",
"below.\n",
"\n",
"\n",
"## Splitting our Data in Training and Test data\n",
"\n",
"It is normal in essentially all Machine Learning studies to split the\n",
"data in a training set and a test set (sometimes also an additional\n",
"validation set). **Scikit-Learn** has an own function for this. There\n",
"is no explicit recipe for how much data should be included as training\n",
"data and say test data. An accepted rule of thumb is to use\n",
"approximately $2/3$ to $4/5$ of the data as training data. We will\n",
"postpone a discussion of this splitting to the end of these notes and\n",
"our discussion of the so-called **bias-variance** tradeoff. Here we\n",
"limit ourselves to repeat the above equation of state fitting example\n",
"but now splitting the data into a training set and a test set."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training R2\n",
"0.9999848494015684\n",
"Training MSE\n",
"6.636161909712815\n",
"Test R2\n",
"0.9999887201912121\n",
"Test MSE\n",
"5.338085330411524\n"
]
}
],
"source": [
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.model_selection import train_test_split\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"def R2(y_data, y_model):\n",
" return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)\n",
"def MSE(y_data,y_model):\n",
" n = np.size(y_model)\n",
" return np.sum((y_data-y_model)**2)/n\n",
"\n",
"infile = open(data_path(\"EoS.csv\"),'r')\n",
"\n",
"# Read the EoS data as csv file and organized into two arrays with density and energies\n",
"EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n",
"EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n",
"EoS = EoS.dropna()\n",
"Energies = EoS['Energy']\n",
"Density = EoS['Density']\n",
"# The design matrix now as function of various polytrops\n",
"X = np.zeros((len(Density),5))\n",
"X[:,0] = 1\n",
"X[:,1] = Density**(2.0/3.0)\n",
"X[:,2] = Density\n",
"X[:,3] = Density**(4.0/3.0)\n",
"X[:,4] = Density**(5.0/3.0)\n",
"# We split the data in test and training data\n",
"X_train, X_test, y_train, y_test = train_test_split(X, Energies, test_size=0.2)\n",
"# matrix inversion to find beta\n",
"beta = np.linalg.inv(X_train.T.dot(X_train)).dot(X_train.T).dot(y_train)\n",
"# and then make the prediction\n",
"ytilde = X_train @ beta\n",
"print(\"Training R2\")\n",
"print(R2(y_train,ytilde))\n",
"print(\"Training MSE\")\n",
"print(MSE(y_train,ytilde))\n",
"ypredict = X_test @ beta\n",
"print(\"Test R2\")\n",
"print(R2(y_test,ypredict))\n",
"print(\"Test MSE\")\n",
"print(MSE(y_test,ypredict))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- !split -->\n",
"## The Boston housing data example\n",
"\n",
"The Boston housing \n",
"data set was originally a part of UCI Machine Learning Repository\n",
"and has been removed now. The data set is now included in **Scikit-Learn**'s \n",
"library. There are 506 samples and 13 feature (predictor) variables\n",
"in this data set. The objective is to predict the value of prices of\n",
"the house using the features (predictors) listed here.\n",
"\n",
"The features/predictors are\n",
"1. CRIM: Per capita crime rate by town\n",
"\n",
"2. ZN: Proportion of residential land zoned for lots over 25000 square feet\n",
"\n",
"3. INDUS: Proportion of non-retail business acres per town\n",
"\n",
"4. CHAS: Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)\n",
"\n",
"5. NOX: Nitric oxide concentration (parts per 10 million)\n",
"\n",
"6. RM: Average number of rooms per dwelling\n",
"\n",
"7. AGE: Proportion of owner-occupied units built prior to 1940\n",
"\n",
"8. DIS: Weighted distances to five Boston employment centers\n",
"\n",
"9. RAD: Index of accessibility to radial highways\n",
"\n",
"10. TAX: Full-value property tax rate per USD10000\n",
"\n",
"11. B: $1000(Bk - 0.63)^2$, where $Bk$ is the proportion of [people of African American descent] by town\n",
"\n",
"12. LSTAT: Percentage of lower status of the population\n",
"\n",
"13. MEDV: Median value of owner-occupied homes in USD 1000s\n",
"\n",
"## Housing data, the code\n",
"We start by importing the libraries"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt \n",
"\n",
"import pandas as pd \n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and load the Boston Housing DataSet from **Scikit-Learn**"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename'])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.datasets import load_boston\n",
"\n",
"boston_dataset = load_boston()\n",
"\n",
"# boston_dataset is a dictionary\n",
"# let's check what it contains\n",
"boston_dataset.keys()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then we invoke Pandas"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"boston = pd.DataFrame(boston_dataset.data, columns=boston_dataset.feature_names)\n",
"boston.head()\n",
"boston['MEDV'] = boston_dataset.target"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and preprocess the data"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"CRIM 0\n",
"ZN 0\n",
"INDUS 0\n",
"CHAS 0\n",
"NOX 0\n",
"RM 0\n",
"AGE 0\n",
"DIS 0\n",
"RAD 0\n",
"TAX 0\n",
"PTRATIO 0\n",
"B 0\n",
"LSTAT 0\n",
"MEDV 0\n",
"dtype: int64"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# check for missing values in all the columns\n",
"boston.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can then visualize the data"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 842.4x595.44 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# set the size of the figure\n",
"sns.set(rc={'figure.figsize':(11.7,8.27)})\n",
"\n",
"# plot a histogram showing the distribution of the target values\n",
"sns.distplot(boston['MEDV'], bins=30)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is now useful to look at the correlation matrix"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fbd9a0141d0>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 842.4x595.44 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# compute the pair wise correlation for all columns \n",
"correlation_matrix = boston.corr().round(2)\n",
"# use the heatmap function from seaborn to plot the correlation matrix\n",
"# annot = True to print the values inside the square\n",
"sns.heatmap(data=correlation_matrix, annot=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From the above coorelation plot we can see that **MEDV** is strongly correlated to **LSTAT** and **RM**. We see also that **RAD** and **TAX** are stronly correlated, but we don't include this in our features together to avoid multi-colinearity"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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RkREREREREREQsw4KjBOVSMiIiIiIqJSwTEsMXBUQLHeeFZV+cGhBLbsPAQA/OERERERERGRr3AMSwCnqhXU9u7+rKUIAWA0mcb27v4itYiIiIiIiIhIjGNYAhg4KqjBoYStx4mIiIiIiIiKhWNYAjhVLW925ns21EeFP7CG+qjXzSQiIiIiIiKyRBnn6uEYNliYcZQHZb6nEgxS5nvGeuPC5y9rb0ZlJPuQV0ZCWNbe7HlbiYiIiIiIiMxox7laHMMGDwNHebA737OttQkrO1oy0dmG+ihWdrSwqBgRERERERH5gmicq+AYNpg4VS0PduZ7aqe03dE5hz82IiIiIiIi8hWj+kXrV883fb2dci5UGphxlAe9eZ3ax+1OaSMiIiIiIiIqBqvjXBGOfcsTA0d5sFqziEsYEhERERERUSnIpzYvx77liVPV8qCk25ml4RlNaVuzoYcpfEREREREROQLVse5InbKuRQDp9E5w8BRntpam0y/aA31UdMfkJLCp7wnERERERERUTFYGeeK6I19rUxz85oyjU7JiOIY3DpOVSsAUaqfCFP4iIiIiIiIqFTlM83Na5xG5xwzjgpAlOrn9xQ+IiIiIiIiIjvymebmNY7BnWPgqEC0qX5KbSMtP6TwERERERERETnhdJqb1/w8jc7vGDhyid0iW8vam7PmVwL+SeEjIiIiIiKi0sQC0GIcgzvHwJEL9IpsHT12Cvv7B4U/WD+n8BEREREREVHp8UMBaL8GrjgGd46BIxfoFdl6ft/xzP9FP1i/pvARERERERFR6TEqAF2IsacfAldGOAZ3hququcBqMS1WbCciIiIiIiKvFLsANFcuK08MHLmgpips+bms2E5EREREREReMCr0HOuNe779YgeuyBucquYCSZIsP7dUKrb7dV4qERERERERiS1rb8bGHX3Cv23bc8TzMR5XLitPDBy54Mxw0tLzwhJKomK73+elEhERERERUa621ibdwNGZ4WRm7OrVGM/vK5cxQcIZTlVzgdXoqRSynplUTJyXSkREREREVJqsjk+9GOO1tTZhZUdLpg0N9VGs7GjxRXBGSZBQMqKU4FkhpvCVOmYcuUAUVRVJpuSCVbPPB+elEhERERERlSar41PAmzGeX1cuK/aKc6WMgSMXtLU24eixU+h+/TjSMhCSgLQsfm4pBF84L5WIiIiIiKg0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OfPa2uoIhkeSSKlWP6uMhDD/iibs7x8UrqpmNuXt7EgKD3613XbbreyzqJBbTVUYt11nXribiIiIiIhIjxslMfSee3YkhYXzpmXGWLXVEciyjI07+rC9u99WgEa74rXeOElLG6gyWl16/er5pvvKch/kNQaO8mBUkd/K0vLaH7iVQE5jYx2eeeG3mecZMUqRzGdFNL1UyqrK3DRNIiIiIiIiO6yMpZy+BwD0HIhjZUcLANgaE2nHb42NdRgYOJ35v944qbY6gmhFWHecl+/q0m7UgyIywsBRHoxSKPWWVxwcSuAL39krnDamPhEpP0rOgP0AACAASURBVH71ko1trU144dV3HEWx1e+pnromarvZScaLothEREREREQAMLe5Iaesh92SGEbL3Y8m09i4oy+vMZGI3njozHASD3zlmqwxnjq7yc50M22QaG5zA3oOxB0lBBBZxcBRHowCKNofv5pyctL7URtlAz310puOotja99SeIM32Sc2NOwBERERERERasd44eg7kFsGef4W96VjKczfu6NN9Tj5jIhGjcZLZjA8r081E7yGqm5tP8ItIhKuq5cFsVbG21iasXz3fMKCi/KjVHtt9WDeT6f2Tw8L3OTOcxPrV87Fp7aLMso5qVir1G+2TmqhyP4tiExERERFRvvTGLfv7B22/V1trk6Ob2zVVYduvAYzHSUazVayyOqYDOBuE3MXAUR6sBlDMfrTqv8d64zg7Iq7CPziUgE5Q3PSEaOXEYTX409bahJUdLZltNtRHsbKjxbcR7VhvHGs29GDVur1Ys6HH1jKeRERERERUOG6XxdBbrt5IYiztaMxgNE7Kd79ivXFbx4CzQchNnKqWB6tzUc1WP6utjmDNhp5M7SG7rAR89NqgzOu1W0StVCr351MEnIiIiIiICsto3LJq3V5H4xZgfFaH3g16rWRKdjzVS2+clE+5D2VMYxVng5DbGDjKk5UAilFhtkhYwvBIEmeGkwD059nqsXri1KvU7+dMITcYpYT6eb9FKyMsXVBX7GYREREREXlKb+xkVifWSFtrE7Z391sOHCnbMRLrjeOpl2IYODlsaUyWz8ppRlPUKiMhzL+iCfv7B7mqGnmGgaMC0GYmqbN8RkaTtk5gWutXz3fUhqCcUEpxBTi9LKn6uiq0Xjy5yK0jIiIiIvKO3thJzcqNYO2NWLv9f6NM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b6KwMA/NzW1xf3d7GxARkXMZ3cekcjw96y+5oX8nIndi4oiISAdxGLj4RE+c5gXANYkLt68hlA5tQEREzmR0H2Nln+X2/p2InItT1YiIdEiHYeBuX0MoHdqAiIicyeg+xso+y+39OxE5F0ccERHpkA7DwMUnnG6d6pUObUBERM5kdB9jZZ+V2L9zVzUiMgoTR0REOqTLMHA9ayY4Tbq0AREROY/RfYzVfZbaGoFERMngVDUiIh04DNx+bAMiIjKL0X0M+ywiSgcccUREpIPbp3mlA7YBERGZxeg+hn0WEaUDJo6IiHRy8zSvdME2ICIisxjdx7DPIiK341Q1IiIiIiIiIiKSxMQRERERERERERFJYuKIiIiIiIiIiIgkMXFERERERERERESSmDgiIiIiIiIiIiJJTBwREREREREREZEkv90FSEZGhs/uItjKy+fv5XMHvH3+Xj53gOfv5fP30rl76VzdyKvt49Xztgrr11ysX/Oxjs3F+jWXWL9q9ewTBEGwokBEREREREREROQunKpGRERERERERESSmDgiIiIiIiIiIiJJTBwREREREREREZEkJo6IiIiIiIiIiEgSE0dERERERERERCSJiSMiIiIiIiIiIpLExBEREREREREREUli4oiIiIiIiIiIiCQxcURERERERERERJJckziqq6vDjBkzUFlZiT/+8Y92F8dyCxYsQHV1NWbNmoVZs2bh0KFDdhfJdO3t7aipqcGpU6cAAAcOHEBtbS0qKyuxevVqm0tnvsTzv++++1BZWRm9Bnbv3m1zCc3z+OOPo7q6GtXV1Xj00UcBeKf9pc7dS23/m9/8BjNmzEB1dTU2bNgAwDttD0ifv5fan8hpHnnkEdx77712FyPteDGutVp9fT3mzJmDqqoqPPTQQ3YXJ608//zz0Wt31qxZGDt2LH72s5/ZXay0sm3btmg8/Mgjj9hdnLT05JNPYtq0aaitrcVvf/tb9RcILtDU1CRMnjxZOHv2rHD+/HmhtrZWeP/99+0ulmUikYhQUVEh9PT02F0Uy7z99ttCTU2NUFZWJnz66adCMBgUJk6cKHzyySdCT0+PsHjxYuG1116zu5imSTx/QRCEmpoa4cyZMzaXzHwNDQ3CTTfdJHR1dQnd3d3CwoULhbq6Ok+0v9S5v/rqq55p+9dff12YN2+e0NPTIwSDQWHy5MnC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tw7bt2+HIAiIRCKYMGECli1bhs7OTixYsAAA0NHRgTNnzmDo0KEAgOuuuw733HMPenp6MHnyZJSWluL3v/89AODJJ5/EX/7yFwDAJ598gvz8fOTl5QEAHnvsMQwZMsSKUyYiIiJyvCuvvBLDhw9HRkYGfD4fgsEgcnNzsXz5cowcORIvvvgi7rvvPtx5551YunRp9HWCIGDq1KkIBALYvn27jWdARFZi4oiILLdz507s2bMHW7ZsQU5ODrq6urB06VI8/vjj+OEPf4ht27YBAF5//XX8/Oc/j/4s2r17N0pLS/HOO+/gxIkTGDZsGJYsWYIlS5YAABYsWIDvfve7mD59uuXnRkREROQGGzduxKBBg6I/r1+/Hg899BC2bNkCALjkkkvw8ssvxyWO3njjDXR2diIQCFheXiKyD6eqEZHlmpubEQ6H0dnZCQDIzs7GAw88gKlTp2p6/ebNm/Htb38bM2bMwMaNG80sKhEREVHaC4VCOH36NAYMGBD93fDhw9G3b1+8+eab0d+99NJLmDlzph1FJCIbMXFERJa74YYb0L9/f1RUVOCmm27CypUrcfr0aYwaNUr1tR988AHeeustTJ8+HbNnz8a2bdtw9uxZC0pNRERElD4WLVqE2tpaVFRUYNq0aQCAX/ziF3H/R4y1ACAYDOLgwYOYMGGC5WUlInsxcURElsvLy8NTTz2FnTt3Yu7cuWhpacGSJUuwatUq1ddu3rwZkydPRn5+PkaNGoVLL70UW7dutaDUREREROlj48aNqKurw+9+9zt0dnbimmuuQUFBQdz/qa2txe7du9Hd3Y3du3djypQpyMzMtKnERGQXJo6IyHLr1q3Dm2++iZKSEnznO9/BqlWrsG7dOmzatEnxdR0dHdi2bRsOHjyIKVOmYMqUKWhubsazzz6Lnp4ei0pPRERElD7Kyspw33334d5778WpU6fi/lZYWIgRI0bg73//O/785z/jhhtusKmURGQnJo6IyHKdnZ341a9+hXPnzkV/995772HEiBGKr6urq8PAgQOxb98+1NfXo76+Hnv27EFHRwd27dpldrGJiIiI0lJNTQ1GjRrVa6oacGG62oYNG9DW1obhw4fbUDoisht3VSMiU3V0dGDMmDFxv9u8eTN8Ph/mzZsHn8+HSCSCr33ta/j1r3+teKzNmzfj1ltvjRsi3b9/fyxYsABPP/00amtrTTkHIiIionT3wAMPYObMmdi3b1/c76dOnYoHH3wQy5Yts6lkRGQ3nyAIgt2FICIiIiIiIiIi5+FUNSIiIiIiIiIiksTEERERERERERERSWLiiIiIiIiIiIiIJDFxREREREREREREkpg4IiIiIiIiIiIiSUwcERERERERERGRJCaOiIiIiIiIiIhIEhNHREREREREREQk6f8DB/JCQBlla9IAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1440x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(20, 5))\n",
"\n",
"features = ['LSTAT', 'RM']\n",
"target = boston['MEDV']\n",
"\n",
"for i, col in enumerate(features):\n",
" plt.subplot(1, len(features) , i+1)\n",
" x = boston[col]\n",
" y = target\n",
" plt.scatter(x, y, marker='o')\n",
" plt.title(col)\n",
" plt.xlabel(col)\n",
" plt.ylabel('MEDV')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we start training our model"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"X = pd.DataFrame(np.c_[boston['LSTAT'], boston['RM']], columns = ['LSTAT','RM'])\n",
"Y = boston['MEDV']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We split the data into training and test sets"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(404, 2)\n",
"(102, 2)\n",
"(404,)\n",
"(102,)\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"# splits the training and test data set in 80% : 20%\n",
"# assign random_state to any value.This ensures consistency.\n",
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state=5)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"print(Y_train.shape)\n",
"print(Y_test.shape)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then we use the linear regression functionality from **Scikit-Learn**"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The model performance for training set\n",
"--------------------------------------\n",
"RMSE is 5.6371293350711955\n",
"R2 score is 0.6300745149331701\n",
"\n",
"\n",
"The model performance for testing set\n",
"--------------------------------------\n",
"RMSE is 5.137400784702911\n",
"R2 score is 0.6628996975186953\n"
]
}
],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.metrics import mean_squared_error, r2_score\n",
"\n",
"lin_model = LinearRegression()\n",
"lin_model.fit(X_train, Y_train)\n",
"\n",
"# model evaluation for training set\n",
"\n",
"y_train_predict = lin_model.predict(X_train)\n",
"rmse = (np.sqrt(mean_squared_error(Y_train, y_train_predict)))\n",
"r2 = r2_score(Y_train, y_train_predict)\n",
"\n",
"print(\"The model performance for training set\")\n",
"print(\"--------------------------------------\")\n",
"print('RMSE is {}'.format(rmse))\n",
"print('R2 score is {}'.format(r2))\n",
"print(\"\\n\")\n",
"\n",
"# model evaluation for testing set\n",
"\n",
"y_test_predict = lin_model.predict(X_test)\n",
"# root mean square error of the model\n",
"rmse = (np.sqrt(mean_squared_error(Y_test, y_test_predict)))\n",
"\n",
"# r-squared score of the model\n",
"r2 = r2_score(Y_test, y_test_predict)\n",
"\n",
"print(\"The model performance for testing set\")\n",
"print(\"--------------------------------------\")\n",
"print('RMSE is {}'.format(rmse))\n",
"print('R2 score is {}'.format(r2))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 842.4x595.44 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plotting the y_test vs y_pred\n",
"# ideally should have been a straight line\n",
"plt.scatter(Y_test, y_test_predict)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reducing the number of degrees of freedom, overarching view\n",
"\n",
"Many Machine Learning problems involve thousands or even millions of\n",
"features for each training instance. Not only does this make training\n",
"extremely slow, it can also make it much harder to find a good\n",
"solution, as we will see. This problem is often referred to as the\n",
"curse of dimensionality. Fortunately, in real-world problems, it is\n",
"often possible to reduce the number of features considerably, turning\n",
"an intractable problem into a tractable one.\n",
"\n",
"Later we will discuss some of the most popular dimensionality reduction\n",
"techniques: the principal component analysis (PCA), Kernel PCA, and\n",
"Locally Linear Embedding (LLE). \n",
"\n",
"\n",
"Principal component analysis and its various variants deal with the\n",
"problem of fitting a low-dimensional [affine\n",
"subspace](https://en.wikipedia.org/wiki/Affine_space) to a set of of\n",
"data points in a high-dimensional space. With its family of methods it\n",
"is one of the most used tools in data modeling, compression and\n",
"visualization.\n",
"\n",
"\n",
"\n",
"\n",
"## Preprocessing our data\n",
"\n",
"Before we proceed however, we will discuss how to preprocess our\n",
"data. Till now and in connection with our previous examples we have\n",
"not met so many cases where we are too sensitive to the scaling of our\n",
"data. Normally the data may need a rescaling and/or may be sensitive\n",
"to extreme values. Scaling the data renders our inputs much more\n",
"suitable for the algorithms we want to employ.\n",
"\n",
"**Scikit-Learn** has several functions which allow us to rescale the\n",
"data, normally resulting in much better results in terms of various\n",
"accuracy scores. The **StandardScaler** function in **Scikit-Learn**\n",
"ensures that for each feature/predictor we study the mean value is\n",
"zero and the variance is one (every column in the design/feature\n",
"matrix). This scaling has the drawback that it does not ensure that\n",
"we have a particular maximum or minimum in our data set. Another\n",
"function included in **Scikit-Learn** is the **MinMaxScaler** which\n",
"ensures that all features are exactly between $0$ and $1$. The\n",
"\n",
"## More preprocessing\n",
"\n",
"\n",
"The **Normalizer** scales each data\n",
"point such that the feature vector has a euclidean length of one. In other words, it\n",
"projects a data point on the circle (or sphere in the case of higher dimensions) with a\n",
"radius of 1. This means every data point is scaled by a different number (by the\n",
"inverse of its length).\n",
"This normalization is often used when only the direction (or angle) of the data matters,\n",
"not the length of the feature vector.\n",
"\n",
"The **RobustScaler** works similarly to the StandardScaler in that it\n",
"ensures statistical properties for each feature that guarantee that\n",
"they are on the same scale. However, the RobustScaler uses the median\n",
"and quartiles, instead of mean and variance. This makes the\n",
"RobustScaler ignore data points that are very different from the rest\n",
"(like measurement errors). These odd data points are also called\n",
"outliers, and might often lead to trouble for other scaling\n",
"techniques.\n",
"\n",
"\n",
"\n",
"## Simple preprocessing examples, Franke function and regression"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MSE before scaling: 0.00\n",
"R2 score before scaling 0.99\n",
"Feature min values before scaling:\n",
" [1.00000000e+00 5.70647611e-04 2.86109530e-05 3.25638696e-07\n",
" 1.63267720e-08 8.18586633e-10 1.85824944e-10 9.31683343e-12\n",
" 4.67124506e-13 2.34205437e-14 1.06040560e-13 5.31662874e-15\n",
" 2.66563483e-16 1.33648773e-17 6.70084075e-19 6.05117923e-17\n",
" 3.03392149e-18 1.52113815e-19 7.62663530e-21 3.82381876e-22\n",
" 1.91717440e-23]\n",
"Feature max values before scaling:\n",
" [1. 0.99888596 0.99975377 0.99777316 0.99864 0.99950759\n",
" 0.9966616 0.99752748 0.9983941 0.99926148 0.99555128 0.99641619\n",
" 0.99728185 0.99814827 0.99901543 0.9944422 0.99530615 0.99617084\n",
" 0.99703629 0.99790249 0.99876944]\n",
"Feature min values after scaling:\n",
" [ 0. -1.75397908 -1.83893651 -1.13595195 -1.1563748 -1.17802223\n",
" -0.89555231 -0.9052364 -0.91523154 -0.92555908 -0.76154161 -0.76696392\n",
" -0.77251583 -0.77820271 -0.78403036 -0.6735038 -0.67668971 -0.67993767\n",
" -0.68324996 -0.68662897 -0.69007714]\n",
"Feature max values after scaling:\n",
" [0. 1.70542138 1.71231136 2.1970696 2.20495992 2.2124631\n",
" 2.59210628 2.60447702 2.61644742 2.6280031 2.9321519 2.94723175\n",
" 2.96200187 2.97645003 2.99056362 3.23417362 3.25065381 3.26687534\n",
" 3.28282987 3.2985088 3.3139033 ]\n",
"MSE after scaling: 0.00\n",
"R2 score for scaled data: 0.99\n"
]
}
],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import sklearn.linear_model as skl\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import MinMaxScaler, StandardScaler, Normalizer\n",
"\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"\n",
"def FrankeFunction(x,y):\n",
"\tterm1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))\n",
"\tterm2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))\n",
"\tterm3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))\n",
"\tterm4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)\n",
"\treturn term1 + term2 + term3 + term4\n",
"\n",
"\n",
"def create_X(x, y, n ):\n",
"\tif len(x.shape) > 1:\n",
"\t\tx = np.ravel(x)\n",
"\t\ty = np.ravel(y)\n",
"\n",
"\tN = len(x)\n",
"\tl = int((n+1)*(n+2)/2)\t\t# Number of elements in beta\n",
"\tX = np.ones((N,l))\n",
"\n",
"\tfor i in range(1,n+1):\n",
"\t\tq = int((i)*(i+1)/2)\n",
"\t\tfor k in range(i+1):\n",
"\t\t\tX[:,q+k] = (x**(i-k))*(y**k)\n",
"\n",
"\treturn X\n",
"\n",
"\n",
"# Making meshgrid of datapoints and compute Franke's function\n",
"n = 5\n",
"N = 1000\n",
"x = np.sort(np.random.uniform(0, 1, N))\n",
"y = np.sort(np.random.uniform(0, 1, N))\n",
"z = FrankeFunction(x, y)\n",
"X = create_X(x, y, n=n) \n",
"# split in training and test data\n",
"X_train, X_test, y_train, y_test = train_test_split(X,z,test_size=0.2)\n",
"\n",
"\n",
"clf = skl.LinearRegression().fit(X_train, y_train)\n",
"\n",
"# The mean squared error and R2 score\n",
"print(\"MSE before scaling: {:.2f}\".format(mean_squared_error(clf.predict(X_test), y_test)))\n",
"print(\"R2 score before scaling {:.2f}\".format(clf.score(X_test,y_test)))\n",
"\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"\n",
"print(\"Feature min values before scaling:\\n {}\".format(X_train.min(axis=0)))\n",
"print(\"Feature max values before scaling:\\n {}\".format(X_train.max(axis=0)))\n",
"\n",
"print(\"Feature min values after scaling:\\n {}\".format(X_train_scaled.min(axis=0)))\n",
"print(\"Feature max values after scaling:\\n {}\".format(X_train_scaled.max(axis=0)))\n",
"\n",
"clf = skl.LinearRegression().fit(X_train_scaled, y_train)\n",
"\n",
"\n",
"print(\"MSE after scaling: {:.2f}\".format(mean_squared_error(clf.predict(X_test_scaled), y_test)))\n",
"print(\"R2 score for scaled data: {:.2f}\".format(clf.score(X_test_scaled,y_test)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The singular value decomposition\n",
"\n",
"\n",
"The examples we have looked at so far are cases where we normally can\n",
"invert the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$. Using a polynomial expansion as we\n",
"did both for the masses and the fitting of the equation of state,\n",
"leads to row vectors of the design matrix which are essentially\n",
"orthogonal due to the polynomial character of our model. Obtaining the inverse of the design matrix is then often done via a so-called LU, QR or Cholesky decomposition. \n",
"\n",
"\n",
"\n",
"This may\n",
"however not the be case in general and a standard matrix inversion\n",
"algorithm based on say LU, QR or Cholesky decomposition may lead to singularities. We will see examples of this below.\n",
"\n",
"There is however a way to partially circumvent this problem and also gain some insights about the ordinary least squares approach, and later shrinkage methods like Ridge and Lasso regressions. \n",
"\n",
"This is given by the **Singular Value Decomposition** algorithm, perhaps\n",
"the most powerful linear algebra algorithm. Let us look at a\n",
"different example where we may have problems with the standard matrix\n",
"inversion algorithm. Thereafter we dive into the math of the SVD.\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Linear Regression Problems\n",
"\n",
"One of the typical problems we encounter with linear regression, in particular \n",
"when the matrix $\\boldsymbol{X}$ (our so-called design matrix) is high-dimensional, \n",
"are problems with near singular or singular matrices. The column vectors of $\\boldsymbol{X}$ \n",
"may be linearly dependent, normally referred to as super-collinearity. \n",
"This means that the matrix may be rank deficient and it is basically impossible to \n",
"to model the data using linear regression. As an example, consider the matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\mathbf{X} & = \\left[\n",
"\\begin{array}{rrr}\n",
"1 & -1 & 2\n",
"\\\\\n",
"1 & 0 & 1\n",
"\\\\\n",
"1 & 2 & -1\n",
"\\\\\n",
"1 & 1 & 0\n",
"\\end{array} \\right]\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The columns of $\\boldsymbol{X}$ are linearly dependent. We see this easily since the \n",
"the first column is the row-wise sum of the other two columns. The rank (more correct,\n",
"the column rank) of a matrix is the dimension of the space spanned by the\n",
"column vectors. Hence, the rank of $\\mathbf{X}$ is equal to the number\n",
"of linearly independent columns. In this particular case the matrix has rank 2.\n",
"\n",
"Super-collinearity of an $(n \\times p)$-dimensional design matrix $\\mathbf{X}$ implies\n",
"that the inverse of the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ (the matrix we need to invert to solve the linear regression equations) is non-invertible. If we have a square matrix that does not have an inverse, we say this matrix singular. The example here demonstrates this"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\boldsymbol{X} & = \\left[\n",
"\\begin{array}{rr}\n",
"1 & -1\n",
"\\\\\n",
"1 & -1\n",
"\\end{array} \\right].\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see easily that $\\mbox{det}(\\boldsymbol{X}) = x_{11} x_{22} - x_{12} x_{21} = 1 \\times (-1) - 1 \\times (-1) = 0$. Hence, $\\mathbf{X}$ is singular and its inverse is undefined.\n",
"This is equivalent to saying that the matrix $\\boldsymbol{X}$ has at least an eigenvalue which is zero.\n",
"\n",
"\n",
"## Fixing the singularity\n",
"\n",
"If our design matrix $\\boldsymbol{X}$ which enters the linear regression problem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto1\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
"\\boldsymbol{\\beta} = (\\boldsymbol{X}^{T} \\boldsymbol{X})^{-1} \\boldsymbol{X}^{T} \\boldsymbol{y},\n",
"\\label{_auto1} \\tag{1}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"has linearly dependent column vectors, we will not be able to compute the inverse\n",
"of $\\boldsymbol{X}^T\\boldsymbol{X}$ and we cannot find the parameters (estimators) $\\beta_i$. \n",
"The estimators are only well-defined if $(\\boldsymbol{X}^{T}\\boldsymbol{X})^{-1}$ exits. \n",
"This is more likely to happen when the matrix $\\boldsymbol{X}$ is high-dimensional. In this case it is likely to encounter a situation where \n",
"the regression parameters $\\beta_i$ cannot be estimated.\n",
"\n",
"A cheap *ad hoc* approach is simply to add a small diagonal component to the matrix to invert, that is we change"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^{T} \\boldsymbol{X} \\rightarrow \\boldsymbol{X}^{T} \\boldsymbol{X}+\\lambda \\boldsymbol{I},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\boldsymbol{I}$ is the identity matrix. When we discuss **Ridge** regression this is actually what we end up evaluating. The parameter $\\lambda$ is called a hyperparameter. More about this later. \n",
"\n",
"\n",
"\n",
"## Basic math of the SVD\n",
"\n",
"\n",
"From standard linear algebra we know that a square matrix $\\boldsymbol{X}$ can be diagonalized if and only it is \n",
"a so-called [normal matrix](https://en.wikipedia.org/wiki/Normal_matrix), that is if $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times n}$\n",
"we have $\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{X}^T\\boldsymbol{X}$ or if $\\boldsymbol{X}\\in {\\mathbb{C}}^{n\\times n}$ we have $\\boldsymbol{X}\\boldsymbol{X}^{\\dagger}=\\boldsymbol{X}^{\\dagger}\\boldsymbol{X}$.\n",
"The matrix has then a set of eigenpairs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\lambda_1,\\boldsymbol{u}_1),\\dots, (\\lambda_n,\\boldsymbol{u}_n),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and the eigenvalues are given by the diagonal matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\Sigma}=\\mathrm{Diag}(\\lambda_1, \\dots,\\lambda_n).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The matrix $\\boldsymbol{X}$ can be written in terms of an orthogonal/unitary transformation $\\boldsymbol{U}$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $\\boldsymbol{U}\\boldsymbol{U}^T=\\boldsymbol{I}$ or $\\boldsymbol{U}\\boldsymbol{U}^{\\dagger}=\\boldsymbol{I}$.\n",
"\n",
"Not all square matrices are diagonalizable. A matrix like the one discussed above"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X} = \\begin{bmatrix} \n",
"1& -1 \\\\\n",
"1& -1\\\\\n",
"\\end{bmatrix}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"is not diagonalizable, it is a so-called [defective matrix](https://en.wikipedia.org/wiki/Defective_matrix). It is easy to see that the condition\n",
"$\\boldsymbol{X}\\boldsymbol{X}^T=\\boldsymbol{X}^T\\boldsymbol{X}$ is not fulfilled. \n",
"\n",
"\n",
"## The SVD, a Fantastic Algorithm\n",
"\n",
"\n",
"However, and this is the strength of the SVD algorithm, any general\n",
"matrix $\\boldsymbol{X}$ can be decomposed in terms of a diagonal matrix and\n",
"two orthogonal/unitary matrices. The [Singular Value Decompostion\n",
"(SVD) theorem](https://en.wikipedia.org/wiki/Singular_value_decomposition)\n",
"states that a general $m\\times n$ matrix $\\boldsymbol{X}$ can be written in\n",
"terms of a diagonal matrix $\\boldsymbol{\\Sigma}$ of dimensionality $m\\times n$\n",
"and two orthognal matrices $\\boldsymbol{U}$ and $\\boldsymbol{V}$, where the first has\n",
"dimensionality $m \\times m$ and the last dimensionality $n\\times n$.\n",
"We have then"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As an example, the above defective matrix can be decomposed as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X} = \\frac{1}{\\sqrt{2}}\\begin{bmatrix} 1& 1 \\\\ 1& -1\\\\ \\end{bmatrix} \\begin{bmatrix} 2& 0 \\\\ 0& 0\\\\ \\end{bmatrix} \\frac{1}{\\sqrt{2}}\\begin{bmatrix} 1& -1 \\\\ 1& 1\\\\ \\end{bmatrix}=\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with eigenvalues $\\sigma_1=2$ and $\\sigma_2=0$. \n",
"The SVD exits always! \n",
"\n",
"The SVD\n",
"decomposition (singular values) gives eigenvalues \n",
"$\\sigma_i\\geq\\sigma_{i+1}$ for all $i$ and for dimensions larger than $i=p$, the\n",
"eigenvalues (singular values) are zero.\n",
"\n",
"In the general case, where our design matrix $\\boldsymbol{X}$ has dimension\n",
"$n\\times p$, the matrix is thus decomposed into an $n\\times n$\n",
"orthogonal matrix $\\boldsymbol{U}$, a $p\\times p$ orthogonal matrix $\\boldsymbol{V}$\n",
"and a diagonal matrix $\\boldsymbol{\\Sigma}$ with $r=\\mathrm{min}(n,p)$\n",
"singular values $\\sigma_i\\geq 0$ on the main diagonal and zeros filling\n",
"the rest of the matrix. There are at most $p$ singular values\n",
"assuming that $n > p$. In our regression examples for the nuclear\n",
"masses and the equation of state this is indeed the case, while for\n",
"the Ising model we have $p > n$. These are often cases that lead to\n",
"near singular or singular matrices.\n",
"\n",
"The columns of $\\boldsymbol{U}$ are called the left singular vectors while the columns of $\\boldsymbol{V}$ are the right singular vectors.\n",
"\n",
"## Economy-size SVD\n",
"\n",
"If we assume that $n > p$, then our matrix $\\boldsymbol{U}$ has dimension $n\n",
"\\times n$. The last $n-p$ columns of $\\boldsymbol{U}$ become however\n",
"irrelevant in our calculations since they are multiplied with the\n",
"zeros in $\\boldsymbol{\\Sigma}$.\n",
"\n",
"The economy-size decomposition removes extra rows or columns of zeros\n",
"from the diagonal matrix of singular values, $\\boldsymbol{\\Sigma}$, along with the columns\n",
"in either $\\boldsymbol{U}$ or $\\boldsymbol{V}$ that multiply those zeros in the expression. \n",
"Removing these zeros and columns can improve execution time\n",
"and reduce storage requirements without compromising the accuracy of\n",
"the decomposition.\n",
"\n",
"If $n > p$, we keep only the first $p$ columns of $\\boldsymbol{U}$ and $\\boldsymbol{\\Sigma}$ has dimension $p\\times p$. \n",
"If $p > n$, then only the first $n$ columns of $\\boldsymbol{V}$ are computed and $\\boldsymbol{\\Sigma}$ has dimension $n\\times n$.\n",
"The $n=p$ case is obvious, we retain the full SVD. \n",
"In general the economy-size SVD leads to less FLOPS and still conserving the desired accuracy.\n",
"\n",
"## Codes for the SVD"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 1. -1. 2.]\n",
" [ 1. 0. 1.]\n",
" [ 1. 2. -1.]\n",
" [ 1. 1. 0.]]\n",
"[[ 4. 2. 2.]\n",
" [ 2. 6. -4.]\n",
" [ 2. -4. 6.]]\n",
"[[-1.96889890e-16 8.16496581e-01 -5.77350269e-01]\n",
" [-7.07106781e-01 4.08248290e-01 5.77350269e-01]\n",
" [ 7.07106781e-01 4.08248290e-01 5.77350269e-01]]\n",
"[1.00000000e+01 6.00000000e+00 2.38805416e-31]\n",
"[[-5.76324444e-17 -7.07106781e-01 7.07106781e-01]\n",
" [ 8.16496581e-01 4.08248290e-01 4.08248290e-01]\n",
" [-5.77350269e-01 5.77350269e-01 5.77350269e-01]]\n",
"[[ 1.39583657e+30 -1.39583657e+30 -1.39583657e+30]\n",
" [-1.39583657e+30 1.39583657e+30 1.39583657e+30]\n",
" [-1.39583657e+30 1.39583657e+30 1.39583657e+30]]\n"
]
}
],
"source": [
"import numpy as np\n",
"# SVD inversion\n",
"def SVDinv(A):\n",
" ''' Takes as input a numpy matrix A and returns inv(A) based on singular value decomposition (SVD).\n",
" SVD is numerically more stable than the inversion algorithms provided by\n",
" numpy and scipy.linalg at the cost of being slower.\n",
" '''\n",
" U, s, VT = np.linalg.svd(A)\n",
"# print('test U')\n",
"# print( (np.transpose(U) @ U - U @np.transpose(U)))\n",
"# print('test VT')\n",
"# print( (np.transpose(VT) @ VT - VT @np.transpose(VT)))\n",
" print(U)\n",
" print(s)\n",
" print(VT)\n",
"\n",
" D = np.zeros((len(U),len(VT)))\n",
" for i in range(0,len(VT)):\n",
" D[i,i]=s[i]\n",
" UT = np.transpose(U); V = np.transpose(VT); invD = np.linalg.inv(D)\n",
" return np.matmul(V,np.matmul(invD,UT))\n",
"\n",
"\n",
"X = np.array([ [1.0, -1.0, 2.0], [1.0, 0.0, 1.0], [1.0, 2.0, -1.0], [1.0, 1.0, 0.0] ])\n",
"print(X)\n",
"A = np.transpose(X) @ X\n",
"print(A)\n",
"# Brute force inversion of super-collinear matrix\n",
"#B = np.linalg.inv(A)\n",
"#print(B)\n",
"C = SVDinv(A)\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The matrix $\\boldsymbol{X}$ has columns that are linearly dependent. The first\n",
"column is the row-wise sum of the other two columns. The rank of a\n",
"matrix (the column rank) is the dimension of space spanned by the\n",
"column vectors. The rank of the matrix is the number of linearly\n",
"independent columns, in this case just $2$. We see this from the\n",
"singular values when running the above code. Running the standard\n",
"inversion algorithm for matrix inversion with $\\boldsymbol{X}^T\\boldsymbol{X}$ results\n",
"in the program terminating due to a singular matrix.\n",
"\n",
"\n",
"\n",
"## Mathematical Properties\n",
"\n",
"There are several interesting mathematical properties which will be\n",
"relevant when we are going to discuss the differences between say\n",
"ordinary least squares (OLS) and **Ridge** regression.\n",
"\n",
"We have from OLS that the parameters of the linear approximation are given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{y}} = \\boldsymbol{X}\\boldsymbol{\\beta} = \\boldsymbol{X}\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The matrix to invert can be rewritten in terms of our SVD decomposition as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X} = \\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{U}^T\\boldsymbol{U}\\boldsymbol{\\Sigma}\\boldsymbol{V}^T.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using the orthogonality properties of $\\boldsymbol{U}$ we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X} = \\boldsymbol{V}\\boldsymbol{\\Sigma}^T\\boldsymbol{\\Sigma}\\boldsymbol{V}^T = \\boldsymbol{V}\\boldsymbol{D}\\boldsymbol{V}^T,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $\\boldsymbol{D}$ being a diagonal matrix with values along the diagonal given by the singular values squared. \n",
"\n",
"This means that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\boldsymbol{X}^T\\boldsymbol{X})\\boldsymbol{V} = \\boldsymbol{V}\\boldsymbol{D},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"that is the eigenvectors of $(\\boldsymbol{X}^T\\boldsymbol{X})$ are given by the columns of the right singular matrix of $\\boldsymbol{X}$ and the eigenvalues are the squared singular values. It is easy to show (show this) that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\boldsymbol{X}\\boldsymbol{X}^T)\\boldsymbol{U} = \\boldsymbol{U}\\boldsymbol{D},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"that is, the eigenvectors of $(\\boldsymbol{X}\\boldsymbol{X})^T$ are the columns of the left singular matrix and the eigenvalues are the same. \n",
"\n",
"Going back to our OLS equation we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}\\boldsymbol{\\beta} = \\boldsymbol{X}\\left(\\boldsymbol{V}\\boldsymbol{D}\\boldsymbol{V}^T \\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}=\\boldsymbol{U\\Sigma V^T}\\left(\\boldsymbol{V}\\boldsymbol{D}\\boldsymbol{V}^T \\right)^{-1}(\\boldsymbol{U\\Sigma V^T})^T\\boldsymbol{y}=\\boldsymbol{U}\\boldsymbol{U}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will come back to this expression when we discuss Ridge regression. \n",
"\n",
"\n",
"## Ridge and LASSO Regression\n",
"\n",
"Let us remind ourselves about the expression for the standard Mean Squared Error (MSE) which we used to define our cost function and the equations for the ordinary least squares (OLS) method, that is \n",
"our optimization problem is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p}}}\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or we can state it as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have used the definition of a norm-2 vector, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\vert\\vert \\boldsymbol{x}\\vert\\vert_2 = \\sqrt{\\sum_i x_i^2}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By minimizing the above equation with respect to the parameters\n",
"$\\boldsymbol{\\beta}$ we could then obtain an analytical expression for the\n",
"parameters $\\boldsymbol{\\beta}$. We can add a regularization parameter $\\lambda$ by\n",
"defining a new cost function to be optimized, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to the Ridge regression minimization problem where we\n",
"require that $\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_2^2\\le t$, where $t$ is\n",
"a finite number larger than zero. By defining"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we have a new optimization equation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n",
"{\\mathbb{R}}^{p}}}\\frac{1}{n}\\vert\\vert \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\vert\\vert_2^2+\\lambda\\vert\\vert \\boldsymbol{\\beta}\\vert\\vert_1\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to Lasso regression. Lasso stands for least absolute shrinkage and selection operator. \n",
"\n",
"Here we have defined the norm-1 as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\vert\\vert \\boldsymbol{x}\\vert\\vert_1 = \\sum_i \\vert x_i\\vert.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## More on Ridge Regression\n",
"\n",
"Using the matrix-vector expression for Ridge regression,"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})^T(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta})\\right\\}+\\lambda\\boldsymbol{\\beta}^T\\boldsymbol{\\beta},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"by taking the derivatives with respect to $\\boldsymbol{\\beta}$ we obtain then\n",
"a slightly modified matrix inversion problem which for finite values\n",
"of $\\lambda$ does not suffer from singularity problems. We obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{Ridge}} = \\left(\\boldsymbol{X}^T\\boldsymbol{X}+\\lambda\\boldsymbol{I}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $\\boldsymbol{I}$ being a $p\\times p$ identity matrix with the constraint that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\sum_{i=0}^{p-1} \\beta_i^2 \\leq t,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $t$ a finite positive number. \n",
"\n",
"We see that Ridge regression is nothing but the standard\n",
"OLS with a modified diagonal term added to $\\boldsymbol{X}^T\\boldsymbol{X}$. The\n",
"consequences, in particular for our discussion of the bias-variance tradeoff \n",
"are rather interesting.\n",
"\n",
"Furthermore, if we use the result above in terms of the SVD decomposition (our analysis was done for the OLS method), we had"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\boldsymbol{X}\\boldsymbol{X}^T)\\boldsymbol{U} = \\boldsymbol{U}\\boldsymbol{D}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can analyse the OLS solutions in terms of the eigenvectors (the columns) of the right singular value matrix $\\boldsymbol{U}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}\\boldsymbol{\\beta} = \\boldsymbol{X}\\left(\\boldsymbol{V}\\boldsymbol{D}\\boldsymbol{V}^T \\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}=\\boldsymbol{U\\Sigma V^T}\\left(\\boldsymbol{V}\\boldsymbol{D}\\boldsymbol{V}^T \\right)^{-1}(\\boldsymbol{U\\Sigma V^T})^T\\boldsymbol{y}=\\boldsymbol{U}\\boldsymbol{U}^T\\boldsymbol{y}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For Ridge regression this becomes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}\\boldsymbol{\\beta}^{\\mathrm{Ridge}} = \\boldsymbol{U\\Sigma V^T}\\left(\\boldsymbol{V}\\boldsymbol{D}\\boldsymbol{V}^T+\\lambda\\boldsymbol{I} \\right)^{-1}(\\boldsymbol{U\\Sigma V^T})^T\\boldsymbol{y}=\\sum_{j=0}^{p-1}\\boldsymbol{u}_j\\boldsymbol{u}_j^T\\frac{\\sigma_j^2}{\\sigma_j^2+\\lambda}\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with the vectors $\\boldsymbol{u}_j$ being the columns of $\\boldsymbol{U}$. \n",
"\n",
"## Interpreting the Ridge results\n",
"\n",
"Since $\\lambda \\geq 0$, it means that compared to OLS, we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\sigma_j^2}{\\sigma_j^2+\\lambda} \\leq 1.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ridge regression finds the coordinates of $\\boldsymbol{y}$ with respect to the\n",
"orthonormal basis $\\boldsymbol{U}$, it then shrinks the coordinates by\n",
"$\\frac{\\sigma_j^2}{\\sigma_j^2+\\lambda}$. Recall that the SVD has\n",
"eigenvalues ordered in a descending way, that is $\\sigma_i \\geq\n",
"\\sigma_{i+1}$.\n",
"\n",
"For small eigenvalues $\\sigma_i$ it means that their contributions become less important, a fact which can be used to reduce the number of degrees of freedom.\n",
"Actually, calculating the variance of $\\boldsymbol{X}\\boldsymbol{v}_j$ shows that this quantity is equal to $\\sigma_j^2/n$.\n",
"With a parameter $\\lambda$ we can thus shrink the role of specific parameters. \n",
"\n",
"\n",
"## More interpretations\n",
"\n",
"For the sake of simplicity, let us assume that the design matrix is orthonormal, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^T\\boldsymbol{X}=(\\boldsymbol{X}^T\\boldsymbol{X})^{-1} =\\boldsymbol{I}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this case the standard OLS results in"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{OLS}} = \\boldsymbol{X}^T\\boldsymbol{y}=\\sum_{i=0}^{p-1}\\boldsymbol{u}_j\\boldsymbol{u}_j^T\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta}^{\\mathrm{Ridge}} = \\left(\\boldsymbol{I}+\\lambda\\boldsymbol{I}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}=\\left(1+\\lambda\\right)^{-1}\\boldsymbol{\\beta}^{\\mathrm{OLS}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"that is the Ridge estimator scales the OLS estimator by the inverse of a factor $1+\\lambda$, and\n",
"the Ridge estimator converges to zero when the hyperparameter goes to\n",
"infinity.\n",
"\n",
"We will come back to more interpreations after we have gone through some of the statistical analysis part. \n",
"\n",
"For more discussions of Ridge and Lasso regression, [Wessel van Wieringen's](https://arxiv.org/abs/1509.09169) article is highly recommended.\n",
"Similarly, [Mehta et al's article](https://arxiv.org/abs/1803.08823) is also recommended.\n",
"\n",
"\n",
"<!-- !split -->\n",
"## A better understanding of regularization\n",
"\n",
"The parameter $\\lambda$ that we have introduced in the Ridge (and\n",
"Lasso as well) regression is often called a regularization parameter\n",
"or shrinkage parameter. It is common to call it a hyperparameter. What does it mean mathemtically?\n",
"\n",
"Here we will first look at how to analyze the difference between the\n",
"standard OLS equations and the Ridge expressions in terms of a linear\n",
"algebra analysis using the SVD algorithm. Thereafter, we will link\n",
"(see the material on the bias-variance tradeoff below) these\n",
"observation to the statisical analysis of the results. In particular\n",
"we consider how the variance of the parameters $\\boldsymbol{\\beta}$ is\n",
"affected by changing the parameter $\\lambda$.\n",
"\n",
"## Decomposing the OLS and Ridge expressions\n",
"\n",
"We have our design matrix\n",
" $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$. With the SVD we decompose it as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X} = \\boldsymbol{U\\Sigma V^T},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $\\boldsymbol{U}\\in {\\mathbb{R}}^{n\\times n}$, $\\boldsymbol{\\Sigma}\\in {\\mathbb{R}}^{n\\times p}$\n",
"and $\\boldsymbol{V}\\in {\\mathbb{R}}^{p\\times p}$.\n",
"\n",
"The matrices $\\boldsymbol{U}$ and $\\boldsymbol{V}$ are unitary/orthonormal matrices, that is in case the matrices are real we have $\\boldsymbol{U}^T\\boldsymbol{U}=\\boldsymbol{U}\\boldsymbol{U}^T=\\boldsymbol{I}$ and $\\boldsymbol{V}^T\\boldsymbol{V}=\\boldsymbol{V}\\boldsymbol{V}^T=\\boldsymbol{I}$.\n",
"\n",
"\n",
"\n",
"## Introducing the Covariance and Correlation functions\n",
"\n",
"Before we discuss the link between for example Ridge regression and the singular value decomposition, we need to remind ourselves about\n",
"the definition of the covariance and the correlation function. These are quantities \n",
"\n",
"Suppose we have defined two vectors\n",
"$\\hat{x}$ and $\\hat{y}$ with $n$ elements each. The covariance matrix $\\boldsymbol{C}$ is defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n",
" \\mathrm{cov}[\\boldsymbol{y},\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{y},\\boldsymbol{y}] \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where for example"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] =\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})(y_i- \\overline{y}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With this definition and recalling that the variance is defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{var}[\\boldsymbol{x}]=\\frac{1}{n} \\sum_{i=0}^{n-1}(x_i- \\overline{x})^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can rewrite the covariance matrix as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} \\mathrm{var}[\\boldsymbol{x}] & \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n",
" \\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}] & \\mathrm{var}[\\boldsymbol{y}] \\\\\n",
" \\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The covariance takes values between zero and infinity and may thus\n",
"lead to problems with loss of numerical precision for particularly\n",
"large values. It is common to scale the covariance matrix by\n",
"introducing instead the correlation matrix defined via the so-called\n",
"correlation function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}]=\\frac{\\mathrm{cov}[\\boldsymbol{x},\\boldsymbol{y}]}{\\sqrt{\\mathrm{var}[\\boldsymbol{x}] \\mathrm{var}[\\boldsymbol{y}]}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The correlation function is then given by values $\\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}]\n",
"\\in [-1,1]$. This avoids eventual problems with too large values. We\n",
"can then define the correlation matrix for the two vectors $\\boldsymbol{x}$\n",
"and $\\boldsymbol{y}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{K}[\\boldsymbol{x},\\boldsymbol{y}] = \\begin{bmatrix} 1 & \\mathrm{corr}[\\boldsymbol{x},\\boldsymbol{y}] \\\\\n",
" \\mathrm{corr}[\\boldsymbol{y},\\boldsymbol{x}] & 1 \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the above example this is the function we constructed using **pandas**.\n",
"\n",
"## Correlation Function and Design/Feature Matrix\n",
"\n",
"In our derivation of the various regression algorithms like **Ordinary Least Squares** or **Ridge regression**\n",
"we defined the design/feature matrix $\\boldsymbol{X}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix}\n",
"x_{0,0} & x_{0,1} & x_{0,2}& \\dots & \\dots x_{0,p-1}\\\\\n",
"x_{1,0} & x_{1,1} & x_{1,2}& \\dots & \\dots x_{1,p-1}\\\\\n",
"x_{2,0} & x_{2,1} & x_{2,2}& \\dots & \\dots x_{2,p-1}\\\\\n",
"\\dots & \\dots & \\dots & \\dots \\dots & \\dots \\\\\n",
"x_{n-2,0} & x_{n-2,1} & x_{n-2,2}& \\dots & \\dots x_{n-2,p-1}\\\\\n",
"x_{n-1,0} & x_{n-1,1} & x_{n-1,2}& \\dots & \\dots x_{n-1,p-1}\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$, with the predictors/features $p$ refering to the column numbers and the\n",
"entries $n$ being the row elements.\n",
"We can rewrite the design/feature matrix in terms of its column vectors as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix} \\boldsymbol{x}_0 & \\boldsymbol{x}_1 & \\boldsymbol{x}_2 & \\dots & \\dots & \\boldsymbol{x}_{p-1}\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with a given vector"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{x}_i^T = \\begin{bmatrix}x_{0,i} & x_{1,i} & x_{2,i}& \\dots & \\dots x_{n-1,i}\\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With these definitions, we can now rewrite our $2\\times 2$\n",
"correaltion/covariance matrix in terms of a moe general design/feature\n",
"matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$. This leads to a $p\\times p$\n",
"covariance matrix for the vectors $\\boldsymbol{x}_i$ with $i=0,1,\\dots,p-1$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x}] = \\begin{bmatrix}\n",
"\\mathrm{var}[\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_0] & \\mathrm{var}[\\boldsymbol{x}_1] & \\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{cov}[\\boldsymbol{x}_2,\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_2,\\boldsymbol{x}_1] & \\mathrm{var}[\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{cov}[\\boldsymbol{x}_2,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\mathrm{cov}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_1] & \\mathrm{cov}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_{2}] & \\dots & \\dots & \\mathrm{var}[\\boldsymbol{x}_{p-1}]\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and the correlation matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{K}[\\boldsymbol{x}] = \\begin{bmatrix}\n",
"1 & \\mathrm{corr}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] & \\mathrm{corr}[\\boldsymbol{x}_0,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{corr}[\\boldsymbol{x}_0,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{corr}[\\boldsymbol{x}_1,\\boldsymbol{x}_0] & 1 & \\mathrm{corr}[\\boldsymbol{x}_1,\\boldsymbol{x}_2] & \\dots & \\dots & \\mathrm{corr}[\\boldsymbol{x}_1,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\mathrm{corr}[\\boldsymbol{x}_2,\\boldsymbol{x}_0] & \\mathrm{corr}[\\boldsymbol{x}_2,\\boldsymbol{x}_1] & 1 & \\dots & \\dots & \\mathrm{corr}[\\boldsymbol{x}_2,\\boldsymbol{x}_{p-1}]\\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\dots & \\dots & \\dots & \\dots & \\dots & \\dots \\\\\n",
"\\mathrm{corr}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_0] & \\mathrm{corr}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_1] & \\mathrm{corr}[\\boldsymbol{x}_{p-1},\\boldsymbol{x}_{2}] & \\dots & \\dots & 1\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Covariance Matrix Examples\n",
"\n",
"\n",
"The Numpy function **np.cov** calculates the covariance elements using\n",
"the factor $1/(n-1)$ instead of $1/n$ since it assumes we do not have\n",
"the exact mean values. The following simple function uses the\n",
"**np.vstack** function which takes each vector of dimension $1\\times n$\n",
"and produces a $2\\times n$ matrix $\\boldsymbol{W}$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{W} = \\begin{bmatrix} x_0 & y_0 \\\\\n",
" x_1 & y_1 \\\\\n",
" x_2 & y_2\\\\\n",
" \\dots & \\dots \\\\\n",
" x_{n-2} & y_{n-2}\\\\\n",
" x_{n-1} & y_{n-1} & \n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which in turn is converted into into the $2\\times 2$ covariance matrix\n",
"$\\boldsymbol{C}$ via the Numpy function **np.cov()**. We note that we can also calculate\n",
"the mean value of each set of samples $\\boldsymbol{x}$ etc using the Numpy\n",
"function **np.mean(x)**. We can also extract the eigenvalues of the\n",
"covariance matrix through the **np.linalg.eig()** function."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-0.0735582043568682\n",
"3.7149125577492423\n",
"[[0.83993344 2.70399972]\n",
" [2.70399972 9.43403589]]\n"
]
}
],
"source": [
"# Importing various packages\n",
"import numpy as np\n",
"n = 100\n",
"x = np.random.normal(size=n)\n",
"print(np.mean(x))\n",
"y = 4+3*x+np.random.normal(size=n)\n",
"print(np.mean(y))\n",
"W = np.vstack((x, y))\n",
"C = np.cov(W)\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Correlation Matrix\n",
"\n",
"The previous example can be converted into the correlation matrix by\n",
"simply scaling the matrix elements with the variances. We should also\n",
"subtract the mean values for each column. This leads to the following\n",
"code which sets up the correlations matrix for the previous example in\n",
"a more brute force way. Here we scale the mean values for each column of the design matrix, calculate the relevant mean values and variances and then finally set up the $2\\times 2$ correlation matrix (since we have only two vectors)."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.07408034549174136\n",
"1.227878920600447\n",
"[[1. 0.56471431]\n",
" [0.56471431 1. ]]\n"
]
}
],
"source": [
"import numpy as np\n",
"n = 100\n",
"# define two vectors \n",
"x = np.random.random(size=n)\n",
"y = 4+3*x+np.random.normal(size=n)\n",
"#scaling the x and y vectors \n",
"x = x - np.mean(x)\n",
"y = y - np.mean(y)\n",
"variance_x = np.sum(x@x)/n\n",
"variance_y = np.sum(y@y)/n\n",
"print(variance_x)\n",
"print(variance_y)\n",
"cov_xy = np.sum(x@y)/n\n",
"cov_xx = np.sum(x@x)/n\n",
"cov_yy = np.sum(y@y)/n\n",
"C = np.zeros((2,2))\n",
"C[0,0]= cov_xx/variance_x\n",
"C[1,1]= cov_yy/variance_y\n",
"C[0,1]= cov_xy/np.sqrt(variance_y*variance_x)\n",
"C[1,0]= C[0,1]\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that the matrix elements along the diagonal are one as they\n",
"should be and that the matrix is symmetric. Furthermore, diagonalizing\n",
"this matrix we easily see that it is a positive definite matrix.\n",
"\n",
"The above procedure with **numpy** can be made more compact if we use **pandas**.\n",
"\n",
"## Correlation Matrix with Pandas\n",
"\n",
"We whow here how we can set up the correlation matrix using **pandas**, as done in this simple code"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 1.07759721 4.53322612]\n",
" [-0.00649067 -1.36010021]\n",
" [-0.85832442 -3.75508933]\n",
" [-0.37345884 -1.18878828]\n",
" [ 0.57144364 1.84634906]\n",
" [-1.38212043 -4.65301078]\n",
" [-0.65245525 -1.6006181 ]\n",
" [ 1.83103728 6.43606823]\n",
" [-0.7874819 -1.38076019]\n",
" [ 0.58025338 1.12272347]]\n",
" 0 1\n",
"0 1.077597 4.533226\n",
"1 -0.006491 -1.360100\n",
"2 -0.858324 -3.755089\n",
"3 -0.373459 -1.188788\n",
"4 0.571444 1.846349\n",
"5 -1.382120 -4.653011\n",
"6 -0.652455 -1.600618\n",
"7 1.831037 6.436068\n",
"8 -0.787482 -1.380760\n",
"9 0.580253 1.122723\n",
" 0 1\n",
"0 1.000000 0.971936\n",
"1 0.971936 1.000000\n"
]
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"n = 10\n",
"x = np.random.normal(size=n)\n",
"x = x - np.mean(x)\n",
"y = 4+3*x+np.random.normal(size=n)\n",
"y = y - np.mean(y)\n",
"X = (np.vstack((x, y))).T\n",
"print(X)\n",
"Xpd = pd.DataFrame(X)\n",
"print(Xpd)\n",
"correlation_matrix = Xpd.corr()\n",
"print(correlation_matrix)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We expand this model to the Franke function discussed above.\n",
"\n",
"## Correlation Matrix with Pandas and the Franke function"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0 1 2 3 4 5 6 7 \\\n",
"0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.0 0.084667 0.085622 0.084600 0.084265 0.083876 0.075986 0.075499 \n",
"2 0.0 0.085622 0.088547 0.088431 0.089114 0.089546 0.081167 0.081248 \n",
"3 0.0 0.084600 0.088431 0.089974 0.091151 0.092025 0.084268 0.084657 \n",
"4 0.0 0.084265 0.089114 0.091151 0.092931 0.094306 0.086374 0.087133 \n",
"5 0.0 0.083876 0.089546 0.092025 0.094306 0.096103 0.088060 0.089134 \n",
"6 0.0 0.075986 0.081167 0.084268 0.086374 0.088060 0.081340 0.082355 \n",
"7 0.0 0.075499 0.081248 0.084657 0.087133 0.089134 0.082355 0.083612 \n",
"8 0.0 0.075062 0.081279 0.084969 0.087758 0.090029 0.083217 0.084683 \n",
"9 0.0 0.074679 0.081285 0.085233 0.088289 0.090794 0.083968 0.085617 \n",
"10 0.0 0.067442 0.073098 0.077082 0.079656 0.081772 0.076102 0.077480 \n",
"11 0.0 0.067096 0.073089 0.077282 0.080091 0.082412 0.076723 0.078263 \n",
"12 0.0 0.066811 0.073089 0.077476 0.080488 0.082988 0.077292 0.078974 \n",
"13 0.0 0.066586 0.073106 0.077674 0.080864 0.083521 0.077826 0.079634 \n",
"14 0.0 0.066416 0.073146 0.077885 0.081231 0.084028 0.078339 0.080260 \n",
"\n",
" 8 9 10 11 12 13 14 \n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.075062 0.074679 0.067442 0.067096 0.066811 0.066586 0.066416 \n",
"2 0.081279 0.081285 0.073098 0.073089 0.073089 0.073106 0.073146 \n",
"3 0.084969 0.085233 0.077082 0.077282 0.077476 0.077674 0.077885 \n",
"4 0.087758 0.088289 0.079656 0.080091 0.080488 0.080864 0.081231 \n",
"5 0.090029 0.090794 0.081772 0.082412 0.082988 0.083521 0.084028 \n",
"6 0.083217 0.083968 0.076102 0.076723 0.077292 0.077826 0.078339 \n",
"7 0.084683 0.085617 0.077480 0.078263 0.078974 0.079634 0.080260 \n",
"8 0.085937 0.087033 0.078670 0.079596 0.080434 0.081207 0.081935 \n",
"9 0.087033 0.088272 0.079721 0.080773 0.081724 0.082600 0.083420 \n",
"10 0.078670 0.079721 0.072443 0.073326 0.074132 0.074882 0.075591 \n",
"11 0.079596 0.080773 0.073326 0.074322 0.075229 0.076069 0.076860 \n",
"12 0.080434 0.081724 0.074132 0.075229 0.076226 0.077148 0.078014 \n",
"13 0.081207 0.082600 0.074882 0.076069 0.077148 0.078145 0.079080 \n",
"14 0.081935 0.083420 0.075591 0.076860 0.078014 0.079080 0.080079 \n"
]
}
],
"source": [
"# Common imports\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"\n",
"def FrankeFunction(x,y):\n",
"\tterm1 = 0.75*np.exp(-(0.25*(9*x-2)**2) - 0.25*((9*y-2)**2))\n",
"\tterm2 = 0.75*np.exp(-((9*x+1)**2)/49.0 - 0.1*(9*y+1))\n",
"\tterm3 = 0.5*np.exp(-(9*x-7)**2/4.0 - 0.25*((9*y-3)**2))\n",
"\tterm4 = -0.2*np.exp(-(9*x-4)**2 - (9*y-7)**2)\n",
"\treturn term1 + term2 + term3 + term4\n",
"\n",
"\n",
"def create_X(x, y, n ):\n",
"\tif len(x.shape) > 1:\n",
"\t\tx = np.ravel(x)\n",
"\t\ty = np.ravel(y)\n",
"\n",
"\tN = len(x)\n",
"\tl = int((n+1)*(n+2)/2)\t\t# Number of elements in beta\n",
"\tX = np.ones((N,l))\n",
"\n",
"\tfor i in range(1,n+1):\n",
"\t\tq = int((i)*(i+1)/2)\n",
"\t\tfor k in range(i+1):\n",
"\t\t\tX[:,q+k] = (x**(i-k))*(y**k)\n",
"\n",
"\treturn X\n",
"\n",
"\n",
"# Making meshgrid of datapoints and compute Franke's function\n",
"n = 4\n",
"N = 100\n",
"x = np.sort(np.random.uniform(0, 1, N))\n",
"y = np.sort(np.random.uniform(0, 1, N))\n",
"z = FrankeFunction(x, y)\n",
"X = create_X(x, y, n=n) \n",
"\n",
"Xpd = pd.DataFrame(X)\n",
"# subtract the mean values and set up the covariance matrix\n",
"Xpd = Xpd - Xpd.mean()\n",
"covariance_matrix = Xpd.cov()\n",
"print(covariance_matrix)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We note here that the covariance is zero for the first rows and\n",
"columns since all matrix elements in the design matrix were set to one\n",
"(we are fitting the function in terms of a polynomial of degree $n$).\n",
"\n",
"This means that the variance for these elements will be zero and will\n",
"cause problems when we set up the correlation matrix. We can simply\n",
"drop these elements and construct a correlation\n",
"matrix without these elements. \n",
"\n",
"\n",
"## Rewriting the Covariance and/or Correlation Matrix\n",
"\n",
"We can rewrite the covariance matrix in a more compact form in terms of the design/feature matrix $\\boldsymbol{X}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}= \\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}].\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To see this let us simply look at a design matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{2\\times 2}$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}=\\begin{bmatrix}\n",
"x_{00} & x_{01}\\\\\n",
"x_{10} & x_{11}\\\\\n",
"\\end{bmatrix}=\\begin{bmatrix}\n",
"\\boldsymbol{x}_{0} & \\boldsymbol{x}_{1}\\\\\n",
"\\end{bmatrix}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we then compute the expectation value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}[\\boldsymbol{X}^T\\boldsymbol{X}] = \\frac{1}{n}\\boldsymbol{X}^T\\boldsymbol{X}=\\begin{bmatrix}\n",
"x_{00}^2+x_{01}^2 & x_{00}x_{10}+x_{01}x_{11}\\\\\n",
"x_{10}x_{00}+x_{11}x_{01} & x_{10}^2+x_{11}^2\\\\\n",
"\\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which is just"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{C}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] = \\boldsymbol{C}[\\boldsymbol{x}]=\\begin{bmatrix} \\mathrm{var}[\\boldsymbol{x}_0] & \\mathrm{cov}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] \\\\\n",
" \\mathrm{cov}[\\boldsymbol{x}_1,\\boldsymbol{x}_0] & \\mathrm{var}[\\boldsymbol{x}_1] \\\\\n",
" \\end{bmatrix},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we wrote $$\\boldsymbol{C}[\\boldsymbol{x}_0,\\boldsymbol{x}_1] = \\boldsymbol{C}[\\boldsymbol{x}]$$ to indicate that this the covariance of the vectors $\\boldsymbol{x}$ of the design/feature matrix $\\boldsymbol{X}$.\n",
"\n",
"It is easy to generalize this to a matrix $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$.\n",
"\n",
"\n",
"## Linking with SVD\n",
"\n",
"See lecture september 11. More text to be added here soon.\n",
"\n",
"\n",
"\n",
"\n",
"## Where are we going?\n",
"\n",
"Before we proceed, we need to rethink what we have been doing. In our\n",
"eager to fit the data, we have omitted several important elements in\n",
"our regression analysis. In what follows we will\n",
"1. look at statistical properties, including a discussion of mean values, variance and the so-called bias-variance tradeoff\n",
"\n",
"2. introduce resampling techniques like cross-validation, bootstrapping and jackknife and more\n",
"\n",
"This will allow us to link the standard linear algebra methods we have discussed above to a statistical interpretation of the methods. \n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Resampling methods\n",
"Resampling methods are an indispensable tool in modern\n",
"statistics. They involve repeatedly drawing samples from a training\n",
"set and refitting a model of interest on each sample in order to\n",
"obtain additional information about the fitted model. For example, in\n",
"order to estimate the variability of a linear regression fit, we can\n",
"repeatedly draw different samples from the training data, fit a linear\n",
"regression to each new sample, and then examine the extent to which\n",
"the resulting fits differ. Such an approach may allow us to obtain\n",
"information that would not be available from fitting the model only\n",
"once using the original training sample.\n",
"\n",
"Two resampling methods are often used in Machine Learning analyses,\n",
"1. The **bootstrap method**\n",
"\n",
"2. and **Cross-Validation**\n",
"\n",
"In addition there are several other methods such as the Jackknife and the Blocking methods. We will discuss in particular\n",
"cross-validation and the bootstrap method.\n",
"\n",
"\n",
"\n",
"\n",
"## Resampling approaches can be computationally expensive\n",
"\n",
"Resampling approaches can be computationally expensive, because they\n",
"involve fitting the same statistical method multiple times using\n",
"different subsets of the training data. However, due to recent\n",
"advances in computing power, the computational requirements of\n",
"resampling methods generally are not prohibitive. In this chapter, we\n",
"discuss two of the most commonly used resampling methods,\n",
"cross-validation and the bootstrap. Both methods are important tools\n",
"in the practical application of many statistical learning\n",
"procedures. For example, cross-validation can be used to estimate the\n",
"test error associated with a given statistical learning method in\n",
"order to evaluate its performance, or to select the appropriate level\n",
"of flexibility. The process of evaluating a models performance is\n",
"known as model assessment, whereas the process of selecting the proper\n",
"level of flexibility for a model is known as model selection. The\n",
"bootstrap is widely used.\n",
"\n",
"\n",
"\n",
"## Why resampling methods ?\n",
"**Statistical analysis.**\n",
"\n",
"\n",
"* Our simulations can be treated as *computer experiments*. This is particularly the case for Monte Carlo methods\n",
"\n",
"* The results can be analysed with the same statistical tools as we would use analysing experimental data.\n",
"\n",
"* As in all experiments, we are looking for expectation values and an estimate of how accurate they are, i.e., possible sources for errors.\n",
"\n",
" \n",
"\n",
"## Statistical analysis\n",
"\n",
"* As in other experiments, many numerical experiments have two classes of errors:\n",
"\n",
" * Statistical errors\n",
"\n",
" * Systematical errors\n",
"\n",
"\n",
"* Statistical errors can be estimated using standard tools from statistics\n",
"\n",
"* Systematical errors are method specific and must be treated differently from case to case.\n",
"\n",
" \n",
"\n",
"\n",
"\n",
"\n",
"<!-- !split -->\n",
"## Linking the regression analysis with a statistical interpretation\n",
"\n",
"\n",
"The\n",
"advantage of doing linear regression is that we actually end up with\n",
"analytical expressions for several statistical quantities. \n",
"Standard least squares and Ridge regression allow us to\n",
"derive quantities like the variance and other expectation values in a\n",
"rather straightforward way.\n",
"\n",
"\n",
"It is assumed that $\\varepsilon_i\n",
"\\sim \\mathcal{N}(0, \\sigma^2)$ and the $\\varepsilon_{i}$ are\n",
"independent, i.e.:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*} \n",
"\\mbox{Cov}(\\varepsilon_{i_1},\n",
"\\varepsilon_{i_2}) & = \\left\\{ \\begin{array}{lcc} \\sigma^2 & \\mbox{if}\n",
"& i_1 = i_2, \\\\ 0 & \\mbox{if} & i_1 \\not= i_2. \\end{array} \\right.\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The randomness of $\\varepsilon_i$ implies that\n",
"$\\mathbf{y}_i$ is also a random variable. In particular,\n",
"$\\mathbf{y}_i$ is normally distributed, because $\\varepsilon_i \\sim\n",
"\\mathcal{N}(0, \\sigma^2)$ and $\\mathbf{X}_{i,\\ast} \\, \\boldsymbol{\\beta}$ is a\n",
"non-random scalar. To specify the parameters of the distribution of\n",
"$\\mathbf{y}_i$ we need to calculate its first two moments. \n",
"\n",
"Recall that $\\boldsymbol{X}$ is a matrix of dimensionality $n\\times p$. The\n",
"notation above $\\mathbf{X}_{i,\\ast}$ means that we are looking at the\n",
"row number $i$ and perform a sum over all values $p$.\n",
"\n",
"\n",
"## Assumptions made\n",
"\n",
"The assumption we have made here can be summarized as (and this is going to be useful when we discuss the bias-variance trade off)\n",
"that there exists a function $f(\\boldsymbol{x})$ and a normal distributed error $\\boldsymbol{\\varepsilon}\\sim \\mathcal{N}(0, \\sigma^2)$\n",
"which describe our data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y} = f(\\boldsymbol{x})+\\boldsymbol{\\varepsilon}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We approximate this function with our model from the solution of the linear regression equations, that is our\n",
"function $f$ is approximated by $\\boldsymbol{\\tilde{y}}$ where we want to minimize $(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2$, our MSE, with"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\tilde{y}} = \\boldsymbol{X}\\boldsymbol{\\beta}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Expectation value and variance\n",
"\n",
"We can calculate the expectation value of $\\boldsymbol{y}$ for a given element $i$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*} \n",
"\\mathbb{E}(y_i) & =\n",
"\\mathbb{E}(\\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta}) + \\mathbb{E}(\\varepsilon_i)\n",
"\\, \\, \\, = \\, \\, \\, \\mathbf{X}_{i, \\ast} \\, \\beta, \n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"while\n",
"its variance is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*} \\mbox{Var}(y_i) & = \\mathbb{E} \\{ [y_i\n",
"- \\mathbb{E}(y_i)]^2 \\} \\, \\, \\, = \\, \\, \\, \\mathbb{E} ( y_i^2 ) -\n",
"[\\mathbb{E}(y_i)]^2 \\\\ & = \\mathbb{E} [ ( \\mathbf{X}_{i, \\ast} \\,\n",
"\\beta + \\varepsilon_i )^2] - ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 \\\\ &\n",
"= \\mathbb{E} [ ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 + 2 \\varepsilon_i\n",
"\\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta} + \\varepsilon_i^2 ] - ( \\mathbf{X}_{i,\n",
"\\ast} \\, \\beta)^2 \\\\ & = ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 + 2\n",
"\\mathbb{E}(\\varepsilon_i) \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta} +\n",
"\\mathbb{E}(\\varepsilon_i^2 ) - ( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta})^2 \n",
"\\\\ & = \\mathbb{E}(\\varepsilon_i^2 ) \\, \\, \\, = \\, \\, \\,\n",
"\\mbox{Var}(\\varepsilon_i) \\, \\, \\, = \\, \\, \\, \\sigma^2. \n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hence, $y_i \\sim \\mathcal{N}( \\mathbf{X}_{i, \\ast} \\, \\boldsymbol{\\beta}, \\sigma^2)$, that is $\\boldsymbol{y}$ follows a normal distribution with \n",
"mean value $\\boldsymbol{X}\\boldsymbol{\\beta}$ and variance $\\sigma^2$ (not be confused with the singular values of the SVD). \n",
"\n",
"## Expectation value and variance for $\\boldsymbol{\\beta}$\n",
"\n",
"With the OLS expressions for the parameters $\\boldsymbol{\\beta}$ we can evaluate the expectation value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}(\\boldsymbol{\\beta}) = \\mathbb{E}[ (\\mathbf{X}^{\\top} \\mathbf{X})^{-1}\\mathbf{X}^{T} \\mathbf{Y}]=(\\mathbf{X}^{T} \\mathbf{X})^{-1}\\mathbf{X}^{T} \\mathbb{E}[ \\mathbf{Y}]=(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\mathbf{X}^{T}\\mathbf{X}\\boldsymbol{\\beta}=\\boldsymbol{\\beta}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This means that the estimator of the regression parameters is unbiased.\n",
"\n",
"We can also calculate the variance\n",
"\n",
"The variance of $\\boldsymbol{\\beta}$ is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{eqnarray*}\n",
"\\mbox{Var}(\\boldsymbol{\\beta}) & = & \\mathbb{E} \\{ [\\boldsymbol{\\beta} - \\mathbb{E}(\\boldsymbol{\\beta})] [\\boldsymbol{\\beta} - \\mathbb{E}(\\boldsymbol{\\beta})]^{T} \\}\n",
"\\\\\n",
"& = & \\mathbb{E} \\{ [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} - \\boldsymbol{\\beta}] \\, [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} - \\boldsymbol{\\beta}]^{T} \\}\n",
"\\\\\n",
"% & = & \\mathbb{E} \\{ [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y}] \\, [(\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y}]^{T} \\} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"% \\\\\n",
"% & = & \\mathbb{E} \\{ (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\mathbf{Y} \\, \\mathbf{Y}^{T} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"% \\\\\n",
"& = & (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\, \\mathbb{E} \\{ \\mathbf{Y} \\, \\mathbf{Y}^{T} \\} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"\\\\\n",
"& = & (\\mathbf{X}^{T} \\mathbf{X})^{-1} \\, \\mathbf{X}^{T} \\, \\{ \\mathbf{X} \\, \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T} \\, \\mathbf{X}^{T} + \\sigma^2 \\} \\, \\mathbf{X} \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"% \\\\\n",
"% & = & (\\mathbf{X}^T \\mathbf{X})^{-1} \\, \\mathbf{X}^T \\, \\mathbf{X} \\, \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^T \\, \\mathbf{X}^T \\, \\mathbf{X} \\, (\\mathbf{X}^T % \\mathbf{X})^{-1}\n",
"% \\\\\n",
"% & & + \\, \\, \\sigma^2 \\, (\\mathbf{X}^T \\mathbf{X})^{-1} \\, \\mathbf{X}^T \\, \\mathbf{X} \\, (\\mathbf{X}^T \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\boldsymbol{\\beta}^T\n",
"\\\\\n",
"& = & \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T} + \\sigma^2 \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1} - \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T}\n",
"\\, \\, \\, = \\, \\, \\, \\sigma^2 \\, (\\mathbf{X}^{T} \\mathbf{X})^{-1},\n",
"\\end{eqnarray*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have used that $\\mathbb{E} (\\mathbf{Y} \\mathbf{Y}^{T}) =\n",
"\\mathbf{X} \\, \\boldsymbol{\\beta} \\, \\boldsymbol{\\beta}^{T} \\, \\mathbf{X}^{T} +\n",
"\\sigma^2 \\, \\mathbf{I}_{nn}$. From $\\mbox{Var}(\\boldsymbol{\\beta}) = \\sigma^2\n",
"\\, (\\mathbf{X}^{T} \\mathbf{X})^{-1}$, one obtains an estimate of the\n",
"variance of the estimate of the $j$-th regression coefficient:\n",
"$\\boldsymbol{\\sigma}^2 (\\boldsymbol{\\beta}_j ) = \\boldsymbol{\\sigma}^2 \\sqrt{\n",
"[(\\mathbf{X}^{T} \\mathbf{X})^{-1}]_{jj} }$. This may be used to\n",
"construct a confidence interval for the estimates.\n",
"\n",
"\n",
"In a similar way, we can obtain analytical expressions for say the\n",
"expectation values of the parameters $\\boldsymbol{\\beta}$ and their variance\n",
"when we employ Ridge regression, allowing us again to define a confidence interval. \n",
"\n",
"It is rather straightforward to show that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E} \\big[ \\boldsymbol{\\beta}^{\\mathrm{Ridge}} \\big]=(\\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I}_{pp})^{-1} (\\mathbf{X}^{\\top} \\mathbf{X})\\boldsymbol{\\beta}^{\\mathrm{OLS}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see clearly that \n",
"$\\mathbb{E} \\big[ \\boldsymbol{\\beta}^{\\mathrm{Ridge}} \\big] \\not= \\boldsymbol{\\beta}^{\\mathrm{OLS}}$ for any $\\lambda > 0$. We say then that the ridge estimator is biased.\n",
"\n",
"We can also compute the variance as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mbox{Var}[\\boldsymbol{\\beta}^{\\mathrm{Ridge}}]=\\sigma^2[ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1} \\mathbf{X}^{T} \\mathbf{X} \\{ [ \\mathbf{X}^{\\top} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}\\}^{T},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and it is easy to see that if the parameter $\\lambda$ goes to infinity then the variance of Ridge parameters $\\boldsymbol{\\beta}$ goes to zero. \n",
"\n",
"With this, we can compute the difference"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mbox{Var}[\\boldsymbol{\\beta}^{\\mathrm{OLS}}]-\\mbox{Var}(\\boldsymbol{\\beta}^{\\mathrm{Ridge}})=\\sigma^2 [ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}[ 2\\lambda\\mathbf{I} + \\lambda^2 (\\mathbf{X}^{T} \\mathbf{X})^{-1} ] \\{ [ \\mathbf{X}^{T} \\mathbf{X} + \\lambda \\mathbf{I} ]^{-1}\\}^{T}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The difference is non-negative definite since each component of the\n",
"matrix product is non-negative definite. \n",
"This means the variance we obtain with the standard OLS will always for $\\lambda > 0$ be larger than the variance of $\\boldsymbol{\\beta}$ obtained with the Ridge estimator. This has interesting consequences when we discuss the so-called bias-variance trade-off below. \n",
"\n",
"\n",
"## Resampling methods\n",
"\n",
"With all these analytical equations for both the OLS and Ridge\n",
"regression, we will now outline how to assess a given model. This will\n",
"lead us to a discussion of the so-called bias-variance tradeoff (see\n",
"below) and so-called resampling methods.\n",
"\n",
"One of the quantities we have discussed as a way to measure errors is\n",
"the mean-squared error (MSE), mainly used for fitting of continuous\n",
"functions. Another choice is the absolute error.\n",
"\n",
"In the discussions below we will focus on the MSE and in particular since we will split the data into test and training data,\n",
"we discuss the\n",
"1. prediction error or simply the **test error** $\\mathrm{Err_{Test}}$, where we have a fixed training set and the test error is the MSE arising from the data reserved for testing. We discuss also the \n",
"\n",
"2. training error $\\mathrm{Err_{Train}}$, which is the average loss over the training data.\n",
"\n",
"As our model becomes more and more complex, more of the training data tends to used. The training may thence adapt to more complicated structures in the data. This may lead to a decrease in the bias (see below for code example) and a slight increase of the variance for the test error.\n",
"For a certain level of complexity the test error will reach minimum, before starting to increase again. The\n",
"training error reaches a saturation.\n",
"\n",
"\n",
"\n",
"\n",
"## Resampling methods: Jackknife and Bootstrap\n",
"\n",
"Two famous\n",
"resampling methods are the **independent bootstrap** and **the jackknife**. \n",
"\n",
"The jackknife is a special case of the independent bootstrap. Still, the jackknife was made\n",
"popular prior to the independent bootstrap. And as the popularity of\n",
"the independent bootstrap soared, new variants, such as **the dependent bootstrap**.\n",
"\n",
"The Jackknife and independent bootstrap work for\n",
"independent, identically distributed random variables.\n",
"If these conditions are not\n",
"satisfied, the methods will fail. Yet, it should be said that if the data are\n",
"independent, identically distributed, and we only want to estimate the\n",
"variance of $\\overline{X}$ (which often is the case), then there is no\n",
"need for bootstrapping. \n",
"\n",
"## Resampling methods: Jackknife\n",
"\n",
"The Jackknife works by making many replicas of the estimator $\\widehat{\\theta}$. \n",
"The jackknife is a resampling method where we systematically leave out one observation from the vector of observed values $\\boldsymbol{x} = (x_1,x_2,\\cdots,X_n)$. \n",
"Let $\\boldsymbol{x}_i$ denote the vector"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{x}_i = (x_1,x_2,\\cdots,x_{i-1},x_{i+1},\\cdots,x_n),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which equals the vector $\\boldsymbol{x}$ with the exception that observation\n",
"number $i$ is left out. Using this notation, define\n",
"$\\widehat{\\theta}_i$ to be the estimator\n",
"$\\widehat{\\theta}$ computed using $\\vec{X}_i$. \n",
"\n",
"\n",
"## Jackknife code example"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Runtime: 0.233321 sec\n",
"Jackknife Statistics :\n",
"original bias std. error\n",
" 99.6932 99.6833 0.149184\n"
]
}
],
"source": [
"from numpy import *\n",
"from numpy.random import randint, randn\n",
"from time import time\n",
"\n",
"def jackknife(data, stat):\n",
" n = len(data);t = zeros(n); inds = arange(n); t0 = time()\n",
" ## 'jackknifing' by leaving out an observation for each i \n",
" for i in range(n):\n",
" t[i] = stat(delete(data,i) )\n",
"\n",
" # analysis \n",
" print(\"Runtime: %g sec\" % (time()-t0)); print(\"Jackknife Statistics :\")\n",
" print(\"original bias std. error\")\n",
" print(\"%8g %14g %15g\" % (stat(data),(n-1)*mean(t)/n, (n*var(t))**.5))\n",
"\n",
" return t\n",
"\n",
"\n",
"# Returns mean of data samples \n",
"def stat(data):\n",
" return mean(data)\n",
"\n",
"\n",
"mu, sigma = 100, 15\n",
"datapoints = 10000\n",
"x = mu + sigma*random.randn(datapoints)\n",
"# jackknife returns the data sample \n",
"t = jackknife(x, stat)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Resampling methods: Bootstrap\n",
"Bootstrapping is a nonparametric approach to statistical inference\n",
"that substitutes computation for more traditional distributional\n",
"assumptions and asymptotic results. Bootstrapping offers a number of\n",
"advantages: \n",
"1. The bootstrap is quite general, although there are some cases in which it fails. \n",
"\n",
"2. Because it does not require distributional assumptions (such as normally distributed errors), the bootstrap can provide more accurate inferences when the data are not well behaved or when the sample size is small. \n",
"\n",
"3. It is possible to apply the bootstrap to statistics with sampling distributions that are difficult to derive, even asymptotically. \n",
"\n",
"4. It is relatively simple to apply the bootstrap to complex data-collection plans (such as stratified and clustered samples).\n",
"\n",
"\n",
"\n",
"\n",
"## Resampling methods: Bootstrap background\n",
"\n",
"Since $\\widehat{\\theta} = \\widehat{\\theta}(\\boldsymbol{X})$ is a function of random variables,\n",
"$\\widehat{\\theta}$ itself must be a random variable. Thus it has\n",
"a pdf, call this function $p(\\boldsymbol{t})$. The aim of the bootstrap is to\n",
"estimate $p(\\boldsymbol{t})$ by the relative frequency of\n",
"$\\widehat{\\theta}$. You can think of this as using a histogram\n",
"in the place of $p(\\boldsymbol{t})$. If the relative frequency closely\n",
"resembles $p(\\vec{t})$, then using numerics, it is straight forward to\n",
"estimate all the interesting parameters of $p(\\boldsymbol{t})$ using point\n",
"estimators. \n",
"\n",
"\n",
"## Resampling methods: More Bootstrap background\n",
"\n",
"In the case that $\\widehat{\\theta}$ has\n",
"more than one component, and the components are independent, we use the\n",
"same estimator on each component separately. If the probability\n",
"density function of $X_i$, $p(x)$, had been known, then it would have\n",
"been straight forward to do this by: \n",
"1. Drawing lots of numbers from $p(x)$, suppose we call one such set of numbers $(X_1^*, X_2^*, \\cdots, X_n^*)$. \n",
"\n",
"2. Then using these numbers, we could compute a replica of $\\widehat{\\theta}$ called $\\widehat{\\theta}^*$. \n",
"\n",
"By repeated use of (1) and (2), many\n",
"estimates of $\\widehat{\\theta}$ could have been obtained. The\n",
"idea is to use the relative frequency of $\\widehat{\\theta}^*$\n",
"(think of a histogram) as an estimate of $p(\\boldsymbol{t})$.\n",
"\n",
"## Resampling methods: Bootstrap approach\n",
"\n",
"But\n",
"unless there is enough information available about the process that\n",
"generated $X_1,X_2,\\cdots,X_n$, $p(x)$ is in general\n",
"unknown. Therefore, [Efron in 1979](https://projecteuclid.org/euclid.aos/1176344552) asked the\n",
"question: What if we replace $p(x)$ by the relative frequency\n",
"of the observation $X_i$; if we draw observations in accordance with\n",
"the relative frequency of the observations, will we obtain the same\n",
"result in some asymptotic sense? The answer is yes.\n",
"\n",
"\n",
"Instead of generating the histogram for the relative\n",
"frequency of the observation $X_i$, just draw the values\n",
"$(X_1^*,X_2^*,\\cdots,X_n^*)$ with replacement from the vector\n",
"$\\boldsymbol{X}$. \n",
"\n",
"## Resampling methods: Bootstrap steps\n",
"\n",
"The independent bootstrap works like this: \n",
"\n",
"1. Draw with replacement $n$ numbers for the observed variables $\\boldsymbol{x} = (x_1,x_2,\\cdots,x_n)$. \n",
"\n",
"2. Define a vector $\\boldsymbol{x}^*$ containing the values which were drawn from $\\boldsymbol{x}$. \n",
"\n",
"3. Using the vector $\\boldsymbol{x}^*$ compute $\\widehat{\\theta}^*$ by evaluating $\\widehat \\theta$ under the observations $\\boldsymbol{x}^*$. \n",
"\n",
"4. Repeat this process $k$ times. \n",
"\n",
"When you are done, you can draw a histogram of the relative frequency\n",
"of $\\widehat \\theta^*$. This is your estimate of the probability\n",
"distribution $p(t)$. Using this probability distribution you can\n",
"estimate any statistics thereof. In principle you never draw the\n",
"histogram of the relative frequency of $\\widehat{\\theta}^*$. Instead\n",
"you use the estimators corresponding to the statistic of interest. For\n",
"example, if you are interested in estimating the variance of $\\widehat\n",
"\\theta$, apply the etsimator $\\widehat \\sigma^2$ to the values\n",
"$\\widehat \\theta ^*$.\n",
"\n",
"\n",
"## Code example for the Bootstrap method\n",
"\n",
"The following code starts with a Gaussian distribution with mean value\n",
"$\\mu =100$ and variance $\\sigma=15$. We use this to generate the data\n",
"used in the bootstrap analysis. The bootstrap analysis returns a data\n",
"set after a given number of bootstrap operations (as many as we have\n",
"data points). This data set consists of estimated mean values for each\n",
"bootstrap operation. The histogram generated by the bootstrap method\n",
"shows that the distribution for these mean values is also a Gaussian,\n",
"centered around the mean value $\\mu=100$ but with standard deviation\n",
"$\\sigma/\\sqrt{n}$, where $n$ is the number of bootstrap samples (in\n",
"this case the same as the number of original data points). The value\n",
"of the standard deviation is what we expect from the central limit\n",
"theorem."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Runtime: 2.03116 sec\n",
"Bootstrap Statistics :\n",
"original bias std. error\n",
" 99.8535 14.9035 99.8557 0.149538\n"
]
},
{
"ename": "AttributeError",
"evalue": "'Rectangle' object has no property 'normed'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-29-53990135e988>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbootstrap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdatapoints\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;31m# the histogram of the bootstrapped data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 31\u001b[0;31m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbinsboot\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpatches\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m50\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnormed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfacecolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'red'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.75\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 32\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[0;31m# add a 'best fit' line\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mhist\u001b[0;34m(x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, data, **kwargs)\u001b[0m\n\u001b[1;32m 2608\u001b[0m \u001b[0malign\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0malign\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morientation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morientation\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrwidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlog\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlog\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2609\u001b[0m color=color, label=label, stacked=stacked, **({\"data\": data}\n\u001b[0;32m-> 2610\u001b[0;31m if data is not None else {}), **kwargs)\n\u001b[0m\u001b[1;32m 2611\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2612\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1563\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1564\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1565\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msanitize_sequence\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1566\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1567\u001b[0m \u001b[0mbound\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnew_sig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mhist\u001b[0;34m(self, x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)\u001b[0m\n\u001b[1;32m 6806\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mpatch\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6807\u001b[0m \u001b[0mp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpatch\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6808\u001b[0;31m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6809\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlbl\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6810\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_label\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlbl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36mupdate\u001b[0;34m(self, props)\u001b[0m\n\u001b[1;32m 1004\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1005\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_setattr_cm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0meventson\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1006\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0m_update_property\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mprops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1007\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1008\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mret\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 1004\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1005\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_setattr_cm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0meventson\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1006\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0m_update_property\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mprops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1007\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1008\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mret\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36m_update_property\u001b[0;34m(self, k, v)\u001b[0m\n\u001b[1;32m 1000\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mcallable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1001\u001b[0m raise AttributeError('{!r} object has no property {!r}'\n\u001b[0;32m-> 1002\u001b[0;31m .format(type(self).__name__, k))\n\u001b[0m\u001b[1;32m 1003\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1004\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mAttributeError\u001b[0m: 'Rectangle' object has no property 'normed'"
]
},
{
"data": {
"image/png": "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Y8eOtLS0ZNasWWlqasqePXuSJO3t7WlpaRn1gQEA4JWM+JXbpqambNiwIatWrUpfX18WLlyYJUuWJEk2btyYdevWpaenJ/PmzcvKlStHfWAAAHglw47bhx56aOifFyxYkG3btp2wZu7cudm6devoTAYAACPkE8oAACiGuAUAoBjiFgCAYohbAACKIW4BACiGuAUAoBjiFgCAYvigezhFzedOz7QmdyGgDMeOD6RSaR72+t6+/nQfOVrHieDUeGaGUzStqTGtq9uHvX77ncvrOA3A6Zk6ZfKIH9O66zgPnCqXJQAAUAxxCwBAMcQtAADFELcAABRD3AIAUAxxCwBAMcQtAADFELcAABRD3AIAUAxxCwBAMcQtAADFELcAABRD3AIAUAxxCwBAMRrHegAAYOI5dnwglUrzsNf39vWn+8jROk4EvyJuAYARmzplclpXtw97/fY7l6e7jvPAb7gsAQCAYohbAACKIW4BACiGa27h15rPnZ5pTe4SADCReSaHX5vW1DjiX44AAMYXlyUAAFAMcQsAQDHELQAAxXDNLQBQdy/3iWav9AlnPs2M0yFuAYC6G8knmvk0M06HyxIAACiGuAUAoBjiFgCAYohbAACK4RfKKJaP0wWAs49nforl43QB4OzjsgQAAIohbgEAKIa4BQCgGOIWAIBiiFsAAIrh3RIYUyN9u66+YwNpmjq5jhMBABOZuGVMncrbdQ13vbf2AoCzj7gFAMaVY8cHUqk0D3t9b19/uo8creNETCTiFgAYV6ZOmTzin+p113EeJha/UAYAQDG8cgsATGguY+CFxC0AMKG5jIEXEre8Kv83DABMJOKWV+X/hgFgZEb6Hu5eGBpd4hYAOKvU+6eSp/Ie7l4YGj3illE10gcMADjT/FSybOL2LDPSH5WM1Kk8YADAeOaFm4mlLpWzffv23H333env78/73ve+XHPNNfX4NpyCU/lRCQCczbxwM7GMetx2dnZm06ZNuf/++zN16tSsWLEif/RHf5Tf//3fH+1vVSQXoQPA2WU8vTPReJrlVI163O7evTtvfetb85rXvCZJsnjx4nR0dOQjH/nIsG4/aVLDaI80pmbMmJamEV4G8P/u+Kdhr737428f8Y9KqudNP2vWj6dZzrb142mWs239eJploq8fT7OcbevH0yz1Xj91yuS6Pvf39fWnp6e3LrN8ed2iPH+G2+1krdhQq9Vqo/kNv/SlL+WXv/xlbrnlliTJt771rezduzef/vSnR/PbAADACSaN9l84ODiYhob/v6hrtdqLvgYAgHoZ9bidOXNmurq6hr7u6upKtVod7W8DAAAnGPW4fdvb3pYf//jHefbZZ3P06NH80z/9U1paWkb72wAAwAlG/RfKLrjggtxyyy1ZuXJljh8/nquuuipvetObRvvbAADACUb9F8oAAGCsjPplCQAAMFbELQAAxRC3AAAUQ9wCAFAMcXsWu+eee7J48eK0trbm7rvvTpLcf//9ueKKK9La2po77rgj/f39r3j7xx57LH/4h394psY9a5zqvhw8eDAf+tCH8q53vSsrVqzI008/faZHL9qp7svTTz+da665JsuXL8+1116bAwcOnOnRi9PT05Nly5YN/Te+e/futLa2ZtGiRdm0adPQun379qWtrS2LFy/O2rVrX3Z/jhw5kg996EO5/PLLc80117zofdoZmdHcl5///OdD95v3vOc92bdv3xk7j9KM5r78xv/+7//mLW95y/h9nqlxVvrXf/3X2rJly2rd3d21/v7+2vXXX1/70pe+VLv00ktrnZ2dtVqtVrv99ttr995778ve/pe//GVtxYoVtT/4gz84k2MX73T25X3ve1/tG9/4Rq1Wq9W+8Y1v1G666aYzOnvJTmdfPvaxj9W+/vWv12q1Wu2rX/1qbfXq1Wd09tL8x3/8R23ZsmW1efPm1Z566qna0aNHawsXLqz9z//8T+348eO1D3zgA7Uf/OAHtVqtVlu6dGnt3//932u1Wq32N3/zN0P78ELr16+vfelLX6rVarXaAw884H5zikZ7X1asWFH7/ve/X6vVarXdu3fXWltbz9i5lGS096VWq9UGBgZqH/jAB2rz58+vPfXUU2fsXEbCK7dnqcceeyx/8id/khkzZmTy5Mm59NJL88UvfjHz588f+kS5yy67LN/97ndf9vYbNmzI+973vjM58lnhVPfl2Wefzc9+9rOsWLEiSXLllVfm5ptvPuPzl+p07i+Dg4Pp6elJkhw9ejTTpk07o7OXZsuWLbn99tuH/r3v3bs3c+bMyezZs9PY2JjW1tZ0dHTkwIED6e3tzfz585MkbW1t6ejoOOHv+8EPfpDW1tYkybJly/Iv//IvOX78+Jk7oUKM9r68+93vzqWXXpokeeMb35hnnnnmzJ1MQUZ7X5Lk7//+7/O2t70t55133hk7j5ESt2epefPm5Uc/+lGee+659PX15aGHHsr8+fPzyCOP5JlnnsnAwEA6Ojpy6NChE277ve99L729vVmyZMkYTF62U92Xp556Kr/zO7+TDRs25Morr8xHP/rRTJkyZYzOojync3+56aab8g//8A+59NJLc++99+aDH/zgGJxBOT7zmc/kkksuGfr64MGDqVQqQ19Xq9V0dnaecLxSqaSzs/OEv++F6xobGzNjxow8++yzdTyDMo32vrS1tWXy5MlJkrvuuivveMc76jh9uUZ7Xx599LNj6HQAAAPTSURBVNH85Cc/yV/+5V/Wd/DTJG7PUgsWLEhbW1uuvfbaXHfddbn44oszffr0rF69OjfeeGOuueaavPGNbzwhkLq6unL33Xfnk5/85BhNXrZT3Zf+/v489thjeetb35pvf/vbefvb355PfOITY3QW5TnVfUmSj3/84/nUpz6VH/7wh1m/fn0+8pGPpOazc0bN4OBgGhoahr6u1WppaGh4xeMnU6vVMmmSp8bTNRr7UqvV8rnPfS6PPPJI1qxZU/eZzwansy9Hjx7N+vXrc8cdd4z7+8j4no666enpyaJFi7J9+/bcd999mTp1ai644IK86U1vyne+851885vfzAUXXJDZs2e/6HY/+MEP8txzzw1d6J8ky5cvH/qxK6fnVPelUqnknHPOyWWXXZbkVz9e3bt371icQpFOdV+effbZPP7440OvOi1evDhdXV35xS9+MRanUaSZM2e+6JfAurq6Uq1WTzh+6NChoR/NvlC1Wh16xb2/vz/PP/98XvOa19R/8MKd7r709/fnYx/7WP7zP/8zX/3qV9Pc3HxG5i7d6ezLww8/nMOHD+fGG2/M8uXLh36J+fHHHz9j8w+XuD1LPf300/mrv/qr9Pf3p7u7O1u3bs3y5cvz/ve/Pz09PTl27Fi+9rWv5YorrnjR7d797nfnu9/9btrb29Pe3p4kaW9vz4wZM8biNIpzqvvyu7/7u5k5c2Z27dqVJPn+97+fefPmjcUpFOlU9+W8885LU1NTHn744STJnj17cs455+S1r33tWJxGkS666KI88cQT2b9/fwYGBrJjx460tLRk1qxZaWpqyp49e5L86nGqpaXlhNsvXLgw3/nOd5IkO3fuzCWXXOKSnlFwuvvyuc99Lj09Pbn33nuF7Sg6nX259NJL89BDDw09/1er1dxzzz15/etfPxan8qoax3oAxsbcuXOzaNGivPOd78zAwEDe//735+KLL86HP/zhvOc970l/f3+WLVs29IsWa9euzZ/92Z/l7W9/+xhPXrbT2ZcvfOELuf322/N3f/d3mTFjRjZs2DDGZ1OO09mXL37xi/n0pz+d3t7enHPOOfnCF74wxmdTlqampmzYsCGrVq1KX19fFi5cOPT7ABs3bsy6devS09OTefPmZeXKlUmSz3/+86lWq3nve9+bm266KZ/4xCeydOnSNDc3Z+PGjWN5OsU4nX1ZvHhxvv71r+fCCy/Mu9/97qG/8zcvqHDqTvf+MlE01Fz8BQBAIVyWAABAMcQtAADFELcAABRD3AIAUAxxCwBAMcQtAADFELcAABRD3AIAUIz/D/YNsOLkFOpDAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 842.4x595.44 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from numpy import *\n",
"from numpy.random import randint, randn\n",
"from time import time\n",
"import matplotlib.mlab as mlab\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Returns mean of bootstrap samples \n",
"def stat(data):\n",
" return mean(data)\n",
"\n",
"# Bootstrap algorithm\n",
"def bootstrap(data, statistic, R):\n",
" t = zeros(R); n = len(data); inds = arange(n); t0 = time()\n",
" # non-parametric bootstrap \n",
" for i in range(R):\n",
" t[i] = statistic(data[randint(0,n,n)])\n",
"\n",
" # analysis \n",
" print(\"Runtime: %g sec\" % (time()-t0)); print(\"Bootstrap Statistics :\")\n",
" print(\"original bias std. error\")\n",
" print(\"%8g %8g %14g %15g\" % (statistic(data), std(data),mean(t),std(t)))\n",
" return t\n",
"\n",
"\n",
"mu, sigma = 100, 15\n",
"datapoints = 10000\n",
"x = mu + sigma*random.randn(datapoints)\n",
"# bootstrap returns the data sample \n",
"t = bootstrap(x, stat, datapoints)\n",
"# the histogram of the bootstrapped data \n",
"n, binsboot, patches = plt.hist(t, 50, normed=1, facecolor='red', alpha=0.75)\n",
"\n",
"# add a 'best fit' line \n",
"y = mlab.normpdf( binsboot, mean(t), std(t))\n",
"lt = plt.plot(binsboot, y, 'r--', linewidth=1)\n",
"plt.xlabel('Smarts')\n",
"plt.ylabel('Probability')\n",
"plt.axis([99.5, 100.6, 0, 3.0])\n",
"plt.grid(True)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- !split -->\n",
"## Various steps in cross-validation\n",
"\n",
"When the repetitive splitting of the data set is done randomly,\n",
"samples may accidently end up in a fast majority of the splits in\n",
"either training or test set. Such samples may have an unbalanced\n",
"influence on either model building or prediction evaluation. To avoid\n",
"this $k$-fold cross-validation structures the data splitting. The\n",
"samples are divided into $k$ more or less equally sized exhaustive and\n",
"mutually exclusive subsets. In turn (at each split) one of these\n",
"subsets plays the role of the test set while the union of the\n",
"remaining subsets constitutes the training set. Such a splitting\n",
"warrants a balanced representation of each sample in both training and\n",
"test set over the splits. Still the division into the $k$ subsets\n",
"involves a degree of randomness. This may be fully excluded when\n",
"choosing $k=n$. This particular case is referred to as leave-one-out\n",
"cross-validation (LOOCV). \n",
"\n",
"<!-- !split -->\n",
"## How to set up the cross-validation for Ridge and/or Lasso\n",
"\n",
"* Define a range of interest for the penalty parameter.\n",
"\n",
"* Divide the data set into training and test set comprising samples $\\{1, \\ldots, n\\} \\setminus i$ and $\\{ i \\}$, respectively.\n",
"\n",
"* Fit the linear regression model by means of ridge estimation for each $\\lambda$ in the grid using the training set, and the corresponding estimate of the error variance $\\boldsymbol{\\sigma}_{-i}^2(\\lambda)$, as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\boldsymbol{\\beta}_{-i}(\\lambda) & = ( \\boldsymbol{X}_{-i, \\ast}^{T}\n",
"\\boldsymbol{X}_{-i, \\ast} + \\lambda \\boldsymbol{I}_{pp})^{-1}\n",
"\\boldsymbol{X}_{-i, \\ast}^{T} \\boldsymbol{y}_{-i}\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Evaluate the prediction performance of these models on the test set by $\\log\\{L[y_i, \\boldsymbol{X}_{i, \\ast}; \\boldsymbol{\\beta}_{-i}(\\lambda), \\boldsymbol{\\sigma}_{-i}^2(\\lambda)]\\}$. Or, by the prediction error $|y_i - \\boldsymbol{X}_{i, \\ast} \\boldsymbol{\\beta}_{-i}(\\lambda)|$, the relative error, the error squared or the R2 score function.\n",
"\n",
"* Repeat the first three steps such that each sample plays the role of the test set once.\n",
"\n",
"* Average the prediction performances of the test sets at each grid point of the penalty bias/parameter. It is an estimate of the prediction performance of the model corresponding to this value of the penalty parameter on novel data. It is defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{align*}\n",
"\\frac{1}{n} \\sum_{i = 1}^n \\log\\{L[y_i, \\mathbf{X}_{i, \\ast}; \\boldsymbol{\\beta}_{-i}(\\lambda), \\boldsymbol{\\sigma}_{-i}^2(\\lambda)]\\}.\n",
"\\end{align*}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Cross-validation in brief\n",
"\n",
"For the various values of $k$\n",
"\n",
"1. shuffle the dataset randomly.\n",
"\n",
"2. Split the dataset into $k$ groups.\n",
"\n",
"3. For each unique group:\n",
"\n",
"a. Decide which group to use as set for test data\n",
"\n",
"b. Take the remaining groups as a training data set\n",
"\n",
"c. Fit a model on the training set and evaluate it on the test set\n",
"\n",
"d. Retain the evaluation score and discard the model\n",
"\n",
"\n",
"5. Summarize the model using the sample of model evaluation scores\n",
"\n",
"## Code Example for Cross-validation and $k$-fold Cross-validation\n",
"\n",
"The code here uses Ridge regression with cross-validation (CV) resampling and $k$-fold CV in order to fit a specific polynomial."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.linear_model import Ridge\n",
"from sklearn.model_selection import cross_val_score\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"\n",
"# A seed just to ensure that the random numbers are the same for every run.\n",
"# Useful for eventual debugging.\n",
"np.random.seed(3155)\n",
"\n",
"# Generate the data.\n",
"nsamples = 100\n",
"x = np.random.randn(nsamples)\n",
"y = 3*x**2 + np.random.randn(nsamples)\n",
"\n",
"## Cross-validation on Ridge regression using KFold only\n",
"\n",
"# Decide degree on polynomial to fit\n",
"poly = PolynomialFeatures(degree = 6)\n",
"\n",
"# Decide which values of lambda to use\n",
"nlambdas = 500\n",
"lambdas = np.logspace(-3, 5, nlambdas)\n",
"\n",
"# Initialize a KFold instance\n",
"k = 5\n",
"kfold = KFold(n_splits = k)\n",
"\n",
"# Perform the cross-validation to estimate MSE\n",
"scores_KFold = np.zeros((nlambdas, k))\n",
"\n",
"i = 0\n",
"for lmb in lambdas:\n",
" ridge = Ridge(alpha = lmb)\n",
" j = 0\n",
" for train_inds, test_inds in kfold.split(x):\n",
" xtrain = x[train_inds]\n",
" ytrain = y[train_inds]\n",
"\n",
" xtest = x[test_inds]\n",
" ytest = y[test_inds]\n",
"\n",
" Xtrain = poly.fit_transform(xtrain[:, np.newaxis])\n",
" ridge.fit(Xtrain, ytrain[:, np.newaxis])\n",
"\n",
" Xtest = poly.fit_transform(xtest[:, np.newaxis])\n",
" ypred = ridge.predict(Xtest)\n",
"\n",
" scores_KFold[i,j] = np.sum((ypred - ytest[:, np.newaxis])**2)/np.size(ypred)\n",
"\n",
" j += 1\n",
" i += 1\n",
"\n",
"\n",
"estimated_mse_KFold = np.mean(scores_KFold, axis = 1)\n",
"\n",
"## Cross-validation using cross_val_score from sklearn along with KFold\n",
"\n",
"# kfold is an instance initialized above as:\n",
"# kfold = KFold(n_splits = k)\n",
"\n",
"estimated_mse_sklearn = np.zeros(nlambdas)\n",
"i = 0\n",
"for lmb in lambdas:\n",
" ridge = Ridge(alpha = lmb)\n",
"\n",
" X = poly.fit_transform(x[:, np.newaxis])\n",
" estimated_mse_folds = cross_val_score(ridge, X, y[:, np.newaxis], scoring='neg_mean_squared_error', cv=kfold)\n",
"\n",
" # cross_val_score return an array containing the estimated negative mse for every fold.\n",
" # we have to the the mean of every array in order to get an estimate of the mse of the model\n",
" estimated_mse_sklearn[i] = np.mean(-estimated_mse_folds)\n",
"\n",
" i += 1\n",
"\n",
"## Plot and compare the slightly different ways to perform cross-validation\n",
"\n",
"plt.figure()\n",
"\n",
"plt.plot(np.log10(lambdas), estimated_mse_sklearn, label = 'cross_val_score')\n",
"plt.plot(np.log10(lambdas), estimated_mse_KFold, 'r--', label = 'KFold')\n",
"\n",
"plt.xlabel('log10(lambda)')\n",
"plt.ylabel('mse')\n",
"\n",
"plt.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The bias-variance tradeoff\n",
"\n",
"\n",
"We will discuss the bias-variance tradeoff in the context of\n",
"continuous predictions such as regression. However, many of the\n",
"intuitions and ideas discussed here also carry over to classification\n",
"tasks. Consider a dataset $\\mathcal{L}$ consisting of the data\n",
"$\\mathbf{X}_\\mathcal{L}=\\{(y_j, \\boldsymbol{x}_j), j=0\\ldots n-1\\}$. \n",
"\n",
"Let us assume that the true data is generated from a noisy model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{y}=f(\\boldsymbol{x}) + \\boldsymbol{\\epsilon}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\epsilon$ is normally distributed with mean zero and standard deviation $\\sigma^2$.\n",
"\n",
"In our derivation of the ordinary least squares method we defined then\n",
"an approximation to the function $f$ in terms of the parameters\n",
"$\\boldsymbol{\\beta}$ and the design matrix $\\boldsymbol{X}$ which embody our model,\n",
"that is $\\boldsymbol{\\tilde{y}}=\\boldsymbol{X}\\boldsymbol{\\beta}$. \n",
"\n",
"Thereafter we found the parameters $\\boldsymbol{\\beta}$ by optimizing the means squared error via the so-called cost function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{X},\\boldsymbol{\\beta}) =\\frac{1}{n}\\sum_{i=0}^{n-1}(y_i-\\tilde{y}_i)^2=\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right].\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can rewrite this as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\frac{1}{n}\\sum_i(f_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\frac{1}{n}\\sum_i(\\tilde{y}_i-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2+\\sigma^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The three terms represent the square of the bias of the learning\n",
"method, which can be thought of as the error caused by the simplifying\n",
"assumptions built into the method. The second term represents the\n",
"variance of the chosen model and finally the last terms is variance of\n",
"the error $\\boldsymbol{\\epsilon}$.\n",
"\n",
"To derive this equation, we need to recall that the variance of $\\boldsymbol{y}$ and $\\boldsymbol{\\epsilon}$ are both equal to $\\sigma^2$. The mean value of $\\boldsymbol{\\epsilon}$ is by definition equal to zero. Furthermore, the function $f$ is not a stochastics variable, idem for $\\boldsymbol{\\tilde{y}}$.\n",
"We use a more compact notation in terms of the expectation value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{f}+\\boldsymbol{\\epsilon}-\\boldsymbol{\\tilde{y}})^2\\right],\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and adding and subtracting $\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right]$ we get"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{f}+\\boldsymbol{\\epsilon}-\\boldsymbol{\\tilde{y}}+\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right]-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2\\right],\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which, using the abovementioned expectation values can be rewritten as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathbb{E}\\left[(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}})^2\\right]=\\mathbb{E}\\left[(\\boldsymbol{y}-\\mathbb{E}\\left[\\boldsymbol{\\tilde{y}}\\right])^2\\right]+\\mathrm{Var}\\left[\\boldsymbol{\\tilde{y}}\\right]+\\sigma^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"that is the rewriting in terms of the so-called bias, the variance of the model $\\boldsymbol{\\tilde{y}}$ and the variance of $\\boldsymbol{\\epsilon}$.\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## Example code for Bias-Variance tradeoff"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.utils import resample\n",
"\n",
"np.random.seed(2018)\n",
"\n",
"n = 500\n",
"n_boostraps = 100\n",
"degree = 18 # A quite high value, just to show.\n",
"noise = 0.1\n",
"\n",
"# Make data set.\n",
"x = np.linspace(-1, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2) + np.random.normal(0, 0.1, x.shape)\n",
"\n",
"# Hold out some test data that is never used in training.\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n",
"\n",
"# Combine x transformation and model into one operation.\n",
"# Not neccesary, but convenient.\n",
"model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n",
"\n",
"# The following (m x n_bootstraps) matrix holds the column vectors y_pred\n",
"# for each bootstrap iteration.\n",
"y_pred = np.empty((y_test.shape[0], n_boostraps))\n",
"for i in range(n_boostraps):\n",
" x_, y_ = resample(x_train, y_train)\n",
"\n",
" # Evaluate the new model on the same test data each time.\n",
" y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n",
"\n",
"# Note: Expectations and variances taken w.r.t. different training\n",
"# data sets, hence the axis=1. Subsequent means are taken across the test data\n",
"# set in order to obtain a total value, but before this we have error/bias/variance\n",
"# calculated per data point in the test set.\n",
"# Note 2: The use of keepdims=True is important in the calculation of bias as this \n",
"# maintains the column vector form. Dropping this yields very unexpected results.\n",
"error = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n",
"bias = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n",
"variance = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n",
"print('Error:', error)\n",
"print('Bias^2:', bias)\n",
"print('Var:', variance)\n",
"print('{} >= {} + {} = {}'.format(error, bias, variance, bias+variance))\n",
"\n",
"plt.plot(x[::5, :], y[::5, :], label='f(x)')\n",
"plt.scatter(x_test, y_test, label='Data points')\n",
"plt.scatter(x_test, np.mean(y_pred, axis=1), label='Pred')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Understanding what happens"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Polynomial degree: 0\n",
"Error: 0.2937910450030775\n",
"Bias^2: 0.2929212799917661\n",
"Var: 0.0008697650113114119\n",
"0.2937910450030775 >= 0.2929212799917661 + 0.0008697650113114119 = 0.2937910450030775\n",
"Polynomial degree: 1\n",
"Error: 0.06894146856540674\n",
"Bias^2: 0.06832043024896824\n",
"Var: 0.0006210383164384989\n",
"0.06894146856540674 >= 0.06832043024896824 + 0.0006210383164384989 = 0.06894146856540674\n",
"Polynomial degree: 2\n",
"Error: 0.06106765054837855\n",
"Bias^2: 0.060547654220995305\n",
"Var: 0.0005199963273832372\n",
"0.06106765054837855 >= 0.060547654220995305 + 0.0005199963273832372 = 0.061067650548378545\n",
"Polynomial degree: 3\n",
"Error: 0.03346202229536659\n",
"Bias^2: 0.0331409564680546\n",
"Var: 0.00032106582731199456\n",
"0.03346202229536659 >= 0.0331409564680546 + 0.00032106582731199456 = 0.03346202229536659\n",
"Polynomial degree: 4\n",
"Error: 0.0335277871704832\n",
"Bias^2: 0.03311607538577367\n",
"Var: 0.0004117117847095335\n",
"0.0335277871704832 >= 0.03311607538577367 + 0.0004117117847095335 = 0.03352778717048321\n",
"Polynomial degree: 5\n",
"Error: 0.025517151530854786\n",
"Bias^2: 0.024968890209256463\n",
"Var: 0.0005482613215983259\n",
"0.025517151530854786 >= 0.024968890209256463 + 0.0005482613215983259 = 0.02551715153085479\n",
"Polynomial degree: 6\n",
"Error: 0.01994607606842793\n",
"Bias^2: 0.019502076889868637\n",
"Var: 0.00044399917855929527\n",
"0.01994607606842793 >= 0.019502076889868637 + 0.00044399917855929527 = 0.019946076068427934\n",
"Polynomial degree: 7\n",
"Error: 0.018695928655417676\n",
"Bias^2: 0.01797984009000237\n",
"Var: 0.0007160885654153078\n",
"0.018695928655417676 >= 0.01797984009000237 + 0.0007160885654153078 = 0.01869592865541768\n",
"Polynomial degree: 8\n",
"Error: 0.010736105188369479\n",
"Bias^2: 0.010376602508045063\n",
"Var: 0.00035950268032441344\n",
"0.010736105188369479 >= 0.010376602508045063 + 0.00035950268032441344 = 0.010736105188369477\n",
"Polynomial degree: 9\n",
"Error: 0.01101329065273084\n",
"Bias^2: 0.010539027867197629\n",
"Var: 0.0004742627855332104\n",
"0.01101329065273084 >= 0.010539027867197629 + 0.0004742627855332104 = 0.01101329065273084\n",
"Polynomial degree: 10\n",
"Error: 0.010972468815261078\n",
"Bias^2: 0.010593565969983903\n",
"Var: 0.00037890284527716995\n",
"0.010972468815261078 >= 0.010593565969983903 + 0.00037890284527716995 = 0.010972468815261073\n",
"Polynomial degree: 11\n",
"Error: 0.01084055593776807\n",
"Bias^2: 0.010348475861989281\n",
"Var: 0.0004920800757787882\n",
"0.01084055593776807 >= 0.010348475861989281 + 0.0004920800757787882 = 0.01084055593776807\n",
"Polynomial degree: 12\n",
"Error: 0.010192472149429362\n",
"Bias^2: 0.009610568640072627\n",
"Var: 0.0005819035093567355\n",
"0.010192472149429362 >= 0.009610568640072627 + 0.0005819035093567355 = 0.010192472149429362\n",
"Polynomial degree: 13\n",
"Error: 0.010312285920590011\n",
"Bias^2: 0.009802534263801815\n",
"Var: 0.0005097516567881938\n",
"0.010312285920590011 >= 0.009802534263801815 + 0.0005097516567881938 = 0.01031228592059001\n",
"Polynomial degree: 14\n",
"Error: 0.010722455299595876\n",
"Bias^2: 0.01008891676024437\n",
"Var: 0.0006335385393515036\n",
"0.010722455299595876 >= 0.01008891676024437 + 0.0006335385393515036 = 0.010722455299595875\n",
"Polynomial degree: 15\n",
"Error: 0.011155437503231998\n",
"Bias^2: 0.010311761228670724\n",
"Var: 0.0008436762745612778\n",
"0.011155437503231998 >= 0.010311761228670724 + 0.0008436762745612778 = 0.011155437503232002\n",
"Polynomial degree: 16\n",
"Error: 0.011028026782676708\n",
"Bias^2: 0.010223572382311492\n",
"Var: 0.0008044544003652116\n",
"0.011028026782676708 >= 0.010223572382311492 + 0.0008044544003652116 = 0.011028026782676703\n",
"Polynomial degree: 17\n",
"Error: 0.011628743129658555\n",
"Bias^2: 0.010533948734129592\n",
"Var: 0.001094794395528961\n",
"0.011628743129658555 >= 0.010533948734129592 + 0.001094794395528961 = 0.011628743129658553\n",
"Polynomial degree: 18\n",
"Error: 0.014371682171531027\n",
"Bias^2: 0.010922362242870073\n",
"Var: 0.0034493199286609573\n",
"0.014371682171531027 >= 0.010922362242870073 + 0.0034493199286609573 = 0.01437168217153103\n",
"Polynomial degree: 19\n",
"Error: 0.026986306199342624\n",
"Bias^2: 0.01214176442858653\n",
"Var: 0.014844541770756087\n",
"0.026986306199342624 >= 0.01214176442858653 + 0.014844541770756087 = 0.026986306199342617\n",
"Polynomial degree: 20\n",
"Error: 0.012249244024160728\n",
"Bias^2: 0.01006785246285396\n",
"Var: 0.002181391561306766\n",
"0.012249244024160728 >= 0.01006785246285396 + 0.002181391561306766 = 0.012249244024160727\n",
"Polynomial degree: 21\n",
"Error: 0.014973172820830053\n",
"Bias^2: 0.010154371176360328\n",
"Var: 0.00481880164446972\n",
"0.014973172820830053 >= 0.010154371176360328 + 0.00481880164446972 = 0.014973172820830048\n",
"Polynomial degree: 22\n",
"Error: 0.014186606932681737\n",
"Bias^2: 0.009594131981212376\n",
"Var: 0.0045924749514693625\n",
"0.014186606932681737 >= 0.009594131981212376 + 0.0045924749514693625 = 0.014186606932681738\n",
"Polynomial degree: 23\n",
"Error: 0.025574552577788824\n",
"Bias^2: 0.009477519033249752\n",
"Var: 0.016097033544539077\n",
"0.025574552577788824 >= 0.009477519033249752 + 0.016097033544539077 = 0.02557455257778883\n",
"Polynomial degree: 24\n",
"Error: 0.03147298632679604\n",
"Bias^2: 0.009565267585507206\n",
"Var: 0.021907718741288846\n",
"0.03147298632679604 >= 0.009565267585507206 + 0.021907718741288846 = 0.03147298632679605\n",
"Polynomial degree: 25\n",
"Error: 0.03929027799369515\n",
"Bias^2: 0.009776269005896726\n",
"Var: 0.029514008987798424\n",
"0.03929027799369515 >= 0.009776269005896726 + 0.029514008987798424 = 0.03929027799369515\n",
"Polynomial degree: 26\n",
"Error: 0.15813256009613183\n",
"Bias^2: 0.013239726753028333\n",
"Var: 0.14489283334310352\n",
"0.15813256009613183 >= 0.013239726753028333 + 0.14489283334310352 = 0.15813256009613186\n",
"Polynomial degree: 27\n",
"Error: 0.1360840943498259\n",
"Bias^2: 0.01326608592145169\n",
"Var: 0.12281800842837416\n",
"0.1360840943498259 >= 0.01326608592145169 + 0.12281800842837416 = 0.13608409434982585\n",
"Polynomial degree: 28\n",
"Error: 0.7210723692205014\n",
"Bias^2: 0.04436186918146108\n",
"Var: 0.6767105000390408\n",
"0.7210723692205014 >= 0.04436186918146108 + 0.6767105000390408 = 0.7210723692205019\n",
"Polynomial degree: 29\n",
"Error: 0.48454430745837984\n",
"Bias^2: 0.011809368338879722\n",
"Var: 0.4727349391195001\n",
"0.48454430745837984 >= 0.011809368338879722 + 0.4727349391195001 = 0.48454430745837984\n"
]
},
{
"data": {
"image/png": "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AIAS53qekpmkJBFoJ0CgBQAAKHFJOyP505IItBMh0AIAAJQ4y07LMLOBlh7aoxFoAQAASlx2ZJcjiR3aiRBoAQAASlzCdsZ2aAm0RyPQAgAAlLjRGbQSLQcTIdACAACUOCvpyDBpOZgMgRYAAKDEje7QBnwBmT6OEXglAi0AAECJSySzPbTszk6MQAsAAFDiLNuRP+AoTP/shAi0AAAAJS4baDn2djIEWgAAgBI32nJQSaCdEIEWAACgxI3eFEbLwcQItAAAACXOSjryfNwUNhkCLQAAQIkbtlNyCbSTItACAACUuISTlMQpYZMh0AIAAJQwz/PGAi07tBMj0AIAAJQwO52R50tJItBOhkALAABQwqyRkV2SGNs1CQItAABACcuO7HIkibFdkyDQAgAAlLCEfXiHlpaDiRFoAQAASpiVdGT4aTk4FgItAABACbNsRzLT8smnCn+w2OWUJAItAABACcvu0DqqNCtlGEaxyylJeQXa7du3a+3atVq9erW2bt161PM/+9nP1NbWpiuuuEI33XSTUqnUtBcKAAAwFyVGdmi5IWxyOQNtZ2enNm/erG3btunee+/VXXfdpb179449b1mWbrvtNn3nO9/RT37yE9m2rR/+8IcFLRoAAGCusGxHvoBDoD2GnIF2165dWrFiherq6hQOh7VmzRrt2LFj7PlwOKwHH3xQ8+bNUyKRUE9Pj2pqagpaNAAAwFxhJR35TYcJB8eQM9B2dXUpGo2OPW5qalJnZ+e4awKBgH75y1/qL//yL9XX16fXvva1018pAADAHGTZjgwC7TGZuS5wXXdcA7LneRM2JL/uda/Tww8/rC996Uu69dZb9cUvfjHvIhobI3lfO52i0eqifC6OjXUpTaxL6WJtShPrUprKcV0c15PMtBqqa8qy/nydyHfLGWhjsZj27Nkz9jgej6upqWnscX9/v5588smxXdm2tjZt2rRpSkX09AzJdb0pveZERaPViscHZ/QzkRvrUppYl9LF2pQm1qU0leu69A8m5damZDhmWdafj1xr4/MZx9wAzdlysHLlSu3evVu9vb1KJBLauXOnVq1aNfa853n68Ic/rPb2dknSjh07dN55503lO8y4rj5LqXSm2GUAAADkZKVsyfBoOTiGnDu0zc3N2rRpk9avX690Oq1169Zp2bJl2rBhgzZu3KilS5fqk5/8pK6/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t90mdaYAOBwOnnnmGbZs2cKtt946Lb8zcyqhtSwLpVRmXGudMy7yY+3atTz55JOUlZVRXV3NfffdxxtvvJHvsESK1JvCNW/ePJ577jn8fj8ej4eHHnpI6k6eHDt2jEceeYQ///M/Z968eVJnCkh22SxcuFDqTIH44he/yK5du+ju7qajo2PKdWZOJbT19fX09/dnxvv7+zOH7kT+vP/+++zatSszrrXGbrfnMSKRTepN4Tpy5AivvPJKZlzqTn588MEH/P7v/z5/9md/xqc//WmpMwVkYtlIncm/48ePc+jQIQA8Hg+bN29m9+7dU64zcyqh3bBhA7t27WJoaIhwOMzOnTv55Cc/me+w5ryxsTGefPJJotEogUCAn/70p9x+++35DkukrF69mpMnT3Lq1CkSiQS/+MUvpN4UCK01TzzxBCMjI8TjcX784x9L3bnGuru7+eM//mOeeuoptmzZAkidKRSTlY3Umfw7e/YsX/va14jFYsRiMX71q1+xY8eOKdeZObVbUldXx2OPPcbDDz9MPB7nvvvuY9WqVfkOa87btGkT+/btY/v27ViWxQMPPMDatWvzHZZIcblcfOc73+ELX/gC0WiUjRs3cuedd+Y7LAFcd911fP7zn+f+++/HNE02b97M1q1b8x3WnPL973+faDTKd77zncy0HTt2SJ0pABcqG6kz+bVx40b279/P9u3bsdlsbN68mS1btlBdXT2lOqO01nqGYhZCCCGEEGLGzakuB0IIIYQQYvaRhFYIIYQQQhQ1SWiFEEIIIURRk4RWCCGEEEIUNUlohRBCCCFEUZOEVgghhBBCFDVJaIUQQgghRFGThFYIIYQQQhS1/w/t6SApUuQsvQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 842.4x595.44 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.utils import resample\n",
"\n",
"np.random.seed(2018)\n",
"\n",
"n = 400\n",
"n_boostraps = 100\n",
"maxdegree = 30\n",
"\n",
"\n",
"# Make data set.\n",
"x = np.linspace(-3, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n",
"error = np.zeros(maxdegree)\n",
"bias = np.zeros(maxdegree)\n",
"variance = np.zeros(maxdegree)\n",
"polydegree = np.zeros(maxdegree)\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n",
"\n",
"for degree in range(maxdegree):\n",
" model = make_pipeline(PolynomialFeatures(degree=degree), LinearRegression(fit_intercept=False))\n",
" y_pred = np.empty((y_test.shape[0], n_boostraps))\n",
" for i in range(n_boostraps):\n",
" x_, y_ = resample(x_train, y_train)\n",
" y_pred[:, i] = model.fit(x_, y_).predict(x_test).ravel()\n",
"\n",
" polydegree[degree] = degree\n",
" error[degree] = np.mean( np.mean((y_test - y_pred)**2, axis=1, keepdims=True) )\n",
" bias[degree] = np.mean( (y_test - np.mean(y_pred, axis=1, keepdims=True))**2 )\n",
" variance[degree] = np.mean( np.var(y_pred, axis=1, keepdims=True) )\n",
" print('Polynomial degree:', degree)\n",
" print('Error:', error[degree])\n",
" print('Bias^2:', bias[degree])\n",
" print('Var:', variance[degree])\n",
" print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n",
"\n",
"plt.plot(polydegree, error, label='Error')\n",
"plt.plot(polydegree, bias, label='bias')\n",
"plt.plot(polydegree, variance, label='Variance')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- !split -->\n",
"## Summing up\n",
"\n",
"\n",
"\n",
"\n",
"The bias-variance tradeoff summarizes the fundamental tension in\n",
"machine learning, particularly supervised learning, between the\n",
"complexity of a model and the amount of training data needed to train\n",
"it. Since data is often limited, in practice it is often useful to\n",
"use a less-complex model with higher bias, that is a model whose asymptotic\n",
"performance is worse than another model because it is easier to\n",
"train and less sensitive to sampling noise arising from having a\n",
"finite-sized training dataset (smaller variance). \n",
"\n",
"\n",
"\n",
"The above equations tell us that in\n",
"order to minimize the expected test error, we need to select a\n",
"statistical learning method that simultaneously achieves low variance\n",
"and low bias. Note that variance is inherently a nonnegative quantity,\n",
"and squared bias is also nonnegative. Hence, we see that the expected\n",
"test MSE can never lie below $Var(\\epsilon)$, the irreducible error.\n",
"\n",
"\n",
"What do we mean by the variance and bias of a statistical learning\n",
"method? The variance refers to the amount by which our model would change if we\n",
"estimated it using a different training data set. Since the training\n",
"data are used to fit the statistical learning method, different\n",
"training data sets will result in a different estimate. But ideally the\n",
"estimate for our model should not vary too much between training\n",
"sets. However, if a method has high variance then small changes in\n",
"the training data can result in large changes in the model. In general, more\n",
"flexible statistical methods have higher variance.\n",
"\n",
"\n",
"You may also find this recent [article](https://www.pnas.org/content/116/32/15849) of interest.\n",
"\n",
"## Another Example from Scikit-Learn's Repository"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\"\"\"\n",
"============================\n",
"Underfitting vs. Overfitting\n",
"============================\n",
"\n",
"This example demonstrates the problems of underfitting and overfitting and\n",
"how we can use linear regression with polynomial features to approximate\n",
"nonlinear functions. The plot shows the function that we want to approximate,\n",
"which is a part of the cosine function. In addition, the samples from the\n",
"real function and the approximations of different models are displayed. The\n",
"models have polynomial features of different degrees. We can see that a\n",
"linear function (polynomial with degree 1) is not sufficient to fit the\n",
"training samples. This is called **underfitting**. A polynomial of degree 4\n",
"approximates the true function almost perfectly. However, for higher degrees\n",
"the model will **overfit** the training data, i.e. it learns the noise of the\n",
"training data.\n",
"We evaluate quantitatively **overfitting** / **underfitting** by using\n",
"cross-validation. We calculate the mean squared error (MSE) on the validation\n",
"set, the higher, the less likely the model generalizes correctly from the\n",
"training data.\n",
"\"\"\"\n",
"\n",
"print(__doc__)\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.model_selection import cross_val_score\n",
"\n",
"\n",
"def true_fun(X):\n",
" return np.cos(1.5 * np.pi * X)\n",
"\n",
"np.random.seed(0)\n",
"\n",
"n_samples = 30\n",
"degrees = [1, 4, 15]\n",
"\n",
"X = np.sort(np.random.rand(n_samples))\n",
"y = true_fun(X) + np.random.randn(n_samples) * 0.1\n",
"\n",
"plt.figure(figsize=(14, 5))\n",
"for i in range(len(degrees)):\n",
" ax = plt.subplot(1, len(degrees), i + 1)\n",
" plt.setp(ax, xticks=(), yticks=())\n",
"\n",
" polynomial_features = PolynomialFeatures(degree=degrees[i],\n",
" include_bias=False)\n",
" linear_regression = LinearRegression()\n",
" pipeline = Pipeline([(\"polynomial_features\", polynomial_features),\n",
" (\"linear_regression\", linear_regression)])\n",
" pipeline.fit(X[:, np.newaxis], y)\n",
"\n",
" # Evaluate the models using crossvalidation\n",
" scores = cross_val_score(pipeline, X[:, np.newaxis], y,\n",
" scoring=\"neg_mean_squared_error\", cv=10)\n",
"\n",
" X_test = np.linspace(0, 1, 100)\n",
" plt.plot(X_test, pipeline.predict(X_test[:, np.newaxis]), label=\"Model\")\n",
" plt.plot(X_test, true_fun(X_test), label=\"True function\")\n",
" plt.scatter(X, y, edgecolor='b', s=20, label=\"Samples\")\n",
" plt.xlabel(\"x\")\n",
" plt.ylabel(\"y\")\n",
" plt.xlim((0, 1))\n",
" plt.ylim((-2, 2))\n",
" plt.legend(loc=\"best\")\n",
" plt.title(\"Degree {}\\nMSE = {:.2e}(+/- {:.2e})\".format(\n",
" degrees[i], -scores.mean(), scores.std()))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## More examples on bootstrap and cross-validation and errors"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.utils import resample\n",
"from sklearn.metrics import mean_squared_error\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"infile = open(data_path(\"EoS.csv\"),'r')\n",
"\n",
"# Read the EoS data as csv file and organize the data into two arrays with density and energies\n",
"EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n",
"EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n",
"EoS = EoS.dropna()\n",
"Energies = EoS['Energy']\n",
"Density = EoS['Density']\n",
"# The design matrix now as function of various polytrops\n",
"\n",
"Maxpolydegree = 30\n",
"X = np.zeros((len(Density),Maxpolydegree))\n",
"X[:,0] = 1.0\n",
"testerror = np.zeros(Maxpolydegree)\n",
"trainingerror = np.zeros(Maxpolydegree)\n",
"polynomial = np.zeros(Maxpolydegree)\n",
"\n",
"trials = 100\n",
"for polydegree in range(1, Maxpolydegree):\n",
" polynomial[polydegree] = polydegree\n",
" for degree in range(polydegree):\n",
" X[:,degree] = Density**(degree/3.0)\n",
"\n",
"# loop over trials in order to estimate the expectation value of the MSE\n",
" testerror[polydegree] = 0.0\n",
" trainingerror[polydegree] = 0.0\n",
" for samples in range(trials):\n",
" x_train, x_test, y_train, y_test = train_test_split(X, Energies, test_size=0.2)\n",
" model = LinearRegression(fit_intercept=True).fit(x_train, y_train)\n",
" ypred = model.predict(x_train)\n",
" ytilde = model.predict(x_test)\n",
" testerror[polydegree] += mean_squared_error(y_test, ytilde)\n",
" trainingerror[polydegree] += mean_squared_error(y_train, ypred) \n",
"\n",
" testerror[polydegree] /= trials\n",
" trainingerror[polydegree] /= trials\n",
" print(\"Degree of polynomial: %3d\"% polynomial[polydegree])\n",
" print(\"Mean squared error on training data: %.8f\" % trainingerror[polydegree])\n",
" print(\"Mean squared error on test data: %.8f\" % testerror[polydegree])\n",
"\n",
"plt.plot(polynomial, np.log10(trainingerror), label='Training Error')\n",
"plt.plot(polynomial, np.log10(testerror), label='Test Error')\n",
"plt.xlabel('Polynomial degree')\n",
"plt.ylabel('log10[MSE]')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- !split -->\n",
"## The same example but now with cross-validation"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Common imports\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.model_selection import cross_val_score\n",
"\n",
"\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')\n",
"\n",
"infile = open(data_path(\"EoS.csv\"),'r')\n",
"\n",
"# Read the EoS data as csv file and organize the data into two arrays with density and energies\n",
"EoS = pd.read_csv(infile, names=('Density', 'Energy'))\n",
"EoS['Energy'] = pd.to_numeric(EoS['Energy'], errors='coerce')\n",
"EoS = EoS.dropna()\n",
"Energies = EoS['Energy']\n",
"Density = EoS['Density']\n",
"# The design matrix now as function of various polytrops\n",
"\n",
"Maxpolydegree = 30\n",
"X = np.zeros((len(Density),Maxpolydegree))\n",
"X[:,0] = 1.0\n",
"estimated_mse_sklearn = np.zeros(Maxpolydegree)\n",
"polynomial = np.zeros(Maxpolydegree)\n",
"k =5\n",
"kfold = KFold(n_splits = k)\n",
"\n",
"for polydegree in range(1, Maxpolydegree):\n",
" polynomial[polydegree] = polydegree\n",
" for degree in range(polydegree):\n",
" X[:,degree] = Density**(degree/3.0)\n",
" OLS = LinearRegression()\n",
"# loop over trials in order to estimate the expectation value of the MSE\n",
" estimated_mse_folds = cross_val_score(OLS, X, Energies, scoring='neg_mean_squared_error', cv=kfold)\n",
"#[:, np.newaxis]\n",
" estimated_mse_sklearn[polydegree] = np.mean(-estimated_mse_folds)\n",
"\n",
"plt.plot(polynomial, np.log10(estimated_mse_sklearn), label='Test Error')\n",
"plt.xlabel('Polynomial degree')\n",
"plt.ylabel('log10[MSE]')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Cross-validation with Ridge"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.linear_model import Ridge\n",
"from sklearn.model_selection import cross_val_score\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"\n",
"# A seed just to ensure that the random numbers are the same for every run.\n",
"np.random.seed(3155)\n",
"# Generate the data.\n",
"n = 100\n",
"x = np.linspace(-3, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n",
"# Decide degree on polynomial to fit\n",
"poly = PolynomialFeatures(degree = 10)\n",
"\n",
"# Decide which values of lambda to use\n",
"nlambdas = 500\n",
"lambdas = np.logspace(-3, 5, nlambdas)\n",
"# Initialize a KFold instance\n",
"k = 5\n",
"kfold = KFold(n_splits = k)\n",
"estimated_mse_sklearn = np.zeros(nlambdas)\n",
"i = 0\n",
"for lmb in lambdas:\n",
" ridge = Ridge(alpha = lmb)\n",
" estimated_mse_folds = cross_val_score(ridge, x, y, scoring='neg_mean_squared_error', cv=kfold)\n",
" estimated_mse_sklearn[i] = np.mean(-estimated_mse_folds)\n",
" i += 1\n",
"plt.figure()\n",
"plt.plot(np.log10(lambdas), estimated_mse_sklearn, label = 'cross_val_score')\n",
"plt.xlabel('log10(lambda)')\n",
"plt.ylabel('MSE')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Ising model\n",
"\n",
"The one-dimensional Ising model with nearest neighbor interaction, no\n",
"external field and a constant coupling constant $J$ is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto2\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = -J \\sum_{k}^L s_k s_{k + 1},\n",
"\\label{_auto2} \\tag{2}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $s_i \\in \\{-1, 1\\}$ and $s_{N + 1} = s_1$. The number of spins\n",
"in the system is determined by $L$. For the one-dimensional system\n",
"there is no phase transition.\n",
"\n",
"We will look at a system of $L = 40$ spins with a coupling constant of\n",
"$J = 1$. To get enough training data we will generate 10000 states\n",
"with their respective energies."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.axes_grid1 import make_axes_locatable\n",
"import seaborn as sns\n",
"import scipy.linalg as scl\n",
"from sklearn.model_selection import train_test_split\n",
"import tqdm\n",
"sns.set(color_codes=True)\n",
"cmap_args=dict(vmin=-1., vmax=1., cmap='seismic')\n",
"\n",
"L = 40\n",
"n = int(1e4)\n",
"\n",
"spins = np.random.choice([-1, 1], size=(n, L))\n",
"J = 1.0\n",
"\n",
"energies = np.zeros(n)\n",
"\n",
"for i in range(n):\n",
" energies[i] = - J * np.dot(spins[i], np.roll(spins[i], 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we use ordinary least squares\n",
"regression to predict the energy for the nearest neighbor\n",
"one-dimensional Ising model on a ring, i.e., the endpoints wrap\n",
"around. We will use linear regression to fit a value for\n",
"the coupling constant to achieve this.\n",
"\n",
"## Reformulating the problem to suit regression\n",
"\n",
"A more general form for the one-dimensional Ising model is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto3\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = - \\sum_j^L \\sum_k^L s_j s_k J_{jk}.\n",
"\\label{_auto3} \\tag{3}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we allow for interactions beyond the nearest neighbors and a state dependent\n",
"coupling constant. This latter expression can be formulated as\n",
"a matrix-product"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto4\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{H} = \\boldsymbol{X} J,\n",
"\\label{_auto4} \\tag{4}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $X_{jk} = s_j s_k$ and $J$ is a matrix which consists of the\n",
"elements $-J_{jk}$. This form of writing the energy fits perfectly\n",
"with the form utilized in linear regression, that is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto5\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon},\n",
"\\label{_auto5} \\tag{5}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We split the data in training and test data as discussed in the previous example"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"X = np.zeros((n, L ** 2))\n",
"for i in range(n):\n",
" X[i] = np.outer(spins[i], spins[i]).ravel()\n",
"y = energies\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Linear regression\n",
"\n",
"In the ordinary least squares method we choose the cost function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto6\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" C(\\boldsymbol{X}, \\boldsymbol{\\beta})= \\frac{1}{n}\\left\\{(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})^T(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})\\right\\}.\n",
"\\label{_auto6} \\tag{6}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We then find the extremal point of $C$ by taking the derivative with respect to $\\boldsymbol{\\beta}$ as discussed above.\n",
"This yields the expression for $\\boldsymbol{\\beta}$ to be"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} = \\frac{\\boldsymbol{X}^T \\boldsymbol{y}}{\\boldsymbol{X}^T \\boldsymbol{X}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which immediately imposes some requirements on $\\boldsymbol{X}$ as there must exist\n",
"an inverse of $\\boldsymbol{X}^T \\boldsymbol{X}$. If the expression we are modeling contains an\n",
"intercept, i.e., a constant term, we must make sure that the\n",
"first column of $\\boldsymbol{X}$ consists of $1$. We do this here"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"X_train_own = np.concatenate(\n",
" (np.ones(len(X_train))[:, np.newaxis], X_train),\n",
" axis=1\n",
")\n",
"X_test_own = np.concatenate(\n",
" (np.ones(len(X_test))[:, np.newaxis], X_test),\n",
" axis=1\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"ename": "LinAlgError",
"evalue": "singular matrix",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mLinAlgError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-4-bc577a44c766>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mols_inv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mscl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mbeta\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mols_inv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train_own\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-4-bc577a44c766>\u001b[0m in \u001b[0;36mols_inv\u001b[0;34m(x, y)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mols_inv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mscl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m \u001b[0;34m@\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mbeta\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mols_inv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train_own\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/scipy/linalg/basic.py\u001b[0m in \u001b[0;36minv\u001b[0;34m(a, overwrite_a, check_finite)\u001b[0m\n\u001b[1;32m 977\u001b[0m \u001b[0minv_a\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minfo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetri\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpiv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlwork\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlwork\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moverwrite_lu\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 978\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0minfo\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 979\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mLinAlgError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"singular matrix\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 980\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0minfo\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 981\u001b[0m raise ValueError('illegal value in %d-th argument of internal '\n",
"\u001b[0;31mLinAlgError\u001b[0m: singular matrix"
]
}
],
"source": [
"def ols_inv(x: np.ndarray, y: np.ndarray) -> np.ndarray:\n",
" return scl.inv(x.T @ x) @ (x.T @ y)\n",
"beta = ols_inv(X_train_own, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Singular Value decomposition\n",
"\n",
"Doing the inversion directly turns out to be a bad idea since the matrix\n",
"$\\boldsymbol{X}^T\\boldsymbol{X}$ is singular. An alternative approach is to use the **singular\n",
"value decomposition**. Using the definition of the Moore-Penrose\n",
"pseudoinverse we can write the equation for $\\boldsymbol{\\beta}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta} = \\boldsymbol{X}^{+}\\boldsymbol{y},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where the pseudoinverse of $\\boldsymbol{X}$ is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{X}^{+} = \\frac{\\boldsymbol{X}^T}{\\boldsymbol{X}^T\\boldsymbol{X}}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using singular value decomposition we can decompose the matrix $\\boldsymbol{X} = \\boldsymbol{U}\\boldsymbol{\\Sigma} \\boldsymbol{V}^T$,\n",
"where $\\boldsymbol{U}$ and $\\boldsymbol{V}$ are orthogonal(unitary) matrices and $\\boldsymbol{\\Sigma}$ contains the singular values (more details below).\n",
"where $X^{+} = V\\Sigma^{+} U^T$. This reduces the equation for\n",
"$\\omega$ to"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto7\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{\\beta} = \\boldsymbol{V}\\boldsymbol{\\Sigma}^{+} \\boldsymbol{U}^T \\boldsymbol{y}.\n",
"\\label{_auto7} \\tag{7}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that solving this equation by actually doing the pseudoinverse\n",
"(which is what we will do) is not a good idea as this operation scales\n",
"as $\\mathcal{O}(n^3)$, where $n$ is the number of elements in a\n",
"general matrix. Instead, doing $QR$-factorization and solving the\n",
"linear system as an equation would reduce this down to\n",
"$\\mathcal{O}(n^2)$ operations."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def ols_svd(x: np.ndarray, y: np.ndarray) -> np.ndarray:\n",
" u, s, v = scl.svd(x)\n",
" return v.T @ scl.pinv(scl.diagsvd(s, u.shape[0], v.shape[0])) @ u.T @ y"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"beta = ols_svd(X_train_own,y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When extracting the $J$-matrix we need to make sure that we remove the intercept, as is done here"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"J = beta[1:].reshape(L, L)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A way of looking at the coefficients in $J$ is to plot the matrices as images."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdfaxdVZk4/ufse6cvlNZ4Y20KBXmJxpkSS38TLyPzHSVSixawOMhb6hehgg7RP4TMIBpGRzIjAzpfEoKDxCIIFtAmWNKpQ8yYMerASERnhveBUklpyptgX7XlnnN+f5ReuN72nn3a1XPWvvvzSfrPOat7P/vZa+9znrvWWbvRbrfbAQAAQG0U/Q4AAACA3lIIAgAA1IxCEAAAoGYUggAAADWjEAQAAKgZhSAAAEDNDPY7AACqb9euXbFy5cpYu3ZtPP3009FoNOLII4+MU089Nc4555yYOXPmaNsrrrgivv/978ePfvSjmDdv3oTbbbVa8d3vfje+//3vx1NPPRWtVisOP/zwWLRoUVx00UVjtgsAlKcQBOCAPP/883HRRRfFk08+GYsWLYqPfOQj0W6341e/+lVcd9118d3vfjduuummOOaYY7re9uWXXx4/+MEP4kMf+lCcfvrpURRFPPzww7FixYq4995746677oo3v/nNB+GoAGByUwgCsN927doVl1xySTz77LNxyy23xHve857R9z72sY/F+eefH5/85Cfj4osvjn/5l3+J6dOnl972L3/5y1izZk1cccUVceGFF455773vfW989rOfjRUrVsTf/M3fJDseAKgLvxEEYL+tXr06Hnnkkfjc5z43pgjcY8GCBfGFL3whnn322bj55pu72vavfvWriIj48z//83HvfehDH4o5c+bEf/3Xf+1f4ABQcwpBAPbb6tWr45BDDomPfOQj+2zz4Q9/OGbPnh1r1qzpatszZsyIiIjvfe970Wq1xr3/b//2b7Fy5cruAgYAIkIhCMB+ajab8dBDD8Wf/MmfxNSpU/fZrtFoxAknnBC//vWv48UXXyy9/cWLF8eb3vSmuP3222PRokVxzTXXxE9+8pPYsWNHRERMmTLlgI8BAOpKIQjAftm8eXPs2rUrZs+e3bHtW9/61oiIeOGFF0pvf2hoKL75zW/GEUccERs3boxvfetbcfHFF8fw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x3/8x39ERMRTTz0VERHHHnvsQQoVAAAgX7muGro3HQvBQw89NO69994xReAer7zySgwMDERExJNPPhkRrxeCO3bsiEMOOWR/4gUAAOAg6vhUx4GBgTjqqKNizpw5Y15//PHH45e//GUsXLgwInYXgjNmzIirr746Fi5cGAsXLoxFixbF2rVrD07kAAAA7Jf9enzE9u3b43Of+1xERHzyk5+MiN1TQ7dv3x5bt26Na6+9NrZs2RK33XZbXHbZZfHqq6/GGWec0dU+io4lark2JWrd0tJtKf3WUikbVbncpzT5z2O+ua+Lkomt8AnIN/J0uc/1+k6p1Uq5tXS570tcddDzfp92i5W+Jvtwv690voiISbhq6Bv97ne/i0suuSQef/zx+NSnPhXDw8MREXH22WdHq9WKZcuWjbY99dRT47TTTouvfvWrcfrpp49OIy2j0wdKUZT70Cki3SdTK+mNMeknZjJljrFs7lOqw3nMNfd1UepcVvwEpOz7KaXMfa7Xd0rFYLpjbI2ky33P46qDPvT7iHp85nbeWX/u95XNV1kV/mPqZNTV2diyZUssX748fv7zn8eZZ54Zl1566eh755133pgiMCJi2rRpsXTp0njppZdGF5MBAACgv0qPCP7mN7+JT3ziE/HYY4/FOeecE1/+8pej0Wh0/H9DQ0MRsXvxGAAAgMmqSquGlhoR3LZt22gReMEFF8RVV101pgh8/vnn49RTT40bbrhh3P9dv359RETMmzevy7ABAAA4GEoVgldddVU89thjcf7558fnP//5ce/PmTMntm7dGqtWrYpt27aNvr5p06a4++6744QTTojZs2enixoAAID91nFq6Lp16+Kee+6JmTNnxh//8R/HPffcM67N0qVL44tf/GJ8+tOfjnPPPTfOOuus2L59e6xcuTIGBwfjS1/60kEJHgAAIBeTatXQBx54ICIitm7dutfRwIjdheCiRYvi61//etx0003xta99LaZNmxbDw8Nx2WWXjT5kHgAAgP5rtNvtdr+D2BuPj+iPXB9hUIfzmGvu68LjI/rH4yO64/ERNeLxEWN4fER3sryH1eDxEVdeGfHyy/2O4nVDQxF///d7f2+/HijfC507b1Gqg0/6Cyr6cYzlcp9Srl9g65D71Kp8LovS7ap9jnpN7ruTskgqU7y1WiXbJYyrMZDub9TtZucVzvtB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\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J, **cmap_args)\n",
"plt.title(\"OLS\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is interesting to note that OLS\n",
"considers both $J_{j, j + 1} = -0.5$ and $J_{j, j - 1} = -0.5$ as\n",
"valid matrix elements for $J$.\n",
"In our discussion below on hyperparameters and Ridge and Lasso regression we will see that\n",
"this problem can be removed, partly and only with Lasso regression. \n",
"\n",
"In this case our matrix inversion was actually possible. The obvious question now is what is the mathematics behind the SVD?\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"## The one-dimensional Ising model\n",
"\n",
"Let us bring back the Ising model again, but now with an additional\n",
"focus on Ridge and Lasso regression as well. We repeat some of the\n",
"basic parts of the Ising model and the setup of the training and test\n",
"data. The one-dimensional Ising model with nearest neighbor\n",
"interaction, no external field and a constant coupling constant $J$ is\n",
"given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto8\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = -J \\sum_{k}^L s_k s_{k + 1},\n",
"\\label{_auto8} \\tag{8}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $s_i \\in \\{-1, 1\\}$ and $s_{N + 1} = s_1$. The number of spins in the system is determined by $L$. For the one-dimensional system there is no phase transition.\n",
"\n",
"We will look at a system of $L = 40$ spins with a coupling constant of $J = 1$. To get enough training data we will generate 10000 states with their respective energies."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.axes_grid1 import make_axes_locatable\n",
"import seaborn as sns\n",
"import scipy.linalg as scl\n",
"from sklearn.model_selection import train_test_split\n",
"import sklearn.linear_model as skl\n",
"import tqdm\n",
"sns.set(color_codes=True)\n",
"cmap_args=dict(vmin=-1., vmax=1., cmap='seismic')\n",
"\n",
"L = 40\n",
"n = int(1e4)\n",
"\n",
"spins = np.random.choice([-1, 1], size=(n, L))\n",
"J = 1.0\n",
"\n",
"energies = np.zeros(n)\n",
"\n",
"for i in range(n):\n",
" energies[i] = - J * np.dot(spins[i], np.roll(spins[i], 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A more general form for the one-dimensional Ising model is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto9\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = - \\sum_j^L \\sum_k^L s_j s_k J_{jk}.\n",
"\\label{_auto9} \\tag{9}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we allow for interactions beyond the nearest neighbors and a more\n",
"adaptive coupling matrix. This latter expression can be formulated as\n",
"a matrix-product on the form"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto10\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" H = X J,\n",
"\\label{_auto10} \\tag{10}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $X_{jk} = s_j s_k$ and $J$ is the matrix consisting of the\n",
"elements $-J_{jk}$. This form of writing the energy fits perfectly\n",
"with the form utilized in linear regression, viz."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto11\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" \\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta} + \\boldsymbol{\\epsilon}.\n",
"\\label{_auto11} \\tag{11}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We organize the data as we did above"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"X = np.zeros((n, L ** 2))\n",
"for i in range(n):\n",
" X[i] = np.outer(spins[i], spins[i]).ravel()\n",
"y = energies\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.96)\n",
"\n",
"X_train_own = np.concatenate(\n",
" (np.ones(len(X_train))[:, np.newaxis], X_train),\n",
" axis=1\n",
")\n",
"\n",
"X_test_own = np.concatenate(\n",
" (np.ones(len(X_test))[:, np.newaxis], X_test),\n",
" axis=1\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will do all fitting with **Scikit-Learn**,"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"clf = skl.LinearRegression().fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When extracting the $J$-matrix we make sure to remove the intercept"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"J_sk = clf.coef_.reshape(L, L)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And then we plot the results"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdf1yV9f3/8SdwIkAkIhREQkIjhuavmZQ5c0Y4tdS2tB+mbWWtZbX6tJr18Vtbn5baWj/MVmuuH5qzcrl+6WdZ2W8r1/o0Naap+BvBCAmRgIDz/UM5iiDXpeclXHge99vNW7fOefO8Xlxc13XO+7zf532F+f1+vwAAAAAAISO8rQsAAAAAALQuOoIAAAAAEGLoCAIAAABAiKEjCAAAAAAhho4gAAAAAIQYOoIAAAAAEGLoCAI4aqZOnarTTjtN27Ztc9XOqxYtWqTTTjutyb+ePXvqrLPO0jXXXKNVq1a1dZmt4pNPPtFpp52mRYsWtep2t2/frokTJ6p3797KyclRaWlpq27frVWrVunGG2/U2WefrV69emnw4MG6+eabj+j42LZtm0477TQ98sgjgcdOO+00TZ06tcWfGzZsmCZOnNjosa+//lqVlZWO2/T6uQgAsONr6wIA4OKLL9ZZZ53V1mU4uvjii/X9738/8P81NTVau3atnnvuOf3zn//Uyy+/rLS0tDas8Ojr3r277rvvPvXv379Vtztz5kx9+umnuv7669WpUyclJCS06vbdeO+993TttdeqR48emjRpkhISErRjxw69+OKL+sc//qFHHnlEubm5rvMSEhJ03333HXbH7I477lB0dHTg/99991396le/0t///nfFxMQcVhYA4NhFRxBAm+vXr5/69evX1mU46tu3r8aMGdPk8f79++vmm2/Wk08+qd/85jetX1grSkxMbHYfHG1r167V9773PU2ZMqXVt+3W7373O2VlZen555/XcccdF3h80qRJGjNmjO6++24NHTpUPp+7l96YmJgj2tcHdzZXrlyp8vLyw84BABzbmBoKAEEaMWKEoqOj9e9//7utSzlmfffdd+rQoUNbl3FIpaWl2rRpk3Jychp1AiUpPj5eY8eOVUlJieM0aQAAWgsdQQBt7uDvJU2dOlU/+tGPtHLlSl1++eXq06ePBg0apHvuuUdVVVWNfraoqEi33XabzjzzTJ1++ukaO3asXnnllSbb+OijjzR58mTl5OSoZ8+e+sEPfqA777yz0UhJw3bnz5+vM844Q2eccYbee+89x/rDwsJ0/PHHy+/3N3p8/fr1mjJligYMGKA+ffrokksu0fvvv9/k5//9739r0qRJ6tevn37wgx/okUce0ezZs5vdJ83V5mYf+P1+zZ49W8OHD9fpp5+uQYMG6dZbb9WOHTsatVuwYIEuuOAC9enTRzk5OZoyZYrWrVsXeL657wjW1dVpzpw5Gj58eOB7cXfddVej7/E1/NyHH36o3/72tzrrrLPUp08fXXHFFVqzZs0h923Dz23fvl0rVqwIfGeu4fG///3vuuCCC3T66afr9ttvP+x6li9frv/+7//WGWecoe9///u6/fbbVVlZqXfffVdjxoxRnz59NGbMGH300UeHrFGSoqOjFRERobfeektfffVVk+dvuOEGffHFF0pPT2/0N5k7d67OP/989e7dW8OGDdP999+vb7/9VlLz3xE82IYNG5STk6Phw4erpKREUuPvCE6dOlWzZ8+WJJ177rlNvjvoRmucY4dzzgMAbDA1FIAnlZaW6qqrrtKIESM0evRovffee5o3b54iIyN12223SZKKi4s1btw4+f1+TZw4USeccILeeust3Xrrrdq5c6cmT54sSfrggw909dVXq3///rrxxhsVFhamDz/8UM8//7y+++47TZ8+PbDdHTt26NFHH9X111+vnTt3qk+fPnrrrbdarHXVqlUqKyvTsGHDAo+tXbtWl112mRITE/Xzn/9cxx13nF577TVdc801+sMf/qCRI0dKklavXq1JkyYpMTFRU6ZM0bfffqu5c+cqPLzp53TN1eZ2Hzz++ON69NFHNWHChMACPnPnztXq1av12muvKSIiQq+88op+85vfaOzYsZo4caJKS0v1zDPPaOLEiXrjjTfUsWPHZn//m2++Wa+//rry8vI0adIkbdy4UQsWLNDHH3+shQsXKi4uLtB22rRp6ty5s6677jp98803mjNnjq6++mq9/fbbzU6ZbPhO4vTp03XiiSfq2muv1WmnnaZvvvlGknT33XdrzJgxGjdunFJSUg67nqlTp6pHjx665ZZbtGLFCi1atEhFRUXKz8/XxIkT1bFjRz3xxBP65S9/qTfffLPRzx4oOjpaI0eO1Kuvvqrc3FwNGzZMgwcP1plnnqmuXbs2+7v99re/1YIFC/TDH/5Ql156qTZu3Kgnn3xSmzZtCnTeWlJYWKgrr7xSsbGxeuaZZ5SYmNikzcUXX6yKigq98cYbuv3223Xqqac65h6otc6xJUuWuDrnAQCG/ABwlPz617/2Z2Zm+rdu3eqq3cH/P3fu3EbtRowY4R88eHCjdgMHDvQXFxc3avdf//Vf/l69evlLSkr8fr/ff9VVV/l/+MMf+qurqxu1Gz9+vL9fv35Ntvviiy82avfiiy/6MzMz/fPmzfN//fXXgX+FhYX+N954w5+bm+vv3bu3v6CgIPAzl19+uT83N9e/Z8+ewGPfffed/7LLLvMPGjQoUMukSZP8AwYM8H/99deBdl988YU/Kyur2X1ycG1u98GIESP811xzTaM2CxYs8I8ePdq/efNmv9/v90+ePNk/atSoRm3eeecd/8iRI/2ffvqp3+/3+z/++ONGdbz77rv+zMxM/z333NPo55YsWeLPzMz033fffY1+7ic/+Ym/trY20O5Pf/qTPzMz0//BBx/4W/LDH/7Qf/nllwf+vyHvwMeOtJ66ujq/3+/319XV+c8++2x/Zmam/9133w387AsvvOCqxoqKCv9NN93kz8zMbPRv1KhR/meffTawHb/f71+3bp3/tNNO80+bNq1RxgMPPODPzMz0r1u3zr9161Z/Zmamf9asWYHnMzMz/b/+9a/9X3/9tT8vL88/ZMiQJufXwftq1qxZrs5Dv7/5c7E1zjG35zwAwA5TQwF41ogRIxr9f1ZWlr7++mtJUn19vd58800NGDBAPp9PpaWlgX95eXmqqanRhx9+KEn605/+pBdffFGRkZGBrF27dik2NrbZJfUHDx7cbD3/8z//o7POOivwb+jQobrhhhvUuXNnPffcczrllFMC2StWrNA555yjqqqqQF3l5eU677zzVFJSolWrVumbb77RihUrNGbMmEarYGZnZ+vss89utoYDazucfZCcnKxPPvlEzzzzTGAK4SWXXNJopdPk5GQVFBRo9uzZge+ynXPOOVq8eHGj1VIPtGzZMknSz3/+80aPjxgxQqeccorefPPNRo/n5eUpIiIi8P/f+973JKnZ6ZRuHPy3Otx6zj333MDoa3h4uE4++WRFRUVpyJAhgTapqamuauzQoYMefPBBLVmyRDfccIP69esnn8+ndevW6e67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\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J_sk, **cmap_args)\n",
"plt.title(\"LinearRegression from Scikit-learn\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The results perfectly with our previous discussion where we used our own code.\n",
"\n",
"## Ridge regression\n",
"\n",
"Having explored the ordinary least squares we move on to ridge\n",
"regression. In ridge regression we include a **regularizer**. This\n",
"involves a new cost function which leads to a new estimate for the\n",
"weights $\\boldsymbol{\\beta}$. This results in a penalized regression problem. The\n",
"cost function is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1\n",
"3\n",
"6\n",
" \n",
"<\n",
"<\n",
"<\n",
"!\n",
"!\n",
"M\n",
"A\n",
"T\n",
"H\n",
"_\n",
"B\n",
"L\n",
"O\n",
"C\n",
"K"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde3hU1b3/8U8mcUhCGOM0EAgxRqAjQoyACkItKka0UsUbiCLeW7S0VVqtl1rk6WlVqpUWtdQeQEQutVjqjfa0tdRLjwrHH6UICBEUQoQEYwghhDAkmd8fkIGQkL1hviQ7zPv1PDw+7v3Nd3+zZ+89s7LWrJUQiUQiAgAAAADEDV9bFwAAAAAAaF00BAEAAAAgztAQBAAAAIA4Q0MQAAAAAOIMDUEAAAAAiDM0BAEAAAAgztAQBIBmPPDAAzrttNOa/MvPz9eFF16ohx56SGVlZY1+ZtiwYRo3bpxjbrdx1mbPnq3zzjtP+fn5evLJJ1v9+G6Ew2H97ne/0xVXXKF+/fppwIABuvrqq/W73/1Oe/bsOeJ8Da9jg6efflqnnXaaiouLD/szixYt0mmnnaalS5c22r5582bH4xUXF+u0007T008/fcS1AgDQmpLaugAA8LIHH3xQJ510UvT/q6qq9P777+uPf/yjVq1apZdffll+v1+S9NBDDyklJaWtSm3RunXr9Nhjj6lfv366++671bt377YuqYna2lrdfvvtWrFiha688kpdd911qqur04cffqinnnpKS5Ys0Zw5c6Ln243rrrtOgwcPPqI6zjnnHP3iF79Qz549o9tuv/12de7cWY8//vgR5QIAwKtoCAJACwoKCpSdnd1o29ixYzV58mQtWLBAb775pi677LJorFcVFhZKksaPH69hw4a1cTXN+8tf/qJly5bp6aef1vDhw6Pbb7rpJs2YMUNPPPGEXn75Zd1www2uc/bv31/9+/c/ojpOPvlknXzyyY22/etf/9JVV111RHkAAPAyhoYCwFFoaBT85z//aeNK3Nm7d68kqWPHjm1cyeH9+9//liR97Wtfa7Jv7NixOuGEE7RixYrWLgsAgOMSDUEAOAoNQ0AjkUh0W3Pf/fvzn/+skSNHKj8/X9/85jf1wQcfNJvv7bff1qhRo9SvXz9ddNFFmjt3rn784x836b1bv369JkyYoLPPPltnnnmmxowZo3fffbfFWseNG6cHH3xQ0r7etYbvzI0bN0633367pk6dqv79+2vw4MFat26dpH1DSb/zne/o7LPPVn5+vkaPHq0333yzSd7x48frzTff1BVXXKEzzjhDI0aM0Ntvv62qqipNmjRJAwcO1ODBgzVp0iTV1NS0WGdDI/Wll15qsi8lJUXLly/XL37xi0bbN2zYoLvvvluDBg3SWWedpXHjxunDDz+M7j/0O4LNmTx5sk477TTNnj1bUuPvCDZ850+S/vSnPzX73UE3Fi1apCuvvFJnnHGGzj33XD3wwAPatm1bo5iqqir98pe/1KWXXqozzjhD/fv31+jRo/WPf/wjGtNQz+zZs3X99dcrLy9Pt9xyS3T7K6+8oqlTp2ro0KE644wzNGrUqMNecwCA+MbQUAA4Cg2Nrz59+hw2ZtGiRXrwwQfVv39/3Xfffdq0aZPuvPNO1dfXq3v37tG4f/7zn5owYYJCoZAmTpyo0tJSTZkyRampqY168NatW6cbbrhBGRkZGj9+vE444QS98cYb+va3v61f/vKX0SGqh7rzzjt16qmn6qWXXtKdd96pHj16RPctX75cmzZt0n333afi4mL16tVLK1eu1E033aS0tDTdeuut6tixo1599VVNmDBBkyZN0tixY6M/v3r1av373//WTTfdpE6dOum5557TPffco9NPP10pKSmaOHGiPvzwQ7300kvq0qWLvvvd7x72fF1xxRV6/vnnNWXKFC1atEgFBQUaPHiw+vfvL7/f3+S7gRs3btTo0aOVlJSkG2+8UcFgUL///e916623at68ecrPzz/ssRr86le/0oIFCzRx4kTdcsstTfYHg0H94he/0I9+9COdffbZGj16dKPvDrrxzDPP6Omnn9Yll1yi0aNHq7S0VHPnztWyZcv08ssvKxgMKhKJaPz48VqzZo1uvPFG5eTkqKSkRL///e/1ve99T3/9618bDVf99a9/rfPPP1+XX365OnTo0Gh7SkqKbrvtNu3du1ezZs3S+PHj9dZbbzX6risAAIoAAJq4//77I6FQKLJ69erIl19+Gf23adOmyNy5cyP9+vWLfOMb34iEw+Hoz1x44YWRG2+8MRKJRCK1tbWRwYMHR6655ppGMX/84x8joVAoGheJRCIFBQWR4cOHR3bv3h3d9ve//z0SCoUiF154YXTbjTfeGCkoKIjs2rUrum3v3r2RG264ITJkyJDInj17Dvv7NBz3gw8+aJTv0G2RSCQyatSoSL9+/SJbt26NbqupqYlcddVVkfz8/MiXX37Z6OeXLFkSjZs7d24kFApFRo8eHd1WX18fGTp0aOS66647bH0N/vnPf0YGDx4cCYVC0X/9+vWL/OAHP4h8+umnjWLvvvvuSH5+fmTjxo3RbeXl5ZGzzjor8v3vfz8SiRx4HRtMmzYtEgqFIps3b4688MILkVAoFHnqqaccz1UoFIrcf//9jvVv3rw5EgqFItOmTYtEIpFIUVFRpHfv3pEnn3yyUdy6desiffv2jfz85z+PRCKRyIoVKyKhUCiyYMGCRnHvvPNOJBQKRWbNmtUo/8UXX9zoumrYfv755ze6PhYvXhwJhUKRl156ybF2AEB8YWgoALTgqquu0uDBg6P/Lr74Yj3xxBO68MILNW/ePJ1wwgnN/tzq1av15Zdf6uqrr24UM3LkSJ144onR/1+7dq2Kioo0ZswYJScnR7cXFBQ06nnavn27li1bpvPPP181NTUqLy9XeXm5KisrdfHFF6usrEwfffTREf9+ycnJOuecc6L/X1ZWpv/85z8aOXKkunbtGt3eoUMH3X777aqpqdF7773XaPvXv/716P+feuqpkqSLLrooui0hIUHdu3fXF1984VjPBRdcoH/+85+aOnWqRo4cqc6dO6u6ulpvvPGGRo4cqWXLlkmS6uvr9fbbb+v888/XKaecEv35k046SfPnz9fDDz/c4nFee+01Pfroo7r66qs1ceJEx7qO1t///nfV19dr2LBh0desvLxcGRkZOv300/XWW29Jks4880z93//9n66++uroz9bV1am+vl6StGvXrkZ5zz333GavvfPPP1+pqanR/2+YHdbNuQcAxBeGhgJAC5544gllZGRo7969evfddzVv3jx94xvf0OTJkxsNyTvU559/LknKyclptD0xMbFRw2XTpk2S1Ghbg1NPPVUff/yxpANr2L344ot68cUXmz3m1q1bj+A32yc9PV0+34G/CTbU3dCgO1hDw3TLli2Nfj4p6cBbSWJioiTpK1/5SqOfTUxMbPR9ypZ06NBBl112WXSo6+rVqzVr1iy98cYbeuSRR/SXv/xFFRUVqq6ubva8hUIhx2P8+te/ls/n08qVK7V3797DNugPp6KiIjoBT4NgMNgkrqioSJI0ZsyYZvMcfNykpCT9/ve/17Jly7Rp0yYVFRVFv1d56Llr7ljNbW8YTtvQoAQAoAENQQBowYABA6LLRzT0Pv3sZz9TRUWFfvOb3yghIaHZn2vY3twi6Ad/KK+trZWkZtfGO7ihWVdXJ2nf7JmHW6aiV69ebn6lRhoabg1aaqw11H1o46U5hzsvh1NdXa3nnntOffv2bbR0hCT17dtXv/zlL1VZWal33nlH27dvj56PgxuxR+KKK67QOeeco5/85CeaOXOm7rzzziP6+e9973vR3skGB0/q0qDhnE2fPr1Rj++hKisrNWbMGG3evFlf+9rXNGzYMPXu3Vvdu3fXqFGjmsQf+ro1ONrzAQCIPzQEAeAIjBs3Tu+//77+8Y9/6IUXXmh2ghFJ0Yk9Nm7c2Gh7JBLR559/rq9+9atN4s4777xGsQf/bMPkMomJiRoyZEijuPXr16u4uNhkMfuG43z66adN9n322WeS1GjIqJUOHTpo5syZ6t+/f5OGYINevXrp3XffVXJysk444QQlJydHe1QPNnPmTJWVlen+++8/7PHuvvtude/eXYsWLdL06dM1YsSIJmsHtuT+++9XZWVlo22dO3duMgSz4Xx269ZNp59+eqN9b7/9ttLS0iRJc+bM0YYNGzR79mwNHjw4GrN8+XLXNQEAcCT40yEAHKGf/vSnOvHEE/WrX/0qOmTzUH369FH37t21YMEC7d69O7p98eLF2r59e/T/8/Ly1K1bN7388ssKh8PR7StWrNCaNWui/9+lSxfl5eXpT3/6k0pLS6Pb9+7dq4ceekjf//73o72LsejcubPy8vL02muvqaSkJLo9HA7r+eefl9/vb3adv1glJibqsssu07Jly/Tqq6822V9RUaG//vWvGjJkiFJSUpSUlKSvfe1revvttxsNid2xY4dmzpwZHZLZkoSEBE2aNEl79+7V5MmTW4z1+XyNenLz8vI0ZMiQRv+aGyp84YUXSpKee+65Rr2tH3/8se666y698MIL0d9PatyrG4lENHfuXEkyeW0BADgYPYIAcIQyMjJ077336ic/+YkeeeQRzZo1q0lMQkKCfvKTn2jChAm67rrrdM0116i0tFTz5s1Tenp6NM7n8+mBBx7QPffcozFjxmjkyJEqLy/XnDlzmgwXffjhh3XzzTfrmmuu0fXXX6/09HQtXrxY//nPf/TDH/7QbHmAhuNce+21uv7669WxY0e99tprWr16tR5++GEFAgGT4xzqgQce0MqVK/WjH/1Ir732mr7+9a8rLS1NRUVFWrRokfbu3atJkyZF43/4wx9q1KhRGjVqlMaOHau0tDT94Q9/UHV1te655x5Xx+zTp4/GjBmjefPmafHixRoxYkSzccFgUMuWLdMf/vAHnXfeecrKynKVPxQKady4cXrxxRdVUVGhgoICVVRUaO7cuerYsaPuvvtuSdLQoUP14osvavz48br22mu1d+9e/eUvf9GqVavk8/maTBYDAECs6BEEgKMwatQonXXWWfrf//1fvfLKK83GXHjhhXruueeUnJysp556Sm+++aZ+/vOfN1rHT5IuvfRSTZ06VbW1tXriiSf0xhtv6MEHH1ReXl6jxmD//v21YMEC5eXl6fnnn9cTTzyh3bt36/HHH9e3v/1ts9+t4Th9+/bVrFmz9Otf/1odOnTQs88+q3Hjxpkd51DBYFCLFi3S3XffrYqKCj377LOaPHmy3njjDQ0fPlyvv/66cnNzo/E9e/bUSy+9pDPOOEMzZszQtGnT1KVLF82fPz869NaNe+65R1/5ylf02GOPNRnu2eDee+9VbW2t/uu//qvJdwOd/PjHP9Yjjzyi8vJyTZkyRfPnz9fZZ5+t+fPnRyfgGTp0qH72s59FX88ZM2YoPT1dL730kk4//fSjWsQeAICWJETcTuMGADBXV1enHTt2NDsL5OWXX65AIKB58+a1QWUAAOB4Ro8gALShuro6DR06tNGQR0kqLCzUJ598ovz8/DaqDAAAHM/4jiAAtCG/369LL71UL7/8shISEpSXl6dt27ZpwYIFOumkk3Trrbe2dYkAAOA4xNBQAGhjNTU1mjlzpl577TVt3bpVnTp10uDBg3XPPfdE1zAEAACwREMQAAAAAI5TlZWVzU6GRkMQAAAAAGK0u7xcKc1M/tbWampqNHToUO3YsaPRdu82BA9auLdZPp9zjKQf/8RuPpzbbzdLpYNmQI/ZF1/Y5crsUOEclJ4uVTjH1QfSHWPc8sn5tXZr5y67a6K62iyVMlXqIihTKnWOq++caVDRAb5KF9eFW8XFZql298wzy+WmrK9+VfrkExdxp4Sdg1zaXed3DnIpZePHZrlkuJZguHN3xxi/Xwq7OK3+artrNZxq9wzzb7A79/WnnW6Wa90655jTT5c+dlH+6T3trntTGzaYpdqda3fu3UhJkXbvbtVDSpKqquxydU4oM8sVDmSY5Trk83ATnTu7/3zV+aMlsRfU4OSTzVL9zwb3y+g4effd2HOkp0v33Rd7Hq+bdd55qjT8rBOrQHa2bvvXv7R161bV1dU12nfcTxZTXm6Xq7bWLpelQ17T2LhoXB9RnAdZ/unD9NzLZTLbg7pj+Xq7+TTvkuVruXevbZwV0z/VWRbfFtehG159NrX2heOSV697U4bFt8WfztvimKa3UYI370k3v6Pr82DZWje8Xi3/WG35efp4V1lcrB2bNrV1GU1069atyTaWjwAAAACAOGPeENy8ebO++93vauDAgRo4cKB+9KMfqZw/IwAAAAA4zvk8+O9wTIeGbt++XTfffLPC4bDuuOMO1dXVaebMmVq3bp0WLlwov9/uuy4AAAAAgKNj2hCcPXu2SkpK9Prrr6tnz56SpDPPPFO33nqrXnnlFY0ePdrycAAAAACAo2A6NHTx4sUaOHBgtBEoSUOGDNGpp56qxYsXWx4KAAAAADylrYeBHsnQULOG4I4dO7R582b17du3yb6+fftq1apVVocCAAAAAMTArCFYun9ts8zMpuuXde7cWVVVVdq5c6fV4QAAAAAAR8nsO4K7du2SJKWkpDTZ16FDB0lSdXW1OnXq5C6hz0Ub1UXM9OnuDteeZWVZZgu6DHOOs52S1i6b4TrYprkkly+kixfcfDpgF693W+RKNcsk9eljGWc3MVaq5Rxb+fmGyey4/RVdzTdmeH2ZTm9meO4t72+3ZbmL8+iEcIbn3vKZ4/qYbXBQ22N2MctkeYU1029xVDGSpBEjYqrlWLna5fuaq1xX2+U63jkNx2xtrTJraL2LVTd9bhp3BxI6JXO10uddE+xeiokTzVKpVy+7XCUldrmykl0s9REMulpZtD7d7gOZT3YL0lZW2V0TVVVmqZSlLS6CsqQtznH1XU3/OiBfheESMBs3mqWq7j3ALJebsvr0kdascRHXKxxzPQ2qaw0bletXmuVSerpZqnDXHMcYv18Kuzit/iq7azWcZtioXGt37uvz7Bo2br61kZ8vrXRRfn5vu+ve1Nq1Zqmqe7XuH1NSU20XBXfLcgBXZsI2s1zhdLtG5fbtLe/PzJT2D3ZzlPmh4TwYp55qlmrRWruW4N//HnuOYFD6+c9jzwM7Zp+IO3bsKEnas2dPk30N2xpiAAAAAABtx6xHMGv/cLUvvviiyb5t27YpEAgotS3GNwAAAABAK0iQt4aGJrSwz6zOQCCg7OxsrV69usm+NWvWKC8vz+pQAAAAAIAYmDZYhw8frvfff18bNmyIbnvvvff02Wef6bLLLrM8FAAAAADgKJkNDZWkb33rW3r11Vd1yy236LbbbtOePXs0Y8YM9e3bVyNHjrQ8FAAAAAB4SnuaNdS0zmAwqLlz56p3796aNm2aXnjhBRUUFGjGjBnyu5r3GwAAAABwrCVEIpFIWxfRnB//uOUVCqZPl+66yznP9Gftlh244Ua7dvP8Z+ymOK9MspviPKBKF0EBqdJFnKHS3XYL9jWz1OVRCyQZzuvtZorzAQOk5cud47Zujb2egw0ebJerosIsVWVGD7NcgZJC56BQSCp0jltTGzKoaB/DVRqUmGiXy+2SsG64WQKnRw/p00+d47KzY6+ngb/W8P5OshuAU7rd7g+rmSl2z/xK2T2nA8Uu1mlxaUu63RT6K1aYpXJ1rbpdusNafq7de3xhid11YXgbOS4ZNGyYtGSJu1zDzrNbOmVLmd39nZVhuKSL1ck/kqXk2qnncnNVuWlTW5cRFTjlFI0/zAVvOjQUAAAAAOJV3A4NBQAAAAB4Hw1BAAAAAIgzDA0FAAAAAAMMDQUAAAAAeBYNQQAAAACIMwwNBQAAAAADCfJWT1tCC/u8VCcAAAAAoBXQEAQAAACAOMPQUAAAAAAwwKyhAAAAAADPokcQAAAAAAwkqOUJWlobk8UAAAAAAKJoCAIAAABAnGFoKAAAAAAYSNz/zytaqoUeQQAAAACIMzQEAQAAACDOMDQUAAAAAAwkyFs9bS3NGurZhuDtt0u1tS3HTJzonOeGG+1eivlz681y3XBj0CyXZV2F6wOOMaGAVFjiHOf0+h2JPulb7JIpzTCX4S3Uu7ddXEZGbLUcolx216vS7XJZPsA+TQo5xvRwGdenarlBRftl5Jmlqq71m+V66y2zVLosr8hFVI56JLmIK7Z78FRm9DDLFVC1WS7J7nVUVZVzTCDgKi6tq/P7glvhXn3Mclk+Dc86yy7Xnj3u4tLTnWMs328lKZxs91pays21y9Uj1+mzk0/DLnD3+aq8wu6eTDP8iBI2fFZs/yL2HD6f1Llz7Hlgx0sNVgAAAABAK/BsjyAAAAAAtCc+eaunraVavFQnAAAAAKAV0BAEAAAAgDjD0FAAAAAAMMDQUAAAAACAZ9EQBAAAAIA4w9BQAAAAADDA0FAAAAAAgGfREAQAAACAOMPQUAAAAAAwkCBv9bQltLDPS3UCAAAAAFoBDUEAAAAAiDMMDQUAAAAAA8waCgAAAADwLBqCAAAAABBnGBoKAAAAAAYS1PJMna2NWUMBAAAAAFGe7RHMzXWO6dXLOWb+M+Ux19LghhuDZrnmz603y3XXBLv2/OTJ7uJOPNE55ssvYyqlsbQ0s1SVCpjlau0bKFVStVId42rSckyPG5TdfaSaGrtcxcVmqQJ5eS6iUtWja7VjVHXXAbEXtN8H/zJLpWEX2D13zj3X8u+ILu9vN8+B2trYSjnCw7lWZVdXp05mqfRpSZZjTA9Jn9Y4x9WsNShovz4Z2+ySJdk9qffssfscUFHhHJOT4y7OzWemI/HBB3a5hp7t/Mx0rcTFyXDL6VmRk+P6PSaYkWFQ0D5LP3J+j3frnHPMUiklJfYcCV7qJoMkDzcEAQAAAKA9Sdz/zytaqoWhoQAAAAAQZ2gIAgAAAECcYWgoAAAAABhIkLd62pg1FAAAAAAQRUMQAAAAAOIMQ0MBAAAAwIBP3uppa6kWL9UJAAAAAGgFNAQBAAAAIM4wNBQAAAAADDA0FAAAAADgWTQEAQAAACDOMDQUAAAAAAwwNBQAAAAA4Fk0BAEAAAAgzjA0FAAAAAAMJMhbPW0JLezzUp0AAAAAgFZAQxAAAAAA4kxCJBKJtHURzSktlerqDr8/K0vassU5T1qaXU2BtHqzXHdNsGuDT3/Wrq7b7nCua9Ys6bbbnHPN+lWlQUX7VCpglisgu7pUVmaWqiiph2NMTo5UVOScKyd5m0FFB0lONku1pcrutaypMUul9HTnmGBQKi93jksyHHQfqHDxgrtUnpZjlsvyd3Rzefn9UjjsIm79mtgL2u+dsj5mufr1M0ulQI3d/V2Z3MX5eAGp0vCx6YbldW/5/DL9UFFV5RzTpYu0zcXrXVERez0Hy801S1Vd6zfLlVpmeF04vZZuH/iSVFsbez0NDK/Xogq799ucdIOHQEKC1KlT7Hk87s3cXO3etKmty4hKOeUUFWzc2Ow+egQBAAAAIM7QEAQAAACAOMOsoQAAAABgIEEtz9TZ2pg1FAAAAAAQRUMQAAAAAOIMQ0MBAAAAwEDi/n9e0VIt9AgCAAAAQJyhIQgAAAAAcYahoQAAAABgIEHe6mlj1lAAAAAAQBQNQQAAAACIMwwNBQAAAAADPnmrp62lWrxUJwAAAACgFdAQBAAAAIA4w9BQAAAAADDA0FAAAAAAgGfREAQAAACAOMPQUAAAAAAw0J6GhiZEIpFIq1VyJCoqpPr6w+8PBqXycuc8SXZt3cKSgFmuE080S6UHH7TLNWtGC+e8gc/X8muz30MP290Gj04Om+VSSYldruxss1ThWufz5fdLYRenYtUqg4IOMqB3tVmuaqWa5UqVXV2Fxc51hUJSYaFzrrQ0g4L2y9IWu2Tp6WapKmvtXkc3j+nUVKnaxcu9c2fs9TTIPMHFe4xLpXuDZrkyv1xjlqu+dx/HGJePfPlqDZ/TxcV2uWpqzFIVJjmfL7fcfA7IzJRKS13EdbJ7FkoyPWdKTjZLtfQju+fOoNMrWw4IBKRKh5j9ymvtPh+uXWuWSkPONrwnrT5P+7zURDo23s/NVc2mTW1dRlTyKado8MaN2rp1q+rq6hrto0cQAAAAAI5jY8eO1eeff95oGw1BAAAAADCQIG8NDU3Y/9958+bRIwgAAAAA8aRbt25NtnmpwQoAAAAAaAXmPYLXXnutPvrooybbL7nkEk2bNs36cAAAAADgCe1p1lDThmAkEtGGDRtUUFCg4cOHN9rXvXt3y0MBAAAAAI6SaUOwuLhY1dXVuuiiizRy5EjL1AAAAAAAI6YNwfXr10uSevbsaZkWAAAAADwvQQdm6vSClmoxHcL6ySefSDrQEKx2s/ovAAAAAKBVmTcEO3bsqMcee0z9+/dX//79VVBQoMWLF1seBgAAAAAQg4RIJBKxSnbVVVdpzZo1uuSSS3T55ZersrJSc+bM0dq1azVlyhRdeeWVVocCAAAAAE9ZnpurPZs2tXUZUR1OOUUDNm5sdp9pQ3DBggWqr6/X2LFjo9tqamr0zW9+U7t379Y777yjxMREd8kqKqT6+sPvDwal8nLnPEl2X4MsLAmY5TrxRLNUevBBu1yzZrRwzhv4fC2/Nvs99LBdh/Ojk8NmuVRSYpcrO9ssVbjW+Xz5/VLYxalYtcqgoIMM6G03zLtaqWa5UmVXV2Gxc12hkFRY6JwrLc2goP2ytMUuWXq6WarKWrvX0c1jOjVVcvNtg507Y6+nQeYJLt5jXCrdGzTLlfnlGrNc9b37OMa4fOTLV2v4nC4utstVU2OWqjDJ+Xy55eZzQGamVFrqIq6T8VdxDM+ZkpPNUi39yO65M+j0ypYDAgGp0iFmv/Jau8+Ha9eapdKQsw3vSavP0z4vLaxwbLSnhqDpq3H99dc3agRKUnJyskaOHKmysrLoZDIAAAAAgLZjvqB8c4LBfX8JZfIYAAAAAMerBHlrQflWmTW0tLRUI0aM0DPPPNNk32effSZJyjYcRgcAAAAAODpmDcHMzEzt3LlTCxcuVFVVVXT71q1btWjRIg0aNEidO3e2OsrU1ZcAACAASURBVBwAAAAA4CiZDg2dNGmSJkyYoDFjxmjUqFHatWuX5s2bp6SkJD3yyCOWhwIAAAAAT/HJW0NDW6rFtM6CggI9++yzSklJ0ZNPPqnnn39e/fr104IFC6KLzAMAAAAA2pbp8hGWnKaqdj2ddZW7qX/dWFNsNz2wpT7Zdr/jQ487/46PPio99JBzrkd/5uIFcumuCXZ/s5j+rF1dplOcZ2Q4x7idQ99y/mlJysuzy2V4ziozepjlOmhE+2FlZUlbXKzmYLnkQ3lyllmuYLJHJ+wqK3OOycmRioqOfS0HCXfNMctVW2uWynTZlPIa5+n43a7WFEy3e7a6WU7HLcvHdI+0bWa5wuldHGPcLhlkudqDZHu9mj53DjMF/tEI92p5KRC3516S/FV2S82Yrj9kuIRavVHfURysHqH/5OYq7KHlI/ynnKIzD3PvtMqsoQAAAABwvIvboaEAAAAAAO+jIQgAAAAAcYahoQAAAABggKGhAAAAAADPoiEIAAAAAHGGoaEAAAAAYCBB3uppS2hhn5fqBAAAAAC0AhqCAAAAABBnGBoKAAAAAAaYNRQAAAAA4Fk0BAEAAAAgzjA0FAAAAAAMJKjlmTpbG7OGAgAAAACiaAgCAAAAQJxhaCgAAAAAGEiUVN/WRRwksYV99AgCAAAAQJyhIQgAAAAAcSYhEolE2rqIZtU7dKr6fM4xkkq/sGvrZtZtMcultDSzVJUKmOUKJIedg/x+Kewcd9fdfoOK9pn+rF0n+6TJdtfET8esMcul7GznmEBAqqx0DCvdbXdNSFLm238wy7XlvNFmubIq7M5/uFcfxxiXl762bzcoaL/PP7fLNaCf3X1UWWV3HwXSXNTl8pm/Zq1dXX16Gw7uqa01S1WfZPdsdcPlqbf8FeVfb3dvl37F+d52KzPF+fnr1tKPnZ/TgwZJS5c65zrpJIOCDpJk+MWh3Fy7XL4qu/OvDz9sef+wYdKSJe5ynXde7PU0qKmxy7Vxo10uixcyIUHq1Cn2PB63ITdXtZs2tXUZUUmnnKKeh7kW6BEEAAAAgDhDQxAAAAAA4gyzhgIAAACAAZ+81dPWUi1eqhMAAAAA0ApoCAIAAABAnGFoKAAAAAAYYGgoAAAAAMCz6BEEAAAAAAP0CAIAAAAAPIuGIAAAAADEGYaGAgAAAICBBHmrpy2hhX1eqhMAAAAA0ApoCAIAAABAnGFoKAAAAAAY8EmKtHURB2HWUAAAAABAFA1BAAAAAIgzDA0FAAAAAAMJanmmztbGrKEAAAAAgKiESCTipe8zRu3cKbVUWSAgVVa2Xj2SFJDdASsVMMtlWZcqKpxjcnKkoiLnuOzs2OvZb9Jku79Z/HRyvVmuuybY1TX9WRd1+XxSvYs4N6/jkaiqssuVZDgQobbWLpcbLq/9cNecVijmyPlrq+2SGV4TpZEujjGZmVJpqXOuzF2fGlS0X3q6XS7D87V0q931Naibi2e522e+4XOnPi/fLJflY8KvsFmu8iq/Y0wwKJWXO+dau9agoIOce65dLl+Fi1/Apfr0oFmuVata3p+fL61c6S5XSUns9TQY3m+bXTLLZ5jFL5mYKHXvHnsej9uam6u6TZvauoyoxFNOUbeNG5vdx9BQAAAAADCQ2NYFHKKlehgaCgAAAABxhoYgAAAAAMQZhoYCAAAAgIEEeaunjVlDAQAAAABRNAQBAAAAIM4wNBQAAAAADHitl62lerxWKwAAAADgGKMhCAAAAABxhqGhAAAAAGDAa71sDA0FAAAAAETREAQAAACAOMPQUAAAAAAw4LVeNoaGAgAAAACiaAgCAAAAQJxhaCgAAAAAGEiQt3raElrY56U6AQAAAACtgIYgAAAAAMQZzw4Nra6W6uoOvz8QkKqqnPNkpVfbFWV4ukxPfEmZXa7cXHdx2dnOMcXFMZVysJ+OcfFiu3TXhD5muaY/W2+W66WFzn+Xue46d3GDBwctSorK2bjKLFdlv6FmuQKr3jPLtTJtiGNMfo60siLHOe71Zy1KkiRV3zrBLFdJWapZrq5d7XJl1lS6iAooM8VF3K6YyzmgpsYwmZ1BXy03y1WZ5Hw9ByRVpruIq6gwqGgfX43de7c/ye4dNyy/Wa5gupv3D5+ruORk27/r19ba5fInJ5vlMrzElJ9c6BARchGzP1eG3WeUcPoAs1yWTF5HX3z0P/kkRdq6iIMwNBQAAAAAEEVDEAAAAADijGeHhgIAAABAe8LQUAAAAACAZ9EQBAAAAIA4w9BQAAAAADDA0FAAAAAAgGfREAQAAACAOMPQUAAAAAAwkKCWh2N6CT2CAAAAABBnaAgCAAAAQJxhaCgAAAAAGGhPvWztqVYAAAAAgAEaggAAAAAQZxgaCgAAAAAG2lMvW3uqFQAAAABggIYgAAAAAMQZhoYCAAAAgIH21MuWEIlEIm1dRLNKS6W6usPvz8qStmxxzlNSYldT795mqaqVaparrMwslbp2dY7x+6Vw2EVcbXXsBTWorbXLlZZmluqlhXa3+3Wj6p2DfD6p3jluzlzbx1B2tl2uYee5uHhc2lLmN8vlRls8dgb0truPwkl2zx1/kovr1aXC9c7XaygkFRY65zK8vbV5s12uk06yyxXqWmmW67W3Ao4xV1whvfaac64rzt1mUNExkJFhlqq8wu7Zunatc8yQIdJ77znHnX127PUcrKrKLpflZ5RQrt37h5Ic+kJcvt9KUukXdtdFZord/a2aGrtcycmx50hIkDp1ij2Px0Vyc6VNm9q6jANOOUUJGzc2u4seQQAAAAA4jm3dulV1h3Sy0RAEAAAAAAMJCQn7ej+9Yn8tY8eO1eeff95oFw1BAAAAADiOzZs3jx5BAAAAAIgn3bp1a7LtqBqCDz/8sDZt2qQXX3yx0fbNmzdrypQpWrZsmSTpggsu0AMPPKBgMHg0hwEAAACA9iMpyXkyotbUQi1HXOXChQu1cOFCDRw4sNH27du36+abb1Y4HNYdd9yhuro6zZw5U+vWrdPChQvl97fu7H4AAAAAgOa5bgjW1dVp+vTpeuaZZ5rdP3v2bJWUlOj1119Xz549JUlnnnmmbr31Vr3yyisaPXq0TcUAAAAAgJi4agju2bNHo0aN0rp163TllVfq/fffbxKzePFiDRw4MNoIlKQhQ4bo1FNP1eLFi2kIAgAAADi+JSZ6a2hoYuJhd7laAXPPnj2qqqrS1KlTNWXKFCUd8svt2LFDmzdvVt++fZv8bN++fbVq1aojrBgAAAAAcKy4aq6mpaXpb3/7W5MGYIPS0lJJUmZmZpN9nTt3VlVVlXbu3KlOnTrFUCoAAAAAwIKrhqDP55PPd/jOw127dkmSUlJSmuzr0KGDJKm6uvrIGoLNNCqbyMqyiWkDqYa5cnIMk7nkau4fv+Vv6U3XXWeZzVUHvdTCvdjgpptiLOWYsps4qi1u79Z/7NjdR7ZTdrm8Xl0IhWzjrHj07UNSwCzTFVdYxnWJpZR2wXIS9CFDbOMsWf6ethPHt/LEgy7ebyV3H1nds7u/FTDMBfeO51lDm1NfX+8Y01JDslmlpdIhix42kpUlbdninKek5MiO25Levc1SVRt+uCsrM0ulrl2dY/x+KRx2EVdbHXtBDWpr7XKlpZmlemmh3Yfh60Y530fy+SQX99ucuXZ1SVJ2tl2uYee5uHhc2lLWuh8K2uKxM6C33X0UTjJsVCa5uF5dKlzvfL2GQlJhoXMuw9tbmzfb5TrpJLtcoa6VZrlee8v5g+IVV0ivveac64pztxlUdAxkZJilKq+we7auXescM2SI9N57znFnnx17PQerqrLLZfkZJZRr9/7h+EHd5futJJV+YXddZKbY3d+qqbHLlZwce46EBInRgZ5icuV27NhR0r7vEh6qYVtDDAAAAACgbZn0CGbtHz/zxRdfNNm3bds2BQIBpaYe/8MEAQAAAMSx423WUCeBQEDZ2dlavXp1k31r1qxRXl6exWEAAAAAAAbMBjUPHz5c77//vjZs2BDd9t577+mzzz7TZZddZnUYAAAAAECMzPotv/Wtb+nVV1/VLbfcottuu0179uzRjBkz1LdvX40cOdLqMAAAAADgTe1o1lCzHsFgMKi5c+eqd+/emjZtml544QUVFBRoxowZ8rtaawAAAAAA0BqOqrm6ZMmSZrf36NFD//3f/x1TQQAAAACAYyshEolE2rqI5jgt3eJ2eRffXxbbFCRJZ5xhlqo8zW4V+GCt3dpNy4udFwQeMEBavtw51wC5CHKptPsAs1yZJ5Sb5Sqqslsp9623nGNuukmaM8dF3I12a7xJ0m9+a7dG0ncuWGOWa3lNH7NcA3JdXBfBoFTuHFcuu+simGy4HqflmlKWC/a5GULj9qG/YkXs9TTIzbXLVVFhlqqwtodZrlC2i+srNVWqdo7bUmE3O3hWht16cfVJdqOSfDV292NRmfP5ysmRioqcc1mu+ydJfXrZnf/KGrvzHyj71CyX4zOsSxdpm7vPV/UZzp+d3PJV2a0jGE62W1De4hrz+aT09NjzeN7AgVJxcVtXcUB2trRsWbO7bFedBgAAAAB4Hg1BAAAAAIgzHprSBgAAAADasXicNRQAAAAA0D7QEAQAAACAOOOhfksAAAAAaMcSE701NDQx8bC76BEEAAAAgDhDQxAAAAAA4oyH+i0BAAAAoB1j1lAAAAAAgFfREAQAAACAOOOhfksAAAAAaMeYNRQAAAAA4FU0BAEAAAAgznio3xIAAAAA2jFmDQUAAAAAeBUNQQAAAACIMx7qtwQAAACAdqwdzRqaEIlEIq1YinsVFVJ9/eH3B4NSeXnr1SOpXEGzXEEZ1m55sbnJlZoqVVfb5HLrlVfscp17rl2ujRvNUi2pHeoYM2yYtGSJc661aw0KOsh37mzhXjxCN91iNxDh8cfNUikjwznG75fCYRdxNZWxF9TA8BpTr152uSzvbzcXbH6+tHKlY9jS3fkGBe0zqL+LF9utkhKzVNUZOWa5Utc7n1O3517Z2bEXdCykp5ulKv3C7vmV2cnF+6jb99va2tgLOsj8NwJmuS691CyV5W3k+Dh0+7yXJH+ti9fIpXc+TDXLNbTXFrNcqqqKPUdSktSjR+x5vG7ECGnr1rau4oBu3aTFi5vdxdBQAAAAAIgzHuq3BAAAAIB2jFlDAQAAAABeRUMQAAAAAOKMh/otAQAAAKAda0ezhtIjCAAAAABxhoYgAAAAAMQZD/VbAgAAAEA7xqyhAAAAAACvoiEIAAAAAHHGQ/2WAAAAANCOMWsoAAAAAMCraAgCAAAAQJzxUL8lAAAAALRjzBoKAAAAAPAqGoIAAAAAEGc81G8JAAAAAO0Ys4YCAAAAALzKQ83VQxQXS+Hw4fcHg9LGjc550tPNSlJ60C5XTY1Zqi3KMsvl5nSlSqpWqnNc8aexF7TflvNGm+XK0hazXJX9hprlGpbcwvUe5dew85zjhnVdH3tBB7nplj5muebMrjfLddsddn/LmjW5yDkoJ0f+Ehdxhs+d8ux8s1xBVZvlKt3uN8vVqZfz75gqqdpF3DnJBgXtt3yF3e/YvXuOWa7MZLt76L0q53M6xGXcuYZvt76KcrtkK1aYparrOsAs15YK5/fRrFR3cS38wf+o3HCB3ftkUZXdZ5Q+GdvMcklOF6xffrl5X5a03u49NzfX7plv2iuVnR17joSE2HPAlHcbggAAAADQnjBrKAAAAADAqzzUXAUAAACAdozJYgAAAAAAXkVDEAAAAADijIf6LQEAAACgHWOyGAAAAACAV9EQBAAAAIA446F+SwAAAABox5g1FAAAAADgVTQEAQAAACDOeKjfEgAAAADaMWYNBQAAAAB4FQ1BAAAAAIgzHuq3BAAAAIB2jFlDAQAAAABeRUMQAAAAAOKMh/otAQAAAKAda0ezhnqoysZ298xTJHL4/amSqnsPcMxTW2tXk+nJKi42S1WTkWWWK1XVrqLcxFVm9Ii9oP2yiteY5VJamlmqwKr3zHJtyR3iGJOVJW0p8zvGldT0sSgp6vHH7XLddofdQIRZM+rNck15Iscx5v77pSkLnOPuu8+ion2C6wvtkuXmmqXascMsldatc44ZOlT68EMXcefZXRMDeteY5TL9UFBSZpZqSHqFi6g+GpLu4hlcbPdstXxOW77fZmVkmOVSdraLIJ+yujpf0+UVtgO8qjvZfa7ITjZLpaLiLma5ah0uix49pE+Lnd9vJSk3L9+gon1yatx8DnMnnGR3vvwV22JP4vNJKSmx54EZhoYCAAAAQJzxbI8gAAAAALQrzBoKAAAAAPAqGoIAAAAAEGc81G8JAAAAAO1YO5o1lB5BAAAAAIgzNAQBAAAAIM54qN8SAAAAANoxZg0FAAAAAHgVDUEAAAAAiDMe6rcEAAAAgHaMWUMBAAAAAF5FQxAAAAAA4oyH+i0BAAAAoB1j1lAAAAAAgFfREAQAAACAOOOhfksAAAAAaMeYNRQAAAAA4FUeaq42Vlws7d17+P19+kgbNzrn6ZNUaFbTp0khs1yBvDyzXOk1ZqlUWJzqGBMKuYtLS7OoaJ/kXn3McvlLisxyrUwbYpYrwyyTNCC33DCbFE4LmuWaNdnu/E95Iscs1/331buI8rmK+8G9dn9jmzzZ8LmzdqVZrlBtrVmu7R0GuIrr0ME5pnC93bkPVa01y6XsbLtchue+vKvzszXoMi452aCg/VKrtpnlCl96hVkuf02lWS5VVTnHBAKu4tLTAwYFHVBj+LnCUk663fmvlPM5y3D5xmx4S8pvePL9SYaFublenXiplywObd26VXV1dY228YoAAAAAgAWPzho6duxYff755412eahKAAAAAIC1efPm0SMIAAAAAPGkW7duTbYdVUPw4Ycf1qZNm/Tiiy822n7ttdfqo48+ahJ/ySWXaNq0aUdzKAAAAABoH9rRrKFHXOXChQu1cOFCDRw4sNH2SCSiDRs2qKCgQMOHD2+0r3v37kd6GAAAAADAMeK6IVhXV6fp06frmWeeaXZ/cXGxqqurddFFF2nkyJFmBQIAAAAAbLlqCO7Zs0ejRo3SunXrdOWVV+r9999vErN+/XpJUs+ePW0rBAAAAID2wKOzhjbH1YJLe/bsUVVVlaZOnaopU6YoqZlf7pNPPpF0oCFYXV19NKUCAAAAAI4xV83VtLQ0/e1vf2u2Adjgk08+UceOHfXYY4/pz3/+s6qrq3XyySdr4sSJGjFihFnBAAAAAIDYJEQikciR/tCwYcPUvXv3RrOGXnXVVVqzZo0uueQSXX755aqsrNScOXO0du1aTZkyRVdeeaVp4QAAAADgKTNmSJWVbV3FAYGAdMcdze4yG8A6evRo1dfXa+zYsdFtI0aM0De/+U098cQTuvzyy5XYwhjVQ33yibR37+H39+kjrVnjnKdPUqHrYzr5NClklqtHV7uhs+U1qWa5ysqcY0IhqdDFaU1Li72eBhkZdrn8JUVmuVZW5JjlcvM7ZmVJW7a4iEsuj72gg4TTgma5LM//lAV25//+++qdg3w+qd457gf3uhp178rkyWapFNi40i5Zba1ZqqV7BzjGDBokLV3qnOukkwwK2i9UtdwuWXa2Xa6aGrNU5WnO91AwKJW7eKQkJxsUtF9q1TazXOH0Lma5/DWt/OEuEHD1gbI+LWB6WMNLzPS68FXZnf9KtXzOXJ56Sba/o7/K8P3b8ntqbj4gOklKknLs3rcRO7NPK9dff32jRqAkJScna+TIkSorK4tOJgMAAAAAaFvHfEqbYHBfTwKTxwAAAAA4rh1vs4Y6KS0t1YgRI5pdY/Czzz6TJGVbDosBAAAAABw1k4ZgZmamdu7cqYULF6qqqiq6fevWrVq0aJEGDRqkzp07WxwKAAAAABAjs37LSZMmacKECRozZoxGjRqlXbt2ad68eUpKStIjjzxidRgAAAAA8KakJG8NDW2hFrPJYgoKCvTss88qJSVFTz75pJ5//nn169dPCxYsiC4yDwAAAABoe0fVXF2yZEmz2wsKClRQUBBTQQAAAACAY+uoFpRvFeFwy/v9fucYSWvW+40KkvrU2K0pVd3bed0stwyX89JBX/E8LNdr2clFkEuliVlmuSzXGfP/97NmuZYPnuAYM2CAtNzFZZibG3s9BwsmeWhh1INYrp11773OMU89Jf3gBy7innSxJqFLv/mt3ZqEh1lP9qhYjnpx8wxz+ciXXy6C2kBljd17UaDWcJ0xNw/9nBypyMX6n4YLvn5aYrc+bo90w/OVnm6X64MPnGOGDJHee885zvihv0V277lZXe2eh0XFds9Dp8s1NVVyO+F9am3rrW94JALJhs9Dq4e+z+419Kz58909W1tLWpp0ww3N7oqDVwMAAAAAcDAaggAAAAAQZzw0pQ0AAAAAtGPxOGsoAAAAAKB9oCEIAAAAAHHGQ/2WAAAAANCOJSZ6a2hoYuJhd9EjCAAAAABxhoYgAAAAAMQZD/VbAgAAAEA7xqyhAAAAAACvoiEIAAAAAHHGQ/2WAAAAANCOMWsoAAAAAMCraAgCAAAAQJzxUL8lAAAAALRjzBoKAAAAAPAqGoIAAAAAEGc81G8JAAAAAO1YO5o1NCESiURasRTXdu+WWqosNVWqrnbOU1FhV1NWRtgs15J/+c1yDetVZJbL1YWblSVt2eIYVp6cZVDQPhs3mqVSXp5drtpau1ypcnFBu73wra1fb5aqPDvfLFewrNAsV2XXkGNMICBVVjrnmjvXoKD9vnNnvVmuRx+3GwTy0LV2517Z2c4xbq/95OTY69mvvMLufFl+JrDMlfqvvzkHDR8u/c05rvLc4QYV7VNVZZZKWVV212p9L+fnhFu+Yhfv3Tk5UpFz3JL1OQYVHeDmlnSra1e7XIGabWa5Ciu6tLg/FJIKXV46oYxyg4r2qU4OmuWy/Axs8XknMVHq3j32PJ7397/va8h4RUqKdPHFze5iaCgAAAAAxBkP9VsCAAAAQDvGrKEAAAAAAK+iIQgAAAAAccZD/ZYAAAAA0I61o1lD6REEAAAAgDhDQxAAAAAA4oyH+i0BAAAAoB1j1lAAAAAAgFfREAQAAACAOOOhfksAAAAAaMeYNRQAAAAA4FU0BAEAAAAgznio3xIAAAAA2rGkJKmurq2rOIBZQwEAAAAADWgIAgAAAECcYWgoAAAAAFhg1lAAAAAAgFclRCKRSFsX0ayPP5b27j38/vx8aeVKxzSlmflmJXXqZJZKqcn1ZrnKK+za88Hkaueg1FSp2kWcpeRku1w1NWapispSzXJ17eoc4/dL4bCLuKry2As6mOX5t2T5F7e1a51jXD53wr3tnjtPPmmWSg89YPfcefRxu+fOvfc6x7i+9kuKYi9ov5UVOWa58vPszr3KysxSlSd1cYwJBqVyF4+UYJqLF8ilT4v9Zrl6pG0zy1WZ7Hy+3HLzWHV73VdVxV7PsWJ4uapXL7tctbUt73d77iXbtyKnuo6EZV3FxbHnSEyUunePPY/nrVjh/uJpDX6/1K9fs7s81G8JAAAAAO1YUpJUb/jHv1gxaygAAAAAoAENQQAAAACIMwwNBQAAAAALzBoKAAAAAPAqGoIAAAAAEGc81G8JAAAAAO1YUpLkpdX5mDUUAAAAANCAhiAAAAAAxBmGhgIAAACAhcREbw0NZdZQAAAAAEADGoIAAAAAEGcYGgoAAAAAFry0mLzErKEAAAAAgAM81mQFAAAAgHaqhclZ2gSTxQAAAAAAGtAQBAAAAIA4w9BQAAAAALCQlCQlJLR1FQe0MDTUuw3BQECqq2s5Jj3dMU2nTkb1SHrrLbtc555r1xlrOTlRZW2qY0zAbVxStUFF+1RW2Z2vQE2VWa6uXZ3Pg1v+pHoXUT53cWlpMddzrJRu95vl2rHDLJVCtbXuAl3EWd6TD11baJbr0cdDZrkeesDN9erOb37rfH9/5zvSjBnOue64I8egon3y08rNctUraJZrfUUXs1wZGWapVFRid2/3SNtmlktVds/8gNvnhBu1yc4xwaD8Vc7XYXGx3fUlufp45VoobYtdshq7wkrKWn7/zsmRSkrc5bK8jyoq7HJZflUtJ70y9iQJCZIMP5gjZgwNBQAAAIA4490eQQAAAABoTxITvTU01Hf4fj96BAEAAAAgztAQBAAAAIA4w9BQAAAAALCQlCTV202oFjOGhgIAAAAAGtAQBAAAAIA4w9BQAAAAALCQmNjicMxW18IMph6qEgAAAADQGmgIAgAAAECcYWgoAAAAAFhISpIikbau4gCGhgIAAAAAGtAQBAAAAIA4w9BQAAAAALCQmNjWFbhGjyAAAAAAxBkaggAAAAAQZxgaCgAAAAAWktpP84oeQQAAAACIMwmRiJcWujggHG55v9/vHCNJxcU29UhSj6Qiu2RpaWapwmlBs1y1tc4xqalSdbWLuDLD85WdbZaq9Au7v39kplSa5SosCTjGhEJSYaFzrlCveoOKDrJqlVmq6l75Zrk+/NAslTp0cI4ZNEhautQ5rn//2Otp4K91cbO5FE5KNcs1Y4ZZKn3nThfXq88n1TvH3XSL3f3929+apTJl+mxNTnaO6dJF2rbNOS49PfZ6Glj+Rf2DD8xSLakZYparVy/nmJwcqcjFy51T+2nsBR3M8D1XJSVmqcJdc8xy1dS0vD8QkCpdvsWvXx97PQ0GdN1ilmvp5iyzXINONqgrMVHKzIw9j9e5eK9qdT6ftm7dqrq6ukab20/fJQAAAAB4WL0HB1z6JI0dO1aff/55o+00BAEAAADgODZv3jx6BAEAAAAgnnTr1q3JNtcNwXfffVfTp0/X6tWr5fP5dOaZZ+qee+5Rv379ojGbN2/WlClTtGzZMknSBRdcoAceeEDBoN132AAAAADAi9zMt9Ha/P7mt7tqCC5btkzf+ta39NWvflUTJ05UbW2t5s+frxtvvFHz589Xfn6+tm/frptvvlnhgqiH6wAAIABJREFUcFh33HGH6urqNHPmTK1bt04LFy6U/3AVAAAAAABalauG4KOPPqpu3brpD3/4g1JSUiRJV155pS677DJNnTpVzz//vGbPnq2SkhK9/vrr6tmzpyTpzDPP1K233qpXXnlFo0ePPna/BQAAAADANcdpbXbs2KG1a9fq0ksvjTYCJSkjI0PnnHOO/v3vf0uSFi9erIEDB0YbgZI0ZMgQnXrqqVq8ePExKB0AAAAAvKOubt/wUK/8O2R+mEYcewTT0tL0P//zP40agQ22b9+uxMRE7dixQ5s3b9Yll1zSJKZv37566623jugEAgAAAACOHccewcTEROXm5irzkAUg165dq+XLl6t///4qLS2VpCYxktS5c2dVVVVp586dRiUDAAAAAGKREIlEIkf6Q7t27dINN9ygdevWac6cOTrhhBM0ZswY/exnP9OoUaMaxU6dOlW//e1v9c477zTbUAQAAACA48HOndKRt66OnYQEqVOn5vcd8TqCu3fv1l133aW1a9dq/PjxGjhwoP7f//t/jj/n8zl2PjYSDre83+93jpGk4uIjOmyLeiQV2SVLSzNLFU6zW57DzZS3qalSdbWLuDLD85WdbZaq9IsjuxZbkplSaZarsCTgGBMKSYWFzrlCveoNKjrIqlVmqap75Zvl+vBDs1Tq0ME5ZtAgaelS57j+/WOvp4G/1sXN5lI4KdUs14wZZqn0nTtdXK8+n1TvHHfTLXb3929/a5bKlOmzNTnZOaZLF2nbNue49PTY62mQZLjM8QcfmKVaUjPELFevXs4xOTlSkYuXO6f209gLOpjhe65KSsxShbvmmOWqqWl5fyAgVbp8i1+/PvZ6GgzousUs19LNWWa5Bp1sUFdiokSnkKcc0TtmZWWlbrvtNi1dulTXXHONJk6cKEnq2LGjJGnPnj3/v737D66yPvM+/kmIh0MIx5CGBEI2RIQsvyaKW4LDuJXSCBTEgBWQYi2itttxpw84PrR26C+2Fn8N9qF2Wre42wcN4rJlynbYdlyn67NWELZrHQUSkABiIPyIIZyc/CCEnOePQISG5P7iuZLcyf1+zfiH575yceXO977PuXJ/8/12+JpLr12KAQAAAAD0LudfuX388cd68MEHVVZWpsWLF+uHP/yhkpKSJEk5OW2/cTh9+nSHrzt16pQikYhSU+1+Ew0AAAAAfnPhgtMElh7T1aRMp0YwFou1N4HLli3T448/fsXxSCSi3Nxc7d27t8PX7tu3T5MmTbq2igEAAAAA3cZpauiaNWtUVlam+++/v0MTeMnMmTO1c+dOVVRUtL+2Y8cOHT58WHPmzLGpFgAAAACQMM8nghUVFdq2bZuGDBmi8ePHa9u2bR1iSkpK9PDDD2vbtm1atmyZli9frnPnzmnDhg2aOHGiSkpKuqV4AAAAAPCLlpZ+NDV09+7dkqS6urpOnwaWlJQoIyNDL7/8stauXav169crHA6ruLhYq1atUigU+nSVAwAAAADMeTaCS5Ys0ZIlS5ySjR49Wr/85S8TLgoAAAAA0H0MN+qxFWqo7fq5akaGQrEazzy5uXZ77KnSYZM9Vy4b9jkKHdxnluvMZyZ4xqSmtm2W6RlnUM8l+8rt9gabEDbcb6neLlVamvc+gm1xDkHvvptYMX9h1/lbzHJNcdi2zNXnbrObe3HgoNsYGzrUOyYkh01OXbns8+YoVGm3/9xDD9nt5+Wy99/GjY5xv7IbE99ZbXff+fFj3u9Xzgz369tV5n3fmZol7Tqc5Rk3frxFRW1iMbtctel2e//NsHz/SM90CIooL91hM7t3DTdNlkz3/nPaMNGR5X59E8q3dh1w992KvO4Rc9Et48YZVNTmQMz7c5irqZPt3ove2ZP4noShkDQpANsIXrjQ9p9fDBjQ+TG7dzkAAAAAQJ9AIwgAAAAAAePbqaEAAAAA0Je0tPhramg83vkxnggCAAAAQMDQCAIAAABAwDA1FAAAAAAMXLhgujlAt+KJIAAAAAAEDI0gAAAAAAQMU0MBAAAAwEBLC1NDAQAAAAA+RSMIAAAAAAHD1FAAAAAAMOC3VUOTkjo/xhNBAAAAAAgYGkEAAAAACBimhgIAAACAAb+tGsrUUAAAAABAOxpBAAAAAAgYpoYCAAAAgAG/rRqa3MVjv6R4PB7vuVLcNTd3fTwU8o6RpFBLg01BkqItqWa50tLMUumPf7TL9blJNd5BGRlSjXdcc1qGQUVtQimtZrlUW2uXq6nJLNWuj3I8Y6ZOlXbt8s41dazDz/FaGA7Yd/aEzHLdMs7u+lZ5ucM/eIv0zjvecZMmJV7PRTUxu/NVWWmWSoW5dmOsIex9r0hNlRocftw/+pFBQRf9+Ed2951/3GA3Aee228xSKTfXOyYSkaJR77hwOPF6LgmVv2eXLDPTLFXrcO/7tKvkP+32DioqknY7xI0Zk3hBl7P8YVp+Ija8iUVzJ3R53HXcS1JZmUFBF02dYvh558QJs1Q14cTHfnKylJ5uUIzP7dnj1qP0lFCo848lTA0FAAAAgIBhaigAAAAAGPDbqqFdTQ3liSAAAAAABAyNIAAAAAAEDFNDAQAAAMCA31YNHTCg82M8EQQAAACAgKERBAAAAICAYWooAAAAABjw26qhTA0FAAAAALSjEQQAAACAgGFqKAAAAAAY8NuqoSlddHs8EQQAAACAgKERBAAAAICAYWooAAAAABjw26qhXdXCE0EAAAAACBgaQQAAAAAIGKaGAgAAAIABv60aeuFC58d4IggAAAAAAZMUj8fjvV3EVZWVSefPd368sFB67z3vPOPG2dVk2d4b5ooqYparsdE7JjtbOnnSO27IkMTruSQ1pdku2YkTdrkMHWjK84wpKJAOHPDOVZByyKCiy3S1Cc01OjnQ+/t0lT3UcFzU1nrHZGVJp055hkXDWQYF2YuktZrlajX8PWJTk3dMaqrU0OAQ11STeEEX/eO/Zpjl+tpDduf+a39nd+7/8ScuJ9Xx5FtyGRSOjsbsfo65uWapTMe94S1akhQ64vBG4yg6vMAs15EjZqkUi3V9fNo0accOt1w335x4PZekyu5ai7akmuUye/9I7v/PoP7zP90+T/eUQYOkz3/+6seYGgoAAAAABlg1FAAAAADgWzSCAAAAABAwTA0FAAAAAAOsGgoAAAAA8C0aQQAAAAAIGKaGAgAAAIABVg0FAAAAAPgWjSAAAAAABAxTQwEAAADAAKuGAgAAAAB8i0YQAAAAAAKGqaEAAAAAYIBVQwEAAAAAvkUjCAAAAAABw9RQAAAAADDAqqEAAAAAAN+iEQQAAACAgPHt1NDWvx7f5fFkSa2TCj3znD5tVJAkKWSWacgQs1SKxE7Z5fq42jsoe4KyP97nHTckP+F6LmlNSTXL9d9VeWa5po6tMctVkB51iIqoYLh33IEToxMv6DK5w+1yZYdb7ZKdcBivrlzncTQ1eYZEUuzGRUM4wyyXqu3O18HaLLNcBeGj3kF5eUqtdohLT0+8oItuu80slb72d3a/d/3HX9hdQ//0K+976/Ll0j9t9o6bPt2goItSDO/5eZU7zHKpOmyWqin/Fs+Y1FSnW44yZHfPkSSNGWOW6uC7Zqk0bpxdrrDDj/LWW+3+PWcHK81SRVwGjyuLMZGUJA0alHgen2PVUAAAAACAb9EIAgAAAEDA+HZqKAAAAAD0JawaCgAAAADwLRpBAAAAAAgYpoYCAAAAgAFWDQUAAAAA+BaNIAAAAAAEDFNDAQAAAMAAq4YCAAAAAHyLJ4IAAAAAYIDFYgAAAAAAvkUjCAAAAAABw9RQAAAAADDAYjEAAAAAAN+iEQQAAACAgGFqKAAAAAAYYNVQAAAAAIBvJcXj8XhvF3E1ZWXS+fOdHy8slN57zztPYX7UrqhYzCzVoaYcs1yZmWaplJbmHZOcLLW2esfV1iZezyXp6Xa5kiuPmuWKpueZ5XrjDe+Yu+6S/u3fHOKKGxKu5woHD5ql2hErNMs1LX2fWa6a4RM8YzIypJoa71wZMbsxpvJys1Q1n51plstSRssp76CsLOmUd9yuw1kGFbUZP94slSIpdtfkP21ONcu1fJnDzdzxpv/qFrvfLc+bZ5bKVOqe3XbJxo3zjolEpKj355ioIgYFfaKx0S5X9kmHD2uucnPtclVWdn3c9YOmpJPZdu9rXS3sca1ymg7ZJbOQkiLl2X1u8qv/83+ks2d7u4pPXH+99L/+l1RVVaULfzHAmBoKAAAAAAb8umro0qVLdezYsSuO0QgCAAAAQD9WWlrKE0EAAAAACJIRI0Z0eM25EXzzzTf185//XHv37lVycrJuuukmrVixQjfffHN7zD333KP333+/w9fOmjVL69ev/5RlAwAAAID/9aVVQ50awd27d+vhhx/W2LFjtXLlSrW0tGjTpk267777tGnTJhUWFioej6uiokLFxcWaOfPKBQlGjhyZ0DcAAAAAALDj1Aj++Mc/1ogRI/Qv//IvGjRokCRp/vz5mjNnjp577jn98z//syorK9XQ0KAvfOELKikp6daiAQAAAACfnmcjePbsWZWXl+uBBx5obwIlKTMzU1OmTNFbb70lSTp4cXn5G2+8sZtKBQAAAAD/8uuqoVfj2QimpaXp97///RVN4CVnzpzRgAEDJEkffPCBpE8awYaGBqWm2u11BAAAAACw4bn764ABA5Sfn6/s7OwrXi8vL9c777yjyZMnS2prBAcPHqy1a9dq8uTJmjx5soqLi7V9+/buqRwAAAAA8KkkxePx+LV+UX19vb785S9r//792rhxo4qKirRgwQLt27dPs2bN0rx58xSNRrVx40aVl5frqaee0vz587ujfgAAAADwhX/4B+nMmd6u4hNDh0rf/e7Vj13zPoKNjY36xje+ofLycn39619XUVGRJGnRokVqbW3V0qVL22Pnzp2rO++8U88884zmzZvXPo3URVmZdP5858cLC6X33vPOU5gfdf43PcViZqkONeWY5crMNEultDTvmORkqbXVO662NvF6LklPt8uVXHnULFc0Pc8s1xtveMfcdZf0b//mEFfckHA9V7j4N8AWdsQKzXJNS99nlqtm+ATPmIwMqabGO1dGzG6MqbzcLFXNZ2d6B/WCjJZT3kFZWdIp77hdh7MMKmozfrxZKkVS7K7Jf9ps92cXy5c53Mwdb/qvbvGcZORs3jyzVKZS9+y2SzZunHdMJCJFvT/HRBUxKOgTjY12ubJPOnxYc5Wba5ersrLr464fNCWdzLZ7X+vq77muVU7TIbtkFlJSpDy7z01I3DXdtaPRqJYvX65du3bpS1/6klauXNl+bMmSJVc0gZIUDodVUlKi6urq9sVkAAAAAAC9y/mJ4Mcff6wHH3xQZWVlWrx4sX74wx8qKSnJ8+syMjIktS0eAwAAAAD9VV9aNdTpiWAsFmtvApctW6Y1a9Zc0QSePHlSc+fO1fPPP9/haw8fPixJyrV8nA8AAAAA+NScGsE1a9aorKxM999/vx5//PEOx7Ozs1VXV6ctW7Yodtnf0VVVVWnr1q2aOnWqhg0bZlc1AAAAAOBT85waWlFRoW3btmnIkCEaP368tm3b1iGmpKRE3/ve9/TII4/o3nvv1cKFC1VfX6/S0lKlpKTo+9//frcUDwAAAAB+0dLir6mhXdXi2Qju3t22QlZdXd1VnwZKbY1gcXGxfvazn+mFF17Qs88+q3A4rKKiIj366KPtm8wDAAAAAHqfZyO4ZMkSLVmyxClZcXGxiouLEy4KAAAAANB9PtWG8j2iubnr46GQd4ykaFPIqCC3PfZcGW4NZrqtTiTsfU5dz71Srnmbyk41t9jtTxUqN9zTyNLw4d4xjnupHW+x20tNknLCDpvnOWpNzzDLZbknZEOm995GqamSywLIqbJbJTnaYrdnnNP17ejoCbt7a95wu/uO5T0/HDZLpVCL3Zg4dMJuTPz3f3vHLF4svfqqQ9xChz0JHT31jN09f9kys1SmXPaLy8mRjh93iEsz3DPZ2IETdnscFsTeMcvl+Z7revIlHZfd3tA5mXb36WbZ3Q9Df9qReJKBA6W/+ZvE8/jc449LH3/c21V84jOfkdauvfoxuzstAAAAAKBPoBEEAAAAgICxm7sHAAAAAAHWl1YN5YkgAAAAAAQMjSAAAAAABAxTQwEAAADAwIUL/poa2tUKxTwRBAAAAICAoREEAAAAgIBhaigAAAAAGGDVUAAAAACAb9EIAgAAAEDAMDUUAAAAAAywaigAAAAAwLdoBAEAAAAgYJgaCgAAAAAGWDUUAAAAAOBbNIIAAAAAEDBMDQUAAAAAA31p1dB+3whGKveZ5WoeM8Es14TMU2a5VNtkl8tl5I4eLVVWeoY15442KKhN6KDdz7F1UqFZruSmBrNcisXMUuVkNpvlkiTZlabk2hq7ZGlpZqlSYw7XZGqWU9yhWJZBRW3CYbNUqq4OmeUanWZ4D0vJdIzzfssyvIwUOfKeXbLcXLNUKSmpZrnmzbOLe+oZu0lG3/rfrWa5Nm22q+vGG81SaepYl3thhnLCDnFhu3uhJEWb7O4VBbmG75MH7T62nhyQ0+XxbIeYS3KG2Y1Xy4/moWq7+/S+9GkJ57juOmmsQS2ww9RQAAAAAAiYfv9EEAAAAAB6AquGAgAAAAB8i0YQAAAAAAKGqaEAAAAAYKAvrRrKE0EAAAAACBgaQQAAAAAIGKaGAgAAAIABVg0FAAAAAPgWjSAAAAAABAxTQwEAAADAAKuGAgAAAAB8i0YQAAAAAAKGqaEAAAAAYIBVQwEAAAAAvkUjCAAAAAABw9RQAAAAADDAqqEAAAAAAN/y7xPBigrp/PnOjxcWSuXlnmmOZxaalZRplklSiuGpD4ftclVXu8U1NXmGVFYmWMtlBn9mglmuoYa/pQlZ/hwzHUeYQ1yr8e94ktPT7ZK9+65dLsNB1jz7Ls+YkKTm9CzPuNEpNQYVXeR6Tbqw/DnGYna5Dh70jpk2TXr7bc+w2vRpBgW1yXG9Jh0cjWWY5cqr3GGWqyHT7nwtW2aWSps2293Dvnxvq1mu9c/b1TV1hMM1lJHhdq1ZXo+SIg7v8c4MryONG2eWKrsp6hERUfYgr5hL0hItp93RSrsxNny49/uVqwk6lXiS5GQZf5pGgvzbCAIAAABAH8KqoQAAAAAA36IRBAAAAICAYWooAAAAABhg1VAAAAAAgG/RCAIAAABAwDA1FAAAAAAMsGooAAAAAMC3aAQBAAAAIGCYGgoAAAAABlg1FAAAAADgWzSCAAAAABAwTA0FAAAAAAOsGgoAAAAA8C0aQQAAAAAIGKaGAgAAAIABVg0FAAAAAPgWjSAAAAAABIxvp4Y25o9XPN758VRJDWMKPfO8+4ZZSfqbv7HLde5chlmuvMwGs1wHarM8YwokHUiZ4B2XdsqgoovCYbtcssvVrJBZrlitd0xGhlRT6/37m4yw3ZiQpJN1qWa5Lgy/xSxXTmamWa5QU9QhKOIWl56eeEEXtabb3StiMbNUihjOe/lD0zTPmBmuceFDBhW1aR0+2ixXrlkmSdV297DUPbu9g4qKnOLqRhUZVNTmxhvNUmn983a/8/7m37ea5Xrt9TzPmJl50mvlDnG32d7zVV5ulyvXbvS3pti95yZXHuw6YMIEqbLSLVl1deIFXZL/ObNUJ06YpVJek8OHFC8pKZLh+7ZfsWooAAAAAMC3aAQBAAAAIGB8OzUUAAAAAPoSVg0FAAAAAPgWjSAAAAAABAxTQwEAAADAAKuGAgAAAAB8i0YQAAAAAAKGqaEAAAAAYIBVQwEAAAAAvkUjCAAAAAABw9RQAAAAADDAqqEAAAAAAN+iEQQAAACAgGFqKAAAAAAYYNVQAAAAAIBv0QgCAAAAQMAwNRQAAAAADPSlVUP7fSOYm2uX69w5u1y1tXa58sIxs1zXX5/qGOcd05yelWA1n/jzn81SaexYu1wZ6a1mucrLvR/QT5smlZd758rNdfs5usrLbDDLdbzWsDbLCzxmdx3p7bfNUiUbfo/h4XlmudQSNks1ZoxhXHpmQrVcLvlPu81yNUwqMsvVlH+LWa6MlKhb4LhxniEXDC+hqWNr7HKNsCvstdftrqGZxS7vH8lOcV+ca3vP/92vvX/ezgw/ESc32b0Xvfr+hC6PL57gHXPJggUWFbXJqz1llqs10+5zmOR4o4ZvVVVV6cJf/MFgv28EAQAAACDIli5dqmPHjl3xGo0gAAAAABiIx1sVj/d2FZ9oqyVZpaWlPBEEAAAAgCAZMWJEh9ecVw3duXOnlixZosmTJ+tv//Zv9cQTT6i+vv6KmI8++kh///d/r6KiIhUVFWnVqlWqqbGb5w8AAAAASJzTE8G3335by5cv18SJE/XYY4+pqqpKGzdu1J49e1RaWqrk5GSdOXNGX/3qV9Xc3KyHHnpIFy5c0Isvvqj9+/dry5YtCoVC3f29AAAAAEAv6mIH915z9Wd/To3g008/rREjRujll19WONy2UtyIESO0Zs0avfnmm7r99tv1q1/9SidOnNBvf/tb3XjjjZKkm266SQ888IB+85vfaNGiRUbfCAAAAAAgEZ5TQ8+dO6ehQ4dq0aJF7U2gJBUVtS2FvX//fknS9u3bVVRU1N4EStK0adN0ww03aPv27dZ1AwAAAIDPtKrtqaBf/ut8CxrPJ4IDBw7Uiy++2OH1srIySVJOTo7Onj2rjz76SLNmzeoQN3HiRL3xxhte/wwAAAAAoIdc86qhx44d065du/TUU0+poKBAd9xxhz788ENJUnZ2dof4YcOGKRaLqa6uTkOGDEm8YgAAAABAQq6pEaytrdWMGTMkSYMGDdLq1as1cODA9tVDBw0a1OFrBg4cKElqaGigEQQAAADQj12Q5KONBJXU+ZF43H3Lw7Nnz+qtt95Sc3OzXnrpJZWVlWndunUaNmyYvvzlL+tHP/qRFi5ceMXXPPfcc/rFL36hP/7xjxo2bNin/x4AAAAAwMfy8xv04Yf+aQRHjUrSkSOpVz12TU8Er7/+es2ZM0eSNHv2bN1555168skn9Ytf/EJS28Iyf+nSa4MHD76mohsbpa5a1NRUqaHBO8/Bg9f0z3YpPd0uV22tXa7C4afMcp2MZ3nGZGdLJ0965xo61KCgi/78Z7tcY8fa5cpI7/wPcK/Vjre9t/WcNk3ascM7V26uQUGXyct0uNgcHa+9+s3o08gZbnf+FYt5x0QiUjTqHbdnT+L1XGL4w2wenmeWKxSz2yP2aCzDMyYvTzp61DtXXrrDz8dVeblZqoZJRWa5mprMUikjxeF8OY7747GIQUVtcsKGexC7XNuOXiu3u4ZmFjvcv5KTpVbvuC/Odd4W2snvfm13z1dLi12ulGv+i6ZOvfrbrt+LFi+WXn3VLdeCBQYFXRSqtftM15rp/ZnOVXIXC45cWyLbsYrEfOqfRjgc1vTp01VVVaWsrLaBdvr06Q5xp06dUiQSUWqq3Yc/AAAAAPCfVh/+d3WejWBFRYVmzJih0tLSDsfq6+uVlJSkUCik3Nxc7d27t0PMvn37NGnSJK9/BgAAAADQQzwbwVGjRqmurk6bN29Wc3Nz++vHjh3Ta6+9pilTpigtLU0zZ87Uzp07VVFR0R6zY8cOHT58uH06KQAAAACg93lOtk5JSdHq1au1atUqfeUrX9Fdd92lM2fOqLS0VElJSfrud78rSXr44Ye1bds2LVu2TMuXL9e5c+e0YcMGTZw4USUlJd3+jQAAAABA7+p6OmbP6/y5n9Nf3ZaUlOi6667Thg0btHbtWqWmpurWW2/VypUrdcMNN0iSMjIy9PLLL2vt2rVav369wuGwiouLtWrVKoVCIZvvAwAAAACQMOfll+bMmeM5xXP06NH65S9/mXBRAAAAAIDuY7cOLwAAAAAE2gX5a2po5/vx0QheA8utcPLz7XLphN2mhNm5aQ5Rqcoe4r3HULTJbssQyz0JDbcGUzhstx/OZz9rF2e5f6YkKd1u8A8YYJZKNbV25z893XsPtGRJrWkOcYYX+B/Kc8xy3exyeTuqrPTe+89VYdohh6jRymtxiHu3MuF62hmueG24/ZkyZLfHXlTeP8eIpKi8x31OmuEejmHDwWq4j+DM2+z21/viXO/3yN/9zm2PwN9tt/3Q+b0f2L1/r7l3n1muk5+ZYJZr+nSbGHOVdvew2hS7fQSrqxN/v01JkUaPNigGZtjVEQAAAAAChieCAAAAAGCi70wN5YkgAAAAAAQMjSAAAAAABAxTQwEAAADARKvapof6H08EAQAAACBgaAQBAAAAIGCYGgoAAAAAJlrlr1VDkzo9whNBAAAAAAgYGkEAAAAACBimhgIAAACAiQti1VAAAAAAgC/RCAIAAABAwDA1FAAAAABM+G1DeVYNBQAAAABcRCMIAAAAAAHD1FAAAAAAMOG3VUOZGgoAAAAAuMi3TwRjMam1tfPjqalSXZ13nsL8qFlNzeGIWa633zZLpc/dmm+XLBbzjklNlZqaPMNalGpQUJsUw5F66612uVpa7HK5nPqMDLe4CWOaEy/oMpv+1W7sf3n6cbNcDUNyzHI5DGnXoa9a2dWVm2uWylR6umGy4Y7fpMvJOHEisVouFw6bpQodOWCWS2PGmKVqPO0dE4lIjY0OcYMSr+eSaFPILFfE5aJ1VV5ulup3vx7nEJWq3/26wTPqez+we7+VpDU/6OID2DX65ooJZrnWrzhklqs1f7RnzLBhbrlOO1xHrrKrq+2S5dulKkgxOPcpKZLyEs8DM75tBAEAAACgb2FqKAAAAADAp2gEAQAAACBgmBoKAAAAACbiattU3i/inR7hiSAAAAAABAyNIAAAAAAEDFNDAQAAAMCE31YN7fy5H08EAQAAACBgaAQBAAAAIGCYGgoAAAAAJpgaCgAAAADwKRpBAAAAAAgYpoYCAAAAgIlW+Wtq6IBOj/BEEAAtE9RUAAAYsUlEQVQAAAAChkYQAAAAAAKGqaEAAAAAYMJvq4Z2XgtPBAEAAAAgYGgEAQAAACBgkuLxeLy3i7iq6mqptbXz41lZ0qlTnmkO1GYZFmWnILfBLFeDUs1ypcqhrtRUqcGufhetYbvvMbm2xiyXwmGzVAcqvb/HggLpwAHvXMOHGxR0mZYWu1yxmF2u3Fy7XC6Sk7u+LbXHySHIUTRm9/u6EyfMUqkg7bhdMpcBlpcnHT3qHWd4TVrmiipiluvgQbNUuiXlPe+gwkLpPe+4A+FCg4raWL5HqqnJLpfl+HIZ95GIFI16x1VWJl7PZb75iwlmudb/xO5++NQzdvfDhQu7Pj56tHTokFuu9PTE67kko9LhmnQ1ZoxdLovrKDnZ9mT5VH7+n/Xhh829XUa7UaNCOnJk8lWP8UQQAAAAAAKGRhAAAAAAAoZVQwEAAADAhN82lO98ejZPBAEAAAAgYGgEAQAAACBgmBoKAAAAACbYUB4AAAAA4FM0ggAAAAAQMEwNBQAAAAATrBoKAAAAAPApGkEAAAAACBimhgIAAACACVYNBQAAAAD4FI0gAAAAAAQMU0MBAAAAwESrulqps+exaigAAAAA4CIaQQAAAAAIGKaGAgAAAICJvrOhfFI8Ho/3YCXOmpu7Ph4KecdIUmWlTT2SlJ9vlyv5xHG7ZC0tZql2VeV5xkydKu3a5Z1r6pB9BhVdlJtrlqo1LWKWq7bWLJUy0hwGdG8MfEn7mkab5ZqQecos19GmLLNceelR76BIRIp6xx2ttRtjeWG789WaaXe+kpsazHI1p6R6xrgO/YMHDQq6aILs7mHvtUwwyzVmjFkqpTbVeAdlZEg1DnFHjiRcT7sUw99Tjxtnlqo1JWSWy+kaSk2VGrzjTtZ5X0PXIrv+kFmup7bYvX9863/b/d3Vup90PSnu0Ueldevccj30kEFBF1kOfUt1dYnnSE6Whg1LPI/f5ef/P334YWNvl9Fu1KhBOnLk9qseY2ooAAAAAASMT3/vAAAAAAB9DRvKAwAAAAB8ikYQAAAAAAKGqaEAAAAAYIKpoQAAAAAAn6IRBAAAAICAYWooAAAAAJiIq6tN3Hte51vG80QQAAAAAAKGRhAAAAAAAoapoQAAAABgglVDAQAAAAA+RSMIAAAAAAHD1FAAAAAAMMHUUAAAAACAT9EIAgAAAEDAMDUUAAAAAEy0yl9TQzvf3J5GEAAAAAD6saqqKl24cGWD6ttG8OxZqbXzBlbZ2dKZM955jhwxK0mj87so6Fq1tNjlSkszSzV1fNQhKuIU1xyekHhBF4X++AezXHsyZ5jlKgwfMMul9DFucSkOl63hmJCkMbmW2dLNMrVUmqVSVBHPmIhjXGamQUEXHajMMsuVb3fqdaI61SxXukNdoZDU1OQdN6F8a+IFXRQtvtssV2yPWSqFw3a5dNDhIsrIkCod4oYPT7yei04OyDHLld3k8r7mJrnyoFmuV9/3fo9cvFh69bfe19r06QYFXaY1f7RZroULzVJp3U/s/qLp0RVen+mSHWLafGe1XV3f/rZZKjU22uUaNCjxHElJiefAp7d06VIdO3bsitd82wgCAAAAQN/iz1VDS0tL+84TQQAAAABA4kaMGNHhNVYNBQAAAICAcX4iuHPnTq1fv17l5eVKS0vT7NmztWLFCg0ePLg95p577tH777/f4WtnzZql9evX21QMAAAAAL7Uqq5W6ux5Ca4a+vbbb2v58uWaOHGiHnvsMVVVVWnjxo3as2ePSktLlZycrHg8roqKChUXF2vmzJlXfP3IkSMTqx8AAAAAYMapEXz66ac1YsQIvfzyywpfXK5sxIgRWrNmjd58803dfvvtqqysVENDg77whS+opKSkW4sGAAAAAHx6nn8jeO7cOQ0dOlSLFi1qbwIlqaioSJK0f/9+SdLBg21LKt94443dUScAAAAA+NylDeX98l8CU0MHDhyoF198scPrZWVlkqScnLa9fj744ANJnzSCDQ0NSk2122cKAAAAAGDjmlcNPXbsmLZu3aonnnhCBQUFuuOOOyS1NYKDBw/W2rVrNXnyZE2ePFnFxcXavn27edEAAAAAgE8vKR6Px12Da2trNXXqVEnSoEGD9MILL7T//4IFC7Rv3z7NmjVL8+bNUzQa1caNG1VeXq6nnnpK8+fP757vAAAAAAB8ID9/sz78MNbbZbQbNSpNR47ce9Vj19QInj17Vm+99Zaam5v10ksvqaysTOvWrdPs2bP1yiuvqLW1VUuXLm2Pb2pq0p133qnGxkb913/9lwYMGOBc9OnTUmsXK69mZ0snT3rn2bvX+Z/0NGO64VKwlZV2udLS7HKlOKwfFIlI0ahnWHM4YlBQm9Af/2CW673MGWa5CsMHzHJpzBjvmOTkri+MS6qrE6/nMs3pWWa5Qmo2y3WoMmSWKzPTO8Zx6DtdRq4sbxX5+Xa5Tpywy5We7h3jeu4jr29NvKCLosV3m+Xas8cslW691S5X8p73vIMKC6X3HOJcLiJHJwfkmOXKHuQwcFwZXpCvvj/BM2bxYunVV71zTZ+eeD2XGzbMLteRI3a5fvMbu1yPrvB4L3V9v5X0ndV223J/+9tmqdTYaJdr0KDEcyQlSUOGJJ7H7/pSI3hNI/f666/XnDlzNH/+fJWWlionJ0dPPvmkJGnJkiVXNIGSFA6HVVJSourq6vbFZAAAAAAAvetT/wojHA5r+vTpqqqqUk1NTadxGRkZktoWjwEAAACA/qu3Vwm92n9X59kIVlRUaMaMGSotLe1wrL6+XklJSWpsbNTcuXP1/PPPd4g5fPiwJCk3N9frnwIAAAAA9ADPRnDUqFGqq6vT5s2b1dz8yd/2HDt2TK+99pqmTJmikSNHqq6uTlu2bFEs9smc2KqqKm3dulVTp07VMMsJ5wAAAACAT81zSYOUlBStXr1aq1at0le+8hXdddddOnPmjEpLS5WUlKTvfve7kqTvfe97euSRR3Tvvfdq4cKFqq+vV2lpqVJSUvT973+/278RAAAAAOhdlzaU94sENpSXpJKSEl133XXasGGD1q5dq9TUVN16661auXKlbrjhBklScXGxfvazn+mFF17Qs88+q3A4rKKiIj366KPtm8wDAAAAAHqf8yLnc+bM0Zw5c7qMKS4uVnFxccJFAQAAAAC6j+FuV7aGvf+HrjdAmTtX2X/a7pkn+447zGqqqbXbsyzDcL8lxez2KqlRhmdMhqSaFu89AjNina8me81uu80s1Yk3zFKpMNPu3J887b2Ib3a2W9ywYXb7/klSqMlw1V/DrWTyJxWa5WppcYsLh71jQk12+5YVZDoW5qA1xfv6dmV5Cysv94655Ra3oXPLuHGJF3RRWZlZKt18s10uSyezva+hbMe4C4YzoXKGGe7bK8O9dg33aF2wwDbO0unTdrlc9gl19dBDdrm89v778Y/d9wf88Y/sxuujj9ntSbjuseNmuQ6cSHxvz5SUYOwj2DYV0/IelqjOa7EbbQAAAACAPsG3TwQBAAAAoG/peu++npfAPoIAAAAAgP6FRhAAAAAAAoapoQAAAABgou/sI8gTQQAAAAAIGBpBAAAAAAgYpoYCAAAAgAlWDQUAAAAA+BSNIAAAAAAEDFNDAQAAAMAEq4YCAAAAAHyKRhAAAAAAAoapoQAAAABgglVDAQAAAAA+RSMIAAAAAAHD1FAAAAAAMNGqrlbq7HmsGgoAAAAAuCgpHo/He7uIq/rgA+n8+c6PT5gg7dvnmeZ4+gSzktLSzFKprMwu19TxUbNcO/ZEPGOmTZN27PDONe2zzQYVXdTU5MtczelZZrlCTQ4/x0hEitr9vF3917ve48JVfr5ZKuVlNtglcxkXGRlSTY1nWDQlw6CgNimG8zYsc1VX2+XK0XGHoBzpuHfcgViOQUVtCsYY/kbX8h5WWWmW6nhagWeM46lXTqbhPd9wsB6t9OfvvPPCp7yDsrKkUw5xhmNCku0FPny4WaqGMYVmuVpauj5+LW+3P/hBwuW0W/es3X3nmyvsxv6zz9rkCYVs8vhZfv56ffjh2d4uo92oUdfryJFvXvUYU0MBAAAAwAQbygMAAAAAfIpGEAAAAAAChqmhAAAAAGCCDeUBAAAAAD5FIwgAAAAAAcPUUAAAAAAwwdRQAAAAAIBP0QgCAAAAQMAwNRQAAAAATMTV1SbuPS/e6RGeCAIAAABAwNAIAgAAAEDAMDUUAAAAAEywaigAAAAAwKdoBAEAAAAgYJgaCgAAAAAmmBoKAAAAAPApGkEAAAAACBjfTg39fcVYNTR0fvzuCdLW8gmeee6+s9mspmaFzHJNmWKWSkcrI2a5pn3W5XyF3OJSDIfXkSN2ucaNs8tlqanJOyYScYprTs8yKOgTnxtz3C6Z4bhoTrH7PkMpLW6BDvVHwnb3nePVdved4cPNUmnAALtcu47keMZMzZF2feQQN9nu3OtEtVmqaJp37a4iLvcKRzkphxyiRiunyTuuWaMTL+iiUPUps1zDh9vdJ06cMEul1kzvupId42oN74WSpHy7VBnhLj7M9aLGxq6PRyLeMZese8zuPfKbK+zuFet/Yrep+RfnJv7sKCtL+r//16AY32uVv6aGdj4OeCIIAAAAAAFDIwgAAAAAAePbqaEAAAAA0LewaigAAAAAwKdoBAEAAAAgYJgaCgAAAAAmWtXVSp09j1VDAQAAAAAX0QgCAAAAQMAwNRQAAAAATLChPAAAAADAp2gEAQAAACBgmBoKAAAAACbYUB4AAAAA4FM0ggAAAAAQMEwNBQAAAAATTA0FAAAAAPgUjSAAAAAABAxTQwEAAADARN/ZUN63jeCbb0o1NZ0fv/tu6T/+wzvP3fPtvsUzp81SadAgu1x56VG7ZClpjnHe57XV8IFzcn6+WS6dOGGWKhQOm+WSay6HuFgswVr+QoZlwtxcs1Sh2lNmuZxOWiQiVVd7xxmO15YWs1SqrLTLZXnfyf4rl/GVo6l/ddwz6p09OYkXdFF+vl2ujLTO34iv2Zgxdrks74d/2mGWa1/6NLNcE2R3n8hrqjXLJbn8HJOV3MWHuEuqq20neBWkHLJLlp5ulqrufKpZLpfPYa6f1Q6csLtXPPusWSp9ca7duPjddqt7GJMR/YSfBgAAAAAEjG+fCAIAAABA38KqoQAAAAAAn6IRBAAAAICAYWooAAAAAJhoVVcrdfa8zmvhiSAAAAAABAyNIAAAAAAEDFNDAQAAAMBE39lQnieCAAAAABAwNIIAAAAAEDBMDQUAAAAAE2woDwAAAADwKRpBAAAAAAgYpoYCAAAAgAlWDQUAAAAA+BSNIAAAAAAEDFNDAQAAAMBEq7qajtnzOq/Ft41gerp3TEZG99dxuWTD56dJSXa5JNNk/mR5wgYMsMvVG4PCIc6yLElSiuGtwvJnafmNun6PlufCgeVwNdUb16RDXCiUYC2XMb+OrFiee8txP3BgYrVc5rrrzFL1zn2ih5mXZZnQ8Pz39Fuu66Xm02GhrKzeriCYcnM/09slXOFSPVVVVbpw4cq/XUyKx+Px3igKAAAAANC9mpqa9LnPfU5nz5694nUaQQAAAADop6LRqKLRaIfXaQQBAAAAIGD8+hcQAAAAAIBuQiMIAAAAAAFDIwgAAAAAAUMjCAAAAAABQyMIAAAAAAFDIwgAAAAAAUMjCAAAAAABQyMIAAAAAAGT0tsFXKuPPvpITz31lHbv3i1Jmj59ur797W8rIyOjlyvr/+655x69//77HV6fNWuW1q9f3wsV9X+rV6/Whx9+qJdeeumK17kOekZn559rwd6bb76pn//859q7d6+Sk5N10003acWKFbr55pvbYxj33cPl3DPmu8/OnTu1fv16lZeXKy0tTbNnz9aKFSs0ePDg9hjGfvdwOfeMffRnfaoRPHPmjL761a+qublZDz30kC5cuKAXX3xR+/fv15YtWxQKhXq7xH4rHo+roqJCxcXFmjlz5hXHRo4c2UtV9W9btmzRli1bVFRUdMXrXAc9o7Pzz7Vgb/fu3Xr44Yc1duxYrVy5Ui0tLdq0aZPuu+8+bdq0SYWFhYz7buJy7hnz3eftt9/W8uXLNXHiRD322GOqqqrSxo0btWfPHpWWlio5OZmx301czj1jH/1evA9Zt25dfPz48fGDBw+2v/bWW2/FCwoK4q+++movVtb/HT16NF5QUBD/9a9/3dul9HstLS3xn/70p/G//uu/jhcUFMTvu+++K45zHXQvr/PPtWCvpKQkPn369HhDQ0P7a6dPn45PmTIlvmzZsng8zrjvLi7nnjHffRYsWBD//Oc/H29sbGx/7eWXX44XFBTE33jjjXg8ztjvLi7nnrGP/q5P/Y3g9u3bVVRUpBtvvLH9tWnTpumGG27Q9u3be7Gy/u/gwYOSdMW5h71z585pwYIF+ulPf6qSkhJlZ2d3iOE66D4u559rwdbZs2dVXl6u2bNna9CgQe2vZ2ZmasqUKfrzn/8siXHfHVzPPWO+e5w7d05Dhw7VokWLFA6H21+/NAth//79khj73cH13DP20d/1mamhZ8+e1UcffaRZs2Z1ODZx4kS98cYbPV9UgHzwwQeSPrkZNjQ0KDU1tTdL6pfOnTunWCym5557TnPmzNGMGTOuOM510L28zr/EtWAtLS1Nv//9769oRC45c+aMBgwYwLjvJi7nXmLMd5eBAwfqxRdf7PB6WVmZJCknJ4ex301czr3E2Ef/12eeCJ48eVKSrvob+mHDhikWi6murq6nywqMDz74QIMHD9batWs1efJkTZ48WcXFxfw20lhaWppee+01zZkz56rHuQ66l9f5l7gWrA0YMED5+fkdxnR5ebneeecdTZ48mXHfTVzOvcSY7ynHjh3T1q1b9cQTT6igoEB33HEHY7+HXO3cS4x99H995olgfX29JF31N5cDBw6U1PabmiFDhvRoXUFx8OBB1dfXq66uTk8//bSi0ag2btyoRx99VOfPn9f8+fN7u8R+ITk5WcnJnf9+huuge3mdf4lroSfU19frW9/6liTpa1/7GuO+B/3luZcY8z2htra2fQbCoEGDtHr1ag0cOJCx3wM6O/cSYx/9X59pBFtbWz1jvD7A4dNbtGiRWltbtXTp0vbX5s6dqzvvvFPPPPOM5s2b1z6NCN2H66D3cS10r8bGRn3jG99QeXm5vv71r6uoqEj/8z//4/l1jPvEXe3cS4z5npCUlKTnnntOzc3Neumll/TAAw9o3bp1GjZsmOfXMvYT09m5nz17NmMf/V6fuXtc2tPl3LlzHY5deu3yfV9ga8mSJVfcCCUpHA6rpKRE1dXV7X9Qje7FddD7uBa6TzQa1fLly7Vr1y596Utf0sqVKyUx7ntCZ+deYsz3hOuvv15z5szR/PnzVVpaqpycHD355JOM/R7Q2bmXGPvo//pMI3jpD3dPnz7d4dipU6cUiUT4A95ecGkz24aGhl6uJBi4DvyLayExH3/8se6//3698847Wrx4sZ544gklJSVJYtx3t67OfVcY890jHA5r+vTpqqqqUlZWliTGfk+5/NzX1NR0GsfYR3/RZxrBSCSi3Nxc7d27t8Oxffv2adKkSb1QVTCcPHlSc+fO1fPPP9/h2OHDhyVJubm5PV1WIHEd9C6uhe4Ri8X04IMPqqysTMuWLdOaNWuuaEQY993H69wz5rtPRUWFZsyYodLS0g7H6uvrlZSUpFAoxNjvBi7nvrGxkbGPfq/PNIKSNHPmTO3cuVMVFRXtr+3YsUOHDx/ucpU/JCY7O1t1dXXasmWLYrFY++tVVVXaunWrpk6d6vR3DLDBddB7uBa6x5o1a1RWVqb7779fjz/++FVjGPfdw+vcM+a7z6hRo1RXV6fNmzerubm5/fVjx47ptdde05QpU5SWlsbY7wYu537kyJGMffR7SfF4PN7bRbiqqanRnXfeqQEDBmj58uU6d+6cNmzYoLy8PG3evFmhUKi3S+y3Xn/9dT3yyCMaO3asFi5cqPr6epWWlur8+fN65ZVX2Gy1m8yYMUMjR47USy+91P4a10HPudr551qwVVFRoTlz5mjIkCH6zne+c9WFF0pKShj33cD13DPmu8+2bdu0atUq3Xzzzbrrrrt05syZ9nO7adMmFRQUMPa7icu5Z+yjv+tTjaAkHTp0SGvXrtWf/vQnhcNh3X777Vq1alX7fG10n9dff10vvPCCysvLFQ6HVVRUpEcffZQbYTe6WiMicR30lM7OP9eCnVdeeUU/+MEPuozZv3+/JMa9tWs594z57vPv//7v2rBhgw4cOKDU1FTdeuutWrlypW644Yb2GMZ+93A594x99Gd9rhEEAAAAACSmT/2NIAAAAAAgcTSCAAAAABAwNIIAAAAAEDA0ggAAAAAQMDSCAAAAABAwNIIAAAAAEDA0ggAAAAAQMDSCAAAAABAwNIIAAAAAEDD/H0ym9MWx69rkAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_lambda = 0.1\n",
"clf_ridge = skl.Ridge(alpha=_lambda).fit(X_train, y_train)\n",
"J_ridge_sk = clf_ridge.coef_.reshape(L, L)\n",
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J_ridge_sk, **cmap_args)\n",
"plt.title(\"Ridge from Scikit-learn\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## LASSO regression\n",
"\n",
"In the **Least Absolute Shrinkage and Selection Operator** (LASSO)-method we get a third cost function."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- Equation labels as ordinary links -->\n",
"<div id=\"_auto13\"></div>\n",
"\n",
"$$\n",
"\\begin{equation}\n",
" C(\\boldsymbol{X}, \\boldsymbol{\\beta}; \\lambda) = (\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y})^T(\\boldsymbol{X}\\boldsymbol{\\beta} - \\boldsymbol{y}) + \\lambda \\sqrt{\\boldsymbol{\\beta}^T\\boldsymbol{\\beta}}.\n",
"\\label{_auto13} \\tag{13}\n",
"\\end{equation}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finding the extremal point of this cost function is not so straight-forward as in least squares and ridge. We will therefore rely solely on the function ``Lasso`` from **Scikit-Learn**."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4IAAAM2CAYAAACjUj0CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdaZRV5ZUw4F11EQGBpGkJoGhEOmAaFEojrmg0Dggq2hAHREsR0MSVmI5iEqePqGBHFDEYxGBQRFE0Wi2RROxEM5imHTO2cWIhGhsIDggyFDLdut8Pw9WyoKqAU9xTnOdZq1biOW+9Z9fLjanN3nffskKhUAgAAAAyo7zUAQAAALBzSQQBAAAyRiIIAACQMRJBAACAjJEIAgAAZIxEEAAAIGMkggCfcMUVV0TPnj1j8eLFpQ4lUU8//XSceOKJ0bt37zj77LNLHc5WPfbYY3HuuefGoYceGgcddFAMGDAg/uM//iPeeeedbd5r9uzZ0bNnz3juueciIuK5556Lnj17xuzZs7f6PYsXL46ePXvGrbfeWuv6okWLGvXMY489Ns4999xtjhUAdqYWpQ4AgKZXU1MT3/72tyOXy8WVV14ZnTt3LnVIWzRp0qS4/fbb4+ijj46LLrooWrVqFQsWLIj//M//jLlz58aDDz4Y++67b6P3O/TQQ2PChAnRvXv3Rn9Phw4dYsKECdGzZ8/itR/96Efx05/+NJ544olt+nkAIK0kggAZ8O6778by5ctj5MiRUVlZWepwtmjp0qVxxx13xLnnnhtjxoypde/kk0+OysrK+MEPfhC33HJLo/fcZ599Yp999tmmONq0aRODBw+ude2ZZ56JfD6/TfsAQJppDQXIgI0bN0ZExB577FHiSLbuf//3fyOfz8cRRxxR515FRUUcdNBB8Ze//KUEkQHArkciCLADfvGLX8Q555wThxxySPTu3TuOPfbYmDBhQmzYsKG4ZsOGDfH9738/jjvuuOjdu3d8+ctfjrFjx8bKlSuLawqFQkyZMiUGDhwYBx54YBx++OHx3e9+N5YuXVrreStWrIhrr702jjzyyOjdu3cMHDgwpk2bVm+16tZbb43jjjsuIiKmTJlSfM/crbfeGgceeGA88cQTccQRR0RFRUVUVVU1+jm33nprVFRUxGuvvRYjR46Mvn37xpFHHhl33HFHFAqFmD59ehxzzDFx8MEHx/nnn9/gey43J6k//elPa53fZjNnzownn3yy1rU1a9bE9ddfH0cffXT06dMnTjnllOLPEFH3PYJbMnfu3Pj85z8f3/rWtyKfz9d5j+Cxxx4bzz//fCxZsmSL7x1sjD//+c8xcuTIqKioiIqKihg1alS88MILtdYUCoV44IEH4vTTT4+Kioo48MAD44QTTohp06ZFoVAorjv22GNjzJgxcdVVV8WBBx4YRx11VCxfvjyOPfbYuPrqq2POnDkxaNCgOPDAA2PAgAExa9asbY4XgF2f1lCA7VRVVRVjxoyJY489Nr7zne/Exo0b44knnojp06dHmzZt4pvf/GZERIwbNy4effTRGD58eOyzzz6xYMGCmDVrVrz55ptx1113RUTE7bffHrfddltUVlYWB9XMnDkzXnzxxXj00Ucjl8vFypUrY9iwYbFkyZIYNmxYdOvWLZ566qm4+eab4+WXX95qy+Txxx8f7dq1i/Hjx8fxxx8fxx9/fHTv3j2ef/752LRpU4wZMybOP//82LBhQxxyyCHb9JyNGzfGeeedF/37948BAwbEww8/HBMnToxnn302lixZEuedd16sWLEi7rzzzrjyyivj3nvv3ep5HnbYYdG1a9f45S9/GX/84x9jwIABccQRR8Shhx4an/rUp6Jly5a11m/YsCEqKytjwYIFMXTo0DjggAPid7/7XYwZMyY++OCDGD58eIN/hvPmzYvLL788jjrqqLj55psjl8vVWXPVVVfFzTffHCtWrIgrr7yy1nsHG+Opp56KCy+8MA444IC4+OKLY8OGDTF79uyorKyMGTNmxBe+8IWIiLjlllvi9ttvj6985SsxdOjQqK6ujkceeSRuvvnm6NixY3zlK18p7jl37tzo1q1b/L//9/9i2bJl0aFDh+LPs/kvJ/bcc8948MEHY9y4cdG1a9f48pe/vE1xA7CLKwBQy+WXX17o0aNHYdGiRfWuO+GEEwpnnnlmoaampnht48aNhaOOOqpw8sknF68ddNBBhbFjx9b63kmTJhVOPfXUwpo1awqFQqFw4oknFr72ta/VWvPAAw8U/u3f/q3w5ptvFgqFQuGmm24q9OjRo/DEE0/UWnfttdcWevToUXjyySe3GuuiRYsKPXr0KEyePLl4bfLkyXWubctzNn//DTfcUFyzYMGCQo8ePQoVFRWF9957r3j929/+dqFnz56F9evXbzXGQqFQeP311wtDhgwp9OjRo/j1+c9/vnDuuecW5s2bV2vtrFmzCj169Cj87Gc/K16rqakpnH322YUjjjiisGnTpsLDDz9c6NGjR+HZZ58tFAqFwrPPPlvo0aNH4eGHHy786U9/KvTp06dw3nnnFdatW1fvWZ1zzjmFY445pt7YNzvmmGMK55xzTqFQKBTy+XzhuOOOKwwbNqywadOm4prq6urC8ccfXxg8eHChUCgUNmzYUDj44IMLo0ePrrXX6tWrC7179y5ceOGFtfY/4IADiq+Lj1/v2bNn4ZVXXilee+eddwo9e/YsXHrppY2KHYDs0BoKsJ1+9rOfxbRp06KsrKx47b333ov27dvH2rVri9c6d+4cjz32WMyePTtWrVoVERGXXHJJPPzww8V2yM6dO8dzzz0X99xzTyxbtiwiIoYNGxZz5swpTsn8zW9+E927d4/+/fvXiuMb3/hGRET8+te/3q6f40tf+lKtf97W53x83X777RcREQcffHCxShUR0bVr1ygUCsWfbWu6desWs2fPjpkzZ8bw4cOje/fukc/n47nnnovzzz8/pk2bVlz75JNPRocOHeLkk08uXisrK4sJEybErFmzorx86/8Xt2DBgrjwwgtj7733jqlTp8buu+9eb1zb6+WXX45FixZF//79Y+XKlbF8+fJYvnx5rFu3Lo455ph45ZVX4q233orddtstnn766Rg3blyt71+xYkW0bdu21uspImLffffd4vTUbt26xQEHHFD8544dO8aee+7Z4LkDkD1aQwG202677Ra///3v49FHH43XX389/u///i/ee++9iIjYe++9i+uuvfbauOSSS+LKK6+M733ve9G3b984/vjj47TTTot27dpFRMRll10WX//61+P666+P8ePHR69eveLYY4+NoUOHRseOHSPiw8+3O/LII+vE0bFjx2jfvn0sWbJku36Of/7nf671z9v6nD333LP431u0aLHFPTe3XNbU1DQYT1lZWRx22GFx2GGHRUTE3//+93j44Yfjxz/+cfzwhz+MwYMHR6dOnWLJkiWx77771krEI2qf/dbcddddUV5eHuvWrYt33313mz6SIiKiurq6TnLWrl27aNWqVa1r//d//xcRERMmTIgJEyZsca+lS5dG586dY7fddosnn3wyfv3rX8cbb7wRb775ZvF9pIWPvUcwou75bvbx5Huzli1bNurcAcgWiSDAdrr55ptj2rRp8a//+q/Rt2/fGDx4cFRUVMR1111Xa8jLF7/4xfjtb39b/Hrqqadi/Pjxcffdd8fs2bOjQ4cOccABB8Qvf/nLmDdvXvz2t7+NefPmxeTJk+Puu++On/zkJ9G9e/c6ycDH1dTUxG677bZdP8cnK2fb+pwtva/uk8lZY9x7772xfv36uOCCC2pd32uvveLf//3fY/fdd4+bb745/vKXv8TAgQMjn89v13MiInr27BlXX311jBgxIsaOHRvTp0/fpu+/6667YsqUKbWujR8/Pk499dRa1zYnYBdffHH07dt3i3vtv//+USgU4rvf/W48+uijccghh0RFRUWceeaZceihh8Z5551X53u2dOYRdf8sAWBrJIIA22HJkiUxbdq0GDx4cJ1Kz8fb8DZs2BCvvPJKdO7cOQYNGhSDBg2KmpqamDFjRkyYMCHmzp0bZ599drz66qvRtm3bOO6444oTPh977LEYPXp0VFVVxRVXXBF77713vP7663Vieffdd2PNmjXRpUuXRH62nfWcT/rVr34VL7zwQpx99tnRpk2bOvd79OgREVGsuu21114xf/78Out+97vfxWOPPRbf/e53t/qsESNGxBe+8IUYMWJE3HHHHfHoo4/WajFtyJAhQ+KQQw6pde1f/uVf6qzbXJ1s06ZNHH744bXuvfDCC7Fy5cpo1apV/OEPf4hHH300vvGNb8TFF19cXLNp06Z4//33t/mzEAGgIf7qEGA7bG7Z++Qv/7/73e/ib3/7W2zatCkiIt5///0488wz48c//nFxTXl5eRx44IHF/57P52P48OFx/fXX19qrT58+xTUREcccc0y8/vrr8atf/arWus3vmzv66KMT+dl21nM+6ZRTTom1a9fGDTfcUKeVsaamJqqqqqJ9+/Zx6KGHRkTEUUcdFcuWLYsnnnii1tp77rknnnzyyfinf/qnBp/5jW98I7p06RLjx48vvn9zS8rLy2vFtM8++8Thhx9e6+szn/lMne/r3bt3dOzYMe69996orq4uXl+zZk2xXTiXy8X7778fEXVfTw899FB88MEHxdcTACRFRRBgKyZNmrTFD2A/8cQT45BDDom99torbr/99li/fn107tw5XnjhhfjpT38au+++e/GX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HQA0G+URUSh1EB+jNRQAAIAiiSAAAEDGaA0FAABIgNZQAAAAUksiCAAAkDFaQwEAABKgNRQAAIDUkggCAABkjNZQAACABJRF/e2YaaIiCAAAkDESQQAAgIzRGgoAAJCA5lRla06xAgAAkACJIAAAQMZoDQUAAEhAc6qyNadYAQAASIBEEAAAIGO0hgIAACSgOVXZJIJkTqtWye21eHFye+XzlyS2Lpe7YUfD+cQzr0h0v11dTbP6vwEAIIskggAAALuwpUuXRj6fr3VNIggAAJCAsrKyiLKyUofxkX/EUllZGUuWLKl1SyIIAACwC5s1a5aKIAAAQJZ06dKlzrXtSgTHjBkTb775Ztx77721ri9atChuvPHGeP755yMi4uijj44rrrgiOnTosD2PAQAAaD5atPjwKy3qiWWbo6yqqoqqqqro169fresrVqyI8847LzZs2BAXXHBB5PP5mD59esyfPz+qqqqiZcuW2x44AAAAiWt0IpjP52Pq1KkxZcqULd6/++6746233oqf//zn0b1794iI6NOnT4wcOTIeeeSRGDp0aDIRAwAAsEMalQiuX78+zjjjjJg/f34MGTIknnnmmTpr5s6dG/369SsmgRERhx9+eHTr1i3mzp0rEQQAAHZtuVy6WkNzua3eatSnHq9fvz7WrFkTkyZNihtvvDFafOKHW7lyZSxatCh69epV53t79eoVL7744jZGDAAAQFNpVLratm3bePzxx+skgJu9/fbbERHRqVOnOvc6duwYa9asidWrV0e7du12IFQAAACS0KhEsLy8PMrLt148rK6ujoiI1q1b17m3++67R0TE2rVrtykRrOdx27SGpuHsP7Tvvjv/mY05+0LhiqYPJKO89kvH2ZeOsy8dZ186zp7tsitPDd2SmpqaBtfUl0huec+G9mt4DU3D2X9k8eLk9urateE1jT37XO6GHQ/oY/J5iWWE134pOfvScfal4+xLx9k3Dcl1uiTyx7HHHntExIfvJfykzdc2rwEAAKC0EqkI7rXXXhER8e6779a5984770T79u2jTZs2STwKAAAgnXa1qaENad++fXTt2jVeeumlOvdefvnl6N27dxKPAQAAIAGJdeoOGDAgnnnmmVi4cGHx2tNPPx1vvPFGnHTSSUk9BgAAgB2UWN3yq1/9asyZMydGjBgRo0aNivXr18edd94ZvXr1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seeee8ahhx4af/7znyMiYu7cudGvX79iEhgRcfjhh0e3bt1i7ty5TRA6AABAeuTzH7aHpuXrE/NhammwIti2bdv4xS9+USsJ3GzFihWRy+Vi5cqVsWjRohg4cGCdNb169Yonn3xymw4QAACAptNgRTCXy8V+++0XnTp1qnX91VdfjT/96U9RUVERb7/9dkREnTURER07dow1a9bE6tWrEwoZAACAHbFdHx9RXV0dl19+eUREfO1rX4vq6uqIiC1WDXffffeIiFi7dm20a9eu0c9ozJtJs/CG07Ry9qXj7EvL+ZdOY86+UDDgpSl43ZeOsy8dZ8/22LQpouFRnDtPWdnW721zIvjBBx/E17/+9Xj11VfjwgsvjH79+sUf//jHBr+vfBv/12RqaHo5+9Jx9qXl/EvH1NDS8bovHWdfOs6+aUiu02Wb/jhWrVoVo0aNiueeey5OO+20GD16dERE7LHHHhERsX79+jrfs/na5jUAAACUVqMrgu+9916cf/758corr8SZZ54ZY8eOjbJ/1Br32muviIh4991363zfO++8E+3bt482bdokFDIAAED65PPpqibXV4VtVCK4Zs2aYhI4YsSIuPLKK2vdb9++fXTt2jVeeumlOt/78ssvR+/evbctYgAAAJpMo1pDx40bF6+88koMHz68ThK42YABA+KZZ56JhQsXFq89/fTT8cYbb8RJJ52UTLQAAADssLJCof65NgsXLoyTTjop2rVrF1dddVXkcrk6awYPHhzLly+Pk08+OXK5XIwaNSrWr18fd955Z+y7777xk5/8JFq2bLlNgRkWk17OvnScfWk5/9IxLKZ0vO5Lx9mXjrNvGlkYFrNsWbpeO+XlEXvuueV7DSaCDzzwQFx77bX1PmD+/PkREfH666/H+PHj4w9/+EO0atUqvvzlL8dll10WHTp02OagJYLp5exLx9mXlvMvHYlg6Xjdl46zLx1n3zQkgjvfDiWCpSIRTC9nXzrOvrScf+lIBEvH6750nH3pOPumIRHc+epLBLfrA+UBII2STN5yuasS2yufvz6xvQBIr3z+w6+02MK7+ooykJcDAADwcRJBAACAjNEaCgAAkIBNm9LVGlrfNBgVQQAAgIyRCAIAAGSM1lAAAIAE5PMftoc2ByqCAAAAGSMRBAAAyBitoQAAAAnYtElrKAAAACklEQQAAMgYraEA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\n",
"text/plain": [
"<Figure size 1440x1008 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"clf_lasso = skl.Lasso(alpha=_lambda).fit(X_train, y_train)\n",
"J_lasso_sk = clf_lasso.coef_.reshape(L, L)\n",
"fig = plt.figure(figsize=(20, 14))\n",
"im = plt.imshow(J_lasso_sk, **cmap_args)\n",
"plt.title(\"Lasso from Scikit-learn\", fontsize=18)\n",
"plt.xticks(fontsize=18)\n",
"plt.yticks(fontsize=18)\n",
"cb = fig.colorbar(im)\n",
"cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is quite striking how LASSO breaks the symmetry of the coupling\n",
"constant as opposed to ridge and OLS. We get a sparse solution with\n",
"$J_{j, j + 1} = -1$.\n",
"\n",
"\n",
"\n",
"## Performance as function of the regularization parameter\n",
"\n",
"We see how the different models perform for a different set of values for $\\lambda$."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/10 [00:00<?, ?it/s]/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/_coordinate_descent.py:529: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 3.4334591865657815, tolerance: 1.684796\n",
" positive)\n",
"100%|██████████| 10/10 [00:04<00:00, 2.32it/s]\n"
]
},
{
"data": {
"image/png": "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tG9fYbq52V4mSWqpHzfjA6POb7yVmLLXhyRp1y4zHHHKSjS22OVkE2a4vb3M59p6u+49z5rx8ZXnmfF06xp7mSTVxcbM+ISzStaePWLH3+yvwyd+bK+TTX9aui9Epj6/a7O9/R773nK7gmzWrTuStveRB361woxfdZVdTsvofreOXL3399HuxDFfzGUfDlQqr4udmLjZ/ByNXunM//CsLhcgBdeP/9EfFaeXLi38G3OODEZG/Wv3vL+fmrSdVwynnZyi3s4jJWlnZ40ZX+6kTelBO97dXZxuayt+PnDAz8XXvj1jxltb42Z8fMkqM57M2vmoJDcXjx+dRB+JexvKia9eXeZzzFmJvb12fHWdGR5f7ufiyeE+M37kWOhoVyzvsr84t9qt44kfN5lxPxe398PH/k+tXUE67dada7aPA77zHXv+91/SaMbXZk8iF8862w/zBuMpwYynSMUxlbCNp0yLMZ4yzayOp/yiw4xfdZUdZzxlYWI8BQhGVfSHZjw/8c45XpK5ddw74s477zzdd999isVi+v3vf6+JiQmNjY3pLW95i8466yzFYjFdfvnlevzxx+dieQEAM0AfDgCVjX4cACoXfTgAVC76cACz6YQeTblo0SLdeeed2rx5s84//3zt379fS49cOitp2bJlGhoaCmwhAQAnjz4cACob/TgAVC76cACoXPThAGZLVT6fz5/ozAcPHtT111+vd7zjHXr11Vf1pS99SZL0H//xH7r33nv1L//yL4EtKADg1NCHA0Blox8HgMpFHw4AlYs+HMCpOu474n77298qk8nonHPO0eLFi7Vp0yY9/vjjikajU/McOHBAy5b5zwS3HDwo5fNSMimNTz6SufS9DaVqnUf1S/4zzVc12s9nHsrby3nGGX4ds/VM8527pr8jbufOwrT3GHJp5s80b2q06y77TPPOTjvuLFjGeaZ5PGU/C7wvVXyXREuL1FfymoiWWud9Gc5LI9xnmvuvbXCfaT6Qst830pSw21FuHT6x7wSeaR6JSLkjzzS3b0Z97Hv29i73THPvfSAP/Lu9j3jviIufxDPNI3L2t8gJ3WyLORBUHz65K5fu1qET1rYvxHZ7XWxp91ra7oX+jji68PllLvvxZ56x51250i/Hy8Xbqu28oidlL2dbvf8OtRm/I87JC0tT3k2bpCeeKEy/6U1u1e474ob+YL8j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1U/I3QDGGjUU30hqKNTOJ47wWC8A+t133336yU9+olAopOLiYn3ta19Lmb5v3z599atf1RtvvKFQKKR3vvOduu666xQK+fdTvdcke/HFF3XFFVfotttu09y5cwOXsbu7W48//rgSiYQ7z2c+8xm99NJL5rTTTz9dP/jBDwL7SFZfX69QKKSTTz65LzZr1iy98MILac8bNH0krwWQPTZu3Kgbb7xReXl52rdvn2KxmH79619Lkr797W/r0UcfVWFhoU466aSU191111164IEH+gYjv/nNb/TUU09Jkp566il9//vf18GDB5Wbm6srr7xSp512mrsMo53XpcFz+0TM64NNJ68D2Ssej+umm27Spk2btG/fPiUSCd1www06/fTT3Ry7f/9+dxxujeGTc8tA2ZTHB5s/k3kewORG/eRIozn2JXcDGA3UUI402mNvaucTBzfixonnnntOd999t+677z4VFRXpwQcf1CWXXKJrr722b54nnnhC+/bt08MPP6xDhw7p61//uv785z8fkaySea857Pnnn9fXvvY13XnnnZo1a9agy3n77berpKREL7zwgvbt26fjjjvuiHnSSSaD6erq0rRp01Ji06ZN0759+9KeN2j6SF4LILvs2LFDTz75pBobG3X99ddLkp588kmtX79eDz30kHJzc3XJJZf0zf+73/1ODz74oB544AFNmzZN//qv/9o3rb6+XrfffrvuueceHX/88dqxY4c++clPav369crLyzP7H+28Lg2e2ydiXh9sOnkdyF6bNm3Srl27dN999ykUCumuu+7SD3/4Q51++ulujn3llVfMeFNTkzmG/9WvfqWcnByz/2zK44PNn8k8D2Dyon5iG82xL7kbwGihhjIyo5lTqZ2PLb6acpz43e9+pyVLlqioqEiStGLFCrW0tOjNN9/sm+f000/Xzp079fGPf1x33XWX/umf/ilwEDnYa5qbm/XZz35W55133pASzSuvvKJf//rX+s53vqNp06Ydle94zcvLU2dnZ0qss7PTHMAONm/Q9JG8FkB2edvb3qYTTjghJfbcc8/pve99r/Lz8xUOh1O+1/u3v/2tFi9erIKCAuXk5OijH/1o37Rnn31Wu3bt0ic+8Ql94AMf0BVXXKGcnBw1NDS4/Y9mXpeOfm4/Wnl9sOnkdSB7nXbaaVq9erV+/vOf65ZbbtG6dev6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mYc0fDzLyje8kPkAUDoOJe/my7Oe8crNh5qXpaOXm8nbACaK96Ra7itnpkyZMvQ5Go26wzKZjM4880z97Gc/G/p399135/2h8TCfdxeaU4t5HCG/A6WL/pOJ7T85Wufp5HGgfNGHYpss577k7onBhbij5LHHHtO5556r9773vZo7d64efPBB7du3T5L0ox/9SNdee63OPvts/eM//qPOPvtsPf/88278rW99q9auXauenh5J0k9+8hPzty5yeWVJ0vTp07VgwQJ99rOf1dVXX609e/bkbcvXv/51zZ8/X+eee66k7HterR+1vOOOO/Tss8+a/+644w6z7HQ6rYGBAWUyGe3bt08DAwNKp9NKJBK64IILdOutt6q/v19PP/20fvnLX+od73iHJI05PNeRlpVveCHzAaB0eHm3ubl5aJx8edYzXrn5UPOyVHhu9vKydGT5kLwN4GhauHCh1q1bp76+PmUymRE/Fn7OOedo/fr1eu211yRJ99xzz9CwM888U4899pj+8Ic/SMo+PbdixQqlUim3rlI47z7c3D7W8EJzajGPI+R3oHTRfzKx/SdH6zydPA6UL/pQjn4fCrm7BAQoqo0bNwZLly4Ntm3bFrzjHe8Ili1bFixevDi48cYbg7e+9a3Bvn37gt27dwef/vSng8WLFwcXX3xx8PGPfzzo7e1140EQBHfeeWewbNmyYMmSJcH73//+YOvWrXnnwyvrwPwdcPnllwfXX399EARBcNlllwUPPvjgiHI2bdoUnHvuuUFfX99Q7Cc/+UmwcuXKcVlet956azBr1qwR/2699dYgCIJg165dwcc+9rHglFNOCc4555xg9erVI6Yda/jf/u3fBt/61rfGpax8w8eaFkBpsvJubg7Nl7M945GbJzIvB8GR5UPyNoDxlps/R+fSb3/728H5558fXHLJJcGqVauC97///UPDvvvd7wYXXnhhcPHFFwdXX311sGTJkqFha9euDVasWBEsX748uPjii4Mnn3wy7zyUwnn3keT2sYYXktuPtKwjHQ5gcqH/pDDF7D/JN7yQPD7WcPI4UL7oQzn6fSjk7smtIghy3sMC5Lj77rvV0NCghQsXTvSsAAD2IzcDwPj63e9+p2effVaXXnqpJOl73/ueNm3apK997WtHbR7I7QBQ2sjjADA5kZ8xWUQnegYwflpbW3XVVVeZw046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8kkvhrIoPvzww3j11VdjcHAwIiIOHjwYd911V6xfvz4ajUZs27atlvWvXr06Xn755Wg2m7F06dK4++674+jRo7Wv/cEHH4z3338/Go1GnD17Nqanp+PChQu1r5uyyPH657gMl+HUlwyX4XWtO0KOUwY5LsfrWrcMpwQyXIbXte4IOd5OTybiTp8+HatXr752f3BwME6dOtWLoSyK1157LR544IFr90up/5577omNGzdGRMTRo0fj448/jr6+viJqX7p0abz99tsxMjISDz/8cDGvOeUo7ZwuMcdluAynvko7p2V4WRkeIcepv9LOaTleVo7LcOqutHNahpeV4RFyPKcnE3EzMzPR19d37X5VVTfcr7vS6j98+HDs3LkzXnrppVi/fn0xtT///POxf//+OHnyZBw9erSYuilDaTn2YyXVL8NlOPVTUoallFR/qRkeIcept5JyLKWk+kvNcRlOnZWUYSkl1V9qhkfI8ZSeTMStXbs2zpw5c+3+mTNnrv15aglKqv+LL76IZ555Jl588cV44okniqj9yJEjcejQoYiIuP3222NoaCgOHDhQ+7opSwnv5XZKqV+Gy3DqqYT3cjul1F9ihkfIccpQyvs5p5T6S8xxGU4JSngvt1NK/SVmeIQcb6cnE3GPPPJI7N+/P86dOxfj4+Px6aefxqOPPtqLofTE/fffH19//XV88803MT09HR999FEt6z958mQ8++yzsXv37hgZGYmIMmo/fvx4vPLKK9FqtaLVasVnn30W27dvr33dlEWO1z/LZLgMp75keP2zrNQMj5DjlEGO1z/PSs1xGU4JZHj9s6zUDI+Q4+00etHpmjVr4oUXXogdO3bE5ORkPPnkk3Hffff1Yig9cdttt8WuXbviueeei4mJidi0aVNs2bKl18NacO+++25MTEzErl27rrVt37699rVv2rQpDh48GI8//ngsWbIkhoaGYmRkJFatWlXruimLHK9/jstwGU59yXAZXte6I+Q4ZZDjcryudctwSiDDZXhd646Q4+30VVVV9XoQAAAAAAAAUDc9+WlKAAAAAAAAqDsTcQAAAAAAANAFJuIAAAAAAACgC0zEAQAAAAAAQBeYiAMAAAAAAIAuMBEHAAAAAAAAXWAiDgAAAAAAALrARBwAAAAAAAB0wf8C0V8IZnRA+44AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 2304x3888 with 30 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"lambdas = np.logspace(-4, 5, 10)\n",
"\n",
"train_errors = {\n",
" \"ols_sk\": np.zeros(lambdas.size),\n",
" \"ridge_sk\": np.zeros(lambdas.size),\n",
" \"lasso_sk\": np.zeros(lambdas.size)\n",
"}\n",
"\n",
"test_errors = {\n",
" \"ols_sk\": np.zeros(lambdas.size),\n",
" \"ridge_sk\": np.zeros(lambdas.size),\n",
" \"lasso_sk\": np.zeros(lambdas.size)\n",
"}\n",
"\n",
"plot_counter = 1\n",
"\n",
"fig = plt.figure(figsize=(32, 54))\n",
"\n",
"for i, _lambda in enumerate(tqdm.tqdm(lambdas)):\n",
" for key, method in zip(\n",
" [\"ols_sk\", \"ridge_sk\", \"lasso_sk\"],\n",
" [skl.LinearRegression(), skl.Ridge(alpha=_lambda), skl.Lasso(alpha=_lambda)]\n",
" ):\n",
" method = method.fit(X_train, y_train)\n",
"\n",
" train_errors[key][i] = method.score(X_train, y_train)\n",
" test_errors[key][i] = method.score(X_test, y_test)\n",
"\n",
" omega = method.coef_.reshape(L, L)\n",
"\n",
" plt.subplot(10, 5, plot_counter)\n",
" plt.imshow(omega, **cmap_args)\n",
" plt.title(r\"%s, $\\lambda = %.4f$\" % (key, _lambda))\n",
" plot_counter += 1\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that LASSO reaches a good solution for low\n",
"values of $\\lambda$, but will \"wither\" when we increase $\\lambda$ too\n",
"much. Ridge is more stable over a larger range of values for\n",
"$\\lambda$, but eventually also fades away.\n",
"\n",
"## Finding the optimal value of $\\lambda$\n",
"\n",
"To determine which value of $\\lambda$ is best we plot the accuracy of\n",
"the models when predicting the training and the testing set. We expect\n",
"the accuracy of the training set to be quite good, but if the accuracy\n",
"of the testing set is much lower this tells us that we might be\n",
"subject to an overfit model. The ideal scenario is an accuracy on the\n",
"testing set that is close to the accuracy of the training set."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x1008 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 14))\n",
"\n",
"colors = {\n",
" \"ols_sk\": \"r\",\n",
" \"ridge_sk\": \"y\",\n",
" \"lasso_sk\": \"c\"\n",
"}\n",
"\n",
"for key in train_errors:\n",
" plt.semilogx(\n",
" lambdas,\n",
" train_errors[key],\n",
" colors[key],\n",
" label=\"Train {0}\".format(key),\n",
" linewidth=4.0\n",
" )\n",
"\n",
"for key in test_errors:\n",
" plt.semilogx(\n",
" lambdas,\n",
" test_errors[key],\n",
" colors[key] + \"--\",\n",
" label=\"Test {0}\".format(key),\n",
" linewidth=4.0\n",
" )\n",
"plt.legend(loc=\"best\", fontsize=18)\n",
"plt.xlabel(r\"$\\lambda$\", fontsize=18)\n",
"plt.ylabel(r\"$R^2$\", fontsize=18)\n",
"plt.tick_params(labelsize=18)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From the above figure we can see that LASSO with $\\lambda = 10^{-2}$\n",
"achieves a very good accuracy on the test set. This by far surpasses the\n",
"other models for all values of $\\lambda$."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}