Nell'era digitale iper-conessa in cui viviamo ci troviamo ogni giorno ad affrontare problemi piu' complessi. Per risolverli non abbiamo ancora delle leggi universali, come per esempio quelle termodinamiche prodotte dalla civilta' tecnologica di un secolo fa, e quindi essi sembrano intrattabili. Basti pensare all'incertezza dei mercati finanziari, la previsione dei cambiamenti climatici mondiali, la previsione di quanta energia servira' nei prossimi anni, quando e dove avverra' il prossimo terremoto catastrofico, la prossima frana, il prossimo attacco terroristico e cosi' via. Gli approcci tradizionali sono spesso di tipo qualitativo e non interdisciplinari e destinati il piu' delle volte all'insuccesso. Per poter arrivare ad una descrizione quantitativa di questi fenomeni usando il rigore scientifico dobbiamo migliorare la nostra comprensione della complessita’ stessa. La complessita' entra in gioco quando ci sono tantissime unita' interagenti in modi diversi tra di loro. Il tutto prende vita e i comportamenti che emergono non sono quelli delle singole unita' che il piu' delle volte hanno dei comprtamenti molto semplici e interagiscono per lo piu' con i primi vicini. Questo sistema interagisce con l'ambiente, adattandosi ad esso ed evolvendo. Esso puo' essere prono ad improvvisi e all'apparenza imprevedibili cambiamenti. Alcune interazioni all'interno del sistema possono rinforzarsi entrando in un loop positivo e andare fuori controllo attraversando il punto di "cliff", il punto di non ritorno oltre il quale il comportamento del sistema cambia radicalmente. La imprevedibilita' e' dovuta alla difficolta' di predire il comportamento del sistema come un tutt'uno a partire dal comportamento delle sue singole parti. Il tutto e' piu' delle sue parti. Una citta' e' piu' dei suoi palazzi e abitanti. Una metropolitana molto piu' di un treno e di alcune stazioni. I nostri corpi piu' di un aggregato di semplici cellule. Questa proprieta' chiamata comportamento emergente e' tipica delle organizzazioni, organismi, mercati finaziari, compagnie, Internet, galassie, il sistema sanitario, il terrorismo, le guerre.
La complessita' del nostro mondo sta aumentando a causa della rivoluzione digitale a cui stiamo assistendo. Se da un lato cio' ci mette in una condizione di sconforto a causa della imprevedibilita' di tali fenomeni dall'altra questa tecnologia presenta anche un opportunita'. La diffusione dei telefonini, le transazioni elettroniche, la digitalizzazione dei dati sanitari, l'internet delle cose solo per citarne alcuni stanno generando una mole incommensurabile di dati. Con lo sviluppo di nuovi strumenti computazionali e nuove tecniche analitiche, i ricercatori hanno iniziato a studiare fenomeni che prima erano fuori dalla nostra portata come per esempio la nascita della cooperazione nella societa', le condizioni che promuovono l'innovazione, come si diffondono le epidemie o come nascono i conflitti e come si espandono.
Nonostante questi successi manca ancora una struttura concettuale e una teoria unificata della complessita'. Al momento nessuno sa di quanti e di che tipo di dati avremo bisogno per chiudere la complessita' in una gabbia teorica. I big data di cui tutti parlano, senza lo sviluppo di strumenti analitici adeguati e senza una big theory non servono a nulla. Oggi big data e' sinonimo di enorme quantita' di dati di vario tipo, non strutturati e dinamici. Ma il vero valore dei big data e' nello sviluppo di nuove tecniche matematiche, algoritmi e processi che rientrano in quello che si chiama machine learning. Oggi sono possibile cose che prima richiedevono una grande fatica. Fino a poco tempo fa per ottenere il trend delle opinioni della societa’ bisognava intervistare alcune migliaia di persone mentre oggi si puo’ ottenere semplicemente interrogando una rete sociale come linkedin. In passato per sapere quante persone in una certa zona facevano moto bisognava intervistare le singole persone mentre adesso e' possibile ottenere rapidamente queste informazioni dagli smartphone grazie a loro accelerometri. Oggi per conoscere gli amici di ognuno di noi non c'e' piu' bisogno di contattare le persone ma basta visitare facebook o sistemi analoghi. Da qui capiamo che i dati da soli non comportano in se una rivoluzione fino a quando non si sviluppano gli strumenti adeguati per analizzarli per fare emergere la conoscenza contenuta in essi. E per nostra fortuna gli strumenti analitici stanno crescendo velocemente molto piu' di quello che stanno facendo i dati. La legge di Moore ormai verificata da diversi anni predice in modo accurato la potenza e la velocita' dei computers. Questa raddoppia ogni 18 mesi. Ma se confrontata con la velocita' con cui progrediscono gli strumenti analitici e' terribilmente lenta. Basti pensare a quanto velocemente i programmatori riescono oggi ad aumentare la velocita' degli algoritmi. Parliamo di un fattore 1000 ogni 18 ore anziche' ogni 18 mesi. Ma questi dati e strumenti analitici da soli possono aiutarci a capire i fenomeni naturali e sociali oppure serve una teoria?
Cosi come Newton osservando la caduta di una mela comincio' a pensare ad una possibile forza che attirasse i corpi verso il centro della terra, e' possibile che noi osservando la straordinaria diversita' e interconnettivita' dei mercati finanziari, delle popolazioni, delle guerre, dello sviluppo del cancro, della diffusione delle infezioni riusciremo a scoprire i principi sottostanti. Un sistema matematico generale per la comprensione della complessita' dovrebbe, in principio, incorporare la dinamica e organizzazione di qualsiasi sistema complesso in modo quantitativo.
E' probabile, come dice lo scienziato del Santa Fe Institute, West, non riusciremo mai ad avere una dettagliata descrizione dei sistemi complessi da permetterci una previsione completa. Nonostante cio' e' possibile che a breve si riuscira' ad avere una descrizione quantitativa' e quindi a fare previsioni solo per alcune caratteristiche particolari di questi sistemi. Potremmo essere interessati a non prevedere esattamente quando ci sara' il prossimo terremoto, ma piuttosto ad assegnare una probabilita' che esso accada nei prossimi anni. La complessita' e' la sintesi di diverse discipline scientifiche e contrariamente a quello che e' successo fino ad ora deve invertire il trend verso la frammentazione e specializzazione, cercando di portare la scienza verso una struttura unificata, olistica per dare una risposta ai grandi quesiti della societa'. Per fare cio' pero' non basta utilizzare l'analisi statistica per trovare delle correlazioni tra variabili: non avendo un modello di riferimento in genere si cercano delle correlazioni, sperando poi che da queste si possano inferire le leggi che regolano la dinamica del sistema in esame.
I big data sono il posto migliore in cui cercare correlazioni a posteriori, ovvero non attese a priori in base ad un modello teorico ma semplicemente identificate nei dati e a cui si cercherà, a posteriori, di dare una spiegazione. Una buona correlazione non implica però, che una variabile abbia una relazione di causalità con l’altra; piuttosto può verificarsi che queste variabili possano avere semplicemente una causa comune. Ad esempio nelle città italiane il numero di chiese e' correlato a quello degli omicidi semplicemente perche' entrambi correlati alla popolazione ma questo non significa che aumentando il numero di chiese aumenti il numero di omicidi, né ovviamente l’inverso! Una correlazione tra variabili quindi non sempre significa che esiste un nesso di causalita'. Spesso si possono trovare correlazioni spurie che non hanno alcun senso: questo accade specialmente quando si hanno tanti dati a disposizione ma pochi strumenti analitici per analizzarli o, peggio ancora, quando si hanno preconcetti e si usano i dati per trovare un tipo di correlazione che ne giustifichi a posteriori l’uso. Per illustrare con un altro esempio il problema delle correlazioni spurie, riportiamo uno tra i tanti presenti sul sito spurious correlations. Nel grafico viene riportato il numero di divorzi nel Maine e il consumo procapite di margarina. La correlazione e’ statisticamente significativa. Piu’ si abbassa il consumo di margarina e meno divorzi si hanno. Questo almeno nel Maine. Questo risultato è palesemente insensato. La presenza di una correlazione statistica non implica la presenza di un nesso di causalità. Si possono fare moltissimi altri esempi di casi in cui, analizzando un gran numero di dati, emergono correlazioni tra fenomeni completamente indipendenti.
Tutto cio’ fa capire che bisogna fare attenzione quando si analizzano grandi basi di dati in quanto gli strumenti statistici da soli non sono in grado di determinare con accuratezza il nesso di causalita’ tra variabili. Possiamo dunque usare le moderne banche dati digitali cercando delle “regolarità” nelle serie temporali di un certo fenomeno, per cercare di prevedere quello che succederà in futuro? La risposta a questa domanda è in genere negativa, e la “fine della teoria” risulta così un miraggio. Perfino i sistemi fisici – che sono più gestibili poiché si conoscono le leggi dinamiche sottostanti rispetto a quelli sociali – sono governati da forze che, benché deterministiche, danno luogo a comportamenti caotici e dunque pongono delle difficoltà intrinseche per effettuare una previsione e per conoscerne il comportamento futuro. Quando non si conoscono le leggi che governano l’evoluzione di un sistema o quando queste sono non deterministiche e universali (cioe’ cambiano nel tempo o sono leggi statistiche) la situazione diventa rapidamente intrattabile. In questi casi e’ possibile sperare di trovare delle correlazioni tra variabili nei dati e usare queste correlazioni, anche senza conoscerne l’origine, per predire il comportamento futuro di un sistema? Anche in questo caso, la risposta e’ generalmente negativa. Già prendendo in considerazione un sistema con molti corpi e governato da leggi deterministiche, l’analisi di serie storiche non aiuta a rilevare una situazione simile a quella attuale già verificatasi nel passato e dunque capace di dare indicazioni per inferire l’evoluzione futura del sistema stesso. È possibile invece usare le banche dati per trovare, a posteriori, delle correlazioni tra variabili che descrivono lo stato di un sistema, ma è necessario aver ben presente che una correlazione a posteriori – dunque non una genuina predizione di una teoria – non implica in genere l’esistenza di un nesso causale. D’altra parte, i big data possono essere uno strumento utile proprio per capire se gli assunti alla base di certi modelli o teorie, anche nel campo delle scienze sociali, sono verificate o meno. Per esempio, le carte di credito e il commercio elettronico dovrebbero permettere di monitorare il consumo in tempo reale e dunque di testare le teorie del comportamento dei consumatori in grande dettaglio. Analogamente, la grande massa di dati elaborati ogni giorno dai mercati finanziari potrebbero permettere di capire per esempio se i mercati “in equilibrio” sono stabili. Piuttosto che cercare delle correlazioni a posteriori per cercare conferma empirica a qualche modello teorico bisogna analizzare i dati senza alcun pregiudizio seguendo l'approccio proprio del data mining. Partendo dalla massa di dati gli algoritmi di machine learning ci dovranno aiutare ad individure possibili modelli che in seguito dovranno essere validati dagli analisti stessi cercando un riscontro nella realta'.
A proposito di Big data e data mining, a Marzo di quest’anno ho partecipato ad un convegno organizzato dal Complexity Institute a Santa Margherita Ligure dal titolo Big Data e Neural networks nel complexity management dove ho fatto un intervento che potete scaricare al link sottostante. Qui un breve riassunto.
Data Mining
Tecniche analitiche altamente complesse per un mondo sempre piu’ ipercomplesso
Presentazione di Felice Russo - Lfoundry Manager
Viviamo in un mondo sempre piu’ interconnesso e digitalizzato. Siamo sommersi dai dati. Ogni minuto il mondo genera dati per 1,7 milioni di miliardi di byte, pari a 360 000 DVD: più di 6 megabyte di dati a testa ogni giorno. Le informazioni, che provengono sia dalle persone sia da macchine di ogni tipo, consistono in dati sul clima, immagini satellitari, fotografie e video digitali, registrazioni di operazioni o segnali GPS, dati scientifici, dati prodotti dalle reti sociali solo per citarne alcuni.
Diventa quindi importante riuscire ad analizzare questo enorme volume di dati con macchine/algoritmi sempre piu’ veloci e con DB (database) contenenti una grande varieta’ di dati. Gli strumenti e le tecniche sono diverse da quelle tradizionali basate sulla statistica classica. Sempre di piu’ si fa uso di tecniche e algoritmi di machine learning, intelligenza artificiale, pattern recognition, matematica, statistica e scienza dell’informazione. Il Data mining e’ all’intersezione di queste varie discipline. Esso cerca di estrarre la conoscenza dalle miniere di dati disponibili. Solo grazie alla conoscenza I dati possono acquistare un “valore”. Oggi le aziende sono ricche di dati ma povere di informazioni/conoscenza. Solo un processo di “scoperta della conoscenza” (KDD Knowledge discovery in database) puo’ trasformare I dati in oro per rimanere nell’ambito delle miniere. La speranza di tutti e’ che un giorno queste tecniche possano essere automatizzate escludendo completamente l’intervento umano. Ma questo rimarra’ un sogno in quanto il data mining essendo un sistema complesso non potra’ essere completamente automatizzato (indecidibilita’ della complessita’ di Kolmogorov di una qualsiasi stringa). Il data mining quindi sara’ sempre un “arte” il cui scopo sara’ quello di trovare i modelli che meglio si adattano agli insiemi dei dati analizzati.
Ma questo non e’ sempre facile. A complicare le cose interviene anche:
1) la complessita’ dei dati da manipolare a causa della loro varieta’ (tipologia di dati) e multidimensionalita’ dei database
2) la complessita’ computazionale degli algoritmi (per esempio con n righe ed m colonne ci sono O[m2m-1] regole di associazione….)
3) la complessita’ dei risultati (non tutti I pattern che emergono sono facilmente interpretabili)
Da dove deriva tutta questa complessita’?
La risposta nella legge di Ashby: "la complessita’ delle tecniche di analisi deve essere uguale o superiore a quella dei dati da analizzare". Piu’ il mondo evolvera’ verso l’interconnessione digitale di tutte le cose (Internet delle cose) piu’ il data mining dovra’ trovare nuove tecniche analitiche per far fronte a tanta ipercomplessita’.