Systèmes rectangulaires et moindres carrés

Objectifs d'apprentissage

À la fin de cette leçon, vous serez en mesure de :

  • Classifier les systèmes linéaires selon leur nombre d'équations et d'inconnues
  • Identifier les systèmes surdéterminés et sous-déterminés
  • Appliquer la méthode des moindres carrés pour trouver une solution approximative
  • Résoudre les équations normales
  • Comprendre l'interprétation géométrique de la solution des moindres carrés

Prérequis

  • Élimination de Gauss
  • Factorisation LU
  • Transposée de matrice

Systèmes rectangulaires

Jusqu'à présent, nous avons étudié des systèmes carrés : nn équations et nn inconnues. En pratique, on rencontre souvent des systèmes rectangulaires.

Système surdéterminé (m>nm > n)

Plus d'équations que d'inconnues :

Ax=b,ARm×n,m>nA \cdot x = b, \quad A \in \mathbb{R}^{m \times n}, \quad m > n

Situations possibles :

  • Les équations sont redondantes : certaines sont des combinaisons linéaires des autres
  • Les équations sont inconsistantes : il n'existe aucune solution exacte

Système sous-déterminé (m<nm < n)

Moins d'équations que d'inconnues :

Ax=b,ARm×n,m<nA \cdot x = b, \quad A \in \mathbb{R}^{m \times n}, \quad m < n

Si le système est compatible, il existe une infinité de solutions. On cherche souvent la solution de norme minimale.


La méthode des moindres carrés

Le problème

Pour un système surdéterminé inconsistant, on ne peut pas trouver xx tel que Ax=bA \cdot x = b exactement.

On cherche plutôt le xx qui minimise l'erreur :

minxAxb22=minxi=1m(ligneixbi)2\min_x \|A \cdot x - b\|_2^2 = \min_x \sum_{i=1}^{m} (\text{ligne}_i \cdot x - b_i)^2

Ce xx minimise la somme des carrés des résidus, d'où le nom « moindres carrés ».

Interprétation géométrique

💡

Projection orthogonale

La solution des moindres carrés x0x_0 est celle pour laquelle Ax0A \cdot x_0 est la projection orthogonale de bb sur l'espace image de AA.

Le résidu r=bAx0r = b - A \cdot x_0 est orthogonal à toutes les colonnes de AA.


Les équations normales

Dérivation

Pour minimiser Axb2\|A \cdot x - b\|^2, on dérive par rapport à xx et on égale à zéro.

En développant :

Axb2=(Axb)T(Axb)=xTATAx2bTAx+bTb\|A \cdot x - b\|^2 = (A x - b)^T (A x - b) = x^T A^T A x - 2 b^T A x + b^T b

La dérivée par rapport à xx donne :

2ATAx2ATb=02 A^T A x - 2 A^T b = 0

D'où les équations normales :

ATAx0=ATbA^T A \cdot x_0 = A^T b

Solution

Si AA a des colonnes linéairement indépendantes, alors ATAA^T A est inversible et :

x0=(ATA)1ATbx_0 = (A^T A)^{-1} A^T b
⚠️

Attention

En pratique, on ne calcule jamais explicitement (ATA)1(A^T A)^{-1}. On résout plutôt le système ATAx=ATbA^T A \cdot x = A^T b par factorisation LU ou Cholesky.


Exemple : régression linéaire

Problème

On dispose de mm points de données (ti,yi)(t_i, y_i) et on cherche la droite y=a+bty = a + b \cdot t qui s'ajuste le mieux.

Formulation matricielle

Le système surdéterminé est :

(1t11t21tm)(ab)=(y1y2ym)\begin{pmatrix} 1 & t_1 \\ 1 & t_2 \\ \vdots & \vdots \\ 1 & t_m \end{pmatrix} \begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{pmatrix}

La matrice AA (appelée matrice de design) a mm lignes et 2 colonnes.

Algorithme

moindres_carres.pypython
import numpy as np

def moindres_carres(A, b):
  """
  Résout le problème des moindres carrés : min ||Ax - b||²
  en utilisant les équations normales.
  """
  # Former A^T A et A^T b
  ATA = A.T @ A
  ATb = A.T @ b

  # Résoudre le système A^T A x = A^T b
  x = np.linalg.solve(ATA, ATb)

  return x

def regression_lineaire(t, y):
  """
  Régression linéaire : trouve a et b tels que y ≈ a + b*t
  """
  m = len(t)
  # Matrice de design
  A = np.column_stack([np.ones(m), t])

  # Moindres carrés
  coeffs = moindres_carres(A, y)

  return coeffs[0], coeffs[1]  # a, b

# Exemple
t = np.array([0, 1, 2, 3, 4])
y = np.array([1.1, 2.0, 2.9, 4.1, 4.9])

a, b = regression_lineaire(t, y)
print(f"Droite : y = {a:.3f} + {b:.3f}*t")

# Calcul des résidus
residus = y - (a + b * t)
print(f"Résidus : {residus}")
print(f"Norme des résidus : {np.linalg.norm(residus):.4f}")

Qualité de l'ajustement

Résidu

Le vecteur résidu est :

r=bAx0r = b - A \cdot x_0

Sa norme r\|r\| mesure la qualité de l'ajustement. Plus elle est petite, meilleur est l'ajustement.

Coefficient de détermination R²

R2=1r2bbˉ2R^2 = 1 - \frac{\|r\|^2}{\|b - \bar{b}\|^2}

bˉ\bar{b} est la moyenne de bb.

  • R2=1R^2 = 1 : ajustement parfait
  • R2=0R^2 = 0 : pas mieux qu'une constante
  • R2R^2 proche de 1 : bon ajustement

Exemple numérique complet

Données : (0,1.1),(1,2.0),(2,2.9),(3,4.1),(4,4.9)(0, 1.1), (1, 2.0), (2, 2.9), (3, 4.1), (4, 4.9)

Matrice de design :

A=(1011121314),b=(1.12.02.94.14.9)A = \begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 1 & 2 \\ 1 & 3 \\ 1 & 4 \end{pmatrix}, \quad b = \begin{pmatrix} 1.1 \\ 2.0 \\ 2.9 \\ 4.1 \\ 4.9 \end{pmatrix}

Équations normales :

ATA=(5101030),ATb=(1539.7)A^T A = \begin{pmatrix} 5 & 10 \\ 10 & 30 \end{pmatrix}, \quad A^T b = \begin{pmatrix} 15 \\ 39.7 \end{pmatrix}

Solution :

(5101030)(ab)=(1539.7)\begin{pmatrix} 5 & 10 \\ 10 & 30 \end{pmatrix} \begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} 15 \\ 39.7 \end{pmatrix}

En résolvant : a=1.06a = 1.06, b=0.97b = 0.97

Droite ajustée : y=1.06+0.97ty = 1.06 + 0.97t


Résumé

Type de systèmeCaractéristiqueSolution
Carré (m=nm = n)Solution unique (si non singulier)Gauss, LU
Surdéterminé (m>nm > n)Généralement pas de solution exacteMoindres carrés
Sous-déterminé (m<nm < n)Infinité de solutionsNorme minimale

Équations normales : ATAx=ATbA^T A \cdot x = A^T b

Applications : régression, ajustement de courbes, traitement du signal, apprentissage automatique.


Pour aller plus loin

La prochaine leçon abordera le rang d'une matrice, les matrices singulières et le calcul des déterminants, des concepts essentiels pour comprendre quand un système a une solution unique.