Valutazione dell'utilità e della somiglianza nei generatori di dati sintetici: un'analisi tecnica approfondita e un'analisi comparativa

Pubblicato il:
27 Febbraio 2024

Introduzione

Nell'era digitale di oggi, la consapevolezza della privacy dei dati è notevolmente aumentata. Gli utenti riconoscono sempre più i propri dati come un’impronta digitale unica, che rappresenta un rischio per la loro privacy in caso di violazione dei dati. Questa preoccupazione è ulteriormente amplificata da normative come il GDPR, che consentono agli utenti di richiedere la cancellazione dei propri dati. Sebbene necessaria, questa legislazione può essere molto costosa per le aziende poiché l’accesso ai dati è ridotto al minimo; restrizioni che spesso richiedono tempo e risorse per essere superate. 

Sommario

Cosa sono i generatori di dati sintetici?

Inserisci i dati sintetici, una soluzione a questo enigma. I generatori di dati sintetici creano set di dati che imitano i dati degli utenti reali preservando l'anonimato e la riservatezza. Questo approccio sta guadagnando terreno in tutti i settori, dalla sanità alla finanza, dove la privacy è fondamentale.  

Questo post è rivolto ai professionisti e agli appassionati di dati e si concentra sulla valutazione dei generatori di dati sintetici. Approfondiremo le metriche chiave e condurremo un'analisi comparativa tra Syntho's Engine e le sue alternative open source, offrendo approfondimenti su come valutare efficacemente la qualità della soluzione di generazione di dati sintetici. Inoltre, valuteremo anche il costo temporale di ciascuno di questi modelli per fornire ulteriori informazioni sul funzionamento dei modelli. 

Come scegliere il giusto metodo di generazione dei dati sintetici?

Nel panorama diversificato della generazione di dati sintetici, sono disponibili numerosi metodi, ciascuno dei quali attira l'attenzione con le sue capacità uniche. La scelta del metodo più adatto per una particolare applicazione richiede una conoscenza approfondita delle caratteristiche prestazionali di ciascuna opzione. Ciò richiede una valutazione completa di vari generatori di dati sintetici basata su una serie di parametri ben definiti per prendere una decisione informata. 

Quella che segue è una rigorosa analisi comparativa del Syntho Engine insieme a un noto framework open source, il Synthetic Data Vault (SDV). In questa analisi, abbiamo utilizzato molti parametri di uso comune come fedeltà statistica, accuratezza predittiva e relazione intervariabile. 

Metriche di valutazione dei dati sintetici

