Evaluering av nytte og likhet i syntetiske datageneratorer: et teknisk dypdykk og sammenlignende analyse

Publisert:
Februar 27, 2024

Introduksjon

I dagens digitale tidsalder har bevisstheten om personvern for data økt betydelig. Brukere gjenkjenner i økende grad dataene sine som et unikt digitalt fingeravtrykk, som utgjør en risiko for personvernet deres i tilfelle datainnbrudd. Denne bekymringen forsterkes ytterligere av forskrifter som GDPR, som gir brukere mulighet til å be om sletting av dataene deres. Selv om det er sårt nødvendig, kan denne lovgivningen være svært kostbar for bedrifter ettersom tilgangen til data er minimert; restriksjoner som ofte er tid- og ressurskrevende å overkomme. 

Innholdsfortegnelse

Hva er syntetiske datageneratorer?

Skriv inn syntetiske data, en løsning på denne gåten. Syntetiske datageneratorer lager datasett som etterligner ekte brukerdata samtidig som anonymitet og konfidensialitet bevares. Denne tilnærmingen får gjennomslag på tvers av bransjer, fra helsevesen til finans, der personvern er viktigst.  

Dette innlegget er skreddersydd for datafagfolk og entusiaster, med fokus på evaluering av syntetiske datageneratorer. Vi vil fordype oss i nøkkeltall og gjennomføre en komparativ analyse mellom Synthos Engine og dens åpen kildekode-alternativer, og gir innsikt i hvordan man effektivt kan vurdere løsningskvaliteten til syntetisk datagenerering. Videre vil vi også evaluere tidskostnaden for hver av disse modellene for å gi ytterligere innsikt i hvordan modellene fungerer. 

Hvordan velge riktig metode for generering av syntetiske data?

I det mangfoldige landskapet med generering av syntetiske data, er det en overflod av metoder tilgjengelig, som hver kjemper om oppmerksomhet med sine unike evner. Å velge den mest passende metoden for en bestemt applikasjon krever en grundig forståelse av ytelsesegenskapene til hvert alternativ. Dette nødvendiggjør en omfattende evaluering av ulike syntetiske datageneratorer basert på et sett med veldefinerte beregninger for å ta en informert beslutning. 

Det som følger er en grundig komparativ analyse av Syntho Engine sammen med et velkjent åpen kildekode-rammeverk, Synthetic Data Vault (SDV). I denne analysen brukte vi mange vanlige beregninger som statistisk troskap, prediktiv nøyaktighet og intervariable forhold. 

Syntetiske dataevalueringsberegninger

Før vi introduserer noen spesifikk metrikk, må vi erkjenne at det er mange ideologier om evaluering av syntetiske data, som hver gir innsikt i et bestemt aspekt ved data. Med dette i tankene skiller de følgende tre kategoriene seg ut som viktige og omfattende. Disse beregningene gir innsikt i ulike aspekter ved datakvalitet. Disse kategoriene er: 

      1. Statistiske troskapsberegninger: Undersøke grunnleggende statistiske trekk ved dataene, som middelverdier og varianser, for å sikre at de syntetiske dataene stemmer overens med det originale datasettets statistiske profil. 

        1. Prediktiv nøyaktighet: Undersøker ytelsen til modellen for generering av syntetiske data, trent med originale data og evaluert på syntetiske data (Train Real – Test Synthetic, TRTS) og omvendt (Train Synthetic – Test Real, TSTR) 

          1. Intervariable forhold: Denne kombinerte kategorien inkluderer: 

            • Funksjonskorrelasjon: Vi vurderer hvor godt de syntetiske dataene opprettholder relasjonene mellom variabler ved å bruke korrelasjonskoeffisienter. En velkjent beregning som Propensity Mean Squared Error (PMSE) ville være av denne typen. 

            • Gjensidig informasjon: Vi måler de gjensidige avhengighetene mellom variabler for å forstå dybden av disse sammenhengene utover bare korrelasjoner. 

          Sammenlignende analyse: Syntho Engine vs Open-Source Alternativer

          Den komparative analysen ble utført ved å bruke et standardisert evalueringsrammeverk og identiske testteknikker på tvers av alle modeller, inkludert Syntho Engine og SDV-modeller. Ved å syntetisere datasett fra identiske kilder og utsette dem for de samme statistiske testene og maskinlæringsmodellvurderingene, sikrer vi en rettferdig og objektiv sammenligning. Avsnittet som følger beskriver ytelsen til hver syntetisk datagenerator på tvers av utvalget av beregninger presentert ovenfor.  

           

          Når det gjelder datasettet som ble brukt til evalueringen, brukte vi UCI voksens folketellingsdatasett som er et velkjent datasett i maskinlæringsmiljøet. Vi renset dataene før all trening og delte deretter datasettet i to sett (et trenings- og et holdout-sett for testing). Vi brukte opplæringssettet til å generere 1 million nye datapunkter med hver av modellene og evaluerte ulike beregninger på disse genererte datasettene. For ytterligere maskinlæringsevalueringer brukte vi holdout-settet til å evaluere beregninger som de som er relatert til TSTR og TRTS.  

           

          Hver generator ble kjørt med standardparametere. Siden noen av modellene, som Syntho, kan fungere direkte på alle tabelldata, ble det ikke gjort noen finjustering. Å søke etter de riktige hyperparametrene for hver modell ville ta betydelig tid, og Tabell 2 viser allerede en stor tidsforskjell mellom Synthos modell og de som er testet mot. 

           

          Det er bemerkelsesverdig at i motsetning til resten av modellene i SDV, er Gaussian Copula Synthesizer basert på statistiske metoder. I motsetning er resten basert på nevrale nettverk som Generative Adversarial Networks (GAN)-modeller og variasjonsautokodere. Dette er grunnen til at Gaussian Copula kan sees på som en baseline for alle modellene som er diskutert. 

          Resultater

          Datakvalitet

          Figur 1. Visualisering av grunnleggende kvalitetsresultater for alle modeller

          De tidligere diskuterte tilslutningene til trender og representasjoner i dataene finnes i figur 1 og tabell 1. Her kan hver av metrikkene som er i bruk tolkes som følger:

          • Samlet kvalitetspoeng: Samlet vurdering av syntetiske datas kvalitet, ved å kombinere ulike aspekter som statistisk likhet og datakarakteristikker. 
          • Kolonneformer: Vurderer om de syntetiske dataene opprettholder samme distribusjonsform som de virkelige dataene for hver kolonne. 
          • Kolonnepartrender: Evaluerer forhold eller korrelasjoner mellom par av kolonner i syntetiske data sammenlignet med reelle data. 
          •  

          Totalt sett kan det legges merke til at Syntho oppnår svært høye score over hele linja. Til å begynne med, når man ser på den generelle datakvaliteten (evaluert med SDV-metrikkbiblioteket) kan Syntho oppnå et resultat på oppover 99 % (med kolonneformadheranse på 99.92 % og kolonneparformadheranse på 99.31 %). Dette er mens SDV får et resultat på maksimalt 90.84 % (med Gaussian Copula, med en søyleformadheranse på 93.82 % og søyleparformadheranse på 87.86%). 

          En tabellrepresentasjon av kvalitetspoengene til hvert genererte datasett per modell

          Tabell 1. En tabellrepresentasjon av kvalitetspoengene til hvert genererte datasett per modell 

          Datadekning

          Diagnoserapportmodulen til SDV gjør oss oppmerksom på at SDV-genererte data (i alle tilfeller) mangler mer enn 10 % av de numeriske områdene; Når det gjelder Triplet-Based Variational Autoencoder (TVAE), mangler også samme mengde kategoriske data sammenlignet med det originale datasettet. Ingen slike advarsler ble generert med resultatene oppnådd ved bruk av Syntho.  

          visualisering av gjennomsnittlig kolonnevise ytelsesberegninger for alle modeller
           
           

          Figur 2. visualisering av gjennomsnittlig kolonnevise ytelsesmålinger for alle modeller 

          I den komparative analysen illustrerer plottet i figur 2 at SDV arkiverer marginalt bedre resultater i kategoridekning med noen av modellene deres (nemlig med GaussianCopula, CopulaGAN og Conditional Tabular GAN – CTGAN). Ikke desto mindre er det viktig å fremheve at påliteligheten til Synthos data overgår den til SDV-modeller, ettersom avviket i dekning på tvers av kategorier og områder er minimalt, og viser bare 1.1 % variasjon. Derimot viser SDV-modeller en betydelig variasjon, fra 14.6 % til 29.2 %. 

           

          De representerte beregningene her kan tolkes som følger: 

          • Kategoridekning: Måler tilstedeværelsen av alle kategorier i syntetiske data sammenlignet med reelle data.
          • Områdedekning: Evaluerer hvor godt verdiområdet i syntetiske data samsvarer med det i virkelige data. 
          En tabellrepresentasjon av gjennomsnittlig dekning av en gitt attributttype per modell

          Tabell 2. En tabellrepresentasjon av gjennomsnittlig dekning av en gitt attributttype per modell 

          Utility

          Når vi går videre til temaet nytteverdi av syntetiske data, blir spørsmålet om treningsmodeller på dataene relevant. For å ha en balansert og rettferdig sammenligning mellom alle rammeverk har vi valgt standard Gradient Boosting Classifier fra SciKit Learn-biblioteket, siden den er ganske akseptert som en godt presterende modell med ferdige innstillinger.  

           

          To forskjellige modeller er trent, en på syntetiske data (for TSTR) og en på originaldata (for TRTS). Modellen trent på de syntetiske dataene blir evaluert ved å bruke et holdout-testsett (som ikke ble brukt under generering av syntetiske data), og modellen trent på originaldata testes på det syntetiske datasettet.  

          visualisering av AUC-score (Areal Under the Curve) per metode per modell

          Figur 3. Visualisering av AUC-score (Areal Under the Curve) per metode per modell 

           Resultatene visualisert ovenfor demonstrerer overlegenheten til syntetisk datagenerering av Syntho-motoren sammenlignet med andre metoder, ettersom det ikke er noen forskjell mellom resultatene oppnådd med de forskjellige metodene (peker mot en høy likhet mellom de syntetiske og virkelige dataene). Den røde stiplede linjen i plottet er også resultatet oppnådd ved å evaluere basisytelsen til en Train Real, Test Real (TRTR)-test for å gi en grunnlinje for de observerte beregningene. Denne linjen representerer verdien 0.92, som er Area Under the Curve-score (AUC-score) oppnådd av modellen trent på reelle data og testet på reelle data. 

          En tabellrepresentasjon av AUC-skårene oppnådd av henholdsvis TRTS og TSTR per modell.

          Tabell 3. En tabellrepresentasjon av AUC-skårene oppnådd av henholdsvis TRTS og TSTR per modell. 

          Tidsmessig sammenligning

          Naturligvis er det avgjørende å vurdere tiden som er investert i å generere disse resultatene. Visualiseringen nedenfor illustrerer nettopp dette.

          visualisering av tiden det tar å trene og utføre syntetisk datagenerering av én million datapunkter med en modell med og uten GPU.

          Figur 5. Visualisering av tiden det tar å trene og prestere generering av syntetiske data av én million datapunkter med en modell med og uten GPU. 

          Figur 5 illustrerer tiden det tar å generere syntetiske data i to forskjellige innstillinger. Den første (her referert til som uten GPU), var testkjøringer som ble kjørt på system med en Intel Xeon CPU med 16 kjerner som kjører på 2.20 GHz. Testene merket som "kjørte med en GPU" var på et system med en AMD Ryzen 9 7945HX CPU med 16 kjerner som kjører på 2.5 GHz og en NVIDIA GeForce RTX 4070 bærbar GPU. Som merkbart i figur 2 og i tabell 2 nedenfor, kan det observeres at Syntho er betydelig raskere til å generere syntetiske data (i begge scenarier) som er kritisk i en dynamisk arbeidsflyt. 

          en tabell som illustrerer tiden det tar å generere syntetisk data på 1 million datapunkter med hver modell med og uten en GPU

          Tabell 5. En tabellrepresentasjon av tiden det tar å generering av syntetiske data på én million datapunkter med hver modell med og uten GPU 

          Avsluttende bemerkninger og fremtidige retningslinjer 

          Funnene understreker viktigheten av grundig kvalitetsevaluering ved valg av riktig metode for generering av syntetiske data. Syntho's Engine, med sin AI-drevne tilnærming, viser bemerkelsesverdige styrker i visse beregninger, mens åpen kildekodeverktøy som SDV skinner i deres allsidighet og fellesskapsdrevne forbedringer. 

          Ettersom feltet for syntetiske data fortsetter å utvikle seg, oppfordrer vi deg til å bruke disse beregningene i prosjektene dine, utforske deres vanskeligheter og dele dine erfaringer. Følg med for fremtidige innlegg der vi vil dykke dypere inn i andre beregninger og fremheve eksempler fra virkelige verden på deres anvendelse. 

          På slutten av dagen, for de som ønsker å teste vannet på syntetiske data, kan det presenterte alternativet med åpen kildekode være et forsvarlig valg gitt tilgjengelighet; Men for fagfolk som inkorporerer denne moderne teknologien i utviklingsprosessen, må enhver sjanse til forbedring tas og alle hindringer unngås. Det er derfor viktig å velge det beste alternativet som er tilgjengelig. Med analysene gitt ovenfor blir det ganske tydelig at Syntho og med det Syntho Engine er et meget dyktig verktøy for utøvere. 

          Om Syntho

          Syntho gir en smart plattform for generering av syntetiske data, som utnytter flere syntetiske dataformer og genereringsmetoder, og gir organisasjoner mulighet til å transformere data intelligent til et konkurransefortrinn. Våre AI-genererte syntetiske data etterligner statistiske mønstre av originale data, og sikrer nøyaktighet, personvern og hastighet, vurdert av eksterne eksperter som SAS. Med smarte avidentifikasjonsfunksjoner og konsistent kartlegging, er sensitiv informasjon beskyttet samtidig som referanseintegriteten bevares. Plattformen vår muliggjør opprettelse, administrasjon og kontroll av testdata for ikke-produksjonsmiljøer, ved å bruke regelbaserte syntetiske datagenereringsmetoder for målrettede scenarier. I tillegg kan brukere generere syntetiske data programmatisk og få realistiske testdata for å utvikle omfattende test- og utviklingsscenarier med letthet.  

          Vil du lære mer praktiske anvendelser av syntetiske data? Føl deg fri til å tidsplan demo!

          Om forfatterne

          Programvareingeniør Intern

          Rohanam er bachelorstudent ved Delft University of Technology og er Software Engineering Intern ved Syntho 

          Maskinlæringsingeniør

          Mihai oppnådde sin doktorgrad fra University of Bristol om emnet Hierarchical Reinforcement Learning brukt på robotikk og er en Maskinlæringsingeniør at Syntho. 

          syntho guidedeksel

          Lagre din syntetiske dataguide nå!