Vous êtes sur la page 1sur 7

Identification par la mthode des moindres carrs et par la

mthode du modle : principe et exemples.


F RANOIS B AILLY francois.bailly@ens-cachan.fr
J ULIEN F LAMANT julien.flamant@ens-cachan.fr

Introduction

Lidentification consiste chercher les paramtres de modles mathmatiques dun systme, partir
de donnes exprimentales et de connaissances disponibles a priori. Ces paramtres peuvent avoir une
signification physique, comme dans les modles de connaissance (issues de lois de la mcanique, de
lectricit, etc...), ou ne pas en avoir, comme cest le cas pour les modles de comportement. Dans les
deux cas, ils doivent fournir une approximation fidle des comportements du systme physique, dans la
mesure o leurs paramtres sont ajusts partir de donnes exprimentales. Lobjectif cherch est de
rendre identiques les rponses du processus et du modle, pour des squences dentre donnes.

F IGURE 1 Principe gnral de lidentification [1]

Cette leon sadresse un public averti des mthodes didentification dites "graphiques". Elles se basent
en pratique sur la rponse du processus un chelon (rponse indicielle), bien quen thorie elles pourraient galement se baser sur lanalyse de la rponse impulsionnelle. Elles permettent de se faire une
ide du gain dun systme, de sa principale constante de temps et de son ventuel retard. On citera
titre de rappel :
La mthode des 63% de la valeur finale pour les systmes du premier ordre
Les mthodes didentification de formes canoniques pour les systmes oscillants du deuxime ordre
Les mthodes de Broda et de Strejc pour les systmes retard
Elles ne font pas lobjet de cette leon qui prsente deux mthodes plus sophistiques que sont la
mthode des moindres carrs et la mthode du modle.

Mthode des moindres carrs

Le principe gnral de cette mthode est de choisir le jeu de paramtres dun modle que lon dfinira,
de telle sorte quil minimise la somme des carrs de la diffrence entre les valeurs prdites par le modle
et les valeurs observes.

Moindres carrs, mthode du modle

Pour lidentification des paramtres, on dispose dun vecteur de mesures :


y = [y1 y2 yN ]T
Et on veut construire un vecteur estim, via le modle et ses paramtres :
T
b
y = [yb1 yb2 yc
N]

Il convient donc dtablir le modle permettant de calculer la variable b


y . On cherche ce modle sous
forme discrte :
b
y (k+1) = (a1 y(k) + a2 y(k 1) + + an y(k n 1))+b1 u(k)+b2 u(k1)+ +bm u(km+1) (1)
On suppose quune squence (u(1), u(2), , u(N )) a t applique en entre, et que la squence des
sorties correspondantes a t observe (y(1), y(2), , y(N )). Notons dores et dj que la prdiction
par le modle de b
y (k+1) est ralise partir des mesures antrieures, et non des prdictions antrieures.
Afin de limiter les dveloppements lourds en notations, prsentons sans plus attendre deux exemples
simples.
Premier exemple Le premier exemple est le plus classique, celui de la rgression linaire. En effet,
bien souvent, on dispose dune srie de mesures y en fonction dune entre u qui semble linaire, et lon
souhaite trouver la rgression linaire, cest dire lquation de la droite y = f (u) minimisant lerreur au
sens des moindres carrs. Pour simplifier, nous chercherons lquation de la droite sous la forme y = au,
a tant le paramtre inconnu. Ce modle permet alors de calculer le vecteur y
:
Observation
y0
y1

yN

Commande
u0
u1

uN

Prvision
yb0 = au0
yb1 = au1

yc
=
auN
N

Le critre minimiser est alors, au sens des moindres carrs :



1
2
(y0 yb0 )2 + (y1 yb1 )2 + + (yN yc
N)
2
On peut rcrire ce critre sous forme matricielle :
J(a) =

J(a) =

1
(y Ha)T (y Ha)
2

(2)

(3)


y0
u0
y1
u1


O, y = . et H = . .
..
..
yN
uN
Chercher le paramtre a qui minimise ce critre revient driver le critre par rapport a, et chercher
quand il sannule. La valeur du paramtre qui annulent la drive du critre est donne par :
a = (HT H)1 (yT H)

(4)

On se propose de vrifier ceci par une simulation. On a un jeu de mesures donn, et on dsire trouver
la rgression linaire correspondante.

Moindres carrs, mthode du modle

100

80

60

40

20

20

10

15
u

20

25

30

F IGURE 2 Rgression linaire laide du critre des moindres carrs. Le paramtre estim a est a = 3.0000001.

Deuxime exemple Prenons le cas dun systme du premire ordre, type rponse dun circuit RC un
chelon de tension. La relation (1) devient :
b
y (k) = ay(k 1) + bu(k 1)

(5)

Pour sen convaincre, ilconvient de considrer


le modle classique dun systme du premier ordre dans

K
le domaine de Laplace H(p) =
, et de le discrtiser Te laide la formule suivante :
1 + p



H(p)
1
1
Hd (z) = (1 z )Z L
(6)
p


Te
Te
On obtient alors lquation (2), avec a = e et b = K 1 e .

Le modle permet de calculer le vecteur b


y:
Observation
y0
y1
y2

yN

Commande
u0
u1
u2

uN

Prvision
yb1 = ay0 + bu0
yb2 = ay1 + bu1

