Méthode des moindres carrés récursifs

 L’estimation de paramètres par la méthode précédente des moindres carrés présente un inconvénient majeur, la nécessité de calculer l’inverse d’une matrice, ce qui est long et parfois impossible sur certains calculateurs. On se propose de déterminer une méthode récursive qui présente les principaux avantages suivants : - La possibilité de traiter un plus grand nombre de données que dans le cas de la formulation directe (pas de pseudo-inverse à calculer). - Dans le cas des systèmes variant dans le temps, la forme récursive permet de “suivre” les paramètres du système. Pour avoir une forme récursive, supposons que nous possédions une estimation des paramètres θN à l’ instant N :


À l’instant N + 1, la nouvelle estimation est :


avec



L’estimé  

sécrit alors :


En utilisant le lemme d’inversion matricielle :

On obtient :

En posant

Et en développant les calcules, on obtient finalement une formule de récurrence :

Le terme

représente l’erreur d’estimation à l’aide des paramètres précédents. La nouvelle estimation est alors l’ancienne estimation corrigée par un terme proportionnel à l’erreur d’estimation précédente, que l’on peut réécrire sous la forme :

tels que 

Ces expressions représentent l’algorithme général d’estimation, et la condition de convergence est la même : e doit être un bruit blanc.

L’initialisation de l’algorithme se fait de deux façons :

-          Si on a une estimation de θ0 (obtenue par une méthode non récursive par exemple), on prend    

 avec λ petit (petite variance du bruit).

-           Si on ne connais pas de première approximation, on prend θ0 quelconque et P0 = λI avec λ grand (grande variance du bruit).

Cet algorithme ne peut être utilisé que si les paramètres du système sont constants, en effet lorsque N tend vers l’infini, PN tend vers 0, alors une variation même importante des paramètres n’influe plus sur l’estimation de θ. Notons encore que sur le plan numérique la forme

est très mal conditionnée, on lui préfère la forme :

Si les paramètres évoluent brusquement, une solution consiste à réinitialiser PN = λI avec λ grand. Si les paramètres évoluent lentement, on peut utiliser :


Cet algorithme présente cependant l’inconvénient de faire croître PN de manière exponentielle s’il n’y a plus d’excitation, d’où d’autres choix persistent :

-            à gain constant : forcer PN+1 = PN pour éviter la diminution du gain en cours de recherche des paramètres, et donner ainsi plus de poids aux acquisitions les plus récentes. Cette option convient bien à un système dont les paramètres varient.

-          à gain décroissant : PN = Cste (cas classique) qui convient `a un système à paramètres constants.

-          à trace constante : garder tr(PN) = Cste (multiplication par un facteur correctif à chaque itération) ; d’où les mêmes avantages que dans la recherche à gain constant mais avec modulation, en cours de recherche, le poids relatif de chaque paramètre.



Last modified: Sunday, 3 January 2021, 9:27 AM