Utvärdering av nytta och likhet i syntetiska datageneratorer: en teknisk djupdykning och jämförande analys

Publicerad:
Februari 27, 2024

Beskrivning

I dagens digitala era har medvetenheten om datasekretess ökat avsevärt. Användare känner i allt högre grad igen sin data som ett unikt digitalt fingeravtryck, vilket utgör en risk för deras integritet i händelse av dataintrång. Denna oro förstärks ytterligare av bestämmelser som GDPR, som ger användare möjlighet att begära radering av deras data. Även om den är välbehövlig kan denna lagstiftning bli mycket kostsam för företag eftersom tillgången till data minimeras; restriktioner som ofta är tid- och resurskrävande att övervinna. 

Innehållsförteckning

Vad är syntetiska datageneratorer?

Ange syntetiska data, en lösning på denna gåta. Syntetiska datageneratorer skapar datauppsättningar som efterliknar verklig användardata samtidigt som anonymitet och konfidentialitet bevaras. Detta tillvägagångssätt vinner dragkraft över branscher, från hälsovård till finans, där integritet är av största vikt.  

Det här inlägget är skräddarsytt för dataproffs och entusiaster, med fokus på utvärdering av syntetiska datageneratorer. Vi kommer att fördjupa oss i nyckelmått och genomföra en jämförande analys mellan Synthos Engine och dess alternativ med öppen källkod, och erbjuda insikter om hur man effektivt bedömer lösningskvaliteten för generering av syntetisk data. Dessutom kommer vi också att utvärdera tidskostnaden för var och en av dessa modeller för att ge ytterligare insikt i hur modellerna fungerar. 

Hur väljer man rätt metod för att generera syntetisk data?

I det mångsidiga landskapet för generering av syntetisk data finns det ett överflöd av metoder tillgängliga, som var och en tävlar om uppmärksamhet med sina unika möjligheter. Att välja den mest lämpliga metoden för en viss applikation kräver en grundlig förståelse för varje alternativs prestandaegenskaper. Detta kräver en omfattande utvärdering av olika syntetiska datageneratorer baserat på en uppsättning väldefinierade mått för att fatta ett välgrundat beslut. 

Vad som följer är en rigorös jämförande analys av Syntho Engine tillsammans med ett välkänt ramverk med öppen källkod, Synthetic Data Vault (SDV). I den här analysen använde vi många vanliga mätvärden som statistisk trohet, prediktiv noggrannhet och intervariabel relation. 

Syntetisk datautvärderingsstatistik

Innan vi introducerar något specifikt mått, måste vi erkänna att det finns många ideologier om att utvärdera syntetiska data, som var och en ger insikt i en viss aspekt av data. Med detta i åtanke framstår följande tre kategorier som viktiga och heltäckande. Dessa mätvärden ger insikter i olika aspekter av datakvalitet. Dessa kategorier är: 

      1. Statistiska trohetsmått: Undersöka grundläggande statistiska egenskaper hos datan, som medelvärden och varianser, för att säkerställa att de syntetiska uppgifterna överensstämmer med den ursprungliga datauppsättningens statistiska profil. 

        1. Prediktiv noggrannhet: Undersöker modellens prestanda för generering av syntetisk data, tränad med originaldata och utvärderad på syntetisk data (Train Real – Test Synthetic, TRTS) och vice versa (Train Synthetic – Test Real, TSTR) 

          1. Intervariabla relationer: Denna kombinerade kategori inkluderar: 

            • Funktionskorrelation: Vi bedömer hur väl den syntetiska datan upprätthåller relationerna mellan variabler med hjälp av korrelationskoefficienter. Ett välkänt mått som Propensity Mean Squared Error (PMSE) skulle vara av denna typ. 

            • Ömsesidig information: Vi mäter de ömsesidiga beroenden mellan variabler för att förstå djupet av dessa samband utöver bara korrelationer. 

          Jämförande analys: Syntho Engine vs. Open-Source-alternativ

          Den jämförande analysen genomfördes med hjälp av ett standardiserat utvärderingsramverk och identiska testtekniker över alla modeller, inklusive Syntho Engine och SDV-modeller. Genom att syntetisera datamängder från identiska källor och utsätta dem för samma statistiska tester och bedömningar av maskininlärningsmodeller säkerställer vi en rättvis och opartisk jämförelse. Avsnittet som följer beskriver prestandan för varje syntetisk datagenerator över de mätvärden som presenteras ovan.  

           

          När det gäller datamängden som användes för utvärderingen använde vi UCI Adults Census Dataset som är ett välkänt dataset inom maskininlärningsgemenskapen. Vi rengjorde data före all träning och delade sedan upp datauppsättningen i två uppsättningar (en tränings- och en holdout-uppsättning för testning). Vi använde utbildningsuppsättningen för att generera 1 miljon nya datapunkter med var och en av modellerna och utvärderade olika mätvärden på dessa genererade datamängder. För ytterligare utvärderingar av maskininlärning använde vi holdout-uppsättningen för att utvärdera mätvärden som de som är relaterade till TSTR och TRTS.  

           

          Varje generator kördes med standardparametrar. Eftersom vissa av modellerna, som Syntho, kan arbeta direkt på alla tabelldata, gjordes ingen finjustering. Att söka efter de rätta hyperparametrarna för varje modell skulle ta en betydande tid, och Tabell 2 visar redan en stor tidsskillnad mellan Synthos modell och de som testats mot. 

           

          Det är anmärkningsvärt att till skillnad från resten av modellerna i SDV är Gaussian Copula Synthesizer baserad på statistiska metoder. Däremot är resten baserade på neurala nätverk som Generative Adversarial Networks (GAN)-modeller och olika automatiska kodare. Det är därför Gaussian Copula kan ses som en baslinje för alla modeller som diskuteras. 

          Resultat

          Datakvalitet

          Figur 1. Visualisering av grundläggande kvalitetsresultat för alla modeller

          De tidigare diskuterade anslutningarna till trender och representationer i data finns i figur 1 och tabell 1. Här kan var och en av de använda måtten tolkas enligt följande:

          • Övergripande kvalitetsresultat: Övergripande bedömning av syntetisk datas kvalitet, genom att kombinera olika aspekter som statistisk likhet och dataegenskaper. 
          • Kolumnformer: Bedömer om de syntetiska data bibehåller samma distributionsform som de verkliga data för varje kolumn. 
          • Kolumnpartrender: Utvärderar samband eller korrelationer mellan kolumnpar i syntetiska data jämfört med verkliga data. 
          •  

          Sammantaget kan det märkas att Syntho uppnår mycket höga poäng över hela linjen. Till att börja med, när man tittar på övergripande datakvalitet (utvärderad med SDV-metrikbiblioteket) kan Syntho uppnå ett resultat uppåt på 99 % (med kolumnformvidhäftning på 99.92 % och kolumnparformvidhäftning på 99.31%). Detta medan SDV får ett resultat på maximalt 90.84% (med Gaussian Copula, med en kolumnformvidhäftning på 93.82% och kolumnparformvidhäftning på 87.86%). 

          En tabellrepresentation av kvalitetspoängen för varje genererad datauppsättning per modell

          Tabell 1. En tabellrepresentation av kvalitetspoängen för varje genererad datauppsättning per modell 

          Datatäckning

          Diagnosrapportmodulen i SDV uppmärksammar oss på att SDV-genererade data (i alla fall) saknar mer än 10 % av de numeriska intervallen; När det gäller Triplet-Based Variational Autoencoder (TVAE) saknas också samma mängd kategoridata jämfört med den ursprungliga datamängden. Inga sådana varningar genererades med de resultat som uppnåddes genom att använda Syntho.  

          visualisering av genomsnittliga kolumnvis prestandamått för alla modeller
           
           

          Figur 2. visualisering av genomsnittliga kolumnvis prestandamått för alla modeller 

          I den jämförande analysen illustrerar diagrammet i figur 2 att SDV arkiverar marginellt bättre resultat i kategoritäckning med några av deras modeller (nämligen med GaussianCopula, CopulaGAN och Conditional Tabular GAN – CTGAN). Ändå är det viktigt att betona att tillförlitligheten hos Synthos data överträffar SDV-modellernas tillförlitlighet, eftersom avvikelsen i täckning mellan kategorier och intervall är minimal och uppvisar bara 1.1 % varians. Däremot uppvisar SDV-modeller en avsevärd variation, från 14.6 % till 29.2 %. 

           

          De representerade mätvärdena här kan tolkas på följande sätt: 

          • Kategoritäckning: Mäter närvaron av alla kategorier i syntetisk data jämfört med verklig data.
          • Räckviddstäckning: Utvärderar hur väl värdeintervallet i syntetiska data matchar det i verkliga data. 
          En tabellrepresentation av den genomsnittliga täckningen för en given attributtyp per modell

          Tabell 2. En tabellrepresentation av den genomsnittliga täckningen för en given attributtyp per modell 

          Verktyget

          Går vi vidare till ämnet användbarhet av syntetiska data, blir frågan om träningsmodeller på data relevant. För att få en balanserad och rättvis jämförelse mellan alla ramverk har vi valt standard Gradient Boosting Classifier från SciKit Learn-biblioteket, eftersom det är ganska accepterat som en välpresterande modell med inställningar som är färdiga.  

           

          Två olika modeller tränas, en på syntetisk data (för TSTR) och en på originaldata (för TRTS). Modellen som tränats på syntetiska data utvärderas genom att använda en holdout-testuppsättning (som inte användes under generering av syntetisk data) och modellen som tränas på originaldata testas på den syntetiska datamängden.  

          visualisering av AUC-poäng (Area Under the Curve) per metod och modell

          Figur 3. Visualisering av AUC-poäng (Area Under the Curve) per metod och modell 

           Resultaten som visualiseras ovan visar överlägsenheten hos generering av syntetisk data av Syntho-motorn jämfört med andra metoder, eftersom det inte finns någon skillnad mellan resultaten som erhålls med de olika metoderna (som pekar mot en hög likhet mellan syntetisk och verklig data). Den röda prickade linjen som finns i diagrammet är också resultatet som erhålls genom att utvärdera basprestandan för ett TRTR-test (Train Real, Test Real) för att ge en baslinje för de observerade mätvärdena. Denna linje representerar värdet 0.92, vilket är Area Under the Curve-poängen (AUC-poäng) som uppnåtts av modellen tränad på verkliga data och testade på verkliga data. 

          En tabellrepresentation av AUC-poängen uppnådda av TRTS respektive TSTR per modell.

          Tabell 3. En tabellrepresentation av AUC-poängen uppnådda av TRTS respektive TSTR per modell. 

          Tidsmässig jämförelse

          Naturligtvis är det avgörande att ta hänsyn till den tid som investeras i att generera dessa resultat. Visualiseringen nedan illustrerar just detta.

          visualisering av tiden det tar att träna och utföra syntetisk datagenerering av en miljon datapunkter med en modell med och utan GPU.

          Figur 5. Visualisering av tiden det tar att träna och prestera generering av syntetisk data av en miljon datapunkter med en modell med och utan GPU. 

          Figur 5 illustrerar tiden det tar att generera syntetisk data i två olika inställningar. Den första (här kallad Without GPU) var testkörningar som kördes på system med en Intel Xeon-processor med 16 kärnor som kördes på 2.20 GHz. Testerna markerade som "körde med en GPU" var på ett system med en AMD Ryzen 9 7945HX CPU med 16 kärnor som körs på 2.5 GHz och en NVIDIA GeForce RTX 4070 Laptop GPU. Som märks i figur 2 och i tabell 2 nedan, kan det observeras att Syntho är betydligt snabbare på att generera syntetisk data (i båda scenarierna) vilket är avgörande i ett dynamiskt arbetsflöde. 

          en tabell som illustrerar tiden det tar att generera syntetisk data på 1 miljon datapunkter med varje modell med och utan en GPU

          Tabell 5. En tabellrepresentation av tiden det tar att generering av syntetisk data av en miljon datapunkter med varje modell med och utan en GPU 

          Avslutande kommentarer och framtida anvisningar 

          Resultaten understryker vikten av en noggrann kvalitetsutvärdering för att välja rätt syntetisk datagenereringsmetod. Synthos Engine, med sitt AI-drivna tillvägagångssätt, visar anmärkningsvärda styrkor i vissa mätvärden, medan verktyg med öppen källkod som SDV lyser i sin mångsidighet och gemenskapsdrivna förbättringar. 

          När området för syntetisk data fortsätter att utvecklas, uppmuntrar vi dig att tillämpa dessa mätvärden i dina projekt, utforska deras krångligheter och att dela dina erfarenheter. Håll utkik efter framtida inlägg där vi kommer att dyka djupare in i andra mätvärden och lyfta fram verkliga exempel på deras tillämpning. 

          I slutet av dagen, för dem som vill testa vattnet på syntetiska data, kan det presenterade alternativet med öppen källkod vara ett motiverat val med tanke på tillgänglighet; Men för proffs som införlivar denna moderna teknik i sin utvecklingsprocess måste varje chans till förbättring tas och alla hinder undvikas. Det är därför viktigt att välja det bästa tillgängliga alternativet. Med analyserna ovan blir det ganska uppenbart att Syntho och därmed Syntho Engine är ett mycket kapabelt verktyg för utövare. 

          Om Syntho

          Syntho tillhandahåller en smart plattform för generering av syntetisk data, som utnyttjar flera syntetiska dataformer och genereringsmetoder, vilket ger organisationer möjlighet att på ett intelligent sätt omvandla data till en konkurrensfördel. Vår AI-genererade syntetiska data efterliknar statistiska mönster av originaldata, vilket säkerställer noggrannhet, integritet och hastighet, som bedömts av externa experter som SAS. Med smarta avidentifieringsfunktioner och konsekvent kartläggning skyddas känslig information samtidigt som referensintegriteten bevaras. Vår plattform möjliggör skapande, hantering och kontroll av testdata för icke-produktionsmiljöer, med hjälp av regelbaserade syntetiska datagenereringsmetoder för riktade scenarier. Dessutom kan användare generera syntetisk data programmatiskt och få realistiska testdata för att enkelt utveckla omfattande test- och utvecklingsscenarier.  

          Vill du lära dig mer praktiska tillämpningar av syntetisk data? Känn dig fri att schema demo!

          Om författarna

          Software Engineering Intern

          am är en kandidatstudent vid Delfts tekniska universitet och är en Software Engineering Intern vid Syntho 

          Maskinlärande ingenjör

          Mihai tog sin doktorsexamen från University of Bristol på ämnet Hierarchical Reinforcement Learning tillämpas på robotik och är en Maskininlärningsingenjör at Syntho. 

          syntho guide lock

          Spara din syntetiska dataguide nu!