Régression

La régression consiste à ajuster un modèle M pour représenter la relation entre des variables. Le critère usuel pour trouver le meilleur ajustement est de minimier la somme des carrées des écarts entre les données et le modèle.

Dans le cas linéaire, on parle alors de "régression linéaire" et si on est dans le plan (x,y), la solution du problème de minimisation est donné par des formules explicites. Dans les autres cas, plusieurs variables ou non-linéaires, il faut utiliser un algorithme de résolution numérique.

Régression linéaire dans le plan (x,y)

Si on dispose d'une liste de couples L, la pente m et l'ordonnée à l'origine b du modèle linéaire minimisant la somme des carrées des écarts entre les données et le modèle sont données par les formules $$m = {{cov(x,y)}\over{var(x)}}$$ $$b = \bar{y} - m\bar{x}$$

Exemples de régressions linéaires dans le plan (x,y)

Modèle linéaire avec 2 points

Comme le modèle a seulement 2 paramètres et qu'on a exactement 2 données, ça revient à calculer la droite entre les 2 points. La pente est alors m=(y2-y1)/(x2-x1) et l'ordonnée à l'origine s'obtient a partir de n'importe quel point de la droite. Le modèle reproduit exactement les données (coefficient de corrélation est 1.0) (voir le résultat avec les points (1,2), (5,7) sur Wolfram Alpha).

Modèle linéaire avec 3 points

Considérons les 3 couples, donc x prends les valeurs 1, 5, 3 et y les valeurs 2, 7, 3. Puisqu'on a 3 points non-colinéaires, il n'y a pas de droite passant par les 3 points. On va donc trouver celle qui "fit" le mieux au sens des moindres carrées. Dans ce cas, l'équation de la droite de régression est y=mx+b, avec:

On a:

C'est-à-dire y = 1.25x + 0.25 , ce qui correspond bien au résultat de Wolframalpha.

Le coefficient de corrélation est cor(x,y) = cov(x,y)/(s(x)s(y)) = 3.3333/(sqrt(2.6666)*sqrt(4.6666)) = 0.945. Ce coefficient étant proche de 1, on en déduit que le modèle linéaire est représentatif de la relation entre x et y.

Modèle linéaire avec 5 données

Reprenons l'exemple des deux séries temporelles sur la même suite de temps 1, 2, 3, 4, 5:

On sait qu'un modèle linéaire représente bien la relation entre les variables car r=0.9907. On a:

Le modèle est donc la droite y=1.1667x-1.6 (voir le graphe sur Wolfram Alpha). On peut l'utiliser pour interpoler au sein du nuage de points, ou pour extrapoler en dehors du nuage. Cependant, l'erreur d'approximation croît comme le carré de la distance avec la coordonnée x du ploint le plus proche. Ceci implique que l'erreur croît rapidement lorsqu'on extrapole, car on s'éloigne du nuage de points.

Voici quelques exemples de valeurs calculées avec le modèle:

Exemples de modèle non-linéaire dans le plan (x,y)

Modèle quadratique avec 3 points

Comme le modèle a exactement 3 paramètres et qu'on a exactement 3 données, ça revient à calculer le polynôme de degré 2 (quadratique) entre les 2 points. Le modèle reproduit exactement les données (coefficient de détermination est 1.0), car on a le même de données que de paramètres: exemple.

On observe qu'avec les 3 mêmes données, le modèle quadratique est exact alors que le modèle linéaire est imparfait.

Modèle quadratique avec plus de 3 points

Ça revient à calculer la polynôme de régression de degré 2 passant entre les données. Le modèle ne reproduit pas exactement les données (coefficient de détermination est <1.0), car on a plus de données que de paramètres, mais c'est le meilleur modèle linéaire au sens de la somme du carré des erreurs: exemple.