在当今的数字时代,数据隐私意识显着增强。用户越来越多地将他们的数据视为独特的数字指纹,一旦发生数据泄露,就会给他们的隐私带来风险。 GDPR 等法规进一步加剧了这种担忧,这些法规授权用户请求删除其数据。虽然这项立法非常必要,但由于数据访问被最小化,因此对公司来说成本可能非常高;克服这些限制通常需要耗费时间和资源。
输入合成数据,这是这个难题的解决方案。合成数据生成器创建模仿真实用户数据的数据集,同时保持匿名性和机密性。这种方法在从医疗保健到金融等隐私至关重要的行业中越来越受欢迎。
在合成数据生成的多样化领域中,有大量可用的方法,每种方法都以其独特的功能争夺人们的关注。为特定应用选择最合适的方法需要彻底了解每个选项的性能特征。这就需要根据一组明确定义的指标对各种合成数据生成器进行全面评估,以做出明智的决策。
接下来是对 Syntho 引擎与著名的开源框架 Synthetic Data Vault (SDV) 的严格比较分析。在此分析中,我们使用了许多常用的指标,例如统计保真度、预测准确性和变量间关系。
在介绍任何具体指标之前,我们必须承认,评估综合数据有多种意识形态,每种意识形态都可以洞察数据的某个方面。考虑到这一点,以下三个类别非常重要且全面。这些指标提供了对数据质量各个方面的见解。这些类别是:
比较分析是使用标准化的评估框架和所有模型(包括 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)。使用保留测试集(在合成数据生成期间未使用)来评估在合成数据上训练的模型,并在合成数据集上测试在原始数据上训练的模型。
图 3. 每个模型每个方法的曲线下面积 (AUC) 分数的可视化
上面的可视化结果证明了 Syntho 引擎生成合成数据与其他方法相比的优越性,不同方法获得的结果之间没有差异(表明合成数据和真实数据之间具有高度相似性)。此外,图中的红色虚线是通过评估真实训练、真实测试 (TRTR) 测试的基本性能而获得的结果,为观察到的指标提供基线。这条线代表值 0.92,这是在真实数据上训练并在真实数据上测试的模型获得的曲线下面积分数(AUC 分数)。
表 3. 每个模型分别通过 TRTS 和 TSTR 获得的 AUC 分数的表格表示。
当然,考虑生成这些结果所投入的时间至关重要。下面的可视化说明了这一点。
图 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 在生成合成数据(在两种情况下)方面明显更快,这在动态工作流程中至关重要。
表 5. 所用时间的表格表示 合成数据生成 带或不带 GPU 的每个模型均包含 100 万个数据点
研究结果强调了彻底的质量评估在选择正确的合成数据生成方法时的重要性。 Syntho 的引擎采用人工智能驱动的方法,在某些指标上展示了显着的优势,而 SDV 等开源工具则因其多功能性和社区驱动的改进而大放异彩。
随着合成数据领域的不断发展,我们鼓励您在项目中应用这些指标,探索其复杂性,并分享您的经验。请继续关注未来的帖子,我们将更深入地研究其他指标并重点介绍其应用程序的实际示例。
归根结底,对于那些希望尝试合成数据的人来说,考虑到可访问性,所提供的开源替代方案可能是一个合理的选择;然而,对于将这种现代技术融入其开发过程的专业人士来说,必须抓住任何改进的机会并避免所有障碍。因此,选择可用的最佳选项非常重要。通过上面提供的分析,很明显 Syntho 以及 Syntho 引擎对于从业者来说是一个非常强大的工具。