Les moindres carrés non linéaires est une forme des moindres carrés spécialisée dans l'estimation d'un modèle non linéaire en n paramètres à partir de m observations (m > n). Une façon d'estimer ce genre de problème est de considérer des itérations successives se basant sur une version linéarisée du modèle initial.
La théorie
Considérons un jeu de m couples d'observations, (x1,y1),(x2,y2),…,(xm,ym), et une fonction de régression du type y=f(x,β),. Cette fonction dépend des explicativesxmais aussi du vecteur des n paramètres β=(β1,β2,…,βn), avec m≥n. On souhaite trouver le vecteur de paramètres β qui ajuste au mieux les données, au sens des moindres carrés:
S=i=1∑mri2
est minimisée en β, où les résidus ri sont donnés par
ri=yi−f(xi,β)
pour i=1,2,…,m.
Le minimum de la somme des carrés des résidus S est atteint lorsque le Gradient s'annule (condition nécessaire). Puisque le problème est formulé avec n paramètres, il y a donc néquations normales:
∂βj∂S=2i∑ri∂βj∂ri=0(j=1,…,n).
Dans un système non linéaire, les dérivées ∂βj∂ri dépendent aussi bien des variables explicatives que des paramètres: il faut donc renoncer à résoudre les équations normales aussi simplement que dans le cas linéaire. On a alors recours à une résolution numérique, à l'aide d'un procédé itératif
βk+1=βk+Δβ.
qui fournit des approximations successives βk de plus en plus proches de la vraie valeur (inconnue) des paramètres, β0.
À chaque itération, le modèle initial est linéarisé par un développement de Taylor autour de βk comme suit:
La Matrice jacobienne, J, dépend des données et de l'approximation en cours, aussi change-t-elle d'une itération à l'autre. Ainsi, en terme du modèle linéarisé, ∂βj∂ri=−Jij et les résidus sont donnés par
ri=Δyi−j=1∑nJijΔβj;Δyi=yi−f(xi,βk).
Les équations normales deviennent
−2i=1∑mJij(Δyi−s=1∑nJisΔβs)=0
ou encore
i=1∑ms=1∑nJijJisΔβs=i=1∑mJijΔyi(j=1,n).
Matriciellement, on en arrive à
(JTJ)Δβ=JTΔy.
La linéarisation permet donc d'écrire:
βk+1=βk+(JTJ)−1JTΔy.
Il faut remarquer que l'ensemble du terme de droite dépend seulement de l'itération en cours, à savoir βk, et permet donc de trouver la prochaine itération βk+1.
On peut aisément généraliser l'approche précédente en considérant une somme pondérée des carrés des résidus
S=i=1∑mWiiri2.
Idéalement, chaque élément de la matrice diagonale de pondération W devrait être égal à l'inverse de la variance de l'observation Les équations normales deviennent alors
(JTWJ)Δβ=JTWΔy
ce qui procure la base de l'algorithme d'optimisation de Gauss-Newton.
Différences entre les moindres carrés linéaires et non-linéaires
Il y a de nombreuses divergences entre les moindres carrés linéaires (MCL) et non-linéaires (MCN):
Les MCN est un procédé itératif, qui nécessite donc un point de départ et des critères d'arrêt. Les MCL sont directs (algèbre linéaire);
Les MCN nécessitent de calculer la matrice jacobienne (dérivées premières). Une expression analytique peut être compliquée à obtenir: si c'est le cas, une différentiation numérique s'impose;
La divergence est un problème courant des MCN: en effet, il n'est pas rare de voir augmenter la fonction objectif (somme des carrés des résidus) d'une itération à l'autre. Cela peut être dû au manque de précision de l'approximation linéaire par le développement de Taylor;
Pour les MCL, la solution est unique mais pas pour les MCN: plusieurs minima (locaux) peuvent exister.
Interprétation géométrique
Dans le cas des moindres carrés linéaires, la fonction objectif S est une fonction quadratique des paramètres
S=i∑Wii(yi−j∑Xijβj)2
Lorsqu'il y a un seul paramètre à estimer β, la fonction S est une parabole en β. Pour deux paramètres ou plus, le contour de S est constitué d'ellipses concentriques, à condition que la matrice XTWX est définie positive. Le minimum, atteint pour la valeur optimale des paramètres, est le centre de ces ellipses concentriques.
Dans le cas non linéaire, le contour en ellipses concentriques n'est vrai qu'au voisinage du minimum, puisque dans ce cas l'approximation linéaire de Taylor s'avère être une bonne approximation de la fonction objectif.
S≈i∑Wii(yi−j∑Jijβj)2
Plus les paramètres s'éloignent de leur valeur optimale, plus le contour dévie de sa forme ellipsoïdale. Ceci signifie qu'il est essentiel de choisir l'approximation initiale β0 du procédé itératif proche des valeurs optimales, qui sont par définition inconnues.
Astuces calculatoires
Choix du vecteur d'incrément
Dans le procédé itératif
βk+1=βk+Δβ.
il est impératif de se prémunir contre la divergence. Plusieurs astuces concernant le choix de Δβ peuvent être considérées:
changer sa norme sans pour autant changer sa direction. On peut alors introduire une proportion f (entre 0 et 1) et amender le procédé itératif en βk+1=βk+fΔβ. Par exemple, on peut diviser par deux la valeur de f jusqu'à observer une réelle diminution de la fonction objectif. On peut aussi rechercher la valeur de f par Recherche linéaire: pour une grille de valeurs de f, on cherche la valeur de f provoquant la diminution la plus importante de S. Mais une telle méthode est couteuse en calculs, car il faut à chaque fois re-calculer la fonction objectif;
si la direction de l'incrément est trop éloigné de sa direction "optimale" et que la méthode précédente échoue, il faudra peut-être changer légèrement la direction du vecteur d'incrément Δβ. Pour cela, les équations normales sont transformées en (JTWJ+λI)Δβ=(JTW)Δy, où λ est le paramètre de Marquardt et I la matrice identité. On consultera avec profit la page consacrée à la méthode de Levenberg-Marquardt.
Décompositions
QR
Le minimum de la somme des carrés des résidus peut se trouver sans former les équations normales. Les résidus du modèle linéarisé s'écrivent
où Q est une matrice orthogonalem×m et où R est une matrice m×n, partitionnée en un bloc Rn, de dimensionn×n, et en un bloc nul, de dimension m−n×nzero block. De plus, Rn est triangulaire supérieure.
R=[Rn0]
Le vecteur de résidu est pré-multiplié par QT.
QTr=QTΔy−RΔβ=[(QTΔy−RΔβ)n(QTΔy)m−n]
La somme des carrés reste inchangée puisque S=rTQQTr=rTr. Le minimum de S est atteint lorsque le bloc supérieur est nul. Par conséquent, le vecteur d'incrément recherché Δβ se trouve en résolvant
RnΔβ=(QTΔy)n
La résolution est facile d'accès car la matrice R a été prise triangulaire supérieure.
où U est orthogonal, Σ est une matrice diagonale de valeurs singulières et VT est la matrice orthogonale des vecteurs propres de Rn. Dans cette configuration, l'incrément est donné par
Δβ=VΣ−1(UTΔy)n
La relative simplicité de cette expression est très utile dans l'analyse théorique des moindres carrés. Cette méthode est largement détaillée dans Lawson et Hanson. .
Critères de convergence
Le critère de convergence le plus immédiat est que la somme des carrés ne doit pas décroître d'une itération à l'autre. Ce critère est souvent difficile à implémenter. Aussi, on préfère le critère de convergence suivant
SkSk−Sk+1<0,0001
Évidemment, la valeur 0,0001 est arbitraire et doit être changée. En particulier, il faudra augmenter cette valeur lorsque les erreurs expérimentales sont importantes. Un critère alternatif est
On peut trouver plusieurs minimums de S dans certaines circonstances:
Un paramètre intervenant à une certaine puissance. Par exemple, pour ajuster des données à une courbe de Lorentz:
f(xi,β)=1+(βγ−xi)2α
Il y a alors deux solution pour le paramètre β: β^ ainsi que −β^ donnent la même valeur optimale de la fonction critère;
Deux paramètres peuvent s'interchanger sans changer le critère. Par exemple, cela survient lorsqu'on rencontre le produit de deux paramètres: ainsi αβ donnera la même chose que βα;
Un paramètre intervient dans une fonction périodique, comme par exemple dans sinβ. Dans ce cas, β^+2nπ donne la même valeur critère.
Tous les minimums multiples ne donnent pas la même valeur de la fonction objectif. Un autre problème concerne les minimums locaux. Par exemple, dans le modèle
f(xi,β)=(1−3β+β3)xi
il y a un minimum local en β = 1 et un minimum global en β^ = -3.
Pour être certain d'avoir obtenu un minimum global, il est souhaitable de recommencer la procédure de minimisation en changeant le point de départ. Quand on obtient le même résultat quel que soit le point de départ, on peut alors penser obtenir un minimum global.
L'existence de minimums multiples a une conséquence importante: la fonction objectif admet une valeur maximum quelque part entre les deux minimums. Les équations normales en ce maximum fait intervenir des matrices non définies positives. Une telle situation est à proscrire, en particulier comme initialisation du procédé itératif. Par exemple, pour le cas de l'ajustement du modèle de Lorentz, le cas β = 0 est à éviter.
Autres méthodes
Linéarisation
Un modèle non linéaire peut parfois se transformer en modèle linéaire. Par exemple, lorsque le modèle est une simple fonction exponentielle,
f(xi,β)=αeβxi
on peut obtenir un modèle linéaire par transformation logarithmique.
logf(xi,β)=logα+βxi
La somme des carrés devient
S=i∑(logyi−logα−βxi)2
Toutefois, si on n'a aucun renseignement sur la structure des aléas, cette transformation peut être problématique: de toute évidence, les erreurs expérimentales sur y ne sont pas les mêmes que sur log y. Estimer le modèle initial et celui linéarisé donnera des estimations différentes et des variances estimées. En pratique, le modèle exponentiel s'estime dans une procédure à part.
Quelques ajustements
On peut considérer quelques ajustements
Calcul de la matrice jacobienne par approximationnumérique. Dans certains modèles, obtenir des dérivées analytiques peut s'avérer délicat. On doit avoir recours à une approximation numérique de la jacobienne; par exemple, l'approximation de son entrée (i,j) est:
Ji,j=∂βj∂f(xi,β)≈δβjδf(xi,β)
Cette approximation s'obtient par le calcul de f(xi,β) pour βj et βj+δβj. L'incrément,δβj, doit être choisi ni trop grand ni trop petit (afin d'éviter les erreurs d'arrondi);
L'inclusion des dérivées secondes dans le développement de Taylor. On obtient la méthode classique de Newton.
La matrice H est la Matrice hessienne. Bien que présentant de bien meilleures propriétés de convergence près de l'optimum, ce modèle se comporte mal quand les paramètres sont loin de leur valeur optimale. Le calcul de la Hessienne ajoute à la complexité de l'algorithme. Cette méthode n'est pas utilisée en général;
On peut remplacer l'algorithme de Newton par un algorithme de pseudo-Newton, où on calcule numériquement la hessienne par approximations successives. C'est l'algorithme de Davidon-Fletcher-Powell (DFP);