Concept de régression aux moindres carrés

Contexte

On considère une liste de couples de données (xi,yi) dans le plan cartérien. La nature des variables importe peu: y peut être une production, un coût, la valeur d'un actif, alors que x peut être le temps, un type de produit, un type d'actif, ou autre chose. Par exemple: L = [(1,3.4), (2,4.5), (3,6.6), (4,8.2)], pourrait être un indicateur de production en fonction du trimestre (numéroté 1,2,3,4). L'image ci-dessous montre un exemple de présentation graphique d'une liste de couples, sous la forme d'un nuage de points dans le plan.

Problème

On veut établir une relation entre les valeurs de x et de y, c'est-à-dire qu'on aimerait avoir un modèle M(x), qui permetterait d'obtenir y en fonction de x. Il y a plusieurs modèles possibles: linéaire, polynômial, exponentiel, ... Et dans chacun des cas, il y a des paramètres pour ajuster le modèle aux données.

Résoudre ce problème se fait en 3 étapes:

  1. choisir une forme pour le modèle M(x)
  2. choisir les paramètres de M(x) pour l'ajuster "au mieux" aux données
  3. valider la qualité du modèle

L'animation suivante montre la superposition d'un modèle linéaire sur les données. On observe que le modèle ne passe pas par les points, mais donne un approximation de la relation.

Résolution

Si le modèle possède m paramètres pour l'ajustement sur les données, il faut au moins m données pour les fixer. En général, s'il y a exactement le même nombre de données que de paramètres, on a un modèle unique qui passe par tous les points. Cependant, on a généralement beaucoup plus de données que de paramètres. Dans ce cas, il faut trouver les paramètres donnant le "meilleur" ajustement du modèle sur les données.

La notion de "meilleur" est généralement représentée par la fonction $$c = {1\over n} \sum_{i=1}^n (y_i-M(x_i))^2$$ C'est-à-dire, on cherche la paramétrisation du modèle M qui minimise la somme des carrés des écarts entre les données et le modèle. On dit qu'on réalise une "minimisation aux moindres carrés".

La minimisation se fait sur les paramètres de M, qui n'apparaissent pas explicitement dans la fonction c telle que présentée ci-dessus. Nous allons expliciter cette dépendance et réécrire le problème plus clairement, avant de parler de sa résolution.

Soit \(v = [ p_1, p_2, ..., p_k ]\), le vecteur des k paramètres du modèle M, alors le problème de minimisation aux moindres carrés peut s'écrire $$\min_v {1\over n} \sum_{i=1}^n (y_i-M(v,x_i))^2$$ où la minimisation se fait sur tous les vecteurs v possibles.

La résolution du problème de minimisation aux moindres carrés n'est pas facile en général. Il faut exploiter un algorithme de résolution numérique, sauf dans le cas linéaire avec une variable, où on peut expliciter la solution sous la forme d'une formule. Celle-ci fait intervenir le concept de covariance que nous devons d'abord introduire.

Avant de procéder avec la résolution de ce cas particulier, prenons soin de réécrire le problème. Le modèle linéaire est un polynôme de degré 1, c'est-à-dire une droite $$y = mx + b$$ où les deux seuls paramètres sont la pente m et l'ordonnée à l'origine b. Le problème de minimisation s'écrit alors $$\min_{m,b} {1\over n} \sum_{i=1}^n (y_i-(mx_i + b))^2$$