In questo Caffè Sospeso seguiamo Gian Franco Stucchi nella “selva oscura” del Data Mining alla ricerca della conoscenza latente o nascosta nelle strutture informative e nei processi d’impresa.
L’estensione della conoscenza, permessa dai progressi della Scienza e della Tecnologia, riguarda le facoltà intellettive e creative dell’uomo, avviene senza alcun contributo dovuto all’evoluzione biologica e consente la creazione di beni, prodotti e servizi, sempre più knowledge-intensive (o technology-intensive) in sostituzione di quelli labor-intensive. L’evoluzione tecnologica e una serie di cambiamenti organizzativi e strutturali di vasta portata stanno accelerando la trasformazione delle imprese in sistemi in grado di apprendere dall’esperienza e di adattarsi ai mutamenti esterni. La nozione di ripetibilità, per quanto spesso sia intesa nel senso di “fare continuamente la stessa cosa”, implica in realtà il ricorso a un’esperienza precedentemente acquisita in situazioni simili al fine di assumere le decisioni migliori per ogni iniziativa imprenditoriale.
Tuttavia, sviluppare la capacità di impossessarsi della conoscenza insita nell’esperienza è una sfida non indifferente, ma utilizzare i dati prodotti dai processi di natura endogena o esogena ad un sistema come depositi di conoscenze ovvero come “memorie” del sistema stesso costituisce una potente leva d’azione per governarne l’evoluzione e per modificare le modalità con le quali vengono attuate le interazioni con l’ambiente. Catturare, gestire e integrare la conoscenza insita nei dati ed elaborata nei processi significa offrire alle organizzazioni una serie di strumenti efficaci che possono essere utilizzati per reagire ai ritmi derivanti dalla turbolenza dei contesto ambientale.
Ma tra il dire e il fare c’è di mezzo il solito mare. E’ necessario, innanzitutto, dare un significato ai dati, un’attività che nella letteratura ICT corrente è denominata in termini differenti. A seconda della comunità di ricerca che se ne occupa, si incappa in termini quali knowledge extraction, information harvesting, data archeology, data pattern processing. Il termine Data Mining, oggi “sugli scudi” in molte discipline di Management, è utilizzato per lo più dagli studiosi di database, in ambito statistico e, sempre più spesso, in campo economico.
L’acronimo KDD (Knowledge Discovery in Databases) è utilizzato per riferirsi ad un processo che mira a scoprire informazioni utili a partire dai dati disponibili. Il Data Mining costituisce solo una fase particolare in questo processo, la fase in cui si opera l’applicazione di algoritmi specifici per estrarre modelli o pattern significativi dai dati. Sono gli altri passi del processo KDD, come la preparazione, la selezione, la pulizia dei dati, la fusione di appropriate informazioni antecedenti e la corretta interpretazione dei risultati del mining, che assicurano che l’informazione sia significativa. La cieca applicazione dei metodi di Data Mining può essere un’attività pericolosa, che conduce sovente alla scoperta di modelli privi di senso (non a caso, un tempo, la letteratura statistica definiva come “drogati” i risultati di queste tecniche).
Il KDD, come disciplina tecnico-scientifica, sta evolvendo e si potenzia grazie alla fertilizzazione incrociata delle ricerche nei campi più disparati; non solo, quindi, dal settore che si occupa dello studio e della progettazione dei database (e di tutto ciò che vi è di afferente, inerente o consequenziale come i data warehouse o i data mart) ma anche da settori apparentemente più distanti quali quelli che si interessano di intelligenza artificiale, di statistica, di modellistica, di sistemi esperti, di metodi di reporting, di metodi per il recupero dei dati e di metodi per accrescere la velocità di calcolo. I sistemi software di KDD incorporano perciò teorie, algoritmi e metodologie derivate da un elevato numero di settori di indagine.
L’approccio tradizionalmente adottato per ottenere informazioni da un database è basato sull’uso di strumenti che consentono di effettuare semplici interrogazioni (query), formulate in un linguaggio naturale o formale, come l’SQL; questi strumenti risultano, però, inaccettabilmente lenti su grandi quantità di dati. Un approccio popolare al Data Warehousing è chiamato OnLine Analytical Processing (OLAP): gli strumenti della metodologia OLAP si focalizzano sulla fornitura di un’analisi multidimensionale dei dati che è qualitativamente superiore a quelle ottenibili con il tradizionale linguaggio SQL. Nel paradigma OLAP viene preparata in anticipo una vasta classe di query, sommarizzando i dati in categorie di business predefinite. Per esempio, una regola potrebbe indicare un certo importo di reddito come piccolo, medio o grande, permettendo quindi di condensare i dati in modo da facilitare la creazione di fogli elettronici e tabulazioni incrociate.
L’approccio OLAP è quindi più veloce di quello basato sulle query tradizionali, poiché opera su dati aggregati. Lo svantaggio è che le norme, che rendono possibile la sommarizzazione, scartano i dettagli, con la possibilità, a volte, di perdere importanti informazioni.
I settori della ricerca coinvolti nello studio dei modelli di deduzione, quelli che studiano la rilevazione statistica di modelli, la statistica applicata, la scienza dell’informazione e le reti neurali sono stati lo stimolo per molti nuove attività di KDD, prime fra tutte il Data Mining.
E’ comunque importante domandarsi in che cosa il KDD sia effettivamente differente dagli altri processi di indagine. Esso si focalizza sul processo generale di knowledge discovery comprendendo tutto ciò che riguarda le metodologie di memorizzazione e accesso; valutando come gli algoritmi possano essere commensurabili e coerenti con le dimensioni (spesso enormi, come i big data) e la natura (quasi sempre eterogenea) di strutture informative complesse e possano funzionare efficientemente con operandi siffatti; o ancora individuando come i risultati possano essere visualizzati e interpretati in modo significativo (riducendo al minimo l’errore sistematico o il “rumore”); o, infine, come possano essere modellate e supportate le complesse interazioni uomo-macchina. Il KDD, inoltre, pone un’enfasi particolare nella determinazione di modelli non-standard in grado di rilevare una conoscenza significativa o quantomeno interessante latente o occulta. La scalabilità degli algoritmi di modellazione e le proprietà di robustezza al rumore rappresentano, infine, aspetti altrettanto fondamentali.
La statistica ha molto in comune con il KDD. Essa fornisce un linguaggio e una struttura adatta a quantificare l’incertezza derivante dal tentativo di generalizzare i modelli, quasi sempre tratti da particolari campioni di una popolazione generale. Come accennato precedentemente, il termine Data Mining ha avuto connotazioni negative in ambito statistico sino agli anni ’60, fino a quando, cioè, apparvero le prime tecniche di analisi basate sull’utilizzo degli elaboratori.
Il fatto è che se si ricerca abbastanza a lungo, ogni “universo” di dati (anche quelli prodotti casualmente) può generare modelli che appaiono, pur non essendolo, statisticamente significativi. Da questa rilevazione, di fondamentale importanza, nasce la seguente considerazione: solo se il processo KDD viene svolto correttamente è possibile legittimare, in ambiente statistico, il Data Mining.
Il KDD ha sicuramente una visione più allargata rispetto alla visione statistica, poiché cerca di generare strumenti per automatizzare l’intero processo di analisi dei dati, includendo l’arte, tipicamente statistica, della selezione delle ipotesi.
Si arriva dunque ad ottenere, per il KDD, la prospettiva di una struttura unificata e processo-centrica. Lo scopo è quello di giungere a una panoramica delle attività di questi campi multidisciplinari e di mostrare come questi interagiscano. Si definisce il processo KDD come: “Il processo non-banale di identificazione di modelli di dati validi, originali, potenzialmente utili e comprensibili”.
Da questa definizione si deduce la possibilità di individuare misure quantitative per valutare i modelli trovati. Concetti come originalità e comprensibilità sono, chiaramente, molto più soggettivi anche se, in certi contesti, la comprensibilità può essere stimata con semplicità.
Un aspetto importante, che combina validità, originalità, utilità e semplicità, è definito come “interestingness” (attrattività) ed è generalmente assunto come misura generale del valore di un modello.
Il Data Mining si occupa di enumerare i modelli, ma, dal momento che questi, anche considerando un insieme finito di dati, sono potenzialmente infiniti, e poiché questa operazione richiede una ricerca ad ampio raggio d’azione, i limiti computazionali pongono severe limitazioni allo spazio che può essere esplorato attraverso i suoi algoritmi.
Il processo KDD è interattivo e iterativo e comprende numerosi passi descritti come segue:
- Comprensione del campo di indagine: capire quali sono le priorità di approfondimento e individuare gli obiettivi.
- Target dataset: creare una base di dati da cui partire, cioè selezionare un particolare insieme di dati o focalizzarsi su un sottoinsieme di variabili o modelli sui quali si vuole indagare.
- Data cleaning e preprocessing (avvio delle attività di analisi): ovvero avvio delle operazioni di base, come la rimozione dei disturbi o di dati estranei, la raccolta di tutte le informazioni necessarie per modellare e spiegare il rumore, la definizione delle strategie per il trattamento dei dati eliminati, l’orientamento dell’informazione rispetto al tempo (informazioni in sequenza e in cambiamento), come pure la spiegazione di tutto ciò che emerge dal DBMS – come, per esempio, i modelli di dati, i pattern e la mappatura dei valori mancanti e incogniti.
- Riduzione e proiezione dei dati: ricerca di modalità utili per rappresentare i dati, in relazione all’obiettivo dell’applicazione, e utilizzo di riduzioni dimensionali e metodi di trasformazione per cercare rappresentazioni alternative dei dati o per diminuire l’effettivo numero di variabili sotto osservazione.
- Scelta della funzione di Data Mining: individuazione del fine che si propone il modello derivato dall’algoritmo di Data Mining (per esempio sommarizzazione, classificazione, regressione, etc.).
- Scelta dell’algoritmo (o degli algoritmi) di Data Mining: scelta del metodo da usare per ricercare modelli dai dati e decisione su quale tra questi possa essere il più appropriato e accoppiamento di un particolare metodo di Data Mining con i più generali criteri del processo KDD (un utente potrebbe essere più interessato alla comprensione del modello piuttosto che alla sua capacità di predizione).
- Data visualization: ricerca di modelli di interesse per una particolare forma di rappresentazione.
- Interpretazione dei modelli scoperti e possibilità non solo di rimandare il processo ad uno dei passi precedenti ma anche di generare forme di visualizzazione dei modelli estratti comprensibili agli utenti finali.
- Utilizzo della conoscenza acquisita: acquisizione e fusione di informazioni e esperienze precedenti nei sistemi in uso, avvio di azioni basate su di esse o attività di documentazione o di reporting.
Sebbene ognuno di questi passi rivesta particolare importanza per il successo di questo processo conoscitivo è interessante focalizzare l’attenzione sul Data Mining. Gli analisti e la comunità accademica interpretano il Data Mining come un’attività basata sull’utilizzo di quei dati di dettaglio sui quali le query tradizionali risultano inefficaci. Per fare del Data Mining si tende quindi a non utilizzare strumenti di query e di OLAP, ma piuttosto le tecniche sviluppate nei campi della statistica e del machine learning.
Gli algoritmi di ricerca si dividono in due tipologie: quelli che ricercano i parametri critici, e da essi ricavano il modello, e quelli che arrivano direttamente a esso operando in uno spazio appropriato. Ne discende che gli approcci di Data Mining possono essere classificati in due tipi: l’approccio top-down e l’approccio bottom-up.
L’approccio top-down. Chi effettua l’analisi dei dati, servendosi dei mezzi della statistica, “guida” l’esplorazione cercando di trovare conferme a fatti che ipotizza o che già conosce (per esempio quali fattori hanno prodotto un risultato conosciuto), o cercando di ampliare la sua conoscenza su nuovi aspetti di un fenomeno che conosce, ma solo in parte. A questo scopo si utilizzano le tecniche statistiche tradizionali come il clustering, l’analisi fattoriale ed i metodi previsionali. La statistica resta, però, difficile da applicare e da interpretare da parte di utenti non competenti; inoltre le difficoltà di utilizzo aumentano all’aumentare del numero di fattori, in particolare, quando si è in presenza di fenomeni non lineari.
L’approccio bottom-up – E’ quel processo mediante il quale l’analista si mette alla ricerca di informazioni utili “scavando” fra i dati e collegandoli tra loro, in modo non aprioristico, per costruire ipotesi (per esempio quali fattori sono le cause più probabili che producono un certo risultato).
La maggior parte degli algoritmi di Data Mining può essere vista come composizione di tre momenti e tecniche di base:
- Il modello – Due sono i fattori rilevanti: la funzione del modello (classificazione, clustering etc.) e la forma di rappresentazione di esso (funzione lineare a variabili multiple, Gaussiana, etc.). Un modello contiene sempre parametri derivati direttamente dai dati.
- Il criterio preferito – E’ il criterio che regola la scelta di un modello o di un insieme di parametri rispetto ad altri. Il criterio è generalmente una funzione di ottimizzazione del modello dei dati, spesso stabilizzata da un termine correttivo (smoothing term) per evitare errori (overfitting) o la generazione di un modello con troppi gradi di libertà per essere descritto in modo univoco dai dati estratti.
- L’algoritmo di ricerca – Concerne la specifica di un algoritmo per ricercare particolari modelli e parametri (e contribuisce a stabilire un proprio criterio di preferenza).
Pur essendo, quindi, ogni algoritmo frutto dei tre componenti (modello-preferenza-ricerca), raramente la letteratura sull’argomento spiega con chiarezza il modello di rappresentazione, il criterio di preferenza ed i metodi di ricerca usati; questi, nella descrizione di un particolare algoritmo, sono spesso impliciti ed indistinguibili.
La visualizzazione multidimensionale favorisce l’esplorazione poiché presenta all’analista i dati in modo tale da sfruttare quelle capacità di percezione che sono proprie agli esseri umani, così da facilitare la ricerca di relazioni nascoste. Tali strumenti di visualizzazione avanzata permettono di osservare tre o più dimensioni o variabili alla volta. Il vantaggio di utilizzare strumenti avanzati sta nel fatto che si possono scoprire legami, tendenze e anomalie presenti nei dati, molto più velocemente che non tramite la grafica o la reportistica tradizionali.
La modellistica riguarda la forma funzionale che lega i dati. Avere a disposizione un modello significa avere la possibilità di fare delle previsioni e delle simulazioni. Le funzioni di modellizzazione(model function) più comuni nell’attuale pratica di Data Mining sono:
- Alberi di classificazione – Un albero di classificazione viene costruito suddividendo ripetutamente i dati secondo sottogruppi definiti dai valori delle variabili di risposta per tentare di trovare sottoinsiemi omogenei. Questa suddivisione genera una gerarchia in cui i sottoinsiemi di partenza vengono chiamati nodi, e quelli finali, foglie. L’albero decisionale può essere usato per generalizzare le regole, con i nodi che costituiscono i punti di decisione.
- Clustering – Le tecniche di clustering arrivano ad ottenere uno schema di segmentazione dividendo una popolazione in sottogruppi distinti. Il punto debole di questa tecnica è che non può essere utilizzata direttamente per fare previsioni o per applicare la classificazione ad altri insiemi di dati poiché i cluster non sono definiti come funzioni esplicite dei predittori, ma cercando aggregazioni naturali di dati, basate su modelli a densità di probabilità.
- Neural network – Le reti neuronali (o neurali) sono una vasta classe di modelli sviluppati nell’ambito delle Scienze Cognitive che, grazie ad un processo di apprendimento in cui “imparano” la forma dei dati modificando i propri parametri interni, riescono a risolvere complessi problemi di classificazione e di previsione. La capacità di valutare un gran numero di fattori e la tolleranza verso dati imperfetti – come la presenza di dati mancanti o altri problemi di qualità dei dati – ne fanno uno strumento particolarmente adatto per analizzare i dati del mondo reale. La loro capacità di generalizzare la conoscenza appresa le rende adatte a funzionare in un ambiente dinamico, dove i dati cambiano continuamente.
- Regressione – Si classifica un dato secondo il valore reale della variabile di predizione.
- Summarization – Si genera una descrizione compatta di un sottoinsieme di dati. Ad esempio ci si può semplicemente servire della media e della deviazione standard calcolate per tutti i campi. Funzioni maggiormente sofisticate potrebbero essere invece procedure di sommarizzazione, tecniche di visualizzazione multivariate, e tecniche che stabiliscono relazioni funzionali tra variabili. Le funzioni di sommarizzazione sono usate spesso nelle indagini a carattere esplorativo e interattivo e nella generazione automatica di resoconti (report).
- Dependency model – Questi modelli evidenziano le dipendenze più significative tra le variabili e operano su due livelli distinti: strutturale e quantitativo. Il livello strutturale specifica (sovente in forma grafica) quali variabili sono dipendenti localmente; il livello quantitativo specifica l’intensità delle dipendenze per mezzo di una scala numerica
- Analisi di legame – Sono metodi per determinare le relazioni tra differenti campi di un database (es. regole associative per descrivere quali articoli sono comunemente acquistati insieme ad altri in un supermercato). Lo scopo è derivare correlazioni multicampo che soddisfino le soglie di confidenza e di fiducia.
- Analisi di sequenza – Sono tecniche che servono a modellare gli stati del processo che generano la sequenza dei dati, oppure a estrapolare e visualizzare scostamenti e tendenze in un dato arco temporale.
Altre rappresentazioni popolari sono i modelli di campionamento (example-based metod), i modelli grafici di dipendenza probabilistica (per esempio le Baesyan Network) e altri tipi di modelli non lineari e relazionali. La forma di rappresentazione determina sia la flessibilità nel gestire e mostrare i dati sia la trasparenza, la leggibilità e la chiarezza in termini di relazione con l’analista. In generale, se da un lato i modelli di maggior complessità possono adattarsi perfettamente ai dati, essi sono altresì difficoltosi da comprendere e da modificare. Mentre i ricercatori spingono nella direzione della complessità, gli utilizzatori spesso prediligono applicazioni basate su modelli più semplici, ma robusti e ben interpretabili.
È la metodologia di scelta a determinare quanto un modello e i suoi parametri si adattino ai criteri del processo KDD. Generalmente si tratta di un metodo quantitativo esplicito, inserito in un algoritmo di ricerca (per esempio il Criterio di Massima Verosimiglianza nella ricerca dei parametri che massimizzano una funzione di probabilità dei dati osservati). Anche un criterio implicito – che rispecchia il punto di vista soggettivo dell’analista, in termini di errore, del modello iniziale – è spesso utilizzato nelle iterazioni successive del processo KDD. La ricerca dei parametri migliori è spesso ricondotta ad un problema di ottimizzazione. Gli algoritmi di Data Mining fanno affidamento su tecniche di ottimizzazione piuttosto semplici, sebbene nella teoria ne siano previste anche alcune molto sofisticate. Un fatto da tenere in considerazione è che ogni tecnica rivolge particolare attenzione soltanto ad un numero limitato dei possibili problemi, quindi non si possono definire metodi di Data Mining migliori in senso assoluto.
Scegliere un particolare algoritmo per una specifica applicazione richiede una “sensibilità” notevole. In pratica gran parte dello sforzo consiste nella formulazione corretta dei problemi (ponendo le giuste domande) piuttosto che nell’ottimizzare i dettagli algoritmici di un particolare metodo di Data Mining.
Gli obiettivi di più alto livello del Data Mining possono essere di tipo predittivo, descrittivo, o riguardare una loro combinazione. Mentre un obiettivo puramente predittivo si focalizza necessariamente sull’accuratezza nell’abilità di previsione, un obiettivo puramente descrittivo concentra l’attenzione sulla profonda comprensione dei processi che sostengono la generazione dei dati: è una distinzione sottile ma importante. Nella predizione, l’utente non è tenuto a preoccuparsi se il modello riflette o meno la realtà purché esso abbia valore predittivo (per esempio: un modello che metta in relazione, in modo non lineare, indicatori finanziari attuali allo scopo di prevedere i tassi di cambio futuri di una certa valuta). Di converso, un modello descrittivo va visto come un quadro della realtà: per esempio un modello che correli variabili economiche e demografiche allo scopo di produrre risultati che siano utili a fornire raccomandazioni per una politica sociale volta al cambiamento. Nella pratica. comunque, la maggior parte delle applicazioni KDD attinge da entrambe le tipologie di modellizzazione.
Con buona pace di tutte le scuole di pensiero che si rifanno alle Scienze Cognitive e ai Processi Decisionali
Di Gian Franco Stucchi