Pagsusuri sa Utility at Pagkakatulad sa Synthetic Data Generators: Isang Teknikal na Deep Dive at Comparative Analysis

Nai-publish:
Pebrero 27, 2024

pagpapakilala

Sa digital na panahon ngayon, ang kamalayan ng data privacy ay makabuluhang tumaas. Lalong kinikilala ng mga user ang kanilang data bilang isang natatanging digital fingerprint, na nagdudulot ng panganib sa kanilang privacy sa kaganapan ng mga paglabag sa data. Ang alalahaning ito ay higit na pinalalakas ng mga regulasyon tulad ng GDPR, na nagbibigay ng kapangyarihan sa mga user na humiling ng pagtanggal ng kanilang data. Bagama't lubhang kailangan, ang batas na ito ay maaaring maging napakamahal para sa mga kumpanya dahil ang pag-access sa data ay pinaliit; mga paghihigpit na kadalasang umuubos ng oras at mapagkukunan upang madaig. 

Talaan ng nilalaman

Ano ang mga synthetic data generators?

Maglagay ng sintetikong data, isang solusyon sa palaisipang ito. Gumagawa ang mga synthetic na data generator ng mga dataset na gumagaya sa totoong data ng user habang pinapanatili ang anonymity at confidentiality. Ang diskarte na ito ay nakakakuha ng traksyon sa mga industriya, mula sa pangangalagang pangkalusugan hanggang sa pananalapi, kung saan ang privacy ay higit sa lahat.  

Ang post na ito ay iniakma para sa mga propesyonal at mahilig sa data, na nakatuon sa pagsusuri ng mga synthetic na data generator. Susuriin natin ang mga pangunahing sukatan at magsasagawa ng isang paghahambing na pagsusuri sa pagitan ng Syntho's Engine at ang mga alternatibong open-source nito, na nag-aalok ng mga insight sa kung paano epektibong masuri ang kalidad ng solusyon ng pagbuo ng synthetic na data. Higit pa rito, susuriin din namin ang halaga ng oras ng bawat isa sa mga modelong ito upang magbigay ng karagdagang insight sa paggawa ng mga modelo. 

Paano pumili ng tamang paraan ng pagbuo ng synthetic data?

Sa magkakaibang tanawin ng pagbuo ng sintetikong data, maraming magagamit na pamamaraan, bawat isa ay nag-aagawan ng pansin sa mga natatanging kakayahan nito. Ang pagpili ng pinaka-angkop na paraan para sa isang partikular na aplikasyon ay nangangailangan ng masusing pag-unawa sa mga katangian ng pagganap ng bawat opsyon. Nangangailangan ito ng komprehensibong pagsusuri ng iba't ibang synthetic data generators batay sa isang set ng mahusay na tinukoy na mga sukatan upang makagawa ng matalinong desisyon. 

Ang sumusunod ay isang mahigpit na comparative analysis ng Syntho Engine kasama ng isang kilalang open-source framework, ang Synthetic Data Vault (SDV). Sa pagsusuring ito, gumamit kami ng maraming karaniwang ginagamit na sukatan gaya ng istatistikal na katapatan, predictive accuracy at inter-variable na relasyon. 

Mga Sukatan sa Pagsusuri ng Synthetic na Data

