如前所述,评估合成数据并非单一检查,而是一个多方面的过程,涵盖统计相似性、实用价值和隐私保障。鉴于潜在检查的多样性,从简单的统计比较到复杂的攻击模拟,对其进行组织对于系统化评估而言是必要的。一种实用的指标构建方式是根据其执行的评估类型,这通常与核心质量维度相一致:保真度、实用性和隐私。我们可以大致将评价指标分为以下几类:统计保真度指标这些指标量化合成数据集 ($D_{syn}$) 的统计属性与真实数据集 ($D_{real}$) 的相似程度。它们直接衡量生成数据分布与原始数据分布的“相似性”。边际分布比较: 这通常是第一步,比较 $D_{real}$ 和 $D_{syn}$ 中单个列(特征)的分布。常用方法包括:可视化:为每个特征叠加直方图或密度图。摘要统计:比较均值、中位数、方差、分位数等。统计检验:对单个特征应用 Kolmogorov-Smirnov (KS) 检验或 Shapiro-Wilk 检验(用于正态性检查)。虽然简单,但这些单变量检查无法捕捉特征之间的关系。多变量分布比较: 评估联合分布和特征间依赖关系信息量更大,但复杂性也更高。方法包括:相关性分析:比较 $D_{real}$ 和 $D_{syn}$ 之间的相关矩阵(例如,使用 Frobenius 范数差)。降维:对两个数据集应用主成分分析 (PCA) 等技术,并比较生成的主成分或降维空间中的数据分布。高级统计检验:使用多变量假设检验(例如,Hotelling's T 方检验用于均值,基于最大均值差异或能量统计的检验)来比较总体分布。我们将在第二章详细讨论这些内容。倾向性得分:训练分类器以区分真实样本和合成样本。一个表现接近随机机会(例如,AUC 接近 0.5)的分类器表明高度相似性。机器学习实用性指标这些指标评价合成数据对训练下游机器学习模型的实用价值。核心问题是:在未知真实数据上进行评估时,使用 $D_{syn}$ 训练的模型能否与使用 $D_{real}$ 训练的模型表现相当?合成数据训练-真实数据测试 (TSTR): 这是一个标准协议。使用 $D_{syn}$ 训练特定的机器学习模型(例如,逻辑回归、随机森林、神经网络),并在 $D_{real}$ 的保留部分上评估其性能(准确率、F1 分数、AUC 等)。将此性能与在 $D_{real}$ 的不同部分上训练和测试的基线模型进行比较。真实数据训练-合成数据测试 (TRTS): 一种补充方法:模型在 $D_{real}$ 上训练并在 $D_{syn}$ 上测试。这有助于识别合成数据是否包含不切实际的模式,或未能充分体现模型所学到的真实数据分布的某些方面。下游模型分析: 除了性能分数,实用性还可以通过比较以下内容进行评估:从 $D_{real}$ 和 $D_{syn}$ 训练的模型中得出的特征重要性排名。模型系数或决策边界。超参数优化期间的行为。 第三章将重点介绍这些实用性评估的实施和解读。隐私指标这些指标旨在量化 $D_{real}$ 中个体敏感信息通过 $D_{syn}$ 泄露的风险。这与保真度和实用性不同;高精确度的合成数据可能无意中带来高隐私风险。成员推断攻击 (MIAs): 通过分析 $D_{syn}$,试图确定 $D_{real}$ 中的特定记录是否被用于训练生成模型。高于随机猜测的成功率表明潜在的隐私泄露。属性推断攻击: 试图在已知真实个体部分属性(存在于 $D_{syn}$ 中)并访问合成数据集的情况下,预测其敏感属性。基于距离的指标: 计算合成记录与真实数据集中最近邻之间的距离。非常小的距离(特别是完全匹配)可能意味着数据复制等隐私问题。差分隐私 (DP) 保证: 如果生成模型结合了差分隐私机制,隐私损失参数(如 $\epsilon$ 和 $\delta$)提供了一种正式、可量化的隐私保护度量。 我们将在第四章中讨论这些隐私评估的实施和解读方法。领域专用指标上述指标主要适用于表格数据。然而,不同的数据类型通常需要专门的评估技术。图像数据: Fréchet Inception 距离 (FID)、Inception 得分 (IS) 和精确度/召回率等指标,根据从预训练深度学习模型中提取的特征来评估生成图像的质量和多样性。文本数据: 评估生成文本涉及困惑度(衡量模型不确定性)、BLEU 分数(比较生成文本与参考文本)和语义相似度分数等指标。时间序列数据: 评估侧重于捕捉时间依赖性,使用自相关函数 (ACF) 相似性、频谱密度比较以及下游预测任务的性能等指标。 第五章将更详细地介绍这些专业指标。digraph G { rankdir=LR; node [shape=box, style=rounded, fontname="Helvetica", fontsize=10, margin=0.2]; edge [fontname="Helvetica", fontsize=9]; Metrics [label="评估指标分类体系", shape=ellipse, style=filled, fillcolor="#a5d8ff"]; subgraph cluster_fidelity { label = "统计保真度"; style=filled; color="#e9ecef"; node [style=filled, fillcolor="#d0bfff"]; Fidelity [label="保真度评估"]; Marginal [label="边际分布\n(直方图, KS检验)"]; Multivariate [label="多变量分布\n(相关性, PCA, 倾向性)"]; Fidelity -> Marginal; Fidelity -> Multivariate; } subgraph cluster_utility { label = "机器学习实用性"; style=filled; color="#e9ecef"; node [style=filled, fillcolor="#96f2d7"]; Utility [label="实用性评估"]; TSTR [label="合成数据训练-真实数据测试\n(TSTR 性能)"]; TRTS [label="真实数据训练-合成数据测试\n(TRTS 一致性)"]; Downstream [label="下游模型分析\n(特征重要性)"]; Utility -> TSTR; Utility -> TRTS; Utility -> Downstream; } subgraph cluster_privacy { label = "隐私"; style=filled; color="#e9ecef"; node [style=filled, fillcolor="#ffc9c9"]; Privacy [label="隐私评估"]; MIA [label="成员推断\n(MIA 成功率)"]; AttrInf [label="属性推断"]; DistBased [label="距离指标\n(最近邻)"]; DP [label="DP 保证\n(Epsilon, Delta)"]; Privacy -> MIA; Privacy -> AttrInf; Privacy -> DistBased; Privacy -> DP; } subgraph cluster_domain { label = "领域专用"; style=filled; color="#e9ecef"; node [style=filled, fillcolor="#ffec99"]; Domain [label="领域专用"]; Image [label="图像 (FID, IS)"]; Text [label="文本 (困惑度, BLEU)"]; TimeSeries [label="时间序列 (ACF, DTW)"]; Domain -> Image; Domain -> Text; Domain -> TimeSeries; } Metrics -> Fidelity [label=" 有多相似?"]; Metrics -> Utility [label=" 有多实用?"]; Metrics -> Privacy [label=" 有多安全?"]; Metrics -> Domain [label=" 数据类型?"]; }基于评估目标的合成数据评估指标分类。理解这个分类体系为全面评估提供了指导。单一指标通常不足以完成评估。相反,通常需要跨越这些类别的系列指标,以获得对合成数据质量的全面认识,这反映了我们之前介绍的保真度、实用性和隐私之间固有的权衡。在此框架内,具体指标的选择将很大程度上取决于数据类型、所使用的生成模型以及合成数据的预期应用。在接下来的章节中,我们将实施并解读这些类别中的各项指标。