Tesina per il corso di Intelligenza Artificiale “ Missing Data Manipulation with MDT ” realizzato da Alfonso Isola & Filippo Grassia Prof. Ing. Alberto Faro Introduzione (1.1) L’obiettivo del nostro lavoro è quello di effettuare uno studio sulle più avanzate tecniche di manipolazione dei dati mancanti. Spesso nei problemi reali di misurazione di grandezze fisiche(elettriche,termiche,ecc.) si possono verificare dei malfunzionamenti dei dispositivi di misurazione (sensori,ecc.) a causa della loro usura o per l’azione di agenti esterni , questo comporta la perdita di misure indispensabili per il monitoraggio in Real-Time di un generico processo. Introduzione (1.2) Nel monitoraggio di un generico processo la fase di Preprocessing dei dati è essenziale per la corretta elaborazione dei dati misurati. Quindi si rende necessario l’utilizzo di moderne tecniche di interpolazione in Real-Time dei dati mancanti. Introduzione (1.3) Questo è possibile mediante l’utilizzo di modernissimi algoritmi e tools realizzati appositamente per queste problematiche. In particolare è stato di recente sviluppato un potente toolbox per Matlab 6.5 (ed eventuali versioni successive) il quale permette di effettuare l’Interpolazione dei dati mancanti mediante i metodi : Introduzione (1.4) Interpolazione Lineare Interpolazione Spline Interpolazione DRand Interpolazione Pchip Interpolazione Nearest NeighBour Interpolazione Som Interpolazione Mlp Introduzione (1.5) L’applicativo che permette tali elaborazioni è il toolbox : M.D.T. (Missing Data Toolbox) Missing Data Toolbox (2.1) Missing Data Toolbox (2.2) Riportiamo di seguito alcuni confronti tra le interpolazioni possibili con il Toolbox MDT: Esempio di Studio (3.1) Esempio di Studio (3.2) Il Comune di Catania insieme con Omnitel hanno sviluppato il primo progetto mondiale di monitoraggio permanente dei campi elettromagnetici denominato Cassiopea; l’obiettivo è quello di attivare un servizio semplice, affidabile, in grado di acquisire ed elaborare un insieme di dati comprensibili dalla cittadinanza, e di fornire ai cittadini una maggiore informazione grazie all’apporto dei mass media; attraverso tali rilevazioni, infatti, potrà essere verificata l’uniformità alla normativa nazionale vigente dei livelli di campo elettromagnetico presenti nell’area urbana. Esempio di Studio (3.3) Il sistema consiste di 15 centraline di monitoraggio dei campi elettromagnetici in prossimità di luoghi ad alto transito e all’interno di edifici pubblici e privati dove si possano verificare prolungate permanenze. I dati rilevati dai siti di monitoraggio, in funzione 24 ore su 24, verranno quindi inviati attraverso la tecnologia GSM, ad un server gestito dal Comune di Catania che, a sua volta li renderà pubblici tramite i canali di informazione verso la cittadinanza (internet, stampa,televideo, etc). Esempio di Studio (3.4) Il sistema di monitoraggio CASSIOPEA è composto da 10 postazioni indoor e da 5 postazioni outdoor. Le postazioni di misura sono state localizzate presso 8 scuole elementari e/o materne, 1 scuola media, 3 parchi gioco e/o giardini pubblici, 3 ospedali. Nella totalità dei casi le sorgenti di emissione (in particolare impianti di telefonia cellulare) si trovano "a vista" rispetto alle postazioni dove sono collocati i sensori, o comunque a distanze dell'ordine di poche centinaia di metri. Esempio di Studio (3.5) Un sistema di gestione dati, con un modem GSM provvedono alla trasmissione periodica dei dati raccolti, mentre un apposito software di gestione archivia ed elabora i dati acquisiti all’interno di un database Microsoft Access. I dati elementari che vengono raccolti per ogni stazione sono pari a 24 valori orari giornalieri. Viene riportato come livello di riferimento quello pari a 6 V/m previsto come limite per i luoghi dove sostano persone per periodi superiori a 4 ore (Decreto Interministeriale n.381 del 10/9/1998). Problema (4.1) La postazione scelta per il nostro lavoro è stata quella presente all’interno di Villa Bellini. Le postazioni di rilevamento sono attrezzate con sensori (Wavetek Wandel Goltermann Italia modello EMR 30) con campo di misura da 27 a 2000 MHz. Può capitare per i motivi precedentemente accennati che vi siano mancanze di dati dovute a problemi di trasmissione dei dati del sistema GSM oppure a malfunzionamenti del sensore succitato. Problema (4.2) La Direzione dello Sviluppo Sistemi Informati del Comune di Catania ci ha gentilmente fornito un database Access di misure relativo all’anno 1999, il quale presenta numerosi dati mancanti. Il nostro studio consiste nello scegliere l’opportuna tecnica di interpolazione a seconda del tipo di gap dei dati mancanti. Dove per tipo di “gap” intendiamo la lunghezza dell’intervallo di dati mancanti. Formattazione Dati per MDT Come detto le misure da elaborare sono memorizzate in Database Access. Per la loro elaborazione si è presentato il problema di dover convertire i dati in un formato riconosciuto dall’MDT. Abbiamo realizzato un applicativo che svolgesse tale funzione: MDT FileMaker MDT FileMaker (5.1) MDT FileMaker (5.2) La funzione di questo applicativo è quella di inserire il tag di dato mancante (es. NaN) all’interno del file testo che verrà elaborato successivamente dall’MDT, e inoltre permette di creare un file di Log in cui sono presenti date e orari in cui si sono verificate anomalie di funzionamentodel sistema di misura o di trasmissione. Come illustrato di seguito: MDT FileMaker (5.3) In figura è mostrato il database Access contenente le misure , come si vede viene evidenziato un intervallo di misure mancanti da interpolare. MDT FileMaker (5.4) Nella figura accanto si riporta il risultato ottenuto mediante l’elaborazione con MDT FileMaker , sotto si riporta il relativo file di Log. Grafico delle Misure (6.1) Riportiamo di seguito il grafico delle misure non interpolate: Grafico delle Misure (6.2) Riportiamo di seguito uno zoom delle misure non interpolate nella fascia peggiore (Giugno 1999): Tecniche di Interpolazione (7.1) Ecco la pagina di impostazione delle tecniche di interpolazione presenti in MDT: Tecniche di Interpolazione (7.2) Interpolazione Lineare “L’interpolazione lineare è il procedimento mediante il quale si calcola il valore di una grandezza y, dipendente da un’altra grandezza x, in corrispondenza di valori della x (x1,………, xn) diversi da quelli per i quali sono noti i valori di y (y1,………, yn)”. In senso stretto, il termine interpolazione indica il calcolo di valori di y per valori di x “compresi” tra i valori anzidetti. Se si pensa x, y come coordinate cartesiane, il problema dell’interpolazione si traduce graficamente nel problema di tracciare una curva “regolare”, detta curva interpolatrice, passante per i punti di coordinate (xi, yi). Tecniche di Interpolazione (7.3) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione lineare dei dati : Tecniche di Interpolazione (7.4) Interpolazione Spline L'interpolazione mediante Spline prevede un approccio diverso al problema dell'interpolazione. Le Spline sono funzioni polinomiali a tratti che interpolano quindi la funzione tenendo fisso il grado del polinomio ma dividendo l'intervallo di interpolazione in intervalli più piccoli e considerando un polinomio diverso per ognuno di questi sottointervalli. Tecniche di Interpolazione (7.5) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione Spline dei dati : Tecniche di Interpolazione (7.6) Interpolazione DRand L'interpolazione mediante DRand prevede un approccio del tutto casuale al problema dell'interpolazione. I dati mancanti vengono sostituiti da valori creati all’interno del range delle misure. Tecniche di Interpolazione (7.7) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione DRand dei dati : Tecniche di Interpolazione (7.8) Interpolazione PChip Questo tipo di interpolazione viene effettuata sfruttando il Polinomio di Hermite , note alcune misure permette di ricavare i dati mancanti. Riportiamo di seguito la formula del Polinomio di Hermite: Tecniche di Interpolazione (7.9) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione Pchip dei dati : Tecniche di Interpolazione (7.10) Interpolazione Nearest Neighbour L'interpolazione mediante Nearest Neighbour effettua un interpolazione dei punti utilizzando il valore del punto di dati più vicino. Perciò, questo metodo non genera punti di dati nuovi. Tecniche di Interpolazione (7.11) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione Nearest Neighbour dei dati : Tecniche di Interpolazione (7.12) Interpolazione MLP (Multilayer Perceptron) Un multilayer perceptron è un esempio di rete con uno o piu strati di neuroni tra i nodi input e quelli output (unità nascoste o hidden units). Lo strato nascosto riceve gli ingressi dallo strato precedente, e dipendentemente dai pesi produce un’uscita che prosegue nello strato successivo. Per quanto riguarda il numero di nodi da inserire, in linea generale, i neuroni dello strato nascosto devono essere almeno quante sono le classi di input presentate durante l’apprendimento. Tecniche di Interpolazione (7.13) Ogni neurone ha un’uscita non lineare continua, data dalla funzione sigmoidale , essa è necessaria per correggere gli errori durante l’apprendimento. Tecniche di Interpolazione (7.14) L’aumento delle potenze di calcolo degli elaboratori risvegliò l’interesse, negli anni ottanta, verso queste reti. Si riuscì infatti ad applicare con successo l’algoritmo di apprendimento del tipo “backpropagation”, ancora oggi uno dei metodi più utilizzati. L’apprendimento è il processo mediante il quale vengono determinati i parametri di una rete. Si può distinguere tra apprendimento “supervisionato” e apprendimento “non supervisionato”. Tecniche di Interpolazione (7.15) Nel primo caso i parametri vengono costruiti sulla base di un insieme di esempi (il training set) consistenti in coppie di ingresso/uscita desiderate. Lo scopo dell’addestramento è quello di costruire un modello del processo che genera i dati. Nel secondo caso la rete è dotata di una capacità di auto-organizzazione ed è in grado di classificare gli ingressi autonomamente. il caso delle reti neurali di Kohonen (Mappe SOM) , che verranno analizzate nel seguito.Noi abbiamo invece utilizzato entrambe le tecniche per effettuare l’interpolazione delle misure mancanti. Tecniche di Interpolazione (7.16) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione MLP dei dati : Tecniche di Interpolazione (7.17) Interpolazione mediante Mappe SOM Nell’esempio del perceptron, e nelle reti da esso derivate, era necessaria l’implementazione di un insegnante che sapesse a priori la classificazione dei pattern di input nel training set. L’obiettivo era quindi la generalizzazione da questi ad altri input mai analizzati esplicitamente, lasciando il compito alla rete di decidere la risposta più corretta. Nelle reti di tipo non supervisionato, si lascia il compito alla rete stessa di ricercare una classificazione logica dei dati di ingresso. Tecniche di Interpolazione (7.18) Le Reti di Kohonen (T. Kohonen, 1983) nascono dallo studio della topologia della corteccia del cervello umano. Queste reti tengono conto non solo delle connessioni sinottiche tra neuroni ma anche dell’influenza che può avere un neurone sul vicino. stato osservato che, nel caso biologico, i neuroni che sono fisicamente vicini a neuroni attivi hanno i legami più forti, mentre quelli ad una particolare distanza hanno legami inibitori. Tecniche di Interpolazione (7.19) A questa caratteristica Kohonen attribuisce uno sviluppo nella capacità di realizzare delle mappe topologiche (ovvero che mantengono le relazioni di vicinanza) localizzate nel cervello. Questa caratteristica è stata modellata da Kohonen restringendo la variazione dei pesi soltanto ai neuroni giudicati “vicini” ad un neurone. Tecniche di Interpolazione (7.20) Una rete di Kohonen è costituita da una serie di neuroni di input (come per le reti multi-strato) e da una griglia ndimensionale di neuroni. Ciascun neurone di input è connesso a tutti i neuroni della griglia: la risultante matrice dei pesi viene usata per propagare l’ingresso della rete ai neuroni della mappa. Inoltre, tutti i neuroni della mappa sono connessi tra loro. Queste connessioni servono per influenzare i neuroni adiacenti al neurone con la più alta attivazione, dipendentemente dalla distanza da esso. Tecniche di Interpolazione (7.21) Riportiamo di seguito i risultati ottenuti effettuando l’interpolazione Mappe SOM dei dati : Conclusioni (8.1) Da un attenta analisi dei dati , abbiamo notato che i risultati ottenuti utilizzando le varie tecniche d’interpolazione variano a seconda del gap di dati presente nelle misure. Ciò vuol dire che prima di utilizzare una qualunque tecnica d’interpolazione è necessario capire quale sia la tecnica migliore da applicare a seconda dei tipi di gap presenti all’interno dei nostri dati reali. Conclusioni (8.2) Abbiamo effettuato una classificazione del gap in: • Corto (gap di ampiezza inferiore a 4 misure mancanti) • Medio (gap di ampiezza tra 4 e 20 misure mancanti) • Lungo (gap di ampiezza superiore a 20 misure mancanti) N.B. Le ampiezze di tali gap si possono considerare variabili a secondo del problema reale affrontato. Conclusioni (8.3) Gap Corto Dalle prove effettuate abbiamo notato che in questi casi si possono ritenere soddisfacenti i risultati ottenuti con tutte le tecniche di interpolazione prese in considerazione, fatta eccezione per l’interpolazione lineare la quale risulta soddisfacente nei casi più banali. Conclusioni (8.4) Gap Lungo Dalle prove effettuate abbiamo notato che in questi casi solo alcune tecniche più sofisticate di interpolazione come quella delle Mappe Som e del MLP permettono di ottenere risultati sufficenti. Comunque il fatto che i risultati si possano considerare sufficenti dipende fortemente dal caso reale che si sta studiando. Conclusioni (8.5) Gap Medio Nel nostro problema reale per questo tipo di gap abbiamo ottenuto ottimi risultati con le tecniche di interpolazione mediante Mappe Som , MLP e Pchip. Sviluppi Futuri Quanto trattato nel nostro lavoro , ovvero la possibilità di potere scegliere la tecnica di interpolazione più corretta a secondo del tipo di gap , è possibile implementarlo modificando l’applicativo MDT FileMaker da noi realizzato. Più precisamente si potrebbe realizzare una funzione che effettui una scansione delle misure reali e consigli a seconda dei casi la migliore tecnica di interpolazione da eseguire. Oppure realizzare una funzione che sezioni l’insieme delle misure utilizzando per lo stesso set di dati più tecniche d’interpolazione (se necessario). Ringraziamenti Approfittiamo per ringraziare la Direzione dello Sviluppo Sistemi Informati del Comune di Catania che ci ha gentilmente fornito le misure da elaborare.