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