Home
Data Mining: tecniche di trasformazione dei dati (Parte terza)

02 Novembre 2004

Data Mining: tecniche di trasformazione dei dati (Parte terza)

di

Lo scopo di questo articolo (il terzo di una serie) è quello di dare indicazioni specifiche, utili alla costruzione di sistemi di Data Mining, in termini di metodologie di sviluppo e di analisi.

L’articolo, come si diceva nelle parti precedenti, propone inoltre un’indagine sulle tecniche che soddisfano le esigenze di analisi, ne descrive la possibile applicabilità e fornisce dei parametri di valutazione.

Trasformazione dei dati

Dopo che i dati sono stati “puliti”, trattati tutti i valori non validi e mancanti e valutata la consistenza dei dati si è pronti per effettuare le trasformazioni necessarie. Le trasformazioni potrebbero essere dettate da esigenze di migliore comprensione del fenomeno e dalla massimizzazione delle informazioni contenute nei dati: una combinazione di variabili può portare alla creazione di una nuova dimensione maggiormente esplicativa. La trasformazione è dettata anche da esigenze di sintesi: l’applicazione del metodo delle componenti principali, ad esempio, riduce le dimensioni del problema individuando un limitato numero di variabilità essenziale del fenomeno indagato.

Sostanzialmente le trasformazioni possono essere di due tipi:

  1. Trasformazioni sulla distribuzione dei dati: modificazioni matematiche alla distribuzione delle variabili.
  2. Creazioni di dati: creazione di nuove variabili dalla combinazione di variabili esistenti per eseguire tassi, differenze e così via.

Per le analisi statistiche, la fase della trasformazione dei dati è critica poiché alcune metodologie statistiche richiedono che i dati siano linearmente collegate ad una variabile obiettivo, normalmente distribuiti e liberi dagli outliers. Mentre i metodi dell’intelligenza artificiale e del machine learning non richiedono rigorosamente che i dati siano normalmente distribuiti o lineari, e alcuni metodi – gli alberi decisionali, per esempio – non richiedono che gli outliers siano trattati preventivamente. Questa è la maggiore differenza tra le analisi statistiche e il data mining. Gli algoritmi del machine learning hanno la capacità di trattare automaticamente con distribuzioni non lineari e non normali, anche se in molti casi gli algoritmi lavoreranno meglio se questi criteri sono verificati.

Per i metodi del machine learning le ragioni per il cambiamento delle distribuzioni delle variabili (tipo 1. delle trasformazioni) possono essere:

Eliminare gli effetti degli outliers. Se i valori degli outliers sono estremi possono seriamente alterare l’accuratezza del modello che sarà costruito. Qualche volta gli outliers sono utili e non devono essere rimossi. Questo accade quando si è interessati al fraud detection o al deviant detection, in questi casi gli outliers possono essere i record che si stanno cercando e non dovrebbero essere toccati.

Rendere i dati “facilmente” interpretabili. Molte variabili di transazioni, come reddito e il numero di transazioni, hanno una distribuzione asimmetrica. Utilizzando i dati in questo formato le loro visualizzazioni sono difficili da interpretare. Usando uno schema di discretizzazione o prendendo il logaritmo, si trasformano tali variabili in modo da distribuire normalmente i dati, in questo modo il risultato è facile da interpretare e qualche volta si migliora anche la qualità dei risultati.

Ci sono diverse trasformazioni di creazione di dati (tipo 2.) che sono molto utili e possono migliorare in modo impressionante i risultati di un progetto di data mining.

Tra questi si hanno:

Variabili di tasso. Si creano delle nuove variabili più rappresentative e si ridurre il numero di variabili totali migliorando le performance del modello. Per esempio si può scegliere di prevedere il rischio di credito dal rapporto debito/reddito piuttosto che debito e reddito come variabili indipendenti.

Termini derivati dal tempo. La creazione di questi termini è importante nelle predizioni poiché la variazione dei dati nel tempo è fondamentale per questa attività.

