针对表格数据的仿真数据生成方法、装置及电子设备制造方法及图纸

技术编号:35904905 阅读:18 留言:0更新日期:2022-12-10 10:42
本发明专利技术公开了一种针对表格数据的仿真数据生成方法、装置及电子设备,所述方法包括:获取累计分布表及逆累计分布表;根据累计分布表对原始数据做变换,获取变换后每一列均值和列协方差矩阵;根据获取每一列均值和列协方差矩阵生成联合高斯分布数据,最后通过查逆累计分布表仿真数据生成。本发明专利技术针对表格数据的仿真数据生成,适用于集中场景和分布式场景,生成仿真数据技术效率高,所需时间短,同时,在分布式情况下的生成数据质量高,尤其是联邦情况和非平衡情况下的仿真数据质量仍然能够满足下游任务和数据探索的需求。游任务和数据探索的需求。游任务和数据探索的需求。

【技术实现步骤摘要】
针对表格数据的仿真数据生成方法、装置及电子设备


[0001]本申请涉及互联网
,特别是涉及一种针对表格数据的仿真数据生成方法、装置及电子设备。

技术介绍

[0002]随着数据生产要素的提出和不断深化,数据价值的重要性得到广泛认可,例如药厂可以根据医院的医疗数据来辅助医药制造。一方面,很多数据具有高度隐私性,如病人医疗数据涉及到病人隐私,无法直接对外开放。另一方面,我们国家制定了个人信息保护法,对个人数据使用有严格的管理规定。这使得数据的开放比较困难,仿真数据为数据开放提供了有效的手段。
[0003]仿真数据生成主要有两种应用:一种是数据挖掘,将仿真数据开放给用户,用户使用仿真数据进行数据挖掘等下游任务。由于仿真数据和真实数据进行数据探索的性能存在一定的差异,因此主要应用于对数据挖掘要求不是特别高的场景;另一种是数据探索和调试:在该应用中,仍然希望对真实数据进行数据挖掘,但是不希望用户直接接触到真实数据。由于接触不到真实数据,前期的数据探索和程序调试就无法进行。采用仿真数据进行数据探索和程序调试,将调试后的程序迁移到真实数据上运行,然后将结果导出。在这两种应用中,都期望生成的仿真数据在数据挖掘中的性能与真实数据接近。
[0004]数据生成场景主要分为两种:第一种是集中场景,即所有的原始数据集中在一个节点上;第二种是分布式场景,又叫联邦场景,即原始数据分散在多个节点上。在分布式场景中有两种情况,一种是各个节点的数据量相差不大,称作平衡情况;第二种是各个节点的数据量相差较大,称作非平衡情况。目前在仿真数据生成方面,有两种相关的技术:(1)基于生成对抗网络(GAN)的方法,即通过机器学习技术对真实数据进行模拟,从而生成仿真数据。该方法可以应用在集中场景下和联邦场景下;(2)Gaussian Copula方法,通过数据拟合方法对表格数据的每一列进行拟合,得到其累计分布函数。以然后计算每一列的均值和列之间的协方差。通过均值和协方差生成高斯分布的数据,然后通过累积分布函数逆变换得到仿真数据。上述两种技术生成仿真数据的效率都较低,生成时间较长。尤其是在高维数据的生成中需要较长的时间。如生成一个1200行、18000列的表格数据,Gaussian Copula方法大约需要12小时,基于GAN的方法生成仿真数据大约需要200小时;上述两种技术在分布式情况下的生成数据质量较差,尤其是联邦情况和非平衡情况下的仿真数据质量较差,难以满足下游任务和数据探索的需求。

技术实现思路

