Régression non linéaire
# 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 $(x_i,$ $y_i)_{1≤i≤n}.$ Les variables $x_i$ et $y_i$ peuvent être des scalaires ou des vecteurs.

Par « ajuster », il faut comprendre : déterminer les paramètres de la loi, $(a_1,$ …, $a_m),$ afin de minimiser S = $||r_i||,$ avec :

    $r_i$ = $y_i$ - $ƒ_{a1,…,am}(x_i).$
    ||…|| 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 $(x_i,$ $y_i)_{1≤i≤n},$ S est une fonction des paramètres $(a_j)_{1≤j≤m}.$ Si S est minimum, alors

    $\forall j,{\frac {\partial \mathrm {S} }{\partial a_{j}}}=0$

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$ — $|r_i|$ — 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 :

* algorithme de Gauss-Newton ;
* algorithme de Levenberg-Marquardt ;
* algorithme du gradient.
