Moindres carrés non linéaires - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Minimums multiples

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(x_i, \boldsymbol \beta)=\frac{\alpha}{1+\left(\frac{\gamma-x_i}{\beta} \right)^2}

Il y a alors deux solution pour le paramètre β: \hat \beta ainsi que -\hat \beta 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 \beta\, . Dans ce cas, \hat \beta +2n \pi 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(x_i, \beta)=\left(1-3\beta +\beta^3 \right)x_i

il y a un minimum local en \beta\, = 1 et un minimum global en \hat \beta\, = -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.

Astuces calculatoires

Choix du vecteur d'incrément

Dans le procédé itératif

\boldsymbol{\beta}^{k+1} = \boldsymbol{\beta}^k +\Delta \boldsymbol{\beta}.

il est impératif de se prémunir contre la divergence. Plusieurs astuces concernant le choix de \Delta \boldsymbol{\beta} 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 \boldsymbol\beta^{k+1}=\boldsymbol\beta^k+f\Delta \boldsymbol\beta . 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 \Delta \boldsymbol{\beta} . Pour cela, les équations normales sont transformées en \mathbf{\left( J^TWJ +\lambda I \right)\Delta \boldsymbol \beta=\left( J^TW \right) \Delta 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

\mathbf{r=\Delta y-J\Delta\boldsymbol\beta}

La jacobienne fait l'objet d'une décomposition orthogonale, comme par exemple la Décomposition QR:

\mathbf{J=QR}

Q est une matrice orthogonale m \times m et où R est une matrice m \times n , partitionnée en un bloc \mathbf\R_n , de dimension n \times n , et en un bloc nul, de dimension m-n \times n zero block. De plus, \mathbf\R_n est triangulaire supérieure.

\mathbf{R}= \begin{bmatrix} \mathbf{R}_n \\ \mathbf{0}\end{bmatrix}

Le vecteur de résidu est pré-multiplié par \mathbf Q^T .

\mathbf{Q^Tr=Q^T \Delta y -R \Delta\boldsymbol\beta}= \begin{bmatrix} \mathbf{\left(Q^T \Delta y -R \Delta\boldsymbol\beta \right)}_n \\ \mathbf{\left(Q^T \Delta y  \right)}_{m-n}\end{bmatrix}

La somme des carrés reste inchangée puisque S=\mathbf{r^T Q Q^Tr = r^Tr} . Le minimum de S est atteint lorsque le bloc supérieur est nul. Par conséquent, le vecteur d'incrément recherché \Delta\boldsymbol\beta se trouve en résolvant

\mathbf{R_n \Delta\boldsymbol\beta =\left(Q^T \Delta y \right)_n}

La résolution est facile d'accès car la matrice R a été prise triangulaire supérieure.

Décomposition en valeurs singulières

Une variante de la méthode précédente fait intervenir la Décomposition en valeurs singulières, dans laquelle R est diagonalisée:

\mathbf{J=U \boldsymbol\Sigma V^T}

\mathbf U est orthogonal, \boldsymbol\Sigma est une matrice diagonale de valeurs singulières et \mathbf V^T est la matrice orthogonale des vecteurs propres de \mathbf\ {R_n} . Dans cette configuration, l'incrément est donné par

\mathbf{\boldsymbol\Delta\beta=V \boldsymbol\Sigma^{-1}\left( U^T  \boldsymbol\Delta y \right)}_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

\left|\frac{S^k-S^{k+1}}{S^k}\right|<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

\left|\frac{\Delta \beta_j}{\beta_j}\right|<0,001, \, j=1,n

Là encore, la valeur numérique est arbitraire.

Page générée en 0.118 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise