编辑推荐:
为解决合成数据评估缺乏标准化指标的问题,意大利帕维亚大学的研究人员开发了 SynthRO 工具。研究发现该工具能有效评估和基准测试合成表格数据。推荐科研读者阅读,助您深入了解合成数据评估新方法。
在医疗领域,数据就是一座蕴藏着无数珍贵宝藏的矿山。随着医疗技术的飞速发展,医疗服务机构、政府部门以及各大企业收集患者数据的速度越来越快,这些数据不仅数量庞大,而且种类丰富,仿佛一个装满各种奇珍异宝的百宝箱,能为解决关键医学问题提供全新的思路。借助强大的计算资源,机器学习(ML)和人工智能(AI)技术在医疗领域大显身手,比如从电子健康记录(EHR)中预测疾病结果,或者在多组学数据里发现疾病的隐藏规律。截至 2023 年 10 月,美国食品药品监督管理局(FDA)已经批准了 171 种基于 AI 的医疗设备 ,这些设备就像一个个智能小助手,为医疗工作带来了极大的便利。
但是,这座数据矿山却不是谁都能随意开采的。患者隐私问题就像一把大锁,牢牢地锁住了数据的大门,导致大量珍贵的数据无法被广泛用于研究。即使在一些联合研究网络中获得了数据访问权限,繁琐的数据使用和保护流程也会像重重关卡,严重阻碍研究的进展,让基于这些数据的研究成果难以快速从实验室走向临床应用。为了解决这个难题,人们尝试了各种方法,比如去掉数据中可识别的特征、添加噪声或者对变量进行分组来对患者数据进行去识别化处理。然而,这些方法在处理大规模数据集时效果并不理想,就像给数据穿上了一件漏洞百出的隐身衣,一旦和其他数据集结合,患者的信息还是有可能被识别出来。
于是,合成数据(SD)就像一位救星闪亮登场了。合成数据是通过人工生成的数据集,它能模仿真实数据的主要统计特征,就像给真实数据找了一个 “替身”。这个概念最初由 Rubin 和 Little 提出 ,它可以由原始数据的统计模型生成,新生成的数据能复制原始数据的统计属性。而且,合成数据还有一个重要使命,那就是在保护隐私的同时,为模型训练提供帮助,尤其是在医疗领域。在医疗场景中,合成数据的应用十分广泛,从筛选临床干预措施,到优化机器学习预测分析流程,再到针对特定人群调整模型,都有它的身影。在机器学习里,它还能用来训练分类器,评估模型性能。不少研究人员在联邦学习领域对合成数据进行了深入探索,像 Azizi 等人就研究了合成数据在评估国家层面心血管疾病差异方面的作用 。法国的 Open-CESP 项目更是致力于提供公共可用的合成数据集 。
不过,合成数据在发展过程中也遇到了不少麻烦。在生成合成表格数据(tabular data)时,虽然有多种方法可供选择,但这些方法各有各的特点和局限。有些方法依赖特定领域的知识,就像被绑住了手脚,适应性不强;而数据驱动的方法虽然更灵活,但也存在一些问题。生成对抗网络(GANs)在深度学习领域很有名,也被应用到了临床表格数据的生成中,可它经常忽略临床数据的独特性。要知道,保持表格数据中逻辑关系的一致性和类别平衡,对提高模型性能和稳定性至关重要。
更让人头疼的是,目前还没有一套统一的标准来评估合成数据的好坏。不同的应用场景对合成数据的要求不一样,比如在联邦医疗项目中,隐私保护是重中之重;在机器学习模型开发阶段,更看重数据的实用性;而在开发临床决策支持系统时,数据的相似性又变得至关重要。虽然已经有一些评估指标,比如相似性指标、实用性指标和隐私指标,但如何根据具体情况选择合适的指标,仍然是个难题。而且,在合成数据的基准测试方面,研究也很有限。现有的研究大多只是评估单个应用或方法,缺乏全面的比较和分析。虽然也有一些研究做出了努力,像 Yan 等人提出了基于排名的评分机制来综合评估合成数据 ,但这还远远不够。
为了解决这些问题,来自意大利帕维亚大学电气、计算机和生物医学工程系的 Gabriele Santangelo 等人在《BMC Medical Informatics and Decision Making》期刊上发表了一篇名为 “How good is your synthetic data? SynthRO, a dashboard to evaluate and benchmark synthetic tabular data” 的论文。他们开发了一个名为 SynthRO(Synthetic data Rank and Order)的工具,就像一个数据评估的 “智慧大脑”,专门用来对健康领域的合成表格数据进行评估和基准测试。这个工具的出现,为合成数据的评估和选择提供了一个有力的武器,有着十分重要的意义。
研究人员在开发 SynthRO 时,用到了几个关键的技术方法。他们选择 Python 编程语言,利用 Dash 包搭建了一个交互式的网络数据可视化应用平台。Dash 就像一个神奇的搭建工具,能快速构建出各种功能模块,方便用户操作。在评估合成数据时,使用了多种指标,包括相似性指标(通过单变量相似性分析、多变量关系分析和数据标记分析来评估合成数据与原始数据的相似程度)、实用性指标(采用 “Train on Real Test on Real” 和 “Train on Synthetic Test on Real” 两种方法对比模型性能)和隐私指标(通过相似性评估分析和模拟成员推理攻击、属性推理攻击来衡量隐私保护程度)。此外,还运用了 Yan 等人开发的基准测试框架 ,通过计算各种指标,为合成数据集生成排名列表,再结合用户设定的权重计算最终得分。为了提高计算效率,使用了 “multiprocessing” 包进行并行计算。
下面我们来看看 SynthRO 都有哪些厉害的研究结果吧。
用例分析
研究人员为了验证 SynthRO 的能力,对五个合成数据集进行了分析。这五个数据集各有来历,其中三个是用 Yale 等人开发的 HealthGAN 合成数据生成(SDG)方法得到的 ,这就像是经过特殊加工的 “数据产品”;一个是通过统计学习方法,用 Synthetic Data Vault(SDV)方法生成的;还有一个是用最基础的方法,对每个特征的单变量分布进行采样得到的(基线方法)。用来训练生成模型的原始数据集来自 MIMIC-II 数据集 ,这个数据集里包含了 12000 名重症监护病房(ICU)患者的生命体征和各种临床数据。研究人员对数据进行了一系列处理,像去除缺失值过多的特征,用 MICE(Multivariate Imputation by Chained Equations)方法处理缺失数据 ,然后将数据集分成训练集和测试集。
加载数据部分
在 SynthRO 的加载数据部分,用户可以通过界面上传原始数据集和多个合成数据集,而且这些数据集必须是 CSV 格式,就像给数据穿上了统一的 “衣服”。上传后,平台会显示一个详细的表格,让用户对数据一目了然。用户还得指定每个特征的数据类型,这一步很关键,可以通过上传 CSV 文件或者在界面上手动选择的方式完成。这个过程就像给数据贴上不同的 “标签”,方便后续的分析。
评估部分
数据上传完成后,就进入了评估阶段。这一阶段包含三个重要的板块,分别从相似性、实用性和隐私性三个方面对合成数据进行 “全方位体检”。相似性板块又细分为单变量相似性分析、多变量关系分析和数据标记分析;实用性板块采用 “Train on Real Test on Real” 和 “Train on Synthetic Test on Real” 两种方法对比模型性能;隐私性板块则通过相似性评估分析和模拟两种网络攻击(成员推理攻击和属性推理攻击)来检测隐私保护情况。每个分析结果都会以标签页的形式展示,方便用户查看,而且用户还能下载详细报告,就像拿到了一份数据的 “体检报告”。
基准测试部分
基准测试部分是 SynthRO 的一大亮点。用户可以在这里选择相关指标对合成数据集进行排名。选择好指标后,平台会根据这些指标对合成数据集进行比较,然后展示出按评估类别划分的合成数据集排名、综合所有指标的总体排名,用户还能调整每个指标的权重,看看排名会发生什么变化。比如,给相似性指标赋予较高权重时,平台推荐使用 HealthGAN 方法生成的合成数据集;而当更看重实用性或隐私性时,推荐的数据集又会有所不同。这就像给用户提供了一个数据的 “魔法棒”,可以根据自己的需求调整数据的评估结果。
报告生成
SynthRO 还有一个很贴心的功能,就是可以生成 PDF 格式的报告。用户在评估和基准测试部分都能轻松下载报告,报告里包含了各种分析得到的表格和图表,就像一本详细的数据故事书,把数据的秘密都展示给用户。
可用性研究
研究人员还对 SynthRO 进行了可用性研究,他们邀请了不同领域的人,包括专家(比如计算机科学家、开发者)和非专家(比如医学专业人员、法律专家)来使用这个工具,然后用系统可用性量表(SUS)进行评估 。结果发现,SynthRO 的平均 SUS 得分为 83.93,这可是一个相当高的分数,说明它的可用性很强。而且,专家用户的平均得分是 84.38,非专家用户的平均得分是 83.33,这表明虽然非专家用户也能较好地使用这个工具,但可能需要一些简单的培训来更好地发挥它的功能。
总的来说,这项研究意义重大。随着患者数据的不断增长,隐私问题成为了数据利用的一大障碍,而合成数据虽然是个不错的解决方案,但缺乏统一的评估标准。SynthRO 的出现正好填补了这个空白,它为用户提供了一套全面的评估指标和自动化的基准测试功能,让用户可以根据具体需求选择最合适的合成数据生成模型。通过调整不同指标的权重,研究人员可以探索哪种生成方法最适合特定的应用场景。而且,SynthRO 在多个医疗场景中都能发挥重要作用,比如优化从电子健康记录或生物样本库中计算出的预后评分,支持联邦学习和患者层面的机器学习模型的数据组合等。
从可用性研究的结果来看,虽然 SynthRO 整体表现出色,但不同用户群体之间还存在一些差异,这也为后续的改进提供了方向。未来,研究人员还打算进一步扩展 SynthRO 的功能,比如增加对时间序列数据和图像的评估,让它能适应更多类型的数据。同时,考虑在工具中加入合成数据生成功能,方便用户在同一个平台上完成数据的生成和评估。如果在机构内部使用,还计划增加多用户和会话支持功能。SynthRO 的出现,推动了合成数据评估领域的发展,让合成数据在医疗研究中的应用更加可靠、公平,为医疗领域的人工智能和机器学习应用奠定了更坚实的基础。