Tesina per il corso di Intelligenza Artificiale Missing Data

annuncio pubblicitario
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.
Scarica