Approximation au sens des moindres carrés discrets
Si l'on se donne une famille de points du plan \((x_i, y_i)\) pour \(i = 0, \dots, n\), les \(x_i\) étant distincts, alors il existe un unique polynôme \(p(x)\) de degré inférieur ou égal à \(n\) tel que :
\[ p(x_i) = y_i, \quad \text{pour tout } i = 0, \dots, n \]
Ce polynôme est appelé le polynôme d’interpolation des points \((x_i, y_i)\).
Si le nombre de points est trop grand, ou si les ordonnées sont bruitées, on préfère en général chercher une fonction \(g(x)\) appartenant à une certaine classe (polynômes, fractions rationnelles, fonctions trigonométriques, exponentielles, etc.) qui approche au mieux les points \((x_i, y_i)\). On parle alors d'approximation, de lissage ou de régression.
Formulation du problème
Soit une famille de fonctions linéairement indépendantes :
\[ g_0(x),\ g_1(x),\ \dots,\ g_m(x), \quad \text{avec } m \leq n \]
On cherche une combinaison linéaire :
\[ g(x) = \sum_{i=0}^{m} a_i g_i(x) \]
On définit l’erreur quadratique :
\[ E(a) = \sum_{i=0}^{n} \left( g(x_i) - y_i \right)^2 = \sum_{i=0}^{n} \left( \sum_{j=0}^{m} a_j g_j(x_i) - y_i \right)^2 \]
Le problème d’approximation se formule ainsi :
Trouver \(a \in \mathbb{R}^{m+1}\) tel que \(E(a)\) soit minimal.
Cas de la régression polynomiale
On choisit :
\[ g_i(x) = x^i, \quad i = 0, \dots, m \quad \Rightarrow \quad g(x) = a_0 + a_1 x + \dots + a_m x^m \]
La fonction à minimiser devient :
\[ E(a) = \sum_{i=0}^{n} \left( a_0 + a_1 x_i + \dots + a_m x_i^m - y_i \right)^2 \]
On calcule les dérivées partielles :
\[ \frac{\partial E}{\partial a_k} = 2 \sum_{i=0}^{n} \left( \sum_{j=0}^{m} a_j x_i^j - y_i \right) x_i^k, \quad \text{pour } k = 0, \dots, m \]
Ce qui donne un système linéaire : \(A \cdot a = b\), où :
- \(A = \left( \sum_{i=0}^{n} x_i^{j+k} \right)_{0 \le j,k \le m}\)
- \(b = \left( \sum_{i=0}^{n} y_i x_i^j \right)_{0 \le j \le m}\)
Régression linéaire (cas \(m=1\))
Le système devient :
\[ \begin{cases} (n+1) a_0 + \sum x_i \cdot a_1 = \sum y_i \\ \sum x_i \cdot a_0 + \sum x_i^2 \cdot a_1 = \sum x_i y_i \end{cases} \]
La solution est :
\[ a_1 = \frac{(n+1) \sum x_i y_i - \sum x_i \sum y_i}{(n+1) \sum x_i^2 - \left( \sum x_i \right)^2} \quad \text{et} \quad a_0 = \frac{\sum y_i \cdot \sum x_i^2 - \sum x_i \cdot \sum x_i y_i}{(n+1) \sum x_i^2 - \left( \sum x_i \right)^2} \]
Exemple 20
Déterminons la droite des moindres carrés qui approxime les données suivantes :
| \(x_i\) | 0.5 | 0.5 | 1 | 1.5 | 2 | 2.5 | 3 | 3.5 | 4 | 4 | 4.5 | 4.75 | 5.5 | 6 | 6 | 6.5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| \(y_i\) | 0.5 | 1 | 1 | 1.25 | 1 | 1 | 1.5 | 1.5 | 1.5 | 2 | 2 | 1.75 | 2 | 2 | 2.25 | 2.25 |
On calcule :
- \(n+1 = 16\)
- \(\sum x_i = 55.75\)
- \(\sum y_i = 24.75\)
- \(\sum x_i^2 = 254.5625\)
- \(\sum x_i y_i = 101.8125\)
Donc :
\[ a_0 = \frac{24.75 \cdot 254.5625 - 55.75 \cdot 101.8125}{16 \cdot 254.5625 - (55.75)^2} = 0.64706 \]
\[ a_1 = \frac{16 \cdot 101.8125 - 55.75 \cdot 24.75}{16 \cdot 254.5625 - (55.75)^2} = 0.25824 \]
La droite des moindres carrés est donc :
\[ p(x) = 0.25824\,x + 0.64706 \]