Discretizzazioni usando range. La discretizzazione dei dati numerici usando dei range (di tutti i possibili valori) è un buon modo per normalizzare i dati. La creazione di range discreti permette una facile comprensione dei dati. Altre volte sono proprio i tool a dettare la rappresentazione dei dati. Per esempio, le reti neurali lavorano bene su variabili dicotomiche “1” o “0” e molti alberi decisionali usati per le classificazioni richiedono che valori continui, come il reddito, siano raggruppati in range come “Alto”, “Medio” e “Basso”. La trasformazione in range dei dati può essere utile anche a rimuovere gli effetti degli outliers. Da notare che la codifica che si sceglie può influenzare il risultato del modello che si sta generando.

Trasformazioni matematiche. Le funzioni matematiche applicate per trasformare i dati sono utili per standardizzare distribuzioni anormali e quando si tenta di linearizzare una variabile. Alcune funzioni matematiche includono trasformazioni logaritmiche, trasformazioni ad hoc e trasformazioni polinomiali.

Le trasformazioni logaritmiche sono usate per normalizzare una variabile che ha una distribuzione asimmetrica. Queste tendono anche a ridurre gli effetti degli outliers.

Le trasformazioni polinomiali sono utili quando si vogliono linearizzare i dati che sono distribuiti in modo continuo.

Conversioni da testo a numerico. Alcuni strumenti di data mining possono lavorare solo su input numerici. In questi casi, ai discreti valori testuali occorre assegnare un codice. Ma è possibile fare questo soltanto quando un tool di data mining è abbastanza intelligente da trattare queste informazioni in modo corretto. Per esempio, se vengono convertite i nomi delle città con i corrispondenti CAP, non ha alcun senso effettuare computazione su tali codici.

Dopo che i dati sono stati preparati, selezionati e trasformati, si è pronti a far girare gli algoritmi di data mining.

Costruzione del modello

In questa fase il focus del processo riguarda la costruzione di regole generali a partire dai dati osservati.

Da un punto di vista generale si possono distinguere tecniche per lo studio dell’interdipendenza da quelle utilizzate per lo studio della dipendenza. Una ulteriore distinzione riguarda il tipo di variabili utilizzate per descrivere il fenomeno oggetto di studio: variabili qualitative o variabili quantitative.

Lo studio dell’interdipendenza per variabili di tipo qualitativo si avvale di tecniche quali l’analisi delle corrispondenze o i modelli log lineari; per variabili di tipo quantitativo si ricorda, a titolo esemplificativo, l’analisi dei gruppi, l’analisi delle componenti principali. Tecniche di questo tipo vengono impiegate nei progetti di segmentazione comportamentale della clientela, definizione di nuovi prodotti, costruzione della scheda cliente o della scheda agenzia.

L’analisi di dipendenza riguarda lo studio di una variabile rispetto ad altre variabili considerate esplicative. Anche in questo caso i modelli possono essere impiegati a seconda della natura delle variabili considerate: nel caso di variabili categoriche, ad esempio, modelli logit; nel caso di variabili quantitative, modelli di regressione lineare o logistica, a seconda della natura della variabile dipendente.

Tecniche di analisi delle dipendenze vengono impiegate nei progetti di costruzione di scoring system o di valutazione del potenziale a livello di singolo cliente o a livello di area territoriale.

Questo tipo di modellistica è piuttosto tradizionale. In genere la possibilità di capire a fondo i modelli e soprattutto la trasparenza degli stessi portano ad una preferenza nel loro utilizzo rispetto a metodi più complessi e di più difficile analisi. In molti casi però considerazioni sullo spazio delle variabili, sulla dimensione del problema, sulla complessità del modello esplicativo sottostante portano alla necessità di utilizzare altro tipo di modellistica: reti neurali, alberi decisionali, algoritmi genetici. Si tratta di modelli che trattano diverse tipologie di variabili e che hanno il pregio di funzionare anche quando la dimensione del problema è decisamente ampia.

Sono proprio gli avanzamenti tecnologici recenti che hanno reso possibile l’impiego di queste tecniche, destinate a diventare una parte fondamentale del bagaglio degli attrezzi dell’analista.

