Identification par la méthode des moindres carrés et par la méthode du modèle : principe et exemples. F RANÇOIS B AILLY francois.bailly@ens-cachan.fr J ULIEN F LAMANT julien.flamant@ens-cachan.fr 1 Introduction L identification consiste à chercher les paramètres de modèles mathématiques d un système, à partir de données expérimentales et de connaissances disponibles a priori. Ces paramètres peuvent avoir une signification physique, comme dans les modèles de connaissance (issues de lois de la mécanique, de électricité, etc...), ou ne pas en avoir, comme c est le cas pour les modèles de comportement. Dans les deux cas, ils doivent fournir une approximation fidèle des comportements du système physique, dans la mesure où leurs paramètres sont ajustés à partir de données expérimentales. L objectif cherché est de rendre identiques les réponses du processus et du modèle, pour des séquences d entrée données. F IGURE 1 Principe général de l identification [1] Cette leçon s adresse à un public averti des méthodes d identification dites "graphiques". Elles se basent en pratique sur la réponse du processus à un échelon (réponse indicielle), bien qu en théorie elles pourraient également se baser sur l analyse de la réponse impulsionnelle. Elles permettent de se faire une idée du gain d un système, de sa principale constante de temps et de son éventuel retard. On citera à titre de rappel : La méthode des 63% de la valeur finale pour les systèmes du premier ordre Les méthodes d identification de formes canoniques pour les systèmes oscillants du deuxième ordre Les méthodes de Broïda et de Strejc pour les systèmes à retard Elles ne font pas l objet de cette leçon qui présente deux méthodes plus sophistiquées que sont la méthode des moindres carrés et la méthode du modèle. 2 Méthode des moindres carrés Le principe général de cette méthode est de choisir le jeu de paramètres d un modèle que l on définira, de telle sorte qu il minimise la somme des carrés de la différence entre les valeurs prédites par le modèle et les valeurs observées. 1
Pour l identification des paramètres, on dispose d un vecteur de mesures : y = [y 1 y 2 y N ] T Et on veut construire un vecteur estimé, via le modèle et ses paramètres : ŷ = [ŷ 1 ŷ 2 ŷ N ] T Il convient donc d établir le modèle permettant de calculer la variable ŷ. On cherche ce modèle sous forme discrète : ŷ(k+1) = (a 1 y(k) + a 2 y(k 1) + + a n y(k n 1))+b 1 u(k)+b 2 u(k 1)+ +b m u(k m+1) (1) On suppose qu une séquence (u(1), u(2),, u(n)) a été appliquée en entrée, et que la séquence des sorties correspondantes a été observée (y(1), y(2),, y(n)). Notons d ores et déjà que la prédiction par le modèle de ŷ(k+1) est réalisée à partir des mesures antérieures, et non des prédictions antérieures. Afin de limiter les développements lourds en notations, présentons sans plus attendre deux exemples simples. Premier exemple Le premier exemple est le plus classique, celui de la régression linéaire. En effet, bien souvent, on dispose d une série de mesures y en fonction d une entrée u qui semble linéaire, et l on souhaite trouver la régression linéaire, c est à dire l équation de la droite ŷ = f(u) minimisant l erreur au sens des moindres carrés. Pour simplifier, nous chercherons l équation de la droite sous la forme ŷ = au, a étant le paramètre inconnu. Ce modèle permet alors de calculer le vecteur ŷ : Observation Commande Prévision y 0 u 0 ŷ 0 = au 0 y 1 u 1 ŷ 1 = au 1 y N u N ŷ N = au N Le critère à minimiser est alors, au sens des moindres carrés : J(a) = 1 [ (y0 ŷ 0 ) 2 + (y 1 ŷ 1 ) 2 + + (y N ŷ N ) 2] (2) 2 On peut réécrire ce critère sous forme matricielle : y 0 y 1 y N u 0 u 1 u N Où, y =. et H =.. J(a) = 1 2 (y Ha)T (y Ha) (3) Chercher le paramètre a qui minimise ce critère revient à dériver le critère par rapport à a, et à chercher quand il s annule. La valeur du paramètre qui annulent la dérivée du critère est donnée par : a = (H T H) 1 (y T H) (4) On se propose de vérifier ceci par une simulation. On a un jeu de mesures donné, et on désire trouver la régression linéaire correspondante. 2
100 80 60 y 40 20 0 20 5 10 15 20 25 30 u FIGURE 2 Régression linéaire à l aide du critère des moindres carrés. Le paramètre estimé a est a = 3.0000001. Deuxième exemple Prenons le cas d un système du première ordre, type réponse d un circuit RC à un échelon de tension. La relation (1) devient : ŷ(k) = ay(k 1) + bu(k 1) (5) Pour s en convaincre, il( convient de considérer le modèle classique d un système du premier ordre dans le domaine de Laplace H(p) = K ), et de le discrétiser à T e à l aide la formule suivante : 1 + τp [ ( )] H(p) H d (z) = (1 z 1 )Z L 1 (6) p ( ) On obtient alors l équation (2), avec a = e Te τ et b = K 1 e Te τ. Le modèle permet de calculer le vecteur ŷ : Observation Commande Prévision y 0 u 0 y 1 u 1 ŷ 1 = ay 0 + bu 0 y 2 u 2 ŷ 2 = ay 1 + bu 1 y N u N ŷ N = ay N 1 + bu N 1 En revenant alors au principe de l identification par les moindres carrés, il convient de calculer l erreur quadratique engendrée par le modèle, qui sera le critère à minimiser, classiquement noté J : J(a, b) = 1 2 [ (y1 ŷ 1 ) 2 + (y 2 ŷ 2 ) 2 + + (y N ŷ N ) 2] J(a, b) = 1 2 [ ] (y Hθ) T (y Hθ) (7) 3
y 1 Où 1 y 2, y =., H = y N y 0 u 0 y 1 u 1. y N 1. u N 1 et θ = ( ) a. b Chercher les paramètres a et b qui minimisent ce critère revient à dériver le critère par rapport à θ, et à chercher quand il s annule. La valeur des paramètres qui annulent la dérivée du critère est donnée par : θ = (H T H) 1 (y T H) (8) C est là un résultat général à retenir dans le cadre de l estimation au sens des moindres carrés. Notons que cette méthode fournit une solution analytique pour calculer les paramètres. On se propose de réaliser une simulation sur le système étudié afin de convaincre le lecteur des performances de la méthode. 1.4 1.2 1 0.8 y 0.6 0.4 0.2 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 temps (s) FIGURE 3 Identification par la méthode des moindres carrés d une charge d un circuit R C. Les paramètres estimés sont ˆτ = 0.0689 s et ˆK = 0.953, tandis que les valeurs expérimentales ont été simulées pour τ = 100 ms et K = 1 Comme précisé plus haut, la prédiction est effectuée à l aide des mesures passées, et non des prédictions, ce qui diminue la sensibilité de notre estimateur aux paramètres du critère à minimiser : le modèle calculé à partir de mêmes valeurs expérimentales est moins précis. La méthode suivante pallie ce problème. 3 Méthode du Modèle La méthode du modèle se propose de déterminer les paramètres d un modèle donné, en comparant les mesures expérimentales et les données simulées par le modèle. L idée générale de cette méthode est donnée sur la figure suivante : 1. On notera que dans notre cas, u 0 = u 1 = = u N = 1 (échelon de tension de commande unitaire) 4
Moindres carrés, méthode du modèle F IGURE 4 Principe de la méthode du modèle [1] Cette fois ci, on notera les valeurs de sortie simulées par le modèle ym, et l on calculera récursivement les différentes valeurs ym (k) par une relation du type : ym (k) = a1 ym (k 1) a2 ym (k 2) an ym (k n) + b1 u(k 1) + + bp u(k p) (9) Il est important de noter que cette relation fait intervenir les prédictions précédentes, et non les mesures comme dans la méthode des moindres carrés. Le critère à minimiser est alors : X J(θ) = (yk ym (k))2 (10) Il n existe pas, en général, de manière simple de minimiser un tel critère. En pratique on utilisera des méthodes de recherche d extremums, comme l algorithme du gradient ou la méthode de Newton. Retour sur la charge du R C. toujours un modèle de la forme : Revenons à présent à la charge du circuit R C. On cherchera ym (k) = aym (k 1) + bu(k 1) La méthode du modèle, avec minimisation à l aide de la méthode du gradient a été implémentée sous Matlab sous la forme d une animation. Voir le code en annexe. Références [1] F LAUS, J.-M. La régulation industrielle : régulateurs PID, prédictifs et flous. Hermes, 1994. 5
Annexe : codes utilisés pour la simulation %% programme e f f e c t u a n t l a s i m u l a t i o n des moindres c a r r e s %% Exemple 1 y = a x % generer l e s donnees y = a0 x + b, b b r u i t e t a0 =3; N = 30; %Nb d e c h a n t i l l o n s a0 =3; x = 1: N ; b = 10 randn (N, 1 ) ; y = a0 x + b ; % e s t i m a t i o n des parametres a = inv (( x x ) ) x y ; p l o t (x, y, +, x, a x ) %% Exemple 2 tau = 100ms, charge RC %generation des mesures Te = 1e 2; t = 0: Te : 0. 7 ; tau =. 1 ; N = length ( t ) ; br = randn (1, N ) ; y = 1 exp( t/tau ) + 0.05 br ; %% e s t i m a t i o n des parametres H = [ y ( 1 : N 1) ones (1, N 1) ] ; theta = inv (H H ) (y ( 2 : N ) H ) ; a = theta (1) ; b = theta (2) ; tauexp = Te/ log( a ) ; Kexp = b/(1+a ) ; p l o t (t, y, +, t, Kexp (1 exp( t/tauexp ) ) ) ; 6
%% methode du modele %% Exemple 2 tau = 100ms, charge RC %generation des mesures Te = 1e 2; t = 0: Te : 0. 7 ; tau =. 1 ; N = length ( t ) ; br = randn (1, N ) ; yexp = 1 exp( t/ tau ) + 0.03 br ; %methode du modele %i n i t i a l i s a t i o n a= 0.8;b=0.3; ym = zeros (N, 1 ) ; f o r i =1:N 1 ym ( i+1) = a ym ( i ) + b ; end Nit = 300; % nombres d i t e r a t i o n f o r end i = 1: Nit p l o t (t, yexp, t, ym ) ; pause (. 0 1 ) ; % c a l c u l du g r a d i e n t de J H = [ ym ( 1 : N 1) ones (1, N 1) ] ; theta = [a ; b ] ; gradj = H ( yexp ( 2 : N ) H theta ) ; %on c a l c u l e l e nouveau parametre t h e t a theta = theta 0.002 gradj ; % on r e c a l c u l e l a s o r t i e a=theta (1) ; b=theta (2) ; ym = zeros (N, 1 ) ; f o r i =1:N 1 ym ( i+1) = a ym ( i ) + b ; end 7