Richiami di Identificazione Parametrica
Modellistica e gestione dei sistemi ambientali
Corso di Laurea in Ingegneria Gestionale
Corso di Laurea Specialistica in Ingegneria Informatica
Emiliano Sparacino
[email protected]
Procedura di identificazione
•
•
•
•
•
Raccolta dati
Selezione di una classe di modelli
Criterio di selezione
Calcolo del modello ottimo
Validazione
Validazione
Procedura di identificazione
•
•
•
•
•
Raccolta dati
Selezione di una classe di modelli
Criterio di selezione
Calcolo del modello ottimo
Validazione
Classi di modelli
LTI
Black-box
(i.e. ARX)
ODE
Fisici
(i.e. logistica)
Modelli LTI
Modelli ARX
Modelli ODE
Lineare rispetto ai parametri
Esempio:
Non Lineare rispetto ai parametri
Esempio:
Procedura di identificazione
•
•
•
•
•
Raccolta dati
Selezione di una classe di modelli
Criterio di selezione
Calcolo del modello ottimo
Validazione
Errore di predizione
Per modelli lineari nei parametri (black-box e fisici) il valore che minimizza l’errore
di predizione può essere ottenuto calcolando:
Dove U è il vettore dei regressori.
Errore di predizione (ARX)
Errore di predizione (fisici 1)
Errore di predizione (fisici 2)
Errore di simulazione
vettore delle misure al tempo
vettore delle uscite del modello al tempo
vettore dei parametri
Procedura di identificazione
•
•
•
•
•
Raccolta dati
Selezione di una classe di modelli
Criterio di selezione
Calcolo del modello ottimo
Validazione
Risultati
Percentuale della variazione dell’uscita riprodotta dal modello
un modello con F I T = 0 significa che ha un fitting uguale al modello con
uscita uguale alla media dei dati
Errore quadratico medio
Identificazione
Ingressi
Dati misurati
0
Simulazione

Minimizzazione di F ( )
Validazione

Ok
No
Identificazione (matlab)
Obiettivo: risolvere un problema di data-fitting nonlineare
utilizzando i minimi quadrati
Dato un vettore di ingressi (xdata) ed un vettore di
osservazioni (ydata), trovare i coefficienti “x” che
meglio “adattano” la funzione F(x,xdata) alle
osservazioni.
lsqcurvefit
Identificazione (matlab)
[x,resnorm] =
lsqcurvefit(‘myfun’,x0,xdata,ydata,lb,ub,options,P1,P2,…)
Output:
x: valore dei parametri
resnorm:
MSE
Input:
x0: valore iniziale di x
lb: lower bound di x
ub: upper bound di x
options: opzioni di minimizzazione (vedi help optimset)
P1,P2,…: parametri extra per la funzione ‘myfun’
Identificazione (matlab)
‘myfun’: funzione matlab memorizzata in un M-file
(myfun.m)
function F = myfun(x,xdata,P1,P2,…)
% Inizializzazione variabili, costanti, ecc…
F = ode23(‘odefun’,tspan,y0,options,x,xdata,P1,P2,…)
‘myfun’ richiama un solver ‘ode’ per risolvere equazioni differenziali
‘odefun’ contiene le equazioni da risolvere
function dy = odefun(t,y,x,xdata,P1,P2,…)
dy = x(1)*xdata(1)*y + …
Identificazione (matlab)
lsqcurvefit
myfun
solver
odefun
Identificazione
xdata
Ingressi
0
x
ydata
Dati misurati
lsqcurvefit
resnorm
Simulazione

ode23
Minimizzazione di F ( )
Validazione

Ok
No
Scarica

Modellistica ed identificazione del bacino acquatico di Serra da