Alle nuove tecnologie è legato il concetto di training o learning che deriva direttamente dal campo dell’intelligenza artificiale del machine learning. Con esso si intende quella fase della costruzione del modello dove il modello stesso (tramite un algoritmo di apprendimento) apprende le informazioni contenute nel training dataset – un particolare sottoinsieme dei dati preparati ai passi precedenti. Se si tratta della costruzione di un modello predittivo, il training dataset, conterrà tutte variabili necessarie per le predizioni, dette variabili indipendenti, e la variabile che contiene il risultato, detta variabile dipendente o target. L’apprendimento in cui si conosce anche il risultato viene detto supervised learning (apprendimento supervisionato), come il caso del fraud detection e del risk management. Mentre l’apprendimento in cui non è noto il risultato viene detto unsupervised learning (apprendimento non supervisionato), un esempio sono gli algoritmi di clustering dove il gruppo target non è noto a priori.

Una volta che il modello è stato addestrato sul training dataset viene controllato su un altro insieme di dati (differente dal precedente e contenente ancora anche le risposte) che viene solitamente chiamato test dataset.

Mentre ci sono sempre almeno due dataset, training e testing, è possibile che ci siano tre o meglio quattro dataset usati per generare e validare un modello predittivo. Questi dataset chiamati solitamente training, control, test e validation sono usati nel modo seguente:

  • training: usato per la costruzione del modello,
  • control: opzionale, usato per controllare l’overtraining del modello, la tendenza di apprendere l’istanza di addestramento piuttosto che generalizzare,
  • test: usato dal tool di costruzione del modello per valutare l’accuratezza di un particolare modello,
  • validation: spesso usato dall’esperto di metodi quantitativi per valutare l’accuratezza del modello finale dalla comparazione del valori predetti dal modello e le risposte note.

La ragione della presenza di molti dataset è dovuta al fatto che il processo di data mining è un processo interattivo con diversi livelli di cicli annidati. Ad ogni livello è necessario un nuovo dataset indipendente che possa veramente testare o validare il modello prodotto al precedente livello di ciclo.

Durante il processo di data mining non viene creato un unico modello, ma lo stesso tool che si utilizza mette a disposizione tecnologie diverse, per poter creare modelli diversi e valutare quale si comporta meglio sul problema in esame e sui dati disponibili.

Scelta dell’approccio, della tecnologia e dell’algoritmo

La costruzione pratica del modello inizia con la scelta dell’approccio con cui si vuole studiare il problema di business delineato nella prima fase del processo di sviluppo di un sistema di Data Mining. Per un determinato problema di business non esiste un’unica tecnica di analisi così come per una tecnica di analisi non esiste un’unica tecnologia che la supporta.

Interpretiamo la cardinalità (‘1’ o ‘m’) delle relazioni tra le fasi fondamentali di un processo di data mining mostrate in figura:

  • Tra problema di business e approcci di data mining (m:m). Un problema di business può essere studiato usando più di una classe di modelli, e naturalmente un approccio di modellazione può essere applicato a molti problemi di business.
  • Tra approcci di data mining e tecnologie (m:m). Più di una tecnologia può essere usata per ogni classe di modelli, e ogni tecnologia può essere usata per più classi di modelli.
  • Tra tecnologie e algoritmi (1:m). Una tecnologia può essere implementata in più modi.
  • Tra tecnologie e prodotti (m:m). I tool di Data Mining possono supportare più di una tecnologia, e naturalmente una tecnologia è supportata da più fornitori di prodotti.
  • Tra algoritmi e prodotti (1:1). Per ogni data tecnologia (dalla lieve diversità d’interpretazione della notazione del modello), ogni particolare prodotto supporta una particolare implementazione del relativo algoritmo.

Con maggiore precisione si può dire che esistono sei maggiori classi di approcci di data mining (o tecniche di analisi o classi di modelli), esse sono: le classificazioni, le regressioni, le serie storiche, il clustering, le associazioni e la scoperta delle sequenze. Si vedranno più in dettaglio nel prossimo capitolo.

Per quanto riguarda le tecnologie esse sono la base dei sistemi di data mining, e agli iniziali metodi statistici si sono aggiunti col tempo nuove tecnologie per la scoperta di pattern nei dati. Tra esse si ricordano gli alberi decisionali, le reti neurali, i sistemi basati su logica fuzzy e così via come mostrato nei capitoli successivi.

