Algoritmo di stima “minimi quadrati ricorsivi” per sistemi con ingressi

Algoritmo di stima “minimi quadrati ricorsivi” per
sistemi con ingressi e uscite vettoriali
Lorenzo Magliocchetti
Arrigo Marchiori
Michele Marino
Ottobre 2006
Sommario
Lo scopo di questo documento è ricavare le formule che descrivono l’algoritmo di
stima dei “minimi quadrati ricorsivi”, applicato a sistemi con grandezze vettoriali in
ingresso e in uscita. In letteratura è possiblie trovare numerose descrizioni di tale
algoritmo, ma con grandezze scalari.
L’argomento è introdotto a partire dalla formula dei “minimi quadrati batch”.
1
Sistema e stimatore
Consideriamo un generico sistema con ingressi vettoriali x di dimensione qualunque e uscite
y ∈ Rm .
L’obiettivo è stimare alcuni parametri β ∈ Rn di questo sistema. A tale scopo, si utilizza
uno stimatore che sia caratterizzato da una dipendenza lineare dal vettore dei parametri da
stimare:
ỹ = F (x, β) = Φ(x)β
dove Φ è una funzione non necessariamente lineare dell’ingresso x.
La “bontà” dei valori assegnati ai parametri dello stimatore deve essere giudicata in base
ad un criterio; normalmente si definisce una funzione di penalità da minimizzare.
1.1
Criterio dei minimi quadrati batch
Si effettuano j “esperimenti”, cioè misure dell’ingresso e dell’uscita del sistema. I valori si
organizzano in vettori di Rjm :




y1
x1
 x2 
 y2 




ym =  . 
xm =  . 
 .. 
 .. 
xj
yj
Per ogni esperimento si considera l’errore di stima, inteso come la differenza tra l’uscita del
sistema e quella dello stimatore:
ei = yi − ỹi = yi − Φ(xi )β
1
(1)
Incolonnando gli errori di tutti gli esperimenti, si ottiene il vettore em ∈ Rjm :




e1
Φ(x1 )
 e2 
 Φ(x2 ) 




em =  .  = ym − 
 β = ym − Φ̄(xm )β
..

 .. 

