Search
Apprentissage statistique (Introduction)

Dans ce chapitre nous allons parler d'apprentissage statistique ( Statistical learning SL ), de certains modèles du SL, ainsi que de certaines difficultés de ces modèles. Pour mieux comprendre ce concept de base, nous reprenons l'exemple dans la section (2.1) du livre (James, Witten, Hastie, & Tibshirani, 2013) où nous analysons les données Advertising qui représentent les données sur la publicité, ça comprend les ventes de ce produit dans 200 marchés différents, ainsi que les budgets publicitaires pour le produit dans chacun de ces marchés pour trois médias différents : la télévision, la radio et les journaux.

Le but de cet exemple est de trouver façon d'améliorer les ventes en trouvant la meilleure combinaison du budget dans chacun des médias. Bien évidemment, il n'est pas possible d'augmenter directement les ventes du produit, par exemple en augmentant uniquement le prix des produits, car cela ne donne aucune vente. En revanche, on peut contrôler les dépenses publicitaires dans chacun des trois médias.

Si nous déterminons qu'il y a une association entre la publicité et les ventes, nous pouvons ajuster les budgets publicitaires, ce qui augmentera indirectement les ventes. En d'autres termes, notre objectif est de développer un modèle précis qui peut être utilisé pour prédire les ventes sur la base des trois budgets médias.

Tout d'abord, importons quelques librairies Python pour faire quelques exemples:

import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

Jetons d'abord un coup d'oeil sur ces données;

advertising = pd.read_csv('https://raw.githubusercontent.com/nmeraihi/data/master/islr/Advertising.csv', usecols=[1,2,3,4])
advertising.head()

Supposons qu'on ajuste une régression linéaire pour chacune des variables (télévision, radio et journaux).

sns.regplot(advertising.TV, advertising.Sales, order=1, ci=None, scatter_kws={'color':'r', 's':9})
plt.ylim(ymin=0);
sns.regplot(advertising.Radio, advertising.Sales, order=1, ci=None, scatter_kws={'color':'r', 's':9})
plt.ylim(ymin=0);
sns.regplot(advertising.Newspaper, advertising.Sales, order=1, ci=None, scatter_kws={'color':'r', 's':9})
plt.ylim(ymin=0);

Peut-on prédire les ventes en utilisant ces trois éléments simultanément? autrement dit, peut-on faire mieux en utilisant un modèle qui aurait la forme suivante;

ventes$\approx f$(télévision, radio et journaux)

On voudrait donc comprendre comment ces trois variables explicatives fonctionnent elles ensemble.

Nous réécrivons notre fonction avec sous la forme mathématique. Les ventes est une la réponse la variable réponse à prédire $Y$. TV est une variable explicative (ou une entrée, ou un prédicteur, ou caractéristique) que nous appelons $\mathbf{X}1$. De même, nous appelons la radio $\mathbf{X}2$, et journaux $\mathbf{X}3$.

Ainsi, le vecteur de variables explicatives devient:

\begin{equation*} \mathbf{X} = \begin{pmatrix} \mathbf{X}1 \\ \mathbf{X}2 \\ \mathbf{X}3 \end{pmatrix} \end{equation*}

Nous supposons qu'il existe une certaine relation entre $Y$ et $X = (\mathbf{X}1,\mathbf{X}2,\mathbf{X}3)$, qui peut s'écrire sous plus générale:

$$ Y=f(\mathbf{X})+\epsilon$$

Ici, $f$ est une fonction de ces trois composantes du vecteur $X = (\mathbf{X}1,\mathbf{X}2,\mathbf{X}3)$. Elle nous sert à faire des prédictions ou à faire de l'inférence.

Prédiction versus l'inférence

La prédiction

Dans le premier cas, nous nous obtenons des prédictions $\hat{Y}$ en estimant $\hat{f}$.

$$ \hat{Y}=\hat{f}(\mathbf{X})+\epsilon \label{predictionY}\tag{1} $$

Remarquons que le terme d'erreur $\epsilon$, en moyenne il tend vers $0$.

L'inférence

Pour ce qui de l'inférence, nous sommes intéressés à comprendre la façon dont $Y$ est affecté quand $X = (\mathbf{X}1,\mathbf{X}2,\mathbf{X}3)$ changent ou varient. Dans cette situation, nous souhaitons estimer $f$, mais notre but n'est pas nécessairement de faire des prédictions de $Y$. Nous voulons plutôt comprendre la relation entre $X$ et $Y$, ou plus précisément, comprendre comment $Y$ change en fonction de $X$.

Les problèmes liés à l'inférence sont souvent liés aux questions suivantes :

  • Quels sont les prédicteurs associés à la réponse ?
  • Quelle est la relation entre la réponse et chaque prédicteur ?
  • Cette relation peut-elle être résumée par une équation linéaire, ou est-elle plus compliquée ?

Exactitude versus interprétabilité

La nécessité de disposer d'outils permettant de produire à la fois des prédictions et des inférences statistiques conduit parfois à un conflit entre précisions (ou exactitude) du modèle (faire des prédictions précises), L'interprétabilité du modèle quant à elle, consiste à être capable de comprendre l'impact des variables explicatives sur la variable prédite. Des modèles très complexes peuvent parfois être très précis, mais difficiles à interpréter.

image.png

Y a-t-il un $f(X)$ idéal ?

Les modèles statistiques supposent une relation entre la variable réponse et les variables explicatives par une certaine fonction $f$. L'apprentissage statistique peut être considéré comme un ensemble de méthodes permettant d'estimer la fonction $f$ à partir de données. Notre objectif est d'appliquer une méthode d'apprentissage statistique aux données de formation afin d'estimer la fonction inconnue f. En d'autres termes, nous voulons trouver une fonction $\hat{f}$ telle que $Y \approx \hat{f}(X)$ pour toute observation $(X, Y)$. De façon générale, la plupart des méthodes d'apprentissage statistique pour cette tâche peuvent être caractérisées comme étant paramétriques ou non paramétriques. Nous allons maintenant discuter brièvement de ces deux types d'approches.

Méthodes paramétriques

on suppose une forme fonctionnelle simple pour f et on estime les paramètres du modèle, par exemple $f(X_{1i}, \dots, X_{pi})=\sum_{j=1}^p \beta_j X_{ij}$.

Les modèles paramétriques conviennent bien lorsque l'on souhaite obtenir l'interprétabilité du modèle. On suppose une forme fonctionnelle simple pour $f$ qui relie les variables explicatives $X_i$ et $Y$. Toutefois, si l'on fait une hypothèse erronée sur la forme fonctionnelle, le modèle devient alors moins précis.

Méthodes non paramétriques:

Nous laissons l'algorithme d'apprentissage "apprendre" la fonction $f$ sans imposer une quelconque forme de $f$. Les modèles non paramétriques offrent plus de souplesse et donnent souvent des prédictions plus précis. Toutefois, l'interprétabilité est parfois quasi absente; le grand nombre de paramètres du modèle requis pour une souplesse suffisante pour l'apprentissage $f$ rend le modèle trop compliqué pour être compris.