Preprocessamento 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 (es. stagionali) Disturbi ad alta frequenza, al di là delle frequenze di interesse del sistema dinamico Outliers, dati mancanti Il primo passo di tale fase consiste sempre nell ispezione visiva dei dati
Pre-processamento dei Dati I processi fisici evolvono dinamicamente attorno a punti di equilibrio. La presenza nei dati di caratteristiche statiche o lentamente variabili può occultare le caratteristiche dinamiche, inficiando l efficienza degli algoritmi di identificazione Le operazioni più comuni effettuate sui dati sono: Sottrazione del valore medio dal set di dati; Scaling (normalizzazione)(tutti i dati sono riportati alla stessa varianza) Detrending (sottrazione del miglior fit lineare sui dati) Filtraggio Normalizzazione
Preprocessamento dei Dati Istruzione Matlab detrend: >u1=detrend(u) rimuove il miglior fit lineare dalla sequenza di dati >u1=detrend(u, constant ) rimuove il valor medio dal vettore u >u1=detrend(u, linear,bp) rimuove un trend lineare a tratti in cui gli indici della spezzata sono contenuti nel vettore BP
Preprocessamento dei Dati >detrend(y, constant ) 8 6 4 Valor Medio Dati Sperimentali 2 0-2 Dati dopo la Sottrazione del Valor Medio -4 0 100 200 300 400 500 600 700 800 900 1000
Preprocessamento dei Dati >detrend(y) 8 7 6 5 4 3 Trend Dati Sperimentali 2 1 Dati dopo il Detrending 0-1 -2 0 100 200 300 400 500 600 700 800 900 1000
Preprocessamento dei Dati >detrend(y, linear,[100:100:size(y)]) 8 7 6 5 4 3 Trend PWL Dati Sperimentali 2 Dati dopo il detrend PWL 1 0-1 -2 0 100 200 300 400 500 600 700 800 900 1000
Pre-processamento dei Dati Disturbi ad Alta Frequenza Gli strumenti di misura spesso introducono rumore ad alta frequenza Tale rumore viene di solito filtrato tramite filtri passa basso La banda del filtro è scelta solitamente attraverso l analisi dello spettro del segnale (modulo della trasformata di Fourier) >plot(abs(fft(detrend(y))))
Preprocessamento dei Dati Outliers, Dati mancanti Gli strumenti di acquisizione dei dati possono non essere perfetti. Può capitare che singoli campioni o parti di dati sperimentali siano affetti da errori dovuti a tali cause. Gli effetti sul set di dati sono in genere: Picchi Discontinuità Saturazioni Valori costanti Gli outliers vengono in genere trattati eliminando le porzioni di dati affette o stimando i valori mancanti (per continuità)
Eliminazione di outliers
Normalizzazione Le variabili d ingresso e di uscita considerate in un processo di acquisizione dati sono, in genere, grandezze fisiche di diverso tipo. Esse presentano valori numerici spesso assai diversi che non possono essere forniti direttamente ad un sistema poiché si rischierebbe di penalizzare quelle grandezze che, a causa del loro range di variazione, assumono dei valori numerici più piccoli delle altre. La fase di normalizzazione, altrimenti detta di scaling, riveste un importanza rilevante in fase di pre-processing dei dati. E necessaria affinché importanti variabili di processo con piccole ampiezze non vengano considerate meno significative di variabili con ampiezza maggiore.
Min-max normalization ' mina ν = ν max min A A ( new_ maxa new_ mina) + new_ mina Dove: ν = valore da normalizzare; ν = valore normalizzato; min A = valore minimo della variabile A; max A = valore massimo della variabile A; new_min A = valore minimo del nuovo range che si vuole definire; new_max A = valore massimo del nuovo range che si vuole definire.
Z-score normalization ' ν ν mean = A σ A Dove: ν = valore da normalizzare; ν = valore normalizzato; mean A = valore medio della variabile A; σ A = deviazione standard della variabile A.
Robust normalization La robust scaling prevede, per una sequenza di dati {x i }, di sostituire, nella formula della Z-score, la media con la mediana e la deviazione standard con la MAD (median absolute deviation) così definita: S MAD = 1.4826 median i {Ix i -x median I}, Dove x median è la mediana di x La relazione diventa quindi: ν ' median = ν SMAD A
Modified normalization Questo metodo prevede che, per una variabile con n osservazioni, si determinino le n/2 osservazioni più vicine al valore della mediana. La mediana e la deviazione standard di questo sottoset di dati saranno successivamente utilizzate per autoscalare l intera sequenza n di dati. Una modifica a tale criterio è apportata dalla Consistent Modified Scaling che suggerisce di trovare un fattore di correzione alla procedura in modo da stimare quanto più accuratamente possibile la deviazione standard e la media del sottoset di dati utilizzato per normalizzare l intera sequenza di dati.
Min-Max Normalization 550 500 450 MIN-MAX NORMALIZATION Variabile non normalizzata Nm3 / h 400 350 300 250 0 1000 2000 3000 4000 5000 6000 1 Variabile normalizzata Andamento di una variabile prima e dopo la normalizzazione Nm3 / h 0.5 0 0 1000 2000 3000 4000 5000 6000 Esempio di codice Matlab
Robust Normalization ROBUST NORMALIZATION 550 500 Variabile non normalizzata Nm3 / h Nm3 / h 450 400 350 300 250 0 1000 2000 3000 4000 5000 6000 3 2 1 0-1 -2 Variabile normalizzata -3 0 1000 2000 3000 4000 5000 6000 Andamento di una variabile normalizzata Esempio di codice Matlab
Suddivisione dei dati L insieme dei dati viene diviso in due parti: Dati per l identificazione Dati per la validazione del modello entrambi gli insiemi devono essere rappresentativi della intera dinamica del processo i dati per l identificazione non devono contenere ridondanze, cioè trend ripetuti in modo prevalente rispetto agli altri per i modelli OE e ARMAX i dati dovrebbero essere contigui temporalmente (altrimenti si generano transitori errati) in ogni caso per tutti i modelli i tratti di dati discontinui possono essere uniti solo dopo avere creato i vettori di ingresso con i ritardi corretti il numero di dati per l identificazione deve essere scelto in funzione del numero di parametri liberi del modello