[0005]本专利技术针对上述问题,提供了一种针对表格数据的仿真数据生成方法、装置及电子设备,针对表格数据的仿真数据生成,适用于集中场景和分布式场景,用于解决现有的生成仿真数据技术效率低,生成时间较长以及在分布式情况下的生成数据质量差的问题。
[0006]本专利技术的第一方面,一种针对表格数据的仿真数据生成方法,在集中场景下,针对
m行n列的原始表格数据,表示第i行第列位置的数据,表示第列数据,所述方法包括以下步骤:获取累计分布表及逆累计分布表:将每一列数据进行区间划分,统计每一个区间内的数据的个数,计算得到每个区间h的概率,即数据中的元素取值在第h个区间内的概率为,根据概率得到第列累计分布表的值,其中,根据第列累计分布表的值生成第列的逆累计分布表;获取每一列均值和列协方差矩阵:对每一列数据,根据累计分布表变换得到数据,令为第i行位置的数据,,其中为高斯分布的逆累计分布函数,表示查累计分布表,每一列的均值为:,令,根据得到列协方差矩阵为:;生成联合高斯分布数据:从均值为,协方差为的联合高斯分布中采样得到联合高斯分布数据;仿真数据生成: 对每一列查询逆累计分布表,具体为:记第i行第列位置的仿真数据为,,表示查逆累计分布表,为高斯分布的累计分布函数,得到的为生成的仿真数据。
[0007]进一步的,所述逆累计分布表的取值是累计分布表的概率值对应区间内的任意一个值。
[0008]进一步的,所述生成联合高斯分布数据的替代方法如下:采用标准正态分布独立地从高斯分布采样得到,每个元素 ;对做变换仿射得到列之间有关联关系的联合高斯分布数据,其中通过Cholesky分解得到。
[0009]本专利技术的第二方面,一种针对表格数据的仿真数据生成方法,在分布式场景下,有个数据节点,第个数据节点持有行数据,总共有行数据,每一行数据有列,第个数据节点的第i行第列数据记为,所述方法包括以下步骤:获取累计分布表及逆累计分布表:统计每个数据节点中离散列的取值为a的个数为,汇聚个数据节点,得到列取值为a的个数为,得到全局概率分布,根据全局概率分布得到累计分布表,其中,根据累计分布表生成对应的逆累计分布表;获取全局每一列均值和列协方差矩阵:对每一列数据,根据累计分布表得到数据,令为第i行位置的数据,,其中为高斯分布的逆累计分布函数,表示查累计分布表,每个节点在本地计算和,并同步进行汇聚,其中表示节点的,令,得到全局每一列均值,列协方差矩阵
的元素;生成联合高斯分布数据:从均值为,协方差为的联合高斯分布中采样得到联合高斯分布数据;仿真数据生成: 对每一列查询逆累计分布表,具体为:记第i行第列位置的仿真数据为,,表示查逆累计分布表,为高斯分布的累计分布函数,得到的为生成的仿真数据。
[0010]进一步的,所述生成联合高斯分布数据的替代方法如下:采用标准正态分布独立地从高斯分布采样得到,每个元素 ;对做变换仿射得到列之间有关联关系的联合高斯分布数据,其中通过Cholesky分解得到。
[0011]本专利技术的第三方面,提供了一种针对表格数据的仿真数据生成装置,所述装置运行在集中场景下,针对m行n列的原始表格数据,表示第i行第列位置的数据,表示第列数据,所述装置包括:获取累计分布表及逆累计分布表单元,用于将每一列数据进行区间划分,统计每一个区间内的数据的个数,计算得到每个区间h的概率,即数据中的元素取值在第h个区间内的概率为,根据概率得到第列累计分布表的值,其中,根据第列累计分布表的值生成第列的逆累计分布表;获取每一列均值和列协方差矩阵单元,用于对每一列数据,根据累计分布表变换得到数据,令为第i行位置的数据,,其中为高斯分布的逆累计分布函数,表示查累计分布表,每一列的均值为:,令,根据得到列协方差矩阵为:;生成联合高斯分布数据单元,用于从均值为,协方差为的联合高斯分布中采样得到联合高斯分布数据;仿真数据生成单元,用于对每一列查询逆累计分布表,具体为:记第i行第列位置的仿真数据为,,表示查逆累计分布表,为高斯分布的累计分布函数,得到的为生成的仿真数据。
[0012]进一步的,所述生成联合高斯分布数据单元的另一种实现方法为:采用标准正态分布独立地从高斯分布采样得到,每个元素 ;对做变换仿射得到列之间有关联关系的联合高斯分布数据,其中通过Cholesky分解得到。
[0013]本专利技术的第四方面,提供了一种针对表格数据的仿真数据生成装置,所述装置运行在分布式场景下,有个数据节点,第个数据节点持有行数据,总共有行数据,每一行数据有列,第个数据节点的第i行第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对表格数据的仿真数据生成方法,在集中场景下,针对m行n列的原始表格数据,表示第i行第列位置的数据,表示第列数据,其特征在于,所述方法包括以下步骤:获取累计分布表及逆累计分布表:将每一列数据进行区间划分,统计每一个区间内的数据的个数,计算得到每个区间h的概率,即数据中的元素取值在第h个区间内的概率为,根据概率得到第列累计分布表的值,其中,根据第列累计分布表的值生成第列的逆累计分布表;获取每一列均值和列协方差矩阵:对每一列数据,根据累计分布表变换得到数据,令为第i行位置的数据,,其中为高斯分布的逆累计分布函数,表示查累计分布表,每一列的均值为:,令,根据得到列协方差矩阵为:;生成联合高斯分布数据:从均值为,协方差为的联合高斯分布中采样得到联合高斯分布数据;仿真数据生成: 对每一列查询逆累计分布表,具体为:记第i行第列位置的仿真数据为,,表示查逆累计分布表,为高斯分布的累计分布函数,得到的为生成的仿真数据。2.根据权利要求1所述的针对表格数据的仿真数据生成方法,其特征在于,所述逆累计分布表的取值是累计分布表的概率值对应区间内的任意一个值。3.根据权利要求1所述的针对表格数据的仿真数据生成方法,其特征在于,所述生成联合高斯分布数据的替代方法如下:采用标准正态分布独立地从高斯分布采样得到,每个元素 ;对做变换仿射得到列之间有关联关系的联合高斯分布数据,其中通过Cholesky分解得到。4.一种针对表格数据的仿真数据生成方法,在分布式场景下,有个数据节点,第个数据节点持有行数据,总共有行数据,每一行数据有列,第个数据节点的第i行第列数据记为,其特征在于,所述方法包括以下步骤:获取累计分布表及逆累计分布表:统计每个数据节点中离散列的取值为a的个数为,汇聚个数据节点,得到列取值为a的个数为,得到全局概率分布,根据全局概率分布得到累计分布表,其中,根据累计分布表生成对应的逆累计分布表;获取全局每一列均值和列协方差矩阵:对每一列数据,根据累计分布表得到数据,令为第i行位置的数据,,其中为高斯分布的逆累计分布函
数,表示查累计分布表,每个节点在本地计算和,并同步进行汇聚,其中表示节点的,令,得到全局每一列均值,列协方差矩阵的元素;生成联合高斯分布数据:从均值为,协方差为的联合高斯分布中采样得到联合高斯分布数据;仿真数据生成: 对每一列查询逆累计分布表,具体为:记第i行第列位置的仿真数据为,,表示查逆累计分布表,为高斯分布的累计分布函数,得到的为生成的仿真数据。5.根据权利要求4所述的针对表格数据的仿真数据生成方法,其特征在于,所述生成联合高斯分布数据的替代方法如下:采用标准正态分布独立地从高斯分布采样得到,每个元素 ;对做变换仿射得到列之间有关联关系的联合高斯分布数据,其中通过Cholesky分解得到。6.一种针对表格数据的仿真数据生成装置,所述装置运行在集中场景下,针对m行n列的原始表格数据,表示第i行第列位置的数据,...

【专利技术属性】
技术研发人员:付希明刘川意韩培义庄荣飞
申请(专利权)人:哈尔滨工业大学深圳
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1