Bago ipakilala ang anumang partikular na sukatan, dapat nating kilalanin na maraming mga ideolohiya tungkol sa pagsusuri ng Synthetic na data, bawat isa ay nagbibigay ng insight sa isang partikular na aspeto ng data. Sa pag-iisip na ito, ang sumusunod na tatlong kategorya ay namumukod-tangi bilang mahalaga at komprehensibo. Ang mga sukatang ito ay nagbibigay ng mga insight sa iba't ibang aspeto ng kalidad ng data. Ang mga kategoryang ito ay: 

      1. Mga Sukatan ng Statistical Fidelity: Sinusuri ang mga pangunahing istatistikal na feature ng data, tulad ng paraan at pagkakaiba-iba, upang matiyak na ang synthetic na data ay naaayon sa istatistikal na profile ng orihinal na dataset. 

        1. Predictive na Katumpakan: Sinusuri ang synthetic data generation model performance, sinanay gamit ang orihinal na data, at sinusuri sa synthetic data (Train Real – Test Synthetic, TRTS) at vice versa (Train Synthetic – Test Real, TSTR) 

          1. Mga Relasyon sa Inter-Variable: Kasama sa pinagsamang kategoryang ito ang: 

            • Kaugnayan ng Tampok: Sinusuri namin kung gaano kahusay pinapanatili ng sintetikong data ang mga ugnayan sa pagitan ng mga variable gamit ang mga coefficient ng ugnayan. Ang isang kilalang sukatan tulad ng Propensity Mean Squared Error (PMSE) ay magiging ganito ang uri. 

            • Impormasyon sa Mutual: Sinusukat namin ang mutual dependences sa pagitan ng mga variable upang maunawaan ang lalim ng mga ugnayang ito nang higit pa sa mga ugnayan. 

          Paghahambing na Pagsusuri: Syntho Engine vs. Open-Source Alternatives

          Ang paghahambing na pagsusuri ay isinagawa gamit ang isang standardized evaluative framework at magkatulad na mga diskarte sa pagsubok sa lahat ng mga modelo, kabilang ang Syntho Engine at mga modelo ng SDV. Sa pamamagitan ng pag-synthesize ng mga dataset mula sa magkakaparehong source at pagsasailalim sa mga ito sa parehong mga istatistikal na pagsubok at machine learning model assessment, tinitiyak namin ang isang patas at walang pinapanigan na paghahambing. Ang seksyong kasunod ay nagdedetalye ng performance ng bawat synthetic data generator sa hanay ng mga sukatan na ipinakita sa itaas.  

           

          Tulad ng para sa dataset na ginamit para sa pagsusuri, ginamit namin ang Dataset ng Census ng UCI Adult na isang kilalang dataset sa machine learning community. Nilinis namin ang data bago ang lahat ng pagsasanay at pagkatapos ay hinati namin ang dataset sa dalawang set (isang pagsasanay at isang set ng holdout para sa pagsubok). Ginamit namin ang set ng pagsasanay upang bumuo ng 1 milyong bagong datapoint sa bawat isa sa mga modelo at sinuri namin ang iba't ibang sukatan sa mga nabuong dataset na ito. Para sa karagdagang pagsusuri sa machine learning, ginamit namin ang hanay ng holdout upang suriin ang mga sukatan gaya ng mga nauugnay sa TSTR at TRTS.  

           

          Ang bawat generator ay pinatakbo gamit ang mga default na parameter. Dahil ang ilan sa mga modelo, tulad ng Syntho, ay maaaring gumana nang out-of-the-box sa anumang tabular na data, walang fine tuning ang ginawa. Ang paghahanap para sa mga tamang hyperparameter para sa bawat modelo ay mangangailangan ng malaking tagal ng oras, at ang Talahanayan 2 ay nagpapakita na ng malaking pagkakaiba ng oras sa pagitan ng modelo ni Syntho at sa mga nasubok laban sa. 

           

          Kapansin-pansin na bilang kabaligtaran sa iba pang mga modelo sa SDV, ang Gaussian Copula Synthesizer ay batay sa mga istatistikal na pamamaraan. Sa kabaligtaran, ang iba ay nakabatay sa mga neural network gaya ng mga modelo ng Generative Adversarial Networks (GAN) at variational auto-encoders. Ito ang dahilan kung bakit ang Gaussian Copula ay makikita bilang baseline para sa lahat ng mga modelong tinalakay. 

          resulta

          Kalidad ng Data

          Figure 1. Visualization ng mga pangunahing resulta ng kalidad para sa lahat ng mga modelo

          Ang naunang tinalakay na pagsunod sa mga uso at representasyon sa data ay makikita sa Figure 1 at Talahanayan 1. Dito, bawat isa sa mga sukatan na ginagamit ay maaaring bigyang-kahulugan bilang mga sumusunod:

          • Pangkalahatang Marka ng Kalidad: Pangkalahatang pagtatasa ng kalidad ng synthetic na data, na pinagsasama-sama ang iba't ibang aspeto tulad ng pagkakatulad sa istatistika at mga katangian ng data. 
          • Mga Hugis ng Column: Tinatasa kung ang synthetic na data ay nagpapanatili ng parehong hugis ng pamamahagi gaya ng tunay na data para sa bawat column. 
          • Mga Trend ng Pares ng Column: Sinusuri ang ugnayan o ugnayan sa pagitan ng mga pares ng column sa synthetic na data kumpara sa totoong data. 
          •  

          Sa pangkalahatan, mapapansin na nakakamit ni Syntho ang napakataas na marka sa kabuuan. Sa simula, kapag tumitingin sa pangkalahatang kalidad ng data (nasusuri gamit ang library ng mga sukatan ng SDV) Maaaring makamit ng Syntho ang isang resulta nang pataas ng 99% (na may 99.92% ang pagkakasunod sa hugis ng column at 99.31%) ang pares ng column. Ito ay habang ang SDV ay nakakakuha ng resulta ng maximum na 90.84% ​​(na may Gaussian Copula, na mayroong column shape adherence na 93.82% at column pair shape adherence na 87.86%). 

          Isang tabular na representasyon ng mga marka ng kalidad ng bawat nabuong dataset bawat modelo

          Talahanayan 1. Isang tabular na representasyon ng mga marka ng kalidad ng bawat nabuong dataset bawat modelo 

          Saklaw ng Data

          Ang module ng Ulat sa Diagnosis ng SDV ay nagbibigay sa amin ng pansin na ang data na nabuo ng SDV (sa lahat ng kaso) ay nawawala ng higit sa 10% ng mga hanay ng numero; Sa kaso ng Triplet-Based Variational Autoencoder (TVAE), nawawala rin ang parehong dami ng pangkategoryang data kapag inihambing sa orihinal na dataset. Walang ganitong mga babala ang nabuo sa mga resultang nakamit sa pamamagitan ng paggamit ng Syntho.  

          visualization ng average na column-wise na sukatan ng performance para sa lahat ng modelo
           
           

          Figure 2. visualization ng average na column-wise na mga sukatan ng pagganap para sa lahat ng mga modelo 

          Sa paghahambing na pagsusuri, ang balangkas ng Figure 2 ay naglalarawan na ang mga archive ng SDV ay bahagyang mas mahusay na nagreresulta sa saklaw ng kategorya kasama ang ilan sa kanilang mga modelo (lalo na sa GaussianCopula, CopulaGAN, at Conditional Tabular GAN - CTGAN). Gayunpaman, mahalagang i-highlight na ang pagiging maaasahan ng data ni Syntho ay nahihigitan ng mga modelo ng SDV, dahil ang pagkakaiba sa saklaw sa mga kategorya at saklaw ay minimal, na nagpapakita ng 1.1% na pagkakaiba. Sa kaibahan, ang mga modelo ng SDV ay nagpapakita ng malaking pagkakaiba-iba, mula 14.6% hanggang 29.2%. 

           

          Ang kinakatawan na mga sukatan dito, ay maaaring bigyang-kahulugan bilang mga sumusunod: 

          • Saklaw ng Kategorya: Sinusukat ang presensya ng lahat ng kategorya sa synthetic na data kumpara sa totoong data.
          • Saklaw ng Saklaw: Sinusuri kung gaano kahusay tumutugma ang hanay ng mga halaga sa synthetic na data sa totoong data. 
          Isang tabular na representasyon ng average na saklaw ng isang naibigay na uri ng katangian sa bawat modelo

          Talahanayan 2. Isang tabular na representasyon ng average na saklaw ng isang naibigay na uri ng katangian sa bawat modelo 

          Gamit

          Ang paglipat sa paksa ng utility ng sintetikong data, ang usapin ng mga modelo ng pagsasanay sa data ay nagiging may kaugnayan. Upang magkaroon ng balanse at patas na paghahambing sa pagitan ng lahat ng mga framework, pinili namin ang default na Gradient Boosting Classifier mula sa library ng SciKit Learn, dahil medyo tinatanggap ito bilang isang mahusay na gumaganap na modelo na may mga setting na wala sa kahon.  

           

          Dalawang magkaibang modelo ang sinanay, isa sa synthetic data (para sa TSTR) at isa sa orihinal na data (para sa TRTS). Ang modelong sinanay sa synthetic na data ay sinusuri sa pamamagitan ng paggamit ng holdout test set (na hindi ginamit sa paggawa ng synthetic data) at ang modelong sinanay sa orihinal na data ay sinusuri sa synthetic na dataset.  

          visualization ng mga marka ng Area Under the Curve (AUC) bawat pamamaraan bawat modelo

          Figure 3. Visualization ng Area Under the Curve (AUC) na mga marka sa bawat pamamaraan sa bawat modelo 

           Ang mga resulta na nakikita sa itaas ay nagpapakita ng higit na kahusayan ng Synthotic data generation ng Syntho engine kumpara sa iba pang mga pamamaraan, dahil walang pagkakaiba sa pagitan ng mga resulta na nakuha ng iba't ibang mga pamamaraan (na tumuturo sa mataas na pagkakapareho sa pagitan ng synthetic at totoong data). Gayundin, ang pulang tuldok na linya na nasa plot ay ang resultang nakuha sa pamamagitan ng pagsusuri sa base performance ng isang Train Real, Test Real (TRTR) na pagsubok upang magbigay ng baseline para sa mga naobserbahang sukatan. Kinakatawan ng linyang ito ang value na 0.92, na kung saan ay ang Area Under the Curve score (AUC score) na nakamit ng modelong sinanay sa totoong data at nasubok sa totoong data. 

          Isang tabular na representasyon ng mga marka ng AUC na nakamit ng TRTS at TSTR ayon sa pagkakabanggit sa bawat modelo.

          Talahanayan 3. Isang tabular na representasyon ng mga marka ng AUC na nakamit ng TRTS at TSTR ayon sa pagkakabanggit sa bawat modelo. 

          Paghahambing sa oras

          Naturally, mahalagang isaalang-alang ang oras na namuhunan sa pagbuo ng mga resultang ito. Ang visualization sa ibaba ay naglalarawan lamang nito.

          visualization ng oras na kinuha upang sanayin at isagawa ang synthetic data generation ng isang milyong datapoint na may modelong may GPU at walang.

          Figure 5. Visualization ng oras na kinuha sa pagsasanay at pagganap paggawa ng sintetikong data ng isang milyong datapoint na may modelong may GPU at walang. 

          Ang Figure 5 ay naglalarawan ng oras na kinuha upang makabuo ng sintetikong data sa dalawang magkaibang mga setting. Ang una sa kung saan (tinutukoy dito bilang Walang GPU), ay mga pagsubok na tumatakbo sa system na may Intel Xeon CPU na may 16 na mga core na tumatakbo sa 2.20 GHz. Ang mga pagsubok na minarkahan bilang "ran with a GPU" ay nasa isang system na may AMD Ryzen 9 7945HX CPU na may 16 core na tumatakbo sa 2.5GHz at isang NVIDIA GeForce RTX 4070 Laptop GPU. Tulad ng kapansin-pansin sa Figure 2 at sa Talahanayan 2 sa ibaba, mapapansing mas mabilis ang Syntho sa pagbuo ng synthetic data (sa parehong mga sitwasyon) na kritikal sa isang dynamic na daloy ng trabaho. 

          isang talahanayan na naglalarawan ng oras na ginugol sa pagbuo ng synthetic na data ng 1 milyong mga punto ng data sa bawat modelo na may at walang GPU

          Talahanayan 5. Isang Tabular na representasyon ng oras na kinuha sa paggawa ng sintetikong data ng isang milyong datapoint sa bawat modelo na may at walang GPU 

          Mga Pangwakas na Puna at Mga Direksyon sa Hinaharap 

          Binibigyang-diin ng mga natuklasan ang kahalagahan ng masusing pagsusuri ng kalidad sa pagpili ng tamang paraan ng pagbuo ng synthetic data. Ang Syntho's Engine, kasama ang AI-driven na diskarte nito, ay nagpapakita ng mga kapansin-pansing lakas sa ilang partikular na sukatan, habang ang mga open-source na tool tulad ng SDV ay kumikinang sa kanilang versatility at community-driven na mga pagpapabuti. 

          Habang patuloy na umuunlad ang larangan ng sintetikong data, hinihikayat ka naming ilapat ang mga sukatan na ito sa iyong mga proyekto, tuklasin ang mga pagkasalimuot ng mga ito, at ibahagi ang iyong mga karanasan. Manatiling nakatutok para sa mga post sa hinaharap kung saan sumisid kami nang mas malalim sa iba pang mga sukatan at iha-highlight ang mga tunay na halimbawa ng kanilang aplikasyon. 

          Sa pagtatapos ng araw, para sa mga naghahanap upang subukan ang tubig sa sintetikong data, ang ipinakita na open-source na alternatibo ay maaaring maging isang makatwirang pagpipilian dahil sa accessibility; gayunpaman, para sa mga propesyonal na isinasama ang makabagong teknolohiyang ito sa kanilang proseso ng pag-unlad, anumang pagkakataon sa pagpapabuti ay dapat kunin at iwasan ang lahat ng mga hadlang. Samakatuwid, mahalagang piliin ang pinakamahusay na opsyon na magagamit. Sa mga pagsusuring ibinigay sa itaas, nagiging maliwanag na ang Syntho at kasama nito ang Syntho Engine ay isang napakahusay na tool para sa mga practitioner. 

          Tungkol kay Syntho

          Syntho ay nagbibigay ng matalinong synthetic data generation platform, na gumagamit ng maraming synthetic data form at generation method, na nagbibigay ng kapangyarihan sa mga organisasyon na matalinong baguhin ang data sa isang competitive edge. Ginagaya ng aming synthetic na data na binuo ng AI ang mga pattern ng istatistika ng orihinal na data, na tinitiyak ang katumpakan, privacy, at bilis, ayon sa pagtatasa ng mga external na eksperto tulad ng SAS. Sa pamamagitan ng matalinong mga tampok na de-identification at pare-parehong pagmamapa, pinoprotektahan ang sensitibong impormasyon habang pinapanatili ang integridad ng referential. Ang aming platform ay nagbibigay-daan sa paglikha, pamamahala, at kontrol ng data ng pagsubok para sa mga kapaligiran na hindi produksyon, gamit ang mga pamamaraan ng pagbuo ng synthetic data na nakabatay sa panuntunan para sa mga naka-target na sitwasyon. Bukod pa rito, ang mga user ay maaaring makabuo ng sintetikong data sa programmatically at makakuha ng makatotohanang data ng pagsubok upang bumuo ng komprehensibong pagsubok at mga senaryo ng pag-develop nang madali.  

          Gusto mo bang matuto ng higit pang praktikal na mga aplikasyon ng sintetikong data? Huwag mag-atubiling iskedyul ng demo!

          Tungkol sa mga may-akda

          Intern sa Software Engineering

          Si Roham ay isang bachelor student sa Delft University of Technology at isang Software Engineering Intern sa Syntho 

          Machine Learning Engineer

          Nakamit ni Mihai ang kanyang PhD mula sa Unibersidad ng Bristol sa paksa ng Hierarchical Reinforcement Learning na inilapat sa Robotics at ito ay isang Machine Learning Engineer at Syntho. 

          syntho guide cover

          I-save ang iyong synthetic data guide ngayon!