评估合成数据生成器的实用性和相似性:技术深入研究和比较分析

出版日期:
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 合成器. 

          合成器指南盖

          立即保存您的合成数据指南!