Prima di introdurre qualsiasi metrica specifica, dobbiamo riconoscere che esistono numerose ideologie sulla valutazione dei dati sintetici, ognuna delle quali fornisce informazioni su un determinato aspetto dei dati. Con questo in mente, le seguenti tre categorie si distinguono come importanti e complete. Questi parametri forniscono approfondimenti su vari aspetti della qualità dei dati. Queste categorie sono: 

      1. Metriche di fedeltà statistica: Esaminare le caratteristiche statistiche di base dei dati, come medie e varianze, per garantire che i dati sintetici siano allineati al profilo statistico del set di dati originale. 

        1. Precisione predittiva: Esame delle prestazioni del modello di generazione di dati sintetici, addestrato con dati originali e valutato su dati sintetici (Train Real – Test Synthetic, TRTS) e viceversa (Train Synthetic – Test Real, TSTR) 

          1. Relazioni tra variabili: Questa categoria combinata include: 

            • Correlazione delle caratteristiche: Valutiamo quanto bene i dati sintetici mantengono le relazioni tra le variabili utilizzando coefficienti di correlazione. Una metrica ben nota come il Propensity Mean Squared Error (PMSE) sarebbe di questo tipo. 

            • Informazioni reciproche: Misuriamo le dipendenze reciproche tra le variabili per comprendere la profondità di queste relazioni oltre le semplici correlazioni. 

          Analisi comparativa: motore Syntho e alternative open source

          L'analisi comparativa è stata condotta utilizzando un quadro di valutazione standardizzato e tecniche di test identiche su tutti i modelli, inclusi i modelli Syntho Engine e SDV. Sintetizzando set di dati provenienti da fonti identiche e sottoponendoli agli stessi test statistici e valutazioni dei modelli di machine learning, garantiamo un confronto equo e imparziale. La sezione che segue descrive in dettaglio le prestazioni di ciascun generatore di dati sintetici nell'ambito della gamma di parametri presentati sopra.  

           

          Per quanto riguarda il dataset utilizzato per la valutazione, abbiamo utilizzato il Set di dati del censimento degli adulti dell'UCI che è un set di dati ben noto nella comunità del machine learning. Abbiamo ripulito i dati prima di tutta la formazione e quindi diviso il set di dati in due set (un set di formazione e un set di controllo per i test). Abbiamo utilizzato il set di addestramento per generare 1 milione di nuovi punti dati con ciascuno dei modelli e valutato varie metriche su questi set di dati generati. Per ulteriori valutazioni del machine learning, abbiamo utilizzato il set di controlli per valutare metriche come quelle relative a TSTR e TRTS.  

           

          Ogni generatore è stato eseguito con parametri predefiniti. Poiché alcuni modelli, come Syntho, possono funzionare immediatamente su qualsiasi dato tabellare, non è stata eseguita alcuna messa a punto. La ricerca degli iperparametri corretti per ciascun modello richiederebbe una notevole quantità di tempo e la Tabella 2 mostra già una grande differenza temporale tra il modello di Syntho e quelli testati. 

           

          È interessante notare che, a differenza del resto dei modelli in SDV, il sintetizzatore copula gaussiano si basa su metodi statistici. Al contrario, il resto si basa su reti neurali come i modelli Generative Adversarial Networks (GAN) e gli auto-codificatori variazionali. Questo è il motivo per cui la copula gaussiana può essere vista come una linea di base per tutti i modelli discussi. 

          Risultati

          Qualità dei dati

          Figura 1. Visualizzazione dei risultati di qualità di base per tutti i modelli

          Le aderenze alle tendenze e alle rappresentazioni dei dati discusse in precedenza possono essere trovate nella Figura 1 e nella Tabella 1. Qui, ciascuna delle metriche in uso può essere interpretata come segue:

          • Punteggio di qualità complessivo: valutazione complessiva della qualità dei dati sintetici, combinando vari aspetti come la somiglianza statistica e le caratteristiche dei dati. 
          • Forme delle colonne: valuta se i dati sintetici mantengono la stessa forma di distribuzione dei dati reali per ciascuna colonna. 
          • Tendenze delle coppie di colonne: valuta la relazione o le correlazioni tra coppie di colonne nei dati sintetici rispetto ai dati reali. 
          •  

          Nel complesso, si può notare che Syntho ottiene punteggi molto alti su tutta la linea. Per cominciare, quando si esamina la qualità complessiva dei dati (valutata con la libreria di parametri SDV), Syntho può ottenere un risultato superiore al 99% (con aderenza della forma della colonna del 99.92% e aderenza della forma della coppia di colonne del 99.31%). Questo mentre SDV ottiene un risultato massimo del 90.84% (con copula gaussiana, avente un'aderenza alla forma della colonna del 93.82% e un'aderenza alla forma della coppia di colonne dell'87.86%). 

          Una rappresentazione tabellare dei punteggi di qualità di ciascun set di dati generato per modello

          Tabella 1. Una rappresentazione tabellare dei punteggi di qualità di ciascun set di dati generato per modello 

          Copertura dei dati

          Il modulo Rapporto diagnosi di SDV porta alla nostra attenzione che i dati generati da SDV (in tutti i casi) mancano di più del 10% degli intervalli numerici; Nel caso del codificatore automatico variazionale basato su triplette (TVAE), manca la stessa quantità di dati categorici rispetto al set di dati originale. Nessun avviso di questo tipo è stato generato con i risultati ottenuti utilizzando Syntho.  

          visualizzazione dei parametri prestazionali medi per colonna per tutti i modelli
           
           

          Figura 2. visualizzazione dei parametri prestazionali medi per colonna per tutti i modelli 

          Nell'analisi comparativa, il grafico della Figura 2 illustra che gli archivi SDV ottengono risultati leggermente migliori nella copertura delle categorie con alcuni dei loro modelli (vale a dire con GaussianCopula, CopulaGAN e Conditional Tabular GAN – CTGAN). Tuttavia, è importante sottolineare che l'affidabilità dei dati di Syntho supera quella dei modelli SDV, poiché la discrepanza nella copertura tra categorie e intervalli è minima, mostrando una varianza solo dell'1.1%. Al contrario, i modelli SDV mostrano una variazione considerevole, che va dal 14.6% al 29.2%. 

           

          Le metriche qui rappresentate possono essere interpretate come segue: 

          • Copertura della categoria: misura la presenza di tutte le categorie nei dati sintetici rispetto ai dati reali.
          • Copertura dell'intervallo: valuta in che misura l'intervallo di valori nei dati sintetici corrisponde a quello nei dati reali. 
          Una rappresentazione tabellare della copertura media di un determinato tipo di attributo per modello

          Tabella 2. Una rappresentazione tabellare della copertura media di un dato tipo di attributo per modello 

          Utilità

          Passando al tema dell'utilità dei dati sintetici, diventa rilevante la questione dell'addestramento dei modelli sui dati. Per avere un confronto equilibrato ed equo tra tutti i framework, abbiamo scelto il classificatore di potenziamento gradiente predefinito dalla libreria SciKit Learn, poiché è abbastanza accettato come un modello ben performante con impostazioni pronte all'uso.  

           

          Vengono addestrati due diversi modelli, uno sui dati sintetici (per TSTR) e uno sui dati originali (per TRTS). Il modello addestrato sui dati sintetici viene valutato utilizzando un set di test di controllo (che non è stato utilizzato durante la generazione dei dati sintetici) e il modello addestrato sui dati originali viene testato sul set di dati sintetici.  

          visualizzazione dei punteggi dell'Area sotto la curva (AUC) per metodo e per modello

          Figura 3. Visualizzazione dei punteggi dell'Area sotto la curva (AUC) per metodo e modello 

           I risultati visualizzati sopra dimostrano la superiorità della generazione di dati sintetici da parte del motore Syntho rispetto ad altri metodi, poiché non vi è alcuna differenza tra i risultati ottenuti dai diversi metodi (indicando un'elevata somiglianza tra i dati sintetici e quelli reali). Inoltre, la linea tratteggiata rossa presente nel grafico è il risultato ottenuto valutando le prestazioni di base di un test Train Real, Test Real (TRTR) per fornire una linea di base per le metriche osservate. Questa linea rappresenta il valore 0.92, che è il punteggio dell'area sotto la curva (punteggio AUC) ottenuto dal modello addestrato su dati reali e testato su dati reali. 

          Una rappresentazione tabellare dei punteggi AUC ottenuti rispettivamente da TRTS e TSTR per modello.

          Tabella 3. Una rappresentazione tabellare dei punteggi AUC ottenuti rispettivamente da TRTS e TSTR per modello. 

          Confronto temporale

          Naturalmente, è fondamentale considerare il tempo investito nella generazione di questi risultati. La visualizzazione seguente illustra proprio questo.

          visualizzazione del tempo impiegato per addestrare ed eseguire la generazione di dati sintetici di un milione di datapoint con un modello con e senza GPU.

          Figura 5. Visualizzazione del tempo impiegato per allenarsi ed esibirsi generazione di dati sintetici di un milione di punti dati con un modello con e senza GPU. 

          La Figura 5 illustra il tempo impiegato per generare dati sintetici in due diverse impostazioni. Il primo dei quali (qui indicato come Senza GPU), sono stati test eseguiti su un sistema con una CPU Intel Xeon con 16 core a 2.20 GHz. I test contrassegnati come "eseguiti con una GPU" sono stati eseguiti su un sistema con una CPU AMD Ryzen 9 7945HX con 16 core a 2.5 GHz e una GPU per laptop NVIDIA GeForce RTX 4070. Come evidente nella Figura 2 e nella Tabella 2 di seguito, si può osservare che Syntho è significativamente più veloce nel generare dati sintetici (in entrambi gli scenari), il che è fondamentale in un flusso di lavoro dinamico. 

          una tabella che illustra il tempo impiegato per la generazione di dati sintetici di 1 milione di punti dati con ciascun modello con e senza GPU

          Tabella 5. Una rappresentazione tabellare del tempo impiegato per generazione di dati sintetici di un milione di punti dati con ciascun modello con e senza GPU 

          Considerazioni conclusive e direzioni future 

          I risultati sottolineano l'importanza di un'accurata valutazione della qualità nella scelta del giusto metodo di generazione dei dati sintetici. Syntho's Engine, con il suo approccio basato sull'intelligenza artificiale, dimostra punti di forza degni di nota in alcuni parametri, mentre gli strumenti open source come SDV brillano per la loro versatilità e miglioramenti guidati dalla comunità. 

          Poiché il campo dei dati sintetici continua ad evolversi, ti invitiamo ad applicare queste metriche nei tuoi progetti, esplorarne le complessità e condividere le tue esperienze. Resta sintonizzato per i post futuri in cui approfondiremo altri parametri e metteremo in evidenza esempi reali della loro applicazione. 

          In fin dei conti, per coloro che desiderano testare il terreno sui dati sintetici, l'alternativa open source presentata può essere una scelta giustificabile data l'accessibilità; tuttavia, per i professionisti che incorporano questa moderna tecnologia nel loro processo di sviluppo, è necessario cogliere ogni possibilità di miglioramento ed evitare tutti gli ostacoli. È quindi importante scegliere la migliore opzione disponibile. Con le analisi fornite sopra diventa piuttosto evidente che Syntho e con ciò il Syntho Engine è uno strumento molto capace per i professionisti. 

          Informazioni su Syntho

          Sinto fornisce una piattaforma intelligente per la generazione di dati sintetici, sfruttando molteplici moduli di dati sintetici e metodi di generazione, consentendo alle organizzazioni di trasformare in modo intelligente i dati in un vantaggio competitivo. I nostri dati sintetici generati dall'intelligenza artificiale imitano i modelli statistici dei dati originali, garantendo accuratezza, privacy e velocità, come valutato da esperti esterni come SAS. Con funzionalità di deidentificazione intelligente e mappatura coerente, le informazioni sensibili sono protette preservando l'integrità referenziale. La nostra piattaforma consente la creazione, la gestione e il controllo dei dati di test per ambienti non di produzione, utilizzando metodi di generazione di dati sintetici basati su regole per scenari mirati. Inoltre, gli utenti possono generare dati sintetici a livello di programmazione e ottenere dati di test realistici per sviluppare con facilità scenari di test e sviluppo completi.  

          Vuoi imparare altre applicazioni pratiche dei dati sintetici? Sentiti libero di demo del programma!

          Circa gli autori

          Stagista di ingegneria del software

          crudoam è uno studente di laurea presso l'Università di Tecnologia di Delft ed è uno stagista di ingegneria del software presso Sinto 

          Ingegnere di apprendimento automatico

          Mihai ha conseguito il dottorato di ricerca presso la Università di Bristol sul tema dell'apprendimento per rinforzo gerarchico applicato alla robotica ed è un Ingegnere dell'apprendimento automatico at Sinto. 

          copertina della guida sintetica

          Salva ora la tua guida ai dati sintetici!