yc
=
ay
N
N 1 + buN 1

En revenant alors au principe de lidentification par les moindres carrs, il convient de calculer lerreur
quadratique engendre par le modle, qui sera le critre minimiser, classiquement not J :
J(a, b) =


1
2
(y1 yb1 )2 + (y2 yb2 )2 + + (yN yc
N)
2
i
1h
J(a, b) =
(y H)T (y H)
2

(7)

Moindres carrs, mthode du modle

y1
y0
y2
y1

O 1 , y = . , H = .
..
..
yN
yN 1

u0
u1
..
.

 

.
et =
b

uN 1

Chercher les paramtres a et b qui minimisent ce critre revient driver le critre par rapport ,
et chercher quand il sannule. La valeur des paramtres qui annulent la drive du critre est donne
par :
= (HT H)1 (yT H)
(8)
Cest l un rsultat gnral retenir dans le cadre de lestimation au sens des moindres carrs. Notons
que cette mthode fournit une solution analytique pour calculer les paramtres. On se propose de raliser une simulation sur le systme tudi afin de convaincre le lecteur des performances de la mthode.

1.4

1.2

0.8

0.6

0.4

0.2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

temps (s)

F IGURE 3 Identification par la mthode des moindres carrs dune charge dun circuit R C. Les paramtres
= 0.953, tandis que les valeurs exprimentales ont t simules pour
estims sont = 0.0689 s et K
= 100 ms et K = 1

Comme prcis plus haut, la prdiction est effectue laide des mesures passes, et non des prdictions, ce qui diminue la sensibilit de notre estimateur aux paramtres du critre minimiser : le
modle calcul partir de mmes valeurs exprimentales est moins prcis. La mthode suivante pallie
ce problme.

Mthode du Modle

La mthode du modle se propose de dterminer les paramtres dun modle donn, en comparant les
mesures exprimentales et les donnes simules par le modle. Lide gnrale de cette mthode est
donne sur la figure suivante :
1. On notera que dans notre cas, u0 = u1 = = uN = 1 (chelon de tension de commande unitaire)

Moindres carrs, mthode du modle

F IGURE 4 Principe de la mthode du modle [1]

Cette fois ci, on notera les valeurs de sortie simules par le modle ym , et lon calculera rcursivement
les diffrentes 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 prdictions prcdentes, et non les mesures
comme dans la mthode des moindres carrs. Le critre minimiser est alors :
X
J() =
(yk ym (k))2
(10)
Il nexiste pas, en gnral, de manire simple de minimiser un tel critre. En pratique on utilisera des
mthodes de recherche dextremums, comme lalgorithme du gradient ou la mthode de Newton.
Retour sur la charge du R C.
toujours un modle de la forme :

Revenons prsent la charge du circuit R C. On cherchera

ym (k) = aym (k 1) + bu(k 1)


La mthode du modle, avec minimisation laide de la mthode du gradient a t implmente sous
Matlab sous la forme dune animation. Voir le code en annexe.

Rfrences
[1] F LAUS , J.-M. La rgulation industrielle : rgulateurs PID, prdictifs et flous. Hermes, 1994.

Moindres carrs, mthode du modle

Annexe : codes utiliss 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
clear all ;
close all ;
clc ;
%% Exemple 1 y = ax
clear all ;
close all ;
clc ;
% g e n e r e r l e s donnees y = a0x + 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 = a0x + b ;
% e s t i m a t i o n des p a r a m e t r e s
a = i n v ( ( xx ) ) xy ;
p l o t ( x , y , + , x , ax )
%% Exemple 2 tau = 100ms , charge RC
clear all ;
close all ;
clc ;
%g e n e r a t i o n des mesures
Te = 1e2;
t = 0 : Te : 0 . 7 ;
tau = . 1 ;
N = length (t) ;
br = randn ( 1 , N ) ;
y = 1exp(t/ tau ) + 0.05 br ;
%% e s t i m a t i o n des p a r a m e t r e s
H = [y ( 1 : N1) ones ( 1 , N1) ] ;
theta = i n v ( H H ) ( y ( 2 : N ) H ) ;
a = theta ( 1 ) ;
b = theta ( 2 ) ;
tauexp = Te / l o g (a ) ;
Kexp = b/(1+a ) ;
p l o t ( t , y , + , t , Kexp(1exp(t/ tauexp ) ) ) ;

Moindres carrs, mthode du modle

%% methode du modele
%% Exemple 2 tau = 100ms , charge RC
clear all ;
close all ;
clc ;
%g e n e r a t i o n des mesures
Te = 1e2;
t = 0 : Te : 0 . 7 ;
tau = . 1 ;
N = length (t) ;
br = randn ( 1 , N ) ;
yexp = 1exp(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 = z e r o s ( N , 1 ) ;
f o r i =1:N1
ym ( i+1) = aym ( i ) + b ;
end
Nit = 300; % nombres d i t e r a t i o n
f o r 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 : N1) ones ( 1 , N1) ] ;
theta = [ a ; b ] ;
gradJ = H ( yexp ( 2 : N ) Htheta ) ;
%on c a l c u l e l e nouveau parametre t h e t a
theta = theta 0.002gradJ ;
% 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 = z e r o s ( N , 1 ) ;
f o r i =1:N1
ym ( i+1) = aym ( i ) + b ;
end
end