評估合成資料產生器的實用性與相似性:技術深入研究和比較分析

發布時間:
2024 年 2 月 27 日

簡介

在當今的數位時代,資料隱私意識顯著增強。用戶越來越多地將他們的數據視為獨特的數位指紋,一旦發生資料洩露,就會為他們的隱私帶來風險。 GDPR 等法規進一步加劇了這種擔憂,這些法規授權使用者要求刪除其資料。雖然這項立法非常必要,但由於資料存取被最小化,因此對公司來說成本可能非常高;克服這些限制通常需要耗費時間和資源。 

目錄

什麼是合成資料產生器?

輸入合成數據,這是這個難題的解決方案。合成資料產生器會建立模仿真實使用者資料的資料集,同時保持匿名性和機密性。這種方法在從醫療保健到金融等隱私至關重要的行業中越來越受歡迎。  

這篇文章是為數據專業人士和愛好者量身定制的,重點是合成數據生成器的評估。我們將深入研究關鍵指標,並對 Syntho 的引擎與其開源替代方案進行比較分析,提供有關如何有效評估合成資料產生的解決方案品質的見解。此外,我們還將評估每個模型的時間成本,以進一步了解模型的工作原理。 

如何選擇正確的合成資料生成方法?

在合成資料生成的多樣化領域中,有大量可用的方法,每種方法都以其獨特的功能爭奪人們的注意力。為特定應用選擇最合適的方法需要徹底了解每個選項的性能特徵。這就需要根據一組明確定義的指標對各種合成資料產生器進行全面評估,以做出明智的決策。 

接下來是 Syntho 引擎與著名的開源框架 Synthetic Data Vault (SDV) 的嚴格比較分析。在這個分析中,我們使用了許多常用的指標,例如統計保真度、預測準確度和變數間關係。 

綜合數據評估指標