Sebbene ogni tecnologia rappresenta uno specifico tipo di analisi, i prodotti implementano più tecnologie, e il progetto di un algoritmo di data mining può avere significative differenze dalle performance e dalla scalabilità del prodotto. Questo è cruciale quando al prodotto è richiesto di esplorare dei VLDB; non si fanno assunzioni sulla lineare scalabilità di un tool di data mining quando il volume dei dati cresce.

Col tempo sono stati sviluppati, e messi a disposizione dei tool di data mining, degli algoritmi sempre più sofisticati. Ad esempio per l’implementazione (di metodi) degli alberi decisionali si ricordano: il CART (Classification and Regression Tree), il CHAID (CHi-squared Automatic Interaction Detection), l’Entropy Variance, l’ANOVA, il Gini Variance. Per l’implementazione delle varie architetture delle reti neurali si ricordano: il MLP (Multi-Layer Perceptron), la PPN (Probabilistic Neural Network), le RBF (Radial Basic Functions), le mappe auto-organizzate di Kohonen, le MBR (Memory Based Reasoning) e così via, e per le cluster analysis il K-means.

Valutazione e interpretazione dei risultati

Dopo che è stato costruito un modello, bisogna valutare i suoi risultati e interpretare il loro significato. Quando si conduce la validazione del modello, bisogna trovare un tasso di accuratezza.

È importante ricordare che questo tasso di accuratezza è applicato solo ai dati sul quale il modello è stato costruito. In pratica, l’accuratezza può variare se i dati che si applicano al modello si differiscono significativamente dai dati originari.

Per problemi di classificazione, una matrice di confusione è molto utile per comprendere i risultati. Una matrice di confusione mostra il numero dei valori reali delle classificazioni e il numero dei valori previsti. Non solo mostra come il modello predice bene ma presenta anche i dettagli necessari per indicare con precisione dove le cose vanno male.

Di grande aiuto sulla valutazione dell’utilità di un modello sono i lift chart o gain chart. Esso mostra come le risposte (ad una mailing list o un trattamento chirurgico) sono cambiate con l’applicazione del modello.

Si vede ad esempio che se si prende casualmente (random) il 10% del target, la risposta al trattamento è il 10%, mentre se si prende il 10% del target selezionato dal modello (target con punteggio – scored), le risposte sono superiori al 30%. Questo miglioramento delle risposte è chiamato lift.

Un altro importante componente di interpretazione è la valutazione del “valore” del modello. Il modello è sicuramente interessante, ma le operazioni per costruirlo possono costare più dei ritorni o dei risparmi generati. Un diagramma del ROI che fornisce i valori delle risposte e i costi per ottenerli dà un ulteriore aiuto per le decisioni di marketing.

Da tenere sempre presente che i risultati di un modello sono solo profittevoli se si può agire con essi. Bisogna essere sicuri di avere un vantaggio pratico dalla conoscenza che si guadagna.

Vuoi rimanere aggiornato?
Iscriviti alla nostra newletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Corsi che potrebbero interessarti

Vedi tutti
[cover] Big Data Analytics iniziare bene Corso In aula

Big Data Analytics: iniziare bene

Credi che i Big Data siano una grande opportunità ma pensi che spesso se ne parli a sproposito? Excel ti sta stretto e vorresti fare di più? Andrea De Mauro ti aiuta a fare chiarezza e ti insegna a muovere i primi passi nell'analisi dei Big Data.

349,00

Milano - 21/9/2019

con Andrea De Mauro


Libri che potrebbero interessarti

Vedi tutti

Data Science

Guida ai principi e alle tecniche base della scienza dei dati

45,00

59,99€ -25%

29,75

35,00€ -15%

24,99

di Sinan Ozdemir

Big Data Analytics

Analizzare e interpretare dati con il machine learning

37,90

49,89€ -24%

25,42

29,90€ -15%

19,99

di Andrea De Mauro

Data Science con Python

Dalle stringhe al machine learning, le tecniche essenziali per lavorare sui dati

37,00

48,99€ -24%

24,65

29,00€ -15%

19,99

di Dmitry Zinoviev