CN117217290A - 因果生成对抗网络的数据插补方法、装置、设备和介质 - Google Patents
因果生成对抗网络的数据插补方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117217290A CN117217290A CN202310992012.6A CN202310992012A CN117217290A CN 117217290 A CN117217290 A CN 117217290A CN 202310992012 A CN202310992012 A CN 202310992012A CN 117217290 A CN117217290 A CN 117217290A
- Authority
- CN
- China
- Prior art keywords
- data
- matrix
- causal
- discriminator
- generator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001364 causal effect Effects 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims abstract description 204
- 238000012549 training Methods 0.000 claims abstract description 54
- 230000000694 effects Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004458 analytical method Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 50
- 238000010606 normalization Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000003042 antagnostic effect Effects 0.000 claims description 4
- 230000008485 antagonism Effects 0.000 claims 1
- 239000012677 causal agent Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Complex Calculations (AREA)
Abstract
本发明属于数据处理与分析技术领域,公开了一种因果生成对抗网络的数据插补方法、装置、设备和介质,方法包括:对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补,得到经过插补的小批次数据;将经过插补后的小批次数据和所述因果矩阵输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型,然后把全部需要插补的数据集输入到模型中,输出最终被插补的完整的数据集;有效提高数据准确性。
Description
技术领域
本申请涉及数据处理与分析技术领域,特别是涉及到一种因果生成对抗网络的数据插补方法、装置、设备和介质。
背景技术
多变量时间序列(MTS)是最重要和最常见的数据格式之一,然而由于如数据采集故障、传输过程异常和设备故障等等原因,MTS的数据缺失现象几乎是不可避免的,插补法是处理缺失值的方法,主要分类为统计插补和基于深度学习的插补,统计插补忽略了时间关系和缺失值方差,可能引入异常值改变数据统计特征,机器学习插补利用MTS特性完成插补,但未考虑属性间因果关系,数值的质量和完整性得不到保证。
因此,如何基于生成对抗网络的插补方法的局限性以及数据缺失问题提出一种帮助模型更好的拟合数据的分布进行数据插补的方法是亟待解决的问题。
发明内容
本发明提供一种因果生成对抗网络的数据插补方法、装置、设备和介质,旨在解决如何基于生成对抗网络的插补方法的局限性以及数据缺失问题提出一种帮助模型更好的拟合数据的分布进行数据插补的方法的技术问题。
为了实现上述发明目的,本发明第一方面提出一种因果生成对抗网络的数据插补方法,所述方法包括:
对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;
从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补,得到经过插补的小批次数据;
将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;
将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型;
将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。
进一步地,所述对数据集进行归一化处理的步骤包括:
读取数据集和各属性间因果关系;将数据集输入到进行归一化处理,将数据值转变到0和1的范围内。其中Xj表示数据集中的每一列数据,min(Xj)表示每一列中的最小值,X′j每列数据减去最小值之后的值,max(X′j)表示每列中的最大值,10-6的作用是为了防止除以0的情况,/>就是归一化之后的数据。
进一步地,所述并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵的步骤包括:
将数据集导入到分析环境中,对数据集中的数据逐个特征检测是否存在缺失值,将缺失值的位置标记为0,非缺失值的位置标记为1,得到一个与数据集相同形状的掩码矩阵;
基于各属性间因果关系,构建出因果图,根据所述因果图中的因果关系转化为因果矩阵。
进一步地,所述从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补的步骤包括:
将数据集中的小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵代入到中进行缺失值插补:
其中,G代表生成器,是经过归一化的小批次数据,M是对应的掩码矩阵,Z是噪声矩阵,/>表示生成器G的生成数据,/>表示经过插补的小批次数据,⊙表示逐元素相乘。
进一步地,所述将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率的步骤为:
将经过插补后的小批次数据和所述因果矩阵代入关于鉴别器的函数式D:中,/>的第i个分量对应于在/>和因果关系B存在的条件下/>的第i个分量是被观察到的概率。其中,D代表鉴别器,B代表因果矩阵,/>代表经过插补的小批次数据。
进一步地,所述将生成器和鉴别器进行迭代训练的步骤,包括:
计算生成器和鉴别器的损失函数,使用反向传播算法更新生成器和鉴别器的参数;
其中,生成器的损失函数包括观测值的损失以及缺失值的损失,公式为
其中α是超参数,N表示数据缺失的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵,d表示掩码矩阵的维度,n表示掩码向量中数值的个数;
鉴别器的损失数包括:对真实数据的预测损失和对生成数据的预测损失,公式为其中d表示掩码矩阵的维度,n表示掩码向量中数值的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵。
进一步地,所述迭代训练的目标函数为: 其中D代表鉴别器,G代表生成器,B代表因果矩阵,M是对应的掩码矩阵,/>表示经过插补的小批次数据。
本申请的第二方面提出一种因果生成对抗网络的数据插补装置,包括:
数据处理模块,用于对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;
生成器模块,用于从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补,得到经过插补的小批次数据;
鉴别器模块,用于将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;
迭代模块,用于将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型;
最终插补模块,用于将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。
本申请的第三方面提出一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的因果生成对抗网络的数据插补方法的步骤。
本申请的第四方面提出一种计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的因果生成对抗网络的数据插补方法的步骤。
有益效果:
本发明的首先对数据集进行归一化处理,并分析数据集和各属性之间的因果关系,得到掩码矩阵和因果矩阵。然后,从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和噪声矩阵,通过模型生成器进行缺失值插补,得到经过插补的小批次数据。接着,将插补后的数据和因果矩阵输入模型鉴别器,得到数据值是否为真实值的概率。然后,通过迭代训练生成器和鉴别器直至损失函数收敛或训练完成,得到训练完成的模型。最后将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集;本发明使用因果生成对抗网络进行数据插补,能够更好地保持数据的内在联系和分布特性;本方案通过归一化处理和分析因果关系,利用因果关系进行插补,可以更准确地还原数据的缺失部分,提高数据插补的准确性和稳定性,通过迭代训练生成器和鉴别器,可以逐步改进插补结果,提高数据插补的准确性。
附图说明
图1为发明一实施例因果生成对抗网络的数据插补方法的流程示意图;
图2为发明一实施例的掩码矩阵示意图;
图3为发明一实施例的因果关系示意图;
图4为发明一实施例的因果矩阵示意图;
图5为发明一实施例的噪声矩阵示意图;
图6为发明一实施例因果生成对抗网络的数据插补方法示意框图;
图7为本申请一实施例的基于大数据技术的时空轨迹补全的装置的结构示意框图;
图8为本申请一实施例的计算机设备的结构示意框图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“上述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件、模块、模块和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、模块、模块、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一模块和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1-图6,本发明实施例提供一种因果生成对抗网络的数据插补方法,包括步骤s1-s4:
S1、对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;
读取原始数据集(多变量时间序列),将数据集输入到进行归一化处理,将数据值转变到0和1的范围内。其中Xj表示数据集中的每一列数据,min(Xj)表示每一列中的最小值,X′j每列数据减去最小值之后的值,max(X′j)表示每列中的最大值,10-6的作用是为了防止除以0的情况,/>就是归一化之后的数据。自动分析数据集和各属性间因果关系分别得到表示数据集中缺失值位置的掩码矩阵和表述各属性之间因果关系的因果矩阵;其中原始数据集为已知条件,在Python开发环境下包括但不限于.csv文件格式,各属性的因果关系也是已知条件,表述了数据各个属性之间原因和结果的关系;多变量时间序列(MTS)是指在时间上观察多个相关变量的数据序列,在多变量时间序列中,每个时间点都有多个变量的观测值。这些变量之间可能存在相互作用和依赖关系,因此它们的值在时间上的变化可以相互影响,MTS是最常见和最重要的数据格式之一;掩码矩阵:是一个表示数据集中缺失值位置的二维数组,行数和列数与数据集保持一致;掩码矩阵中值与数据集中数据一一对应,其中为1表示数据集中对应位置的数据没有缺失,为0表示应位置的数据缺失。如图2所示,表示Python环境下的数据集对应的掩码矩阵。
另外,如果变量Y“服从于”变量X,并根据所“听到”的内容决定自己的值,那么变量X就是变量Y的一个因,变量Y就是变量X的一个果,它们之间的这种关系就是因果关系,可以用图的形式给出,也可以以文件的形式给出,线性因果矩阵根据线性结构方程模型SEM: 得到,/>表示在因果图/>中,节点Xj对应数据集中的属性的父节点,βij表示父节点Xi的影响权重,d表示节点或属性的个数,zj表示对应的噪声;其中,广义非线性SEM模型表示为X=BTf(x)+Z,如图3所示,表示一个简单的因果关系,图中变量Z是变量X和变量Y的因,同时变量X和Y是变量Z的果;而表达因果关系的矩阵,是一个二维数据,行数和最小训练批次数据的行数保持一致,列数和数据集的列数保持一致。如图4所述,所述图4为图3的因果矩阵示意图,其中第三列为第二列和第一列的因;基于因果关系分析后得出的因果矩阵可以帮助系统更好地理解数据集中各个属性之间的关系,发现潜在的规律和因果机制,因果关系分析可以帮助系统确定属性之间的因果关系,并依据这些关系进行插补。
S2、从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行插补处理,得到经过插补的小批次数据。
系统自动从数据集中抽取一部分数据,称为小批次数据,然后这部分小批次数据和对应的掩码矩阵以及生成的噪声矩阵(每一次输入的噪声矩阵都是不同的)会自动输入到模型的生成器G(完全连接的神经网络)中,生成器会自动把缺失的数据补齐,并输出完整的数据,生成器G的公式表达如下:
其中G代表生成器,/>是经过归一化的小批次数据,M是对应的掩码矩阵,Z是噪声矩阵,/>表示生成器G的生成数据,/>表示经过插补的小批次数据,⊙表示逐元素相乘。
噪声矩阵:是一个二维数组,其中的数值为很小的随机数,与其他变量无关,行数与列数都与训练批次的数据保持一致,如图5所示为噪声矩阵示意图。
噪声矩阵中的小随机数引入了一定的随机性,使得每次生成的数据都带有一定的差异,这有助于避免模型陷入局部最优解,增加了生成数据的多样性。噪声矩阵中的随机数是与其他变量无关的,通过对生成器G输出进行逐元素相乘,可以将一部分数据掩盖起来,增强数据的隐私性,这有助于保护敏感信息,在一定程度上防止原始数据被恢复,而且在一定程度上起到了正则化的作用,有助于减少模型的过拟合风险,由于每次输入的噪声矩阵都是不同的,生成器G会受到不同的噪声干扰,强制模型学习更鲁棒、稳定的特征。
S3、将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率。
经过生成器G插补过的小批次数据和已经得到的因果矩阵B会自动输入到模型的鉴别器D(完全连接的神经网络)中,鉴别器会识别出哪部分数据是真实的哪部分数据是生成的,也就是说鉴别器D要预测出掩码矩阵。从形式上看鉴别器是一个函数D: 的第i个分量对应于在/>和B已知的条件下/>的第i个分量为真实值的概率,其中,D代表鉴别器,B代表因果矩阵,/>代表经过插补的小批次数据。
通过鉴别器D,我们可以对生成的数据进行质量评估,鉴别器基于训练数据中已知的因果关系矩阵B,判断输入数据的每个分量是否为真实值,通过概率预测,我们可以将预测结果与真实掩码矩阵进行对比,从而评估生成数据的质量和准确度,此外,鉴别器D的输出可以提供有关生成器G性能的反馈信号,如果鉴别器能够准确识别出生成数据,说明生成器G的插补能力较弱,需要进行改进。反之,如果鉴别器难以区分生成数据和真实数据,说明鉴别器D的鉴别能力较弱,这样的反馈信号可以指导生成器G和鉴别器D的训练,并促使其不断提升生成数据能力和鉴别数据的能力。
S4、将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型。
生成器G和鉴别器D进行迭代训练,我们首先使用小批次数据,用固定的生成器G来优化鉴别器D。然后我们用最新的鉴别器D来优化生成器G,两者的训练思想是,生成器G想要让生成的数据骗过鉴别器D,就是让鉴别器D识别为真;而鉴别器D想要找出生成器G生成的值,两者在这种模式下相互优化,模型的目标函数如下公式所示,最后得到一个完整的数据集。
通过迭代训练,鉴别器D不断提供对生成数据的反馈,并指导生成器G学习生成更逼真、更接近真实数据的样本,生成器G通过试图欺骗鉴别器D而不断改进自身的生成能力,逐渐逼近真实数据的分布,因此,这种训练能够帮助生成器G不断提高数据生成的质量和准确性;鉴别器D通过正确预测哪些数据是真实的哪些数据是生成器生成的,来不断提高自己的鉴别能力;生成器G的目标是生成缺失部分的完整数据,通过迭代训练,生成器G能够学习到数据中的规律和特征,并利用这些信息生成与真实数据相似的完整数据;这有助于提高数据插补的效果,使生成的完整数据更加符合真实数据的分布。
S5、将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。
综上所述,本方案生成对抗网络通过生成器和鉴别器的迭代训练,可以学习到更接近真实数据分布的模式,生成的数据插补结果质量更高,相比传统的插值方法或简单的统计方法,生成对抗网络能够更好地保持数据的特征和结构,通过控制生成器的输入条件或随机噪声,可以实现对生成样本的某些特征进行控制,这使得生成对抗网络在生成和合成任务上具有较强的灵活性和可控性,不需要大量标记样本作为训练数据,可以从未标记的数据中学习特征,并生成新的样本,生成对抗网络采用对抗优化的方式进行训练,生成器和鉴别器相互竞争、相互博弈,这种竞争关系使得模型对噪声、异常值等干扰具有一定的鲁棒性,产生高质量的插补结果,可以适应不同数据分布和特征的插补和生成任务。
在一个实施例中,上述将数据集中的小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行插补处理的步骤包括:
S11、将数据集中的小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵代入到中进行插补处理:
其中G代表生成器,是经过归一化的小批次数据,M是对应的掩码矩阵,Z是噪声矩阵,/>表示生成器G的生成数据,/>表示经过插补的小批次数据,⊙表示逐元素相乘。
在本实施例中,数据集中的小批次数据、对应的掩码矩阵和随机生成的噪声矩阵被输入到生成器G中进行插补处理,具体地,生成器G接收三个输入值:经过归一化的小批次数据、对应的掩码矩阵和噪声矩阵,生成器G经过处理后输出生成的数据,其中,掩码矩阵将指示哪些位置需要进行插值或填充,而噪声矩阵可以引入随机性,增加生成数据的多样性;通过将小批次数据和对应的掩码矩阵输入到生成器中,可以确保生成的数据与原始数据之间存在一定的关联性,生成器可以通过掩码矩阵确定需要插值的位置,从而在插补时保持数据的内在结构和特征,通过掩码矩阵和噪声矩阵的引入,可以在一定程度上控制生成数据的插值策略和多样性,且输入噪声矩阵可以增加生成器的鲁棒性,噪声的引入可以使生成器对输入数据中的噪声和异常值具有一定的容忍度,从而更好地处理数据集中的各种噪声情况;总值本实施例可以在生成的数据中保持原始数据的特征、结构,并增加数据的多样性和可控性,从而提高插补结果的质量和适应性。
在一实施例中,上述将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率的步骤为:
S21、将经过插补后的小批次数据和所述因果矩阵代入关于鉴别器的函数式D:中,/>的第i个分量对应于在/>和B已知的条件下/>的第i个分量为真实值的概率,其中,D代表鉴别器,B代表因果矩阵,/>代表经过插补的小批次数据。
在本实施例中,经过插补后的小批次数据和因果矩阵被输入到模型鉴别器D中进行真值预测,具体地,将经过插补后的小批次数据和因果矩阵作为输入,通过鉴别器函数来计算每个数据值是否为真实值的概率;具体地,将插补后的小批次数据和因果矩阵提供给鉴别器D,作为输入进行真值预测,鉴别器D使用输入的数据和因果矩阵,根据其内部的函数式进行计算,每个分量i对应于在给定B的条件下,第i个数据值为真实值的概率;鉴别器D完成计算后,会输出每个数据值是否为真实值的概率,这些概率可以表示为一个向量,其中每个元素对应于相应数据值是否为真实的概率。
总结来说,在该实施例中,插补后的小批次数据和因果矩阵被输入到模型鉴别器中,鉴别器利用这些输入来预测每个数据值是否为真实值的概率,这样的预测结果可以用于评估生成器的生成数据的真实性并为进一步优化生成器训练过程奠定基础。
在一实施例中,上述将生成器和鉴别器进行迭代训练的步骤,包括:
S31、计算生成器和鉴别器的损失函数,使用反向传播算法更新生成器和鉴别器的参数;其中,生成器的损失函数包括观测值的损失以及缺失值的损失;其中,生成器的损失函数包括观测值的损失以及缺失值的损失,公式为
其中α是超参数,N表示数据缺失的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵,d表示掩码矩阵的维度,n表示掩码向量中数值的个数;
鉴别器的损失数包括:对真实数据的预测损失和对生成数据的预测损失,公式为其中d表示掩码矩阵的维度,n表示掩码向量中数值的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵。
在本实施例中,生成器和鉴别器通过迭代训练的步骤包括计算损失函数、使用反向传播算法更新参数;生成器的损失函数由观测值的损失以及缺失值的损失组成,鉴别器的损失函数由对真实数据的预测损失和对生成数据的预测损失组成,具体可以是将小批次数据、插补后的小批次数据、掩码矩阵和因果矩阵提供给生成器和鉴别器,生成器通过将小批次数据和掩码矩阵输入到生成器中为所有的数据产生一个值,然后替换掉小批次中的缺失值得到经过插补的小批次,把经过插补的小批次和因果矩阵输入到鉴别器,得到预测的掩码矩阵,计算预测的掩码矩阵对生成值的预测准确度得到缺失值的损失,计算未缺失值和生成器对其产生的值进行偏差计算得到观测值的损失,同时,将生成数据输入到鉴别器中,计算鉴别器对观测值和生成值的预测损失。
鉴别器的损失函数:鉴别器接收掩码矩阵、提示矩阵和小批次数据,分别计算对真实数据的预测损失和对生成数据的预测损失,根据生成器和鉴别器的损失函数,使用反向传播算法更新生成器和鉴别器的参数,以最小化损失函数。
重复执行互相迭代的过程,通过反复训练生成器和鉴别器,逐渐优化它们的参数,直到达到训练的指定次数或损失满足收敛条件为止。
总结来说,在本实施例中,生成器和鉴别器通过计算损失函数并使用反向传播算法进行迭代训练,生成器的损失函数考虑观测值的损失以及缺失值的损失,而鉴别器的损失函数包括对真实数据的预测损失和对生成数据的预测损失,通过不断迭代更新参数,生成器和鉴别器能够逐渐提高其性能和生成数据的质量。
在一实施例中,述迭代训练的目标函数为: 其中D代表鉴别器,G代表生成器,B代表因果矩阵,M是对应的掩码矩阵,/>表示经过插补的小批次数据。
在本实施例中,目标函数可以表示为最小最大化问题。首先我们使用小批次数据,用固定的生成器G来训练鉴别器D,使其准确的预测掩码矩阵的概率最大。然后我们用最新的鉴别器D来训练生成器G,以使鉴别器D确预测M的概率最小。
在一实施例中,上述对数据集进行归一化处理的步骤包括:读取数据集和各属性间因果关系;对数据集进行归一化处理,将数据值转变到0和1的范围内。
在本实施例中,归一化处理是将数据转换到0和1的范围内,归一化可以使得模型训练更加容易,具体步骤如下:读取数据集,包括时间序列数据和各属性间因果关系;对数据集中的每个属性进行最小-最大归一化;找出每个属性的最小值和最大值;对于每个属性的每个数据点,使用以下公式将其归一化为0到1的范围。其中Xj表示数据集中的每一列数据,min(Xj)表示每一列中的最小值,X′j每列数据减去最小值之后的值,max(X′j)表示每列中的最大值,10-6的作用是为了防止除以0的情况,/>就是归一化之后的数据。最终得到经过归一化处理后的数据集,其中所有属性的值都在0和1之间,归一化处理都有助于提高模型中激活函数的表现。
在一实施例中,上述并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵的步骤包括:将数据集导入到分析环境中,对数据集中的数据逐个特征检测是否存在缺失值,将缺失值的位置标记为0,非缺失值的位置标记为1,得到一个与数据集相同形状的掩码矩阵;基于各属性间因果关系,构建出因果图,根据所述因果图中的因果关系转化为因果矩阵。
在本实施例中,基于已知的数据集,并确保其格式适合分析环境使用的数据结构,然后,使用适当的函数或库,将数据集导入到所选的分析环境中,对数据集中的数据逐个特征检测是否存在缺失值,在分析环境中,使用相关的函数或方法(如isnull()函数、sum()函数)逐个特征检测数据集中的缺失值;针对每个特征(列),判断每个数据点是否为缺失值,如果某个数据点缺失,则在掩码矩阵中对应位置的值标记为0;如果非缺失,则标记为1,最终得到一个与数据集形状相同的掩码矩阵,其中缺失值位置为0,非缺失值位置为1。
使用统计学方法或机器学习技术,分析数据集中各属性之间的因果关系,构建因果图,其中每个属性作为节点,根据因果关系连接节点之间的边,因果图是一个有向无环图(DAG),表示属性之间的因果关系,转化为因果矩阵,将构建好的因果图转化为与数据集形状相同的因果矩阵,遍历因果图的每个节点和边,将有因果关系的节点对应位置的因果矩阵值标记为1,没有因果关系的位置标记为0。
通过以上步骤,我们可以得到数据集的掩码矩阵和因果矩阵,掩码矩阵可以帮助我们标记缺失值的位置,而因果矩阵则展示了各属性之间的因果关系,揭示数据集中各属性之间的因果关系,这种深入分析有助于我们更好地理解数据集,探索变量之间的依赖关系,从而为进一步的数据分析和建模提供指导。
参照图7,本发明实施例还提供一种因果生成对抗网络的数据插补装置,其特征在于,包括:
数据处理模块100,用于对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;
生成器模块200,用于从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行插补处理,得到经过插补的小批次数据;
鉴别器模块300,用于将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;
迭代模块400,用于将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型。
最终插补模块500,用于将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。
在一实施例中,上述数据处理模块100还包括:
数据预处理单元,对数据进行预处理,使用以下公式将其归一化为0到1的范围,其中Xj表示数据集中的每一列数据,min(Xj)表示每一列中的最小值,X′j每列数据减去最小值之后的值,max(X′j)表示每列中的最大值,10-6的作用是为了防止除以0的情况,/>就是归一化之后的数据,线性因果关系得到的因果矩阵根据线性结构方程模型SEM:/>得到,/>表示在因果图/>中,节点Xj(对应数据集中的属性)的父节点,βij表示父节点Xi的影响权重,d表示节点或属性的个数,zj表示对应的噪声;其中,广义非线性SEM模型表示为X=BTf(x)+Z。
在一实施例中,上述生成器模块200还包括:
数据插补单元,用于将数据集中的小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵代入到中进行缺失值插补:
其中G代表生成器,是经过归一化的小批次数据,M是对应的掩码矩阵,Z是噪声矩阵,/>表示生成器G的生成数据,/>表示经过插补的小批次数据,⊙表示逐元素相乘。
在一实施例中,上述鉴别器模块300,包括:
数据鉴别单元,用于将经过插补后的小批次数据和所述因果矩阵代入关于鉴别器的函数式D:中,/>的第i个分量对应于在/>和B已知的条件下的第i个分量为真实值的概率,其中,D代表鉴别器,B代表因果矩阵,/>代表经过插补的小批次数据。
在一实施例中,上述迭代模块400,包括:
损失计算单元,用于计算生成器和鉴别器的损失函数,使用反向传播算法更新生成器和鉴别器的参数;其中,生成器的损失函数包括观测值的损失以及缺失值的损失,公式为
其中α是超参数,N表示数据缺失的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵,d表示掩码矩阵的维度,n表示掩码向量中数值的个数;
鉴别器的损失数包括:对真实数据的预测损失和对生成数据的预测损失,公式为其中d表示掩码矩阵的维度,n表示掩码向量中数值的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵。
在一实施例中,上述数据处理模块100,包括:
数据读取单元,用于读取数据集和各属性间因果关系;
数值转化单元,用于对数据集进行归一化处理,将数据值转变到0和1的范围内。
在一实施例中,上述数据处理模块100,还包括:
缺失检测单元,用于将数据集导入到分析环境中,对数据集中的数据逐个特征检测是否存在缺失值,将缺失值的位置标记为0,非缺失值的位置标记为1,得到一个与数据集相同形状的掩码矩阵;
因果转换单元,用于基于各属性间因果关系,构建出因果图,根据所述因果图中的因果关系转化为因果矩阵。
参照图8本发明实施例还提供一种计算机设备,该计算机设备的内部结构可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据集数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。进一步地,上述计算机设备还可以设置有输入装置和显示屏等。上述计算机程序被处理器执行时以实现因果生成对抗网络的数据插补方法,包括如下步骤:对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行插补处理,得到经过插补的小批次数据;将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,直到损失函数收敛或训练完成,得到训练完成的模型;然后将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现因果生成对抗网络的数据插补方法,包括如下步骤:对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行插补处理,得到经过插补的小批次数据;将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,直到损失函数收敛或训练完成,得到训练完成的模型;然后将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种因果生成对抗网络的数据插补方法,其特征在于,所述方法包括:
对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;
从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补,得到经过插补的小批次数据;
将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;
将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型;
将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。
2.根据权利要求1所述的因果生成对抗网络的数据插补方法,其特征在于,所述对数据集进行归一化处理的步骤包括:
读取数据集和各属性间因果关系;
将数据集输入到进行归一化处理,将数据值转变到0和1的范围内。其中Xj表示数据集中的每一列数据,min(Xj)表示每一列中的最小值,X′j每列数据减去最小值之后的值,max(X′j)表示每列中的最大值,10-6的作用是为了防止除以0的情况,/>就是归一化之后的数据。
3.根据权利要求1所述的因果生成对抗网络的数据插补方法,其特征在于,所述并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵的步骤包括:
将数据集导入到分析环境中,对数据集中的数据逐个特征检测是否存在缺失值,将缺失值的位置标记为0,非缺失值的位置标记为1,得到一个与数据集相同形状的掩码矩阵;
基于各属性间因果关系,构建出因果图,根据所述因果图中的因果关系转化为因果矩阵。
4.根据权利要求1所述的因果生成对抗网络的数据插补方法,其特征在于,所述从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补的步骤包括:
将数据集中的小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵代入到中进行缺失值插补:
其中,G代表生成器,是经过归一化的小批次数据,M是对应的掩码矩阵,Z是噪声矩阵,表示生成器G的生成数据,/>表示经过插补的小批次数据,⊙表示逐元素相乘。
5.根据权利要求1所述的因果生成对抗网络的数据插补方法,其特征在于,所述将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率的步骤为:
将经过插补后的小批次数据和所述因果矩阵代入关于鉴别器的函数式D:中,/>的第i个分量对应于在/>和B已知的条件下/>的第i个分量为真实值的概率,其中,D代表鉴别器,B代表因果矩阵,/>代表经过插补的小批次数据。
6.根据权利要求1所述的因果生成对抗网络的数据插补方法,其特征在于,所述将生成器和鉴别器进行迭代训练的步骤,包括:
计算生成器和鉴别器的损失函数,使用反向传播算法更新生成器和鉴别器的参数;
其中,生成器的损失函数包括观测值的损失以及缺失值的损失,公式为 其中α是超参数,N表示数据缺失的个数,m为掩码矩阵,为鉴别器预测的掩码矩阵,d表示掩码矩阵的维度,n表示掩码向量中数值的个数;
鉴别器的损失数包括:对真实数据的预测损失和对生成数据的预测损失,公式为其中d表示掩码矩阵的维度,n表示掩码向量中数值的个数,m为掩码矩阵,/>为鉴别器预测的掩码矩阵。
7.根据权利要求1所述的因果生成对抗网络的数据插补方法,其特征在于,所述迭代训练的目标函数为: 其中D代表鉴别器,G代表生成器,B代表因果矩阵,M是对应的掩码矩阵,/>表示经过插补的小批次数据。
8.一种因果生成对抗网络的数据插补装置,其特征在于,包括:
数据处理模块,用于对数据集进行归一化处理,并对数据集和各属性间因果关系进行分析,得到掩码矩阵和因果矩阵;
生成器模块,用于从经过归一化的数据集中随机选择小批次数据以及对应的掩码矩阵和随机生成的噪声矩阵输送到模型生成器中进行缺失值插补,得到经过插补的小批次数据;
鉴别器模块,用于将经过插补后的小批次数据和所述因果矩阵B输送到模型鉴别器中进行真值预测,得到数据各个值是否为真实值的概率;
迭代模块,用于将生成器和鉴别器进行迭代训练,直到损失函数收敛或训练完成,得到训练完成的模型;
最终插补模块,用于将全部数据集以及对应的掩码矩阵和随机生成的噪声矩阵输入到模型中,输出最终被插补的完整的数据集。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的因果生成对抗网络的数据插补方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的因果生成对抗网络的数据插补方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310992012.6A CN117217290A (zh) | 2023-08-08 | 2023-08-08 | 因果生成对抗网络的数据插补方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310992012.6A CN117217290A (zh) | 2023-08-08 | 2023-08-08 | 因果生成对抗网络的数据插补方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117217290A true CN117217290A (zh) | 2023-12-12 |
Family
ID=89039700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310992012.6A Pending CN117217290A (zh) | 2023-08-08 | 2023-08-08 | 因果生成对抗网络的数据插补方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117217290A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117828373A (zh) * | 2024-03-05 | 2024-04-05 | 四川省医学科学院·四川省人民医院 | 基于集合划分和自监督学习的缺失数据填充方法及系统 |
-
2023
- 2023-08-08 CN CN202310992012.6A patent/CN117217290A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117828373A (zh) * | 2024-03-05 | 2024-04-05 | 四川省医学科学院·四川省人民医院 | 基于集合划分和自监督学习的缺失数据填充方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165664B (zh) | 一种基于生成对抗网络的属性缺失数据集补全与预测方法 | |
CN109886343B (zh) | 图像分类方法及装置、设备、存储介质 | |
CN113011529B (zh) | 文本分类模型的训练方法、装置、设备及可读存储介质 | |
CN117217290A (zh) | 因果生成对抗网络的数据插补方法、装置、设备和介质 | |
US20230266721A1 (en) | Method for configuring a control agent for a technical system, and control device | |
CN111416797A (zh) | 改进天牛群算法优化正则化极限学习机的入侵检测方法 | |
CN112232426A (zh) | 目标检测模型的训练方法、装置、设备及可读存储介质 | |
CN117057443B (zh) | 视觉语言模型的提示学习方法及电子设备 | |
CN115018193A (zh) | 基于lstm-ga模型的时间序列风能数据预测方法 | |
CN111260056B (zh) | 一种网络模型蒸馏方法及装置 | |
WO2021181107A1 (en) | Optimised approximation architectures and forecasting systems | |
CN115496144A (zh) | 配电网运行场景确定方法、装置、计算机设备和存储介质 | |
Wei et al. | Deterministic ship roll forecasting model based on multi-objective data fusion and multi-layer error correction | |
Xie et al. | Reinforcement learning for soft sensor design through autonomous cross-domain data selection | |
CN116702839A (zh) | 一种基于卷积神经网络的模型训练方法及应用系统 | |
CN115619563A (zh) | 一种基于神经网络的股票价格分析方法 | |
US11783194B1 (en) | Evolutionary deep learning with extended Kalman filter for modeling and data assimilation | |
CN112348161B (zh) | 神经网络的训练方法、神经网络的训练装置和电子设备 | |
CN112396069B (zh) | 基于联合学习的语义边缘检测方法、装置、系统及介质 | |
CN118036825A (zh) | 一种基于多尺度特征融合的电力负荷预测方法及系统 | |
CN112287599A (zh) | 基于多步新奇度的时态序列迭代预测算法、介质和设备 | |
Omari et al. | M-SVR Model for a Serious Game Evaluation Tool | |
CN117911043A (zh) | 燃煤电厂碳排放量的预测方法、装置、介质及设备 | |
Bouassida | Converting Neural Networks to Sampled Networks | |
CN117164399A (zh) | 有机肥烘干发酵方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |