System Identification Toolbox parte 2/3

Se hai perso la prima parte clicca su: system identification toolbox parte 1/3

Scarica l’ebook GRATUITO

—————————————————————————————————————
2. ANALISI E PREPARAZIONE DEI DATI

Raramente i dati sperimentali sono pronti per essere utilizzati immediatamente per le fasi successive del processo di identificazione, a causa di:

[*] Offset e disturbi a bassa frequenza
[*] Disturbi ad alta frequenza, al di là delle frequenze di interesse del sistema dinamico
[*] Outliers(dati anomali), mancanti o non continui

Il primo passo di tale fase consiste sempre nell’ispezione visiva dei dati.
Di conseguenza prima di cominciare la stima dai dati, occorre controllare che essi non abbiano caratteristiche indesiderate. A tale proposito è possibile graficarne gli andamenti per identificare derive e valori anomali ed operare ad eventuali correzioni.

Nel Toolbox sono presenti i seguenti data plots:

[*] Grafico Tempo (Time Plot) visualizza i valori dei dati in funzione del tempo
[*] Grafico dello spettro (Data Spectra)
[*] Risposta in frequenza (Frequency function)

Per visualizzare gli andamenti dei dati basta spuntare in basso a sinistra il grafico che si desidera visualizzare

Il preprocessing si compone principalmente delle seguente operazioni:

[*] DETRENDING

I processi fisici evolvono dinamicamente attorno a punti di equilibrio. La presenza nei dati di caratteristiche statiche (valor medio) o lentamente variabili può occultare le caratteristiche dinamiche, inficiando l’efficienza degli algoritmi di identificazione. Il detrending consiste nella:

1) sottrazione di valori medi diversi dallo zero (nell’immagine in blu ingresso e uscita oscillano intorno a 5, in verde i segnali sono stati processati)

2) rimozione trends linari

Selezionare dal menu a tendina Una volta che i dati sono stati pre-processati è possibile inserire le due parti precedentemente suddivise nell’area “working data” e “Validation Data”

[*] RESAMPLING
Può capitare che i dati sono stati campionati con una frequenza troppo elevata; è possibile effettuare un resampling senza perdere informazione riguardo la dinamica in alta frequenza. Viceversa se il tempo di campionamento è basso è necessario ripetere l’operazione di acquisizione, in quanto vi sono dei dati mancanti.

[*] PREFILTRAGGIO
Filtrando i segnali di ingresso e uscita attraverso un filtro lineare è possibile focalizzare la stima paramentrica del modello basata su determinati ranges in frequenza di dati.

3. STIMA DEL MODELLO LINEARE

I modelli ad errore d’equazione hanno la seguente struttura generale:

tutte le classi di modelli possono ricondursi ad essa a seconda della presenza della parte esogena u(t-1) e della caratterizzazione del residuo d’equazione \xi(t); tra le famiglie che modellano i sistemi di controllo abbiamo ARX e ARMAX

ARX
Il primo importante problema che si presenta nell’identificazione con approccio black-box è quello di specificare l’ordine del modello. Tuttavia come stabilirlo a priori? Per rispondere a questa domanda, si può effettuare una prima stima con un modello ARX, con un range di ordini e ritardi in accordo con la complessità del modello. Successivamente si sceglie ordini e ritardi che meglio fittano il modello, andando ad analizzare dei criteri (FPE,AIC,BestFit) offerti dal toolbox e valutati su un insieme di ARX.

A(z)*y(z)=B(z)*u(t-1)+\xi(t)

con

A(z)=1-a_{1}*z^{-1}+a_{2}*z{^-2}+ +a_{na}*z^{-na}\,parte\,autoregressiva B(z)=b_{1}+b_{2}*z^{-1}+b_{3}*z{-2}+ +b_{nb}*z{-nb+1}\,parte\, esogena \xi(t)=\,residuo\,d'equazione

 

Nell’interfaccia grafica selezionare Estimate->Linear parametric models
Selezionare la famiglia di modelli con la quale si vuole effettuare l’identificazione, di default vi è ARX:[n_{a}, n_{b}, n_{k}] dove
n_{a} indica i poli
n_{b} indica gli zeri
n_{k} indica il ritardo ingresso-uscita

Successivamente indicare gli ordini dei coefficienti del modello ed infine cliccare su Estimate.
Nel caso dell’ARX, si aprirà la finestra ARX Model Structure Selection che visualizza la qualità del modello per ciascuna combinazione dei suoi parametri per mezzo di un grafico con delle barre verticali, ciascuna di esse corrisponde ad un modello ARX con un determinato ordine e ritardo.

L’asse X mostra il numero di parametri dei rispettivi modelli; l’asse Y la parte di uscita che non è stata espressa dal modello, in formule esprime la percentuale del rapporto tra la varianza dell’errore di predizione e la varianza dell’output

Tra le barre ve ne sono tre di colore diverso: blu, verde e rosso, ciascuna di esse indica il modello che meglio soddisfa un criterio di valutazione:

-Rosso minimizza l’errore di predizione (dovrebbe essere l’FPE)
-Verde minimizza il criterio MDL (Minimum descritpion lenght)
-Blu minimizza il criterio AIC (Akaike information criterion)

OSS.
Quando si usa lo stesso data-set per l’identificazione e la validazione conviene utilizzare i criteri MDL e AIC per selezionare l’ordine del modello. Questi criteri evitano il fenomendo dell’overfitting dovuto all’utilizzo di troppi parametri.

I modelli possono essere scelti cliccando sulla corrispondente barra e successivamente sul tasto “insert”, ciascun modello selezionato verrà poi trasferito in un riquadro della sezione model views, pronto per essere analizzato e sottoposto al processo di validazione.

ARMAX
I modelli della famiglia ARMAX sono più flessibili degli ARX in quanto la loro struttura contiene un ulteriore polinomio atto a modellare il disturbo additivo.

A(z)*y(z)=B(z)*u(t-1)+C(z)*\xi(t)

con

A(z)=1-a_{1}*z^{-1}+a_{2}*z{^-2}+ +a_{na}*z^{-na}\,parte\,autoregressiva B(z)=b_{1}+b_{2}*z^{-1}+b_{3}*z{-2}+ +b_{nb}*z{-nb+1}\,parte\,esogena C(z)=1+c_{1}*z^{-1}+c_{2}*z^{-2}+ +c_{na}*z^{-nc} \xi(t)=\,residuo\,d'equazione

 

Come nel caso degli ARX occorre specificare l’ordine dei coefficienti del polinomio.
Nel SI Tool seleziona Estimate->Linear parametric models, dal menu a tendina Structure selezionare ARMAX: [n_{a}, n_{b}, n_{c},n_{k}]. Nel campo Orders settare na nb nc e nk e cliccare Estimate. Ripetere tale operazione con differenti combinazioni degli ordini.

Validazione, Importazione del modello nella command window di Matlab, commenti e suggerimenti finali saranno presentati nella 3a parte del system identification toolbox.

Riferimenti
MathWorks

Francesco Celiberti

Ciao a tutti,


mi chiamo Francesco, sono laureato in Ing. Informatica e dell’Automazione. Sono attualmente coinvolto in un progetto di ricerca Europeo, MOTORIST. www.motorist-ptw.eu


Tags: ,
By Francesco Celiberti | luglio 11th, 2011 | SHOW COMMENTS (7)

7 Responses

  1. Frank says

    Salve,

    ho identificato un modello OE221 per simulare una uscita Y a partire da un ingresso U.
    Nella fattispecie:
    B(q) = 1 – 1.3 q^-1 + 0.5 q^-2

    F(q) = 1 + 0.9 q^-1 – 0.2 q^-2

    Quindi B1=-1.3; B2=0.5; F1=0.9; F2=-0.2

    so che Y(t) = B(q)/F(q) U(t) (OE model con errore nullo)

    Ora se volessi usare il modello in un algoritmo in “C” all’esterno di MATLAB come dovrei scrivere l’algoritmo?

    ES : y(t) = B1/F1 u(t-1) + B2/F2 u(t-2) è corretto?

  2. System Identification Toolbox parte 3/3 | Automazione Open Source says

    […] parte clicca su: system identification toolbox parte 1/3 Se hai perso la seconda parte clicca su: system identification toolbox parte 2/3 Note: Clicca sulle immagini per […]

  3. Federico says

    Spiegazione chiarissima, perfetta. Approfitto delle vostre conoscenze, sempre per motivi modellistici.
    Nel 1° punto si commenta la serie ingresso/uscita di identificazione. Come si fa a dire che le serie di valori sono state raccolte nello stesso esperimento o periodo? Come si fa a dire che i campioni sono pochi? Come si fa a dire se è o meno un segnale persistemente eccitante?

    • Francesco Celiberti
      fra_celi says

      La serie di valori può anche essere raccolta con più esperimenti, tuttavia nel grafico della serie ingresso/uscita ciò non è visibile. Per quanto riguarda il numero di campioni basta vedere il numero che si trova in fondo all’asse delle ascisse, occorre però tenere d’occio del passo di campionamento specificato nella parte IDPOLY sotto la voce “sampling interval”. Ad esempio se nell’asse delle ascisse si giunge fino a 300 ma il passo di campionamento è 0.1 allora il data-set è composto da 3000 campioni. Il numero di campioni dipende molto dalla complessità del processo da identificare, se ti accorgi che nei vari passi dell’identificazione non sei pienamente certo del modello da scegliere, allora i dati sono insufficienti ed è necessaria una nuova raccolta.

      Un segnale è persistentemente eccitante se riesce a stimolare tutti i modi del processo. Un segnale del genere è il rumore bianco, tuttavia non è possibile riprodurlo, di conseguenza bisogna ricorrere a segnali che si avvicinano ad esso, ovvero con campioni incorrelati tra di loro.A titolo d’esempio le serie ingresso riportate nella terza figura di questo post, non sono persistentemente eccitanti in quanto i loro valori sono inclusi in una fascia compresa tra 3 e 6.

      • Federico says

        Alla fine ho preso 22 nell’esame di Modellistica. Grazie per le preziose informazioni!

  4. Federico says

    Per lo scritto di Modellistica mi servirebbe sapere come commentare il passaggio dei modelli IDPOLY o, meglio, come valutarlo. Riporto l’esempio di Gennaio 2011.

    Discrete-time IDPOLY model (ARX551): A(q)y(t) = B(q)u(t) + e(t)

    A(q) = 1 – 1.147 (+-0.07712) q^-1 + 0.4168 (+-0.1138) q^-2 – 0.2732 (+-0.09342) q^-3 – 0.04941 (+-0.05162) q^-4 + 0.1218 ( +-0.02961) q^-5

    B(q) = 0.9995 (+-0.004532) q^-1 – 0.4364 (+-0.07727) q^-2 – 0.01867 (+-0.08147) q^-3 – 0.1771 (+-0.06403) q^-4 – 0.2479 +-0.04995) q^-5

    Estimated using ARX from data set identData
    Loss function 0.0218787 and FPE 0.0250042

    • Francesco Celiberti
      fra_celi says

      Ciao,
      l’analisi dell’IDPOLY verrà fatta nella parte 3, comunque sia, in tale parte vengono riportati i modelli del riquadro Model Views in forma di equazioni alle differenze. La bontà del modello si valuta analizzando:
      – gli indici Loss Function e FPE che devono essere minimi.
      -varianza dei parametri dell’equazione alle differenze(i valori di incertezza presenti per ogni termine q) , essa deve essere di ordine più piccolo rispetto al parametro stesso. Se varianza e rispettivo parametro sono dello stesso ordine di grandezza, ciò significa che il parametro potrebbe cancellarsi, e che quindi il modello ha al suo interno parte del disturbo.

      Nel caso in esame gli indici loss function e FPE sono abbastanza buoni tuttavia, in A(q) i termini relativi a q^-2 e q^-4 hanno la varianza con lo stesso ordine di grandezza del parametro stesso, di conseguenza tali parametri potrebbero andare persi. Stesso discorso per B(q) per il termine q^-3. Fatte queste considerazioni il modello ARX(551) in tale fase dell’identificazione può essere scartato.