在介紹任何具體指標之前,我們必須承認,評估綜合數據有多種意識形態,每種意識形態都可以洞察數據的某個方面。考慮到這一點,以下三個類別非常重要且全面。這些指標提供了對數據品質各個方面的見解。這些類別是: 

      1. 統計保真度指標: 檢查資料的基本統計特徵(例如平均值和變異數),以確保合成資料與原始資料集的統計概況保持一致。 

        1. 預測準確度: 檢查合成資料生成模型的效能,使用原始資料進行訓練,並對合成資料進行評估(訓練真實 - 測試合成,TRTS),反之亦然(訓練合成 - 測試真實,TSTR) 

          1. 變數間關係: 此組合類別包括: 

            • 特徵相關性: 我們使用相關係數評估合成資料維持變數之間關係的程度。諸如傾向均方誤差 (PMSE) 之類的眾所周知的指標就是這種類型。 

            • 相互訊息: 我們測量變數之間的相互依賴性,以了解這些關係的深度,而不僅僅是相關性。 

          比較分析:Syntho 引擎與開源替代方案

          比較分析是使用標準化的評估框架和所有模型(包括 Syntho Engine 和 SDV 模型)的相同測試技術進行的。透過合成來自相同來源的資料集並對它們進行相同的統計測試和機器學習模型評估,我們確保了公平和公正的比較。接下來的部分詳細介紹了每個合成資料產生器在上述指標範圍內的效能。  

           

          至於用於評估的資料集,我們使用 UCI 成人人口普查資料集 這是機器學習社群中著名的資料集。我們在所有訓練之前清理數據,然後將資料集分成兩組(訓練組和用於測試的保留組)。我們使用訓練集為每個模型產生 1 萬個新資料點,並評估這些產生的資料集的各種指標。為了進一步進行機器學習評估,我們使用保留集來評估與 TSTR 和 TRTS 相關的指標。  

           

          每個生成器都使用預設參數運行。由於某些模型(例如 Syntho)可以在任何表格資料上開箱即用,因此無需進行微調。為每個模型搜尋正確的超參數將花費大量時間,表 2 已經顯示了 Syntho 的模型與測試模型之間存在很大的時間差異。 

           

          值得注意的是,與 SDV 中的其餘模型相反,高斯 Copula 合成器是基於統計方法。相較之下,其餘的則基於神經網絡,例如生成對抗網絡(GAN)模型和變分自動編碼器。這就是為什麼高斯 Copula 可以被視為所有討論的模型的基線。 

          成績

          數據質量

          圖 1. 所有模型基本品質結果的視覺化

          前面討論的對數據趨勢和表示的遵守情況可以在圖 1 和表 1 中找到。這裡,使用的每個指標可以解釋如下:

          • 總體品質分數:綜合統計相似性和資料特徵等各個方面,對合成資料品質進行總體評估。 
          • 列形狀:評估合成資料是否與每列的真實資料保持相同的分佈形狀。 
          • 列對趨勢:與真實資料相比,評估合成資料中的列對之間的關係或相關性。 
          •  

          總體而言,可以注意到 Syntho 全面獲得了非常高的分數。首先,在查看整體資料品質時(使用 SDV 指標庫進行評估),Syntho 可以獲得高達 99% 的結果(列形狀遵守率為 99.92%,列對形狀遵守率為 99.31%)。同時,SDV 得到的結果最大為 90.84%(使用高斯 Copula,柱形符合率為 93.82%,列對形狀符合率為 87.86%)。 

          每個模型產生的每個資料集的品質分數的表格表示

          表 1. 每個模型產生的每個資料集的品質分數的表格表示 

          數據覆蓋率

          SDV 的診斷報告模組引起我們注意,SDV 產生的資料(在所有情況下)都遺失了超過 10% 的數值範圍;在基於三元組的變分自動編碼器 (TVAE) 的情況下,與原始資料集相比,也遺失了相同數量的分類資料。使用 Syntho 取得的結果沒有產生此類警告。  

          所有模型的平均列性能指標的可視化
           
           

          圖 2. 所有模型的平均列效能指標的視覺化 

          在比較分析中,圖 2 的圖表明,SDV 檔案庫的某些模型(即 GaussianCopula、CopulaGAN 和條件表格 GAN – CTGAN)在類別覆蓋範圍方面的結果稍好。儘管如此,需要強調的是,Syntho 資料的可靠性超過了 SDV 模型,因為不同類別和範圍的覆蓋範圍差異很小,僅表現出 1.1% 的變異數。相比之下,SDV 模型表現出相當大的變化,範圍從 14.6% 到 29.2%。 

           

          這裡所表示的指標可以解釋如下: 

          • 類別覆蓋率:與真實資料相比,衡量合成資料中所有類別的存在。
          • 範圍覆蓋範圍:評估合成資料中的值範圍與實際資料中的值範圍的匹配程度。 
          每個模型給定屬性類型的平均覆蓋率的表格表示

          表 2. 每個模型給定屬性類型的平均覆蓋率的表格表示 

          實用

          繼續討論合成資料的實用性主題,資料訓練模型的問題變得相關。為了在所有框架之間進行平衡和公平的比較,我們選擇了 SciKit Learn 庫中的預設梯度提升分類器,因為它作為具有開箱即用設定的性能良好的模型而被廣泛接受。  

           

          訓練兩種不同的模型,一種基於合成資料(對於 TSTR),一種基於原始資料(對於 TRTS)。使用保留測試集(在合成資料生成期間未使用)評估在合成資料上訓練的模型,並在合成資料集上測試在原始資料上訓練的模型。  

          每個模型每個方法的曲線下面積 (AUC) 分數的可視化

          圖 3. 每個模型每個方法的曲線下面積 (AUC) 分數的可視化 

           上述的視覺化結果證明了 Syntho 引擎產生合成資料與其他方法相比的優越性,不同方法獲得的結果之間沒有差異(表明合成資料和真實資料之間具有高度相似性)。此外,圖中的紅色虛線是透過評估真實訓練、真實測試 (TRTR) 測試的基本表現而獲得的結果,為觀察到的指標提供基準。這條線代表值 0.92,這是在真實數據上訓練並在真實數據上測試的模型獲得的曲線下面積分數(AUC 分數)。 

          每個模型分別透過 TRTS 和 TSTR 獲得的 AUC 分數的表格表示。

          表 3. 每個模型分別透過 TRTS 和 TSTR 獲得的 AUC 分數的表格表示。 

          時間比較

          當然,考慮產生這些結果所投入的時間至關重要。下面的可視化說明了這一點。

          使用有和沒有 GPU 的模型訓練和執行一百萬個資料點的合成資料產生所需時間的可視化。

          圖 5. 訓練和執行所需時間的可視化 合成數據生成 具有和不具有 GPU 的模型的一百萬個資料點。 

          圖 5 說明了在兩種不同設定下產生合成資料所需的時間。第一個(此處稱為「無 GPU」)是在具有 16 個核心、運行頻率為 2.20 GHz 的 Intel Xeon CPU 的系統上運行的測試運行。標記為「使用 GPU 運行」的測試是在配備 AMD Ryzen 9 7945HX CPU(16 核,運行頻率為 2.5GHz)和 NVIDIA GeForce RTX 4070 筆記型電腦 GPU 的系統上進行的。從圖 2 和下面的表 2 中可以看出,Syntho 在產生合成資料(在兩種情況下)方面明顯更快,這在動態工作流程中至關重要。 

          表格說明了使用和不使用 GPU 的每個模型產生 1 萬個資料點的合成資料所需的時間

          表 5. 所用時間的表格表示 合成數據生成 每個有或沒有 GPU 的模型均包含 100 萬個資料點 

          結束語與未來方向 

          研究結果強調了徹底的品質評估在選擇正確的合成資料生成方法時的重要性。 Syntho 的引擎採用人工智慧驅動的方法,在某些指標上展示了顯著的優勢,而 SDV 等開源工具則因其多功能性和社群驅動的改進而大放異彩。 

          隨著合成資料領域的不斷發展,我們鼓勵您在專案中應用這些指標,探索其複雜性,並分享您的經驗。請繼續關注未來的帖子,我們將更深入地研究其他指標並重點介紹其應用程式的實際範例。 

          歸根結底,對於那些希望嘗試合成資料的人來說,考慮到可訪問性,所提供的開源替代方案可能是合理的選擇;然而,對於將這種現代技術融入其開發過程的專業人士來說,必須抓住任何改進的機會並避免所有障礙。因此,選擇可用的最佳選項非常重要。透過上面提供的分析,很明顯 Syntho 以及 Syntho 引擎對於從業者來說是一個非常強大的工具。 

          關於合成

          合成器 提供智慧合成數據生成平台,利用多種合成數據形式和生成方法,使組織能夠智慧地將數據轉化為競爭優勢。我們的人工智慧產生的合成資料模仿原始資料的統計模式,確保準確性、隱私性和速度,並由 SAS 等外部專家評估。借助智能去識別功能和一致的映射,可以保護敏感訊息,同時保持引用完整性。我們的平台可以利用針對目標情境的基於規則的合成資料產生方法,創建、管理和控制非生產環境的測試資料。此外,使用者可以以程式設計方式產生合成數據並獲取真實的測試數據,以輕鬆開發全面的測試和開發場景。  

          您想了解更多合成數據的實際應用嗎?隨意地 安排演示!

          關於作者

          軟體工程實習生

          羅漢am 是代爾夫特理工大學的本科生,並且是以下公司的軟體工程實習生 合成器 

          機器學習工程師

          米哈伊 (Mihai) 獲得博士學位 布里斯託大學關於應用於機器人技術的分層強化學習主題 並且是一個 機器學習工程師t 合成器. 

          合成器指南蓋

          立即保存您的合成數據指南!