.
(2)
Φ(xj )
ej
con Φ̄(xm ) ∈ Rjm×n .
La funzione di penalità che si considera è la seguente:
Vj (β) =
1 >
em Rem
2
(3)
dove R è una matrice simmetrica e definita positiva che ha la funzione di pesare opportunamente gli esperimenti. Con R = I, ad esempio, tutti gli esperimenti hanno lo stesso
peso.
Sostituendo la (2) nella (3), derivando Vj (β) rispetto a β, annullando il risultato e
risolvendo rispetto a β, si ottiene:
−1
βopt = Φ̄(xm )> AΦ̄(xm )
Φ̄(xm )> Aym
(4)
>
dove A = R + R , anch’essa simmetrica e definita positiva.
Perché questo criterio funzioni, la matrice Φ̄(xm )> AΦ̄(xm ) deve essere invertibile; questo accade se l’ingresso xm del sistema è sufficientemente eccitante.
1.2
Criterio dei minimi quadrati ricorsivi
Per poter aggiornare “in linea” i parametri dello stimatore, bisogna modificare il criterio dei
minimi quadrati, fornendone una formulazione ricorsiva. In questo modo, ad ogni “passo”
di computazione k è possibile aggiornare la stima, tenendo conto di ciò che si è calcolato nei
passi precedenti.
Si desidera quindi adattare la relazione (4). Omettendo la dipendenza di Φ̄ da xm e
riscrivendo l’espressione in funzione del passo k si ottiene:
−1 >
β (k) = Φ̄> (k)A (k) Φ̄ (k)
Φ̄ (k)A (k) ym (k)
(5)
dove:
Φ̄ (k) ∈ Rkm×n ,
ym (k) ∈ Rkm ,
A (k) ∈ Rkm×km
La struttura di Φ̄ (k) è la stessa dell’eq. (2), cioè ad ogni passo si aggiunge in basso una
nuova sottomatrice. Di conseguenza, la matrice al passo k + 1 si può scrivere:
Φ̄ (k)
Φ̄ (k + 1) =
∈ R(k+1)×m
(6)
Φk+1
dove Φk+1 ∈ Rm×n .
Anche la matrice A (k) ed il vettore ym (k) si aggiornano ad ogni passo:
ym (k)
ym (k + 1) =
∈ R(k+1)m
yk+1
2
(7)
Nell’aggiornamento di A, però, la parte che si riferisce al passato viene moltiplicata per un
coefficiente λ:
λA (k)
A (k + 1) =
∈ R(k+1)m×(k+1)m ,
0<λ≤1
(8)
Ak+1
λ è detto “fattore di dimenticanza”: si può vedere, ad esempio, che al passo k + j la matrice
A(k + j) contiene la sottomatrice A(k) moltiplicata per λj . Se λ = 1, non si effettua alcuna
dimenticanza.
Definiamo la matrice P(k) attraverso la sua inversa:
P−1 (k) = Φ̄> (k)A (k) Φ̄ (k)
∈ Rn×n
(9)
Al passo k + 1, secondo le definizioni appena date (6) e (8), ponendo λ = c2 , si ottiene:
P−1 (k + 1)
= Φ̄> (k + 1)A(k + 1)Φ̄(k + 1) =
>
λA (k)
Φ̄ (k)
Φ̄ (k) Φ>
=
=
k+1
Ak+1
Φk+1
Φ̄ (k)
λΦ̄> (k)A (k) Φ>
A
=
=
k+1
k+1
Φk+1
= λΦ̄> (k)A (k) Φ̄ (k) + Φ>
k+1 Ak+1 Φk+1 =
= λP−1 (k) + Φ>
k+1 Ak+1 Φk+1
(10)
Ora si consideri l’espressione di β (5) al passo k + 1:
−1 >
β(k + 1) = Φ̄> (k + 1)A(k + 1)Φ̄(k + 1)
Φ̄ (k + 1)A(k + 1)ym (k + 1)
riconoscendo nella prima parentesi l’espressione di P−1 (k + 1) dalla (9) e sostituendo le
espressioni di Φ̄(k + 1) (6), A(k + 1) (8) e ym (k + 1) (7) si ottiene:
β(k + 1)
= P(k + 1)Φ̄> (k + 1)A(k + 1)ym (k + 1) =
λA (k)
ym (k + 1) =
= P(k + 1) Φ̄> (k) Φ>
k+1
Ak+1
ym (k)
A
=
= P(k + 1) λΦ̄> (k)A (k) Φ>
k+1 k+1
yk+1
= P(k + 1) λΦ̄> (k)A (k) ym (k) + Φ>
k+1 Ak+1 yk+1
(11)
L’espressione di P(k + 1) si ottiene invertendo la (10):
P(k + 1) = λP−1 (k) + Φ>
k+1 Ak+1 Φk+1
siccome:
−1
(A + BCD)
−1
= A−1 − A−1 B DA−1 B + C−1
−1
DA−1
(12)
allora:
P(k + 1) =
1
1
P(k) − P(k)Φ>
k+1
λ
λ
1
−1
Φk+1 P(k)Φ>
k+1 + Ak+1
λ
3
−1
1
Φk+1 P(k)
λ
(13)
Per semplificare l’espressione si introduce il termine Γ(k) ∈ Rm×m . Esso è invertibile, perché
definito positivo.
−1 −1
Γ(k) = Φk+1 P(k)Φ>
k+1 + λAk+1
(14)
Γ(k)Φ
P(k)
P(k + 1) = λ1 P(k) − P(k)Φ>
k+1
k+1
Sostituendo questa espressione appena trovata in quella di β(k + 1) (11) si ottiene:
β(k + 1)
1
P(k)Φ>
k+1 Ak+1 yk+1 +
λ
>
−P(k)Φ>
k+1 Γ(k)Φk+1 P(k)Φ̄ (k)A(k)ym (k) +
1
>
− P(k)Φ>
k+1 Γ(k)Φk+1 P(k)Φk+1 Ak+1 yk+1
λ
= P(k)Φ̄> (k)A (k) ym (k) +
(15)
Abbandonando per un attimo questa espressione, si consideri che per definizione di β(k)
(5) e di P(k) (9):
β(k) = P(k)Φ̄> (k)A (k) ym (k)
(16)
e per la seconda delle (14):
P(k + 1)Φ>
k+1 Ak+1
=
=
1
>
P(k)Φ>
k+1 Ak+1 − P(k)Φk+1 Γ(k)Φk+1 Ak+1 =
λ
1
>
P(k)Φ>
k+1 Ak+1 − Γ(k)Φk+1 P(k)Φk+1 Ak+1
λ
(17)
L’espressione tra parentesi è pari a λΓ(k):
Ak+1 − Γ(k)Φk+1 P(k)Φ>
k+1 Ak+1 = λΓ(k)
infatti, raggruppando per Γ(k):
Γ(k) λI + Φk+1 P(k)Φ>
k+1 Ak+1 = Ak+1
moltiplicando a destra entrambi i membri per A−1
k+1 si ottiene:
>
Γ(k) λA−1
k+1 + Φk+1 P(k)Φk+1 = I
questa si rivela un’identità se si considera l’espressione di Γ(k) (14):
Γ(k)Γ−1 (k) = I
Di conseguenza, la (17) diventa:
>
P(k + 1)Φ>
k+1 Ak+1 = P(k)Φk+1 Γ(k)
(18)
Inserendo questa e la (16) nell’espressione di β (k + 1) che si stava calcolando (15) si
ottiene:
β (k + 1)
1
P(k)Φ>
k+1 Ak+1 yk+1 +
λ
>
−P(k + 1)Φk+1 Ak+1 Φk+1 P(k)Φ̄> (k)A(k)ym (k) +
1
>
− P(k + 1)Φ>
k+1 Ak+1 Φk+1 P(k)Φk+1 Ak+1 yk+1
λ
= β (k) +
4
= β (k) +
1
−1
P(k + 1)Φ>
(k)Ak+1 yk+1 +
k+1 Ak+1 Γ
λ
>
−P(k − 1)Φ>
k+1 Ak+1 Φk+1 P(k) Φ̄ (k)A(k)ym (k) +
1
A
y
+ Φ>
k+1 k+1
λ k+1
1 −1
= β (k) + P(k + 1)Φ>
A
Γ (k)Ak+1 yk+1 +
k+1 k+1
λ
1
−Φk+1 P(k) Φ̄> (k)A(k)ym (k) + Φ>
A
y
k+1 k+1
λ k+1
1
= β(k) + P(k + 1)Φ>
Γ−1 (k) +
k+1 Ak+1
λ
−Φk+1 P(k)Φ>
k+1 Ak+1 yk+1 +
−Φk+1 β(k)
Sostituendo l’espressione di Γ−1 (k) (14) si vede che l’espressione più interna, tra parentesi,
diventa:
−1
−1
>
Φk+1 P(k)Φ>
k+1 + Ak+1 − Φk+1 P(k)Φk+1 = λAk+1
Di conseguenza, l’espressione di β(k + 1) risulta:
β(k + 1) = β(k) + P(k + 1)Φ>
k+1 Ak+1 (yk+1 − Φk+1 β(k))
(19)
Rispetto al caso batch, un segnale di ingresso non eccitante non pregiudica la stabilità
numerica di questo criterio. Nel caso in cui un parametro non sia stimabile in base agli
ingressi e alle uscite misurate, esso semplicemente non viene aggiornato.
Riferimenti bibliografici
[1] G. Ciccarella, P. Marietti, A. Trifiletti: Strumentazione e misure elettroniche, seconda
edizione, Casa Editrice Ambrosiana
5