Régression non linéaire
Une régression non linéaire consiste à ajuster un modèle, en général non linéaire,
- y = ƒa1, …, am(x)
pour un ensemble de valeurs (xi, yi)1 ≤ i ≤ n. Les variables xi et yi peuvent être des scalaires ou des vecteurs.
Par « ajuster », il faut comprendre : déterminer les paramètres de la loi, (a1, …, am), afin de minimiser S = ||ri||, avec :
- ri = yi - ƒa1, …, am(xi).
- ||…|| est une norme.
On utilise en général la norme euclidienne, ou norme ℓ2 ; on parle alors de méthode des moindres carrés.
- Exemple de régression non linéaire avec barres d'incertitudes.
- Décomposition en deux gaussiennes en utilisant six paramètres.
Démarche générale
La base de la démarche est identique à la régression linéaire : pour un jeu de données (xi, yi)1 ≤ i ≤ n, S est une fonction des paramètres (aj)1 ≤ j ≤ m. Si S est minimum, alors
si ces dérivées existent. Cela fournit un système de n équations, en général non linéaires, qu'il n'est pas possible de résoudre de manière analytique.
Notons que l'on peut effectuer une régression non linéaire sur un modèle linéaire. Par exemple, on sait que la norme ℓ1 — |ri| — est moins sensible aux points aberrants que la norme ℓ2. Mais le système d'équations que l'on obtient n'est pas linéaire.
Algorithmes de résolution
On utilise des algorithmes itératifs :