机器学习与人工智能领域的研究工作方兴未艾, 能否构建出以更高性能和准确度实现预测、分类、识别等模仿人类器官机能的数学模型, 极大程度上依赖着数据的质量, 因此愈发凸显其重要地位[1].
但是, 在现实中总是存在着各种因素, 使得数据需求者不能自由获取到满足自己实验或开发需求的真实数据集, 常见因素有以下3种: 第一, 数据集涉及法律限制的隐私问题或保密领域; 比如数据集中包含真实的姓名、住址、职业等信息; 不同国家和区域的法律出于保护公民隐私权的严格规定是此类障碍出现的直接原因. 第二, 数据集比较稀缺; 当研究人员对一些有偿数据集存在需求, 或者数据集的建立需要耗费超过研究人员能够承担的精力与时间成本时, 该因素是不可忽视的[2]. 第三, 数据集中的数据质量较差; 通常表现为数据不平衡、数据量少、特征冗余等问题, 这些问题的存在会直接影响模型的性能, 导致表现下降[3]. 当这些因素单独或叠加出现时, 使用真实数据集对研究工作将难以起到积极作用. 因此, 合成数据生成方法成为一个重要的研究方向, 旨在实现合成数据集与真实数据集的分布与相关性高度相近的目标.
目前关于多元非正态数据的合成方法, 已经有一些工作对该领域进行整理[4]与研究. Fleishman提出的解决方案[5]基于三阶多项式变换并通过对方程组的求解把一个正态分布单变量转换为自定义非正态分布单变量. 在此基础之上, Vale等人提出的VM-transform[6]通过计算中间相关系数矩阵以调整算法对各个变量之间相关关系的影响将其成功运用于生成多变量数据上. VM-transform确立了以“变换-计算”方式生成多元非正态数据集的基本框架, 之后沿用该框架并做出改进分布描述方式的工作例如文献[7–13]. “采样-迭代”框架即SI technique, 是由Ruscio等人[14]提出并完善的[15]. “采样-迭代”框架对真实数据采样以实现对分布的描述, 并以迭代试错的方式逐步确定最优中间相关系数矩阵; 这消除了“变换-计算”框架对于分布矩的限制, 更有利于处理未定义矩和同矩不同分布的情况. Amatya等人[16]提出的方法旨在合成混合类型数据集, 并强调了序数、连续型数据分别符合广义泊松分布与正态分布; Humski等人[17,18]使用插值矩阵的方法进一步扩大了“变换-计算”框架合成样本的生成上限, 并将其应用到社交图谱等复杂数据集上. Foster [19]提出的模型能够以更简单的方式使用因子分析方法构建合成数据集; 该模型与Bartholomew等人[20]描述的较为相似.
现有工作对SI technique的改进集中在优化对变量分布的描述上, 但鲜有工作具体讨论数据相关性与隐私保护问题. 因此, SI technique 依旧存在改进空间: 第一, 单一相关系数矩阵难以准确度量多类型混合数据的相关性, 多类型混合、非线性数据等现象在真实数据中十分常见[21,22]. 第二, 采样方式无法在隐私保护的前提下重现真实特征列分布. SI technique中的采样法有两种: Bootstrap采样法和预定义分布采样法. 对真实数据集使用Bootstrap意味着采样结果均为真实数据, 增加了隐私暴露的风险, 且Bootstrap极大限制了采样数据量, 这对于使用者是不利的. 使用预定义分布采样虽然能够降低隐私暴露风险, 但预定义的分布并不总是能够符合真实分布的所有情况.
综上所述, SI technique在应对合成多元非正态数据问题上具有更高的灵活度, 但在一些存在隐私保护要求的场景下有不足. 本文改进的KMSI算法在SI technique的基础上应用两项改进措施以弥补缺点: 1)替换Bootstrap采样法为核密度估计采样法, 使其在采样结果无真实数据的条件下完成自定义样本量的采样, 且复现真实数据集的分布. 2)替换原版算法中的皮尔逊相关系数矩阵为混合类型相关系数矩阵, 减小算法在应对混合类型数据集时的度量误差, 提高算法鲁棒性.
1 方法 1.1 核密度估计采样法核密度估计(kernel density estimation)是一种非参数概率密度估计方法, 通常用于在给定数据的情况下估计未知概率密度函数[23]. 假设
$ f'(x) = \frac{1}{{nh}}\sum\limits_{i = 1}^n {K\left(\frac{{x - {x_i}}}{h}\right)} $ | (1) |
其中, K代表核函数, h代表窗宽. 拟合不同类型数据的核密度函数需要选取不同的核函数. 窗宽h对拟合结果亦影响较大, 窗宽决定了拟合函数曲线的形态. Botev等人[24]提出的确定最优窗宽的方法ISJ (improved Sheather-Jones)在复杂分布的情况下被认为比Scott经验法则[25]拥有更高精度和健壮性, 在实践中取得了较好的效果. 在获得了每一列对应的拟合概率密度函数后使用反函数变换法来获得采样值. 相较Bootstrap, 核密度估计采样法的采样值不直接来自原始数据, 降低了隐私泄露的可能; 其次, 它无需重复采样, 能够产生更多样的数值; 最后, 使用概率密度函数可以采样任意数量的合成数据, 这使得使用者能够自定义合成数据集大小.
1.2 混合类型相关系数矩阵相关系数矩阵是SI technique算法过程中衡量特征变量之间相关性极为重要的工具. KMSI中使用的混合类型相关系数矩阵是由斯皮尔曼秩相关系数、克莱姆相关系数和CMCD (correlation measure between continuous and discrete features)相关性度量法共同构成的. 斯皮尔曼秩相关系数适用于度量连续型和连续型数据之间的相关性, 并且对于序数型数据亦有良好表现; 其计算公式如下:
$ {\rho _{{\rm{Spearman}}}} = 1 - \frac{{6 \cdot \displaystyle\sum {d_i^2} }}{{n({n^2} - 1)}} $ | (2) |
其中,
$ {\phi _{{\rm{Cramer}}}} = \sqrt {\frac{{{\chi ^2}}}{{n(k - 1)}}} $ | (3) |
其中,
算法1. CMCD相关性度量法
输入: 连续特征
输出: 相似度
1) 组合两列特征
2) 根据Y中元素不同取值, 把
3) 计算每组连续变量的均值
4) 计算全部连续变量的均值
5) 计算各组中连续数据与对应
6) 计算
7) 计算
8) 计算结果
算法2. 混合类型相关系数矩阵计算法
输入: 数据集
输出: 混合类型相关系数矩阵M
1) i=0, M=array[n][n]
2) WHILE (i<n) DO
3) WHILE (j=i, j<n) DO
4) IF (Type[i]==Type[j]) DO
5) IF (Type[i]==“continue”) DO
6)
7) END IF
8) IF (Type[i]==“discrete”) DO
9)
10) END IF
11) ELSE
12)
13) END IF
14) END WHILE
15) END WHILE
16) RETURN M
1.3 KMSISI technique的核心理念是通过迭代的方式试错最优中间相关系数矩阵, 从而不断提高当前合成数据集和目标相关系数矩阵之间的相似程度, 直到两者之间的差距没有明显缩小为止, 最终使得合成数据集拥有与真实数据集高度一致的相关性表达. 在应用了核密度估计采样法与混合类型相关系数矩阵后, KMSI具体计算方法如算法3所示.
算法3. KMSI
输入: 核密度估计概率密度函数组
输出: 合成数据集
1)
2)
3) IF (
4)
5) END IF
6)
7)
8) WHILE (
9)
10)
11)
12)
13)
14) IF (rmsr is the lowest) DO
15)
16)
17) ELSE DO
18) Update
19)
20) END IF
21) END WHILE
22) 使用
23) return F'
KMSI首先使用核密度估计采样法和混合类型相关系数矩阵以提取数据的分布与相关性信息, 保存在Distribution矩阵和target矩阵中, 分别对应步骤1)和步骤2). 在步骤4)、步骤9)、步骤15)、步骤21)对应的平行分析、因子分析、循环控制、数据生成步骤中也需要使用了混合类型相关系数矩阵. 此外, 在步骤13)中使用了均方根残差(root mean square residual, RMSR)来监控中间相关系数矩阵与真实相关系数矩阵之间差距, 以实现循环控制. RMSR的计算方法如式(4)、式(5)所示.
$ {r_{{\rm{residual}}}} = {({C_{{\rm{real}}}} - {C_{{\rm{magnify}}}}{\text{ }}{\rm{or}}{\text{ }}{C_{{\rm{redual}}}})_{{\rm{UnderTriangularElements}}}} $ | (4) |
$ {\textit{RMSR}} = \sqrt {\frac{{\displaystyle\sum {r_{{\rm{residual}}}^2} }}{{k(k - 1)/2}}} $ | (5) |
本节实验首先在若干UCI数据集上检验改进方式的有效性, 再使用两种机器学习算法在不同的训练集和测试集上构建模型, 以模型性能指标为基准完成对合成数据集质量和KMSI鲁棒性的评测.
2.1 改进点测试 2.1.1 核密度估计采样本节实验旨在测试核密度估计采样法生成的Distribution矩阵对真实数据集分布的复现程度. 表1展示了这些数据集的相关信息, 其中C/D features表示各个数据集中连续与离散型特征列的数量, sampling proportion表示本节实验中对各个数据集的采样比例.
分别对4个数据集的各个特征列使用核密度估计法拟合其概率密度函数, 并使用拟合得来的概率密度函数进行随机采样以得到不同采样比例的Distribution矩阵. 对于连续型特征, 采用高斯核函数赋予权重、ISJ algorithm计算窗宽; 对于离散型特征, 采用Delta核函数赋予权重、Silverman经验法则计算窗宽. 图1–图4展示了一部分特征列与真实特征列的对比结果, 纵坐标P表示概率密度. 图1对应Adult数据集连续型特征“age”和离散型特征“marital-status”的分布情况, 图2对应Bank数据集连续型特征“duration”和离散型特征“job”的分布情况, 图3和图4则分别对应Credit和Heart两个数据集中不同类型特征列的分布情况. 真实特征列在其定义域范围内表现出多峰、长尾、偏移等现象, 这既表明真实情况下的数据分布较难满足正态分布的假设, 也证明了原版算法使用预定义的概率密度函数采样的做法存在不合理性. 相比较于核密度估计采样法得到的结果, 黄色直方图代表的采样数据与蓝色直方图代表的真实数据在分布上是基本一致的, 这证明核密度估计法具备还原真实数据集分布的能力.
此外, 对于Petricioli等人[18]提出的使用分位数矩阵插值法生成 Distribution矩阵同样进行了测试, 在上述数据集上计算了合成数据特征列与真实数据特征列之间的KS-test值, 以考察分位点数量q与Distribution矩阵复现分布效果之间的关系. 设定各个合成数据集的样本量与对应真实数据集相等以统一采样比例并消除样本数量带来的影响; 为优化展示效果, 仅对部分结果绘制成图, 如图5–图7所示. 随着分位点数量q的增加, 两种不同类型特征列的KS-test值均逐渐下降到较低水平并不断震荡, 伴随着p值逐渐上升到0.05以上, 这代表了两个分布的相似程度在不断增加并趋于稳定, 总体Distribution矩阵的分布情况越来越接近真实数据集.
虽然该方法在获取扩大的 Distribution矩阵上的确有良好表现, 但当希望得到一个缩小的Distribution矩阵时, 分位点数量q必须谨慎选择. 设定以Adult数据集为基础的合成数据量为原数据集的0.1% (32例样本), 测试q取值范围为[2, 500]时 KS-test 的变化; 如图8所示, 当q值超过所需样本量时, KS-test值出现了明显的宽幅波动, 在个别取值点甚至出现了高于起始值的现象, 这代表着该方法生成的合成数据无法稳定还原真实数据的分布. 此外, 当q值超过所需样本量时, 论文中用于扩大样本量的插值模块将被跳过, 使得 Distribution矩阵里将只包含来自真实数据集的样本, 隐私安全问题也就成为该算法的致命缺点.
2.1.2 混合类型相关系数矩阵
为了检验KMSI在生成不同大小Distribution矩阵时的鲁棒性, 模拟实验设置如下: 首先按照算法2计算数据集的混合类型相关系数矩阵
考虑到4个数据集的样本量不尽相同, 故 Adult和Bank数据集重点测试
图9、图10展示了这4个数据集在各个测试点的RMSR变化, 可以看出, 在扩大和缩小情况下真实数据集和Distribution矩阵的混合类型相关系数矩阵之间的差距并没有发生较大变动, 总体上维持在±0.1范围内; 这说明混合类型相关系数矩阵在数据充足和稀缺的条件下具有健壮性, 与核密度估计采样法结合后无不良表现.
2.2 总体测试
本节实验通过检验合成数据的质量来展示KMSI算法的总体表现.
2.2.1 相关信息该部分实验使用Adult数据集, 为了检验改进算法在数据不平衡情况下的性能, 本节实验在数据预处理阶段采用了文献[27]中构建的数据划分工具FedLab对真实数据集划分出4种不同类型的子数据集; 通过使用合成数据集构建的分类模型性能来讨论算法效果. 对于在生成合成数据阶段的数据集不对离散型特征进行特殊编码, 仅用自然数表示不同类别; 在模型验证阶段则需要对离散特征进行特殊编码以获得较高的模型性能. 实验代码使用Golang和Python共同编写完成.
2.2.2 实验评估在完成数据预处理等步骤后, KMSI以一个从真实数据集中计算得来的目标相关系数矩阵
实验使用真实数据集训练逻辑回归和支持向量机分类模型, 以分类模型的准确度作为评价数据质量的标准. 使用机器学习指标判断更加客观具体, 且借助高准确度的机器学习模型有利于判别合成数据集的总体质量. 表3–表7展示了机器学习分类器在各个合成数据集上的表现, 为探究用户自定义样本量对算法的影响, 表4中的合成数据子集样本数量等同于对应的真实数据子集, 其他表格对应的合成数据子集样本数量均为500. 使用真实数据集训练的支持向量机模型与逻辑回归模型的准确度分别是0.837、0.828; 从实验数据可以看出, 两种分类模型在真实数据集上的准确度整体上明显高于在合成数据集上的准确度, 这说明合成数据集中的确存在不符合真实特征关系的样本. 但通过对比不同子集划分方式(表3, 表5–表7)和不同样本数量(表3, 表4)的结果, 可以看出分类模型在合成数据集上的准确度并没有出现明显变化, 始终保持在0.7左右. 这种现象说明KMSI在生成任意大小的合成数据集时能够保持性能稳定, 具备了在满足数据隐私的前提下应对特征列复杂分布和数据不平衡问题的鲁棒性, 能够给予使用者在样本量上更大的自定义空间.
为了探究这部分不符合真实特征关系的样本对模型的具体影响, 实验把合成数据子集和对应的真实数据子集合并, 分别用合并前后的数据集训练分类模型, 在完整数据集上测试准确度, 结果如表8所示; 为了更直观地展示KMSI在产生更宽样本量范围的合成数据集上的能力, 以第13号真实数据子集为例生成不同比例的合成数据子集, 使用上述方式测试了分类模型的准确度, 结果如图11所示. 从表格和折线图中观察到在生成缩小和扩大的合成数据集时, 模型的准确度分别维持在80%和75%左右. 结合前一部分的实验结果可以推断出, 若进一步扩大合成数据在合并后数据集中的比例, 模型准确度将维持在70%左右, 接近表3–表7所示的结果. 鉴于KMSI在生成缩小的合成数据集上拥有较好表现, 本实验也尝试用“步进式合并(step-merging)”的方法, 即用数个合成样本比例为20%的合成数据集与真实数据集合并来产生不同大小的扩大数据集; 结果展示在图12中. 同样以第13号真实数据子集为材料, “步进式”方法在整体稳定性上有了明显优化, 尤其是在合成样本比例为[1.1, 3.0]范围内表现出优于直接合成方法的稳定性. 因此, 在应对生成扩大合成数据集任务时, 使用步进式合并的方式是更具鲁棒性的方式.
3 总结与展望
SI technique是一种基于概率统计学构建的合成数据生成算法, 它以迭代的方式不断缩小采样数据与真实数据相关系数矩阵之间的距离, 进而找到合适的中间相关矩阵以合成数据. KMSI对原版采样方法和相关性度量方法做出调整, 使其能够应对复杂分布特征列和混合数据类型数据集; 其合成结果不包含真实数据, 并降低了原版算法对合成样本量的限制. 通过对机器学习模型准确度的观察, KMSI在获得较真实数据集更小的合成数据集上有良好表现, 实验数据也佐证了使用“步进式”方法是获得扩大的合成数据集的较优选择.
生成合成数据的意义不仅在于其本身, 也在于它暗示了另一条改进数据集不平衡问题的道路, 即有针对性地对一个数据集中的少数类数据使用合成数据生成方法, 通过产生少数类合成数据扩充数据集来达到平衡类别的目的. 后续工作将按照该思路把KMSI与联邦学习相结合, 以探索新的应用场景.
[1] |
Lu YZ, Shen MJ, Wang HZ, et al. Machine learning for synthetic data generation: A review. arXiv:2302.04062, 2023.
|
[2] |
Babbar R, Schölkopf B. Data scarcity, robustness and extreme multi-label classification. Machine Learning, 2019, 108(8–9): 1329-1351. DOI:10.1007/s10994-019-05791-5 |
[3] |
Pipino LL, Lee YW, Wang RY. Data quality assessment. Communications of the ACM, 2002, 45(4): 211-218. DOI:10.1145/505248.506010 |
[4] |
Olvera OL. Issues, problems and potential solutions when simulating continuous, non-normal data in the social sciences. https://conferences.lnu.se/index.php/metapsychology/article/view/2117. (2020-07-31).
|
[5] |
Fleishman AI. A method for simulating non-normal distributions. Psychometrika, 1978, 43(4): 521-532. DOI:10.1007/BF02293811 |
[6] |
Vale CD, Maurelli VA. Simulating multivariate nonnormal distributions. Psychometrika, 1983, 48(3): 465-471. DOI:10.1007/BF02293687 |
[7] |
Headrick TC. Fast fifth-order polynomial transforms for generating univariate and multivariate nonnormal distributions. Computational Statistics & Data Analysis, 2002, 40(4): 685-711. |
[8] |
Nagahara Y. A method of simulating multivariate nonnormal distributions by the Pearson distribution system and estimation. Computational Statistics & Data Analysis, 2004, 47(1): 1-29. |
[9] |
Foldnes N, Olsson UH. A simple simulation technique for nonnormal data with prespecified skewness, kurtosis, and covariance matrix. Multivariate Behavioral Research, 2016, 51(2-3): 207-219. DOI:10.1080/00273171.2015.1133274 |
[10] |
Fialkowski A, Tiwari H. SimCorrMix: Simulation of correlated data with multiple variable types including continuous and count mixture distributions. The R Journal, 2019, 11(1): 250-286. DOI:10.32614/RJ-2019-022 |
[11] |
Ferrari PA, Barbiero A. Simulating ordinal data. Multivariate Behavioral Research, 2012, 47(4): 566-589. DOI:10.1080/00273171.2012.692630 |
[12] |
Demirtas H, Gao R. Mixed data generation packages and related computational tools in R. Communications in Statistics—Simulation and Computation, 2022, 51(8): 4520-4563. DOI:10.1080/03610918.2020.1745841 |
[13] |
Foldnes N, Grønneberg S. Non-normal data simulation using piecewise linear transforms. Structural Equation Modeling: A Multidisciplinary Journal, 2022, 29(1): 36-46. DOI:10.1080/10705511.2021.1949323 |
[14] |
Ruscio J, Ruscio AM, Meron M. Applying the bootstrap to taxometric analysis: Generating empirical sampling distributions to help interpret results. Multivariate Behavioral Research, 2007, 42(2): 349-386. DOI:10.1080/00273170701360795 |
[15] |
Ruscio J, Kaczetow W. Simulating multivariate nonnormal data using an iterative algorithm. Multivariate Behavioral Research, 2008, 43(3): 355-381. DOI:10.1080/00273170802285693 |
[16] |
Amatya A, Demirtas H. Concurrent generation of multivariate mixed data with variables of dissimilar types. Journal of Statistical Computation and Simulation, 2016, 86(18): 3595-3607. DOI:10.1080/00949655.2016.1177530 |
[17] |
Humski L, Pintar D, Vranić M. Analysis of Facebook interaction as basis for synthetic expanded social graph generation. IEEE Access, 2019, 7: 6622-6636. DOI:10.1109/ACCESS.2018.2886468 |
[18] |
Petricioli L, Humski L, Vranić M, et al. Data set synthesis based on known correlations and distributions for expanded social graph generation. IEEE Access, 2020, 8: 33013-33022. DOI:10.1109/ACCESS.2020.2970862 |
[19] |
Foster R. Simulating factor structures from continuous and discrete distributions using mixture of means within a hierarchical model. https://osf.io/b43yq. (2022-11-28).
|
[20] |
Bartholomew D, Knott M, Moustaki I. Latent variable models and factor analysis: A unified approach. 3rd ed., Chichester: John Wiley & Sons, Ltd., 2011.
|
[21] |
Kairouz P, McMahan HB, Avent B, et al. Advances and open problems in federated learning. Foundations and Trends® in Machine Learning, 2021, 14(1–2): 1-210. |
[22] |
Solorio-Fernández S, Carrasco-Ochoa JA, Martínez-Trinidad JF. A survey on feature selection methods for mixed data. Artificial Intelligence Review, 2022, 55(4): 2821-2846. DOI:10.1007/s10462-021-10072-6 |
[23] |
Kamalov F, Elnagar A. Kernel density estimation-based sampling for neural network classification. Proceedings of the 2021 International Symposium on Networks, Computers and Communications (ISNCC). Dubai: IEEE, 2021. 1–4.
|
[24] |
Botev ZI, Grotowski JF, Kroese DP. Kernel density estimation via diffusion. The Annals of Statistics, 2010, 38(5): 2916-2957. |
[25] |
Scott DW. Multivariate density estimation: Theory, practice, and visualization. 2nd ed., Hoboken: John Wiley & Sons, Ltd., 2015.
|
[26] |
Jiang SY, Wang LX. Efficient feature selection based on correlation measure between continuous and discrete features. Information Processing Letters, 2016, 116(2): 203-215. DOI:10.1016/j.ipl.2015.07.005 |
[27] |
Li QB, Diao YQ, Chen Q, et al. Federated learning on non-IID data silos: An experimental study. Proceedings of the 38th IEEE International Conference on Data Engineering (ICDE). Kuala Lumpur: IEEE, 2022. 965–978.
|