python中安装合成数据环境的方法

172 阅读3分钟

与数据打交道是很难的。原始数据通常会带来一些挑战,在你能够真正有效地使用它之前需要解决这些问题。有时你没有足够的数据,或者数据有缺口需要填补。在许多情况下,由于外部条件的限制,获取数据的成本很高或很困难。此外,隐私法规会影响你使用或分发数据集的方式。基于所有这些原因,利用合成数据是一个很好的选择,因为它可以用很少的努力来满足同样的需求。

什么是合成数据?

根据英国 国家统计 局(ONS)提出的定义 :

"合成数据是为提高数据效用而创建的微观数据记录,同时防止披露保密的受访者信息。合成数据是通过对原始数据进行统计建模,然后使用这些模型来生成新的数据值,以再现原始数据的统计属性。用户无法识别提供原始数据的实体的信息"。

因此,合成数据有三个重要的特点:

  • 合成数据是由一个统计模型创建的。
  • 合成数据的统计属性应该与原始数据的统计属性相似。
  • 合成数据必须是匿名的。

ONS的方法论还提供了一个评估合成数据集成熟度的尺度。这个量表考虑了合成数据与原始数据的相似程度、其目的和披露风险。该方法包括

  • 合成结构:保留了原始数据的结构,这对测试代码很有用。
  • 合成有效:不仅保留了结构,而且返回的值在数据集的背景下是合理的。你应该引入缺失值代码、错误和不一致的情况,以复制原始数据。
  • 合成增强的合理性:尽可能地复制每个数据样本的分布,而不考虑不同列之间的关系(单变量)。
  • 合成增强的多变量似是而非:用似是而非的分布来复制高层次的关系(多变量)。
  • 合成增强的多元详细关系:复制详细关系。对于这个,你必须在个案的基础上进行披露控制评估。
  • 合成增强的复制:提供最接近的复制。在个案的基础上进行披露控制评估是至关重要的。

以下每个库都采取不同的方法来生成合成数据。有些只专注于提供合成数据本身,但有些则提供一整套工具,旨在实现上述的综合增强型复制。

在你开始之前:安装合成数据环境

为了尝试本文中的一些包,你可以下载并安装我们预先建立的 合成数据环境,它包含了Python 3.9的版本和本文中使用的包,以及它们的所有依赖关系。

为了下载这个随时可用的Python环境,你需要创建一个 ActiveState Platform 账户。只需使用你的GitHub凭证或你的电子邮件地址来注册。注册很简单,它为你解锁了ActiveState Platform的许多好处

或者你也可以使用我们的 State工具 来安装这个运行时环境。

runtime

对于Windows用户,在CMD提示下运行以下程序,可以自动下载并安装我们的CLI,状态工具以及合成数据运行 时到一个虚拟环境中。

powershell -Command "& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/install.ps1'))) -activate-default Pizza-Team/Synthetic-Data"

对于Linux用户,运行以下程序可以自动下载并安装我们的CLI、State Tool以及 Synthetic Data运行时 到一个虚拟环境中。

sh <(curl -q https://platform.activestate.com/dl/cli/install.sh) --activate-default Pizza-Team/Synthetic-Data