No data? No problem, c’è il Data Enrichment

“Non abbiamo i dati”.

Quante volte abbiamo sentito questa frase.

Machine learning, intelligenza artificiale, data science: strumenti meravigliosi, di grande potenza. Ma del tutto inutili senza i dati dei quali si nutrono avidamente. In effetti, non è raro che banche, assicurazioni e asset manager si lamentino della mancanza di dati. Mancanza che può riguardare sia la quantità che la qualità del dato, o persino l’esistenza stessa, nel caso di qualche dato più esotico.

Spesso la scarsità dimensionale e/o qualitativa dei dati, oltre ad essere fonte di frustrazione per il management, inficia l’esito o il lancio di progetti (genericamente considerati) di AI, visto che i dati sono al centro del processo, come la locuzione “scienza dei dati” suggerisce.

La buona notizia è che esistono soluzioni a questo problema: ricadono nella categoria del Data Enrichment o Data Augmentation, cioè ampliare la base campionaria attuale con dati aggiuntivi, che aumentano la quantità d’informazione disponibile. Si tratta, alla fine della fiera, di aumentare il numero di data points validi e informativi. E, rimanendo terra a terra e pensando ai dati nel classico formato righe/colonne (record/campi), ciò significa aumentare le righe, oppure i campi, o entrambe le cose.

Messa giù così sembra roba banalotta. Non lo è. Ci sono due modalità principali per farlo.

 

1. Dati esterni

Un’idea che verrebbe anche a un lichene per arricchire la propria base dati è prendere i dati altrove. In fondo esistono innumerevoli banche dati interessanti (ad esempio, Istat, Agenzia delle Entrate, Dati.Gov.it, Banca d’Italia, ECB, Eurostat, OECD, World Bank Open Data, IMF Data, giusto per nominarne qualcuna). Poi ci sono data provider privati dedicati. Quindi non resta che accedere, scaricare, e aggiungere colonne (campi), giusto?

Mmmh.

Anche se l’idea di base è intuitiva e apparentemente triviale, la pratica è resa complessa da una molesta quantità di noiosi aspetti tecnici. Che cominciano con l’ovvia assenza di un identificativo univoco al quale appoggiarsi per attuare una “join”. Che è quindi da effettuare in altro modo. Anzi, proprio secondo un’altra logica: probabilistica.

Poi vi sono le differenze di granularità dei dati: ad esempio una fonte può presentare classi di età 0-20, 30-40, 40-50, 60-70, 70+, mentre un’altra magari si basa sulle classi 0-35, 35-50, 50-65 e così via. Ci si trova davanti a tassonomie simili ma diverse in varie fonti. Non mancano le duplicazioni di informazioni. Occorre confrontare, scegliere e definire ontologie. Per non parlare delle differenze nei tempi e nelle frequenze di aggiornamento dei dati. Cose così.

Comunque: si può fare. Usando tecniche di crawling, di data fusion, con le giuste scelte di architetturali e di data modeling alla fine si portano a casa informazioni rilevanti. Ad esempio esposizioni a rischi specifici legati all’ambiente fisico e sociale in cui vive un cliente, capacità reddituale e patrimoniale, attitudine all’investimento e all’indebitamento, e altre informazioni “pesanti” per banche ed assicurazioni. Ci torneremo su un’altra volta, approfondendo un po’ la questione.

 

2. Dati sintetici (o artificiali)

In altri casi i dati per attuare il training di un algoritmo di machine learning si possono… creare. Ammetto che a caldo questa sembri una bizzarria, ma in realtà è una tecnica assai efficace, sempre più utilizzata, che rivestirà un ruolo sempre più significativo secondo molti (ad esempio, Andrew Ng, ex responsabile AI di Google e professore a Stanford, e Anima Anandkumar, che insegna al Caltech e guida il team di machine learning research in Nvidia).

In pratica occorre creare dati “finti” connotati dalle stesse proprietà statistiche dei dati reali. In questo modo saranno diversi dagli originali ma simili. Tanto simili da risultare pressoché indistinguibili all’occhio umano – vedi il grafico seguente.

Per generare un dataset sintetico occorre un modello statistico-simulativo, un Synthetic Data Generator, che ha effettuato il training su dati reali (oppure su modelli teorici, in alcuni aspetti delle scienze naturali) e poi viene impiegato per generare nuovi dati via simulazione Monte Carlo. Oltre alla conoscenza modellistica, il know-how sul dominio di business è cruciale per realizzare ed utilizzare questi algoritmi di frontiera.

I dati sintetici possono aumentare ed infittire le righe (record), le colonne (campi), o entrambe le cose. Perciò, quando la qualità e/o la quantità dei dati scarseggia, i dati sintetici sono una soluzione efficace. Senza contare i vantaggi quando ci sono di mezzo dati sensibili e questioni di privacy – questo è sicuramente il caso del settore finanziario.

L’uso dei dati sintetici non si limita al Data Enrichment finalizzato al training di algoritmi di AI/machine learning, ma si estende ad analisi what-if di ogni genere, incluse simulazioni di situazioni di mercato completamente nuove (ad esempio l’impatto a medio termine del cambio generazionale sui ricavi di un intermediario). Anche di questo argomento, ne parleremo in un altro post.

 

Morale della favola

Il paradosso di vivere in una società inondata da dati che le aziende spesso non riescono ad utilizzare è parzialmente risolvibile utilizzando tecniche di Data Enrichment, che consentono di lavorare, senza bloccare progetti rilevanti, quando il dato raccolto di prima mano è carente.

Sei interessato a espandere la tua base dati con l’implementazione di dati sintetici? Contattaci per una demo esplicativa sul nostro processo di Data Enrichment.

Richiedi una demo