发明内容
针对现有技术的不足,本发明提出一种基于C-GAN迁移学习的IES不完备数据负荷预测方法及系统,具体表述为基于不完备数据的C-GAN(条件生成对抗网络)与多任务学习结合的综合能源负荷预测方法及系统,本发明针对综合能源系统的实际状况进行了样本的处理和扩展,使得负荷预测更加精确和快速。
为实现上述技术效果,本发明提出了一种基于C-GAN迁移学习的IES不完备数据负荷预测方法,包括以下步骤:
步骤1:采集原始样本数据集,所述原始样本数据集包括综合能源系统的历史样本数据集以及实际负荷特征数据的历史样本数据集,所述综合能源系统的历史样本数据集包括四个样本数据集,分别为综合能源系统的温度样本数据集、湿度样本数据集、日期样本数据集和经济样本数据集,所述实际负荷特征数据的历史样本数据集包括三个样本数据集,分别为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集;
步骤2:利用公式(1)归一化处理综合能源系统的历史样本数据集中的所有样本数据,得到归一化处理后的样本数据集:
式中,x表示综合能源系统的历史样本数据集中的每个样本数据值,xmax表示每个样本数据集中绝对值最大的样本数据值,xmin表示每个样本数据集中绝对值最小的样本数据值,xstd表示归一化处理后的样本数据集中的样本数据值;
步骤3:采用深度变分自编码网络提取归一化处理后的样本数据集,用提取出的特征样本数据集作为真实样本数据集来代替综合能源系统的历史样本数据集,具体步骤如下:
3.1)构建自编码器个数为N的深度变分自编码网络;
3.2)采用梯度下降法训练深度变分自编码网络,进行网络参数的微调,所述网络参数包括神经元的偏置和权重、网络层数、神经元个数;
3.3)将深度变分自编码网络输出的维数为
的特征样本数据集作为真实样本数据集来代替综合能源系统的历史样本数据集;
步骤4:任意选取个数为
个的随机数构成一个随机样本数据集;
步骤5:构建第一个C-GAN用于扩展样本数据集,具体步骤如下:
步骤5.1:利用C-GAN构建一个隐藏层为n个全连接层的生成器模型,输入层的输入为随机样本数据集,输出层的输出为伪样本数据集;
步骤5.2:利用C-GAN构建一个隐藏层为m个全连接层,且输出层为Softmax分类器的判别器模型,将真实样本数据集与伪样本数据集共同作为输入,通过Softmax分类器输出的预测判断结果来判断输出的每个样本是伪样本数据集中的样本还是真实样本数据集中的样本;
步骤5.3:依据判别器输出的预测判断结果,采用小波激活函数调整生成器中的参数,使得生成器生成的伪样本数据集与真实样本数据集具有相同的分布概型,所述参数包括神经元的权值和偏重、网络层数、神经元个数;
步骤5.4:根据激活函数不断调整生成器和判别器的参数,使得生成器和判别器的博弈达到纳什平衡;
步骤5.5:当C-GAN的生成器与判别器的博弈达到纳什均衡时,利用权值共享并行训练并输出维数为
的样本集作为伪样本数据集;
步骤5.6:利用生成器生成的与真实样本数据集具有相同分布概型的伪样本数据集对真实样本数据集中的不完备数据进行扩展,得到扩展样本数据集;
步骤6:构建第二个C-GAN用来预测综合能源系统中的电负荷、气负荷和热负荷,具体表述为:
步骤6.1:利用C-GAN构建一个隐藏层为n1个全连接层的生成器模型,输入层为扩展样本数据集,输出层输出维数为3的样本集作为预测样本数据集,所述预测样本数据集为电负荷的预测样本数据集、气负荷的预测样本数据集、热负荷的预测样本数据集;
步骤6.2:利用C-GAN构建一个隐藏层为m1个全连接层,且输出层为Softmax分类器的判别器模型,将实际负荷特征数据的历史样本数据集和预测样本数据集共同作为输入,通过Softmax分类器输出的预测判断结果来判断输出的每个样本是实际负荷特征数据的历史样本数据集中的样本还是预测样本数据集中的样本;
步骤6.3:依据判别器输出的预测判断结果,采用小波激活函数调整生成器中的参数,使得生成器生成的预测样本数据集和实际负荷特征数据的历史样本数据集具有相同的分布概型,所述参数包括神经元的权值和偏重、网络层数、神经元个数;
步骤6.4:根据激活函数不断调整生成器和判别器的参数,使得生成器和判别器的博弈达到纳什平衡;
步骤6.5:当C-GAN的生成器与判别器的博弈达到纳什均衡时,利用权值共享并行训练并输出预测样本数据集。
所述的步骤3.1)具体步骤为:
3.1.1)利用深度网络构建第一个自编码器,输入为归一化处理得到的所有样本数据值,所述第一个自编码器的输入节点数为归一化处理得到的样本数据集的维数a,隐藏层节点数为
其中/>
表示向上取整,输出层节点数与隐含层节点数相同;
3.1.2)利用深度网络构建第二个自编码器,输入为第一个自编码器的输出,所述第二个自编码器的输入节点数为
隐含层节点数为/>
输出层节点数与隐含层节点数相同;
3.1.3)利用深度网络构建第l个自编码器,输入为第l-1个自编码器的输出,所述第l-1个自编码器的输入节点数为
隐含层节点数为/>
输出层节点数与隐含层节点数相同,其中l满足l=1,2,3,…,N;
3.1.4)将N个自编码器依次顺序连接构成深度变分自编码网络,第N个自编码器的输出为深度变分自编码网络的输出。
所述的C-GAN中的生成器模型的构建具体步骤为:
S1.1)利用C-GAN构建神经元个数为M1的第一层隐藏层,所有激活函数为任意选取的小波激活函数,所述第一层隐藏层的输入为输入层的输出;
S1.2)利用C-GAN构建神经元个数为M2的第二层隐藏层,所有激活函数为任意选取的小波激活函数,所述第二层隐藏层的输入为第一层隐藏层的输出;
S1.3)利用C-GAN构建神经元个数为Mn的第n层隐藏层,所有激活函数为任意选取的小波激活函数,所述第n层隐藏层的输入为第n-1层隐藏层的输出,第n层隐藏层的输出为输出层的输入,n为生成器中隐藏层的总层数;
所述的C-GAN中的判别器模型的构建具体步骤为:
S2.1)利用C-GAN构建神经元个数为H1的第一层隐藏层,所有激活函数为任意选取的小波激活函数,所述第一层隐藏层的输入为输入层的输出,H1为第一层隐藏层的神经元的个数;
S2.2)利用C-GAN构建神经元个数为H2的第二层隐藏层,所有激活函数为任意选取的小波激活函数,所述第二层隐藏层的输入为第一层隐藏层的输出,H2为第二层隐藏层的神经元的个数;
S2.3)利用C-GAN构建神经元个数为Hm的第m层隐藏层,所有激活函数为任意选取的小波激活函数,所述第m层隐藏层的输入为第m-1层隐藏层的输出,第m层隐藏层的输出为输出层的输入,m为判别器中隐藏层的总层数,Hm为第m层隐藏层的神经元的个数。
进一步地,每层隐藏层后面使用狼群算法防止过拟合,增加收敛速度。
所述权值共享为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集三个样本数据集使用相同的神经元权值和偏重、网络层数、神经元个数,所述步骤6.5中的并行训练的输出为电负荷的预测样本数据集、气负荷的预测样本数据集和热负荷的预测样本数据集。
所述的步骤5.5当C-GAN的生成器与判别器的博弈达到纳什均衡时,利用权值共享并行训练并输出维数为
的样本集作为伪样本数据集,具体表述为:
5.5.1)将真实样本数据集以及与真实样本数据集具有相同分布概型的伪样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1或者达到第一个C-GAN的最大迭代次数t'max终止,并通过生成器输出伪样本数据集,所述第一个C-GAN的预测精度δ1表示为:
式中,
表示伪本数据集中的第i个样本数据,/>
表示真实样本数据集中的第i个样本数据;
5.5.2)当达到第一个C-GAN的最大迭代次数t'max时,且第一个C-GAN的预测精度δ1仍小于第一个C-GAN的给定阈值s1时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1;
5.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第一个C-GAN的最大迭代次数t'max时,第一个C-GAN的预测精度δ1仍然小于第一个C-GAN的给定阈值s1时,通过不断综合调整三方面的变量进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
5.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1,通过C-GAN中的生成器输出与真实样本数据集具有相同分布概型的伪样本数据集。
所述的步骤6.5当C-GAN的生成器与判别器的博弈达到纳什均衡时,利用权值共享并行训练并输出预测样本数据集,具体表述为:
6.5.1)将实际负荷特征数据的历史样本数据集以及与实际负荷特征数据的历史样本数据集具有相同的分布概型的预测样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s或者达到第二个C-GAN的最大迭代次数tmax终止,并通过生成器输出预测样本数据集,所述第二个C-GAN的预测精度δ表示为:
式中,Xi表示预测样本数据集中的第i个样本数据,Xi'表示实际负荷特征数据的历史样本数据集中的第i个样本数据;
6.5.2)当达到第二个C-GAN的最大迭代次数tmax时,且第二个C-GAN的预测精度δ仍小于第二个C-GAN的给定阈值s时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s;
6.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第二个C-GAN的最大迭代次数tmax时,第二个C-GAN的预测精度δ仍然小于第二个C-GAN的给定阈值s时,通过不断综合调整三方面的变量进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
6.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s,通过C-GAN中的生成器输出预测样本数据集。
一种基于C-GAN迁移学习的IES不完备数据负荷预测系统,包括样本获取模块、特征提取模块、并行处理模块I、并行处理模块II和精度判别模块,首先通过样本获取模块采集原始样本数据集中的样本数据,所述原始样本数据集包括综合能源系统的历史样本数据集以及实际负荷特征数据的历史样本数据集,然后将综合能源系统的历史样本数据集输入给特征提取模块进行归一化处理以及自编码处理,得到真实样本数据集,并通过构建出的随机样本数据集生成伪样本数据集,再将真实样本数据集与伪样本数据集共同输入给并行处理模块I,利用权值共享进行并行训练,得到与真实样本数据集具有相同分布概型的伪样本数据集,并对综合能源系统的历史样本数据集中的不完备数据进行扩展得到扩展样本数据集,其次将扩展样本数据集以及与真实样本数据集具有相同分布概型的伪样本数据集共同输入给并行处理模块II,利用权值共享进行并行训练,得到预测样本数据集,最后将真实样本数据集与伪样本数据集,以及预测样本数据集与实际负荷特征数据的历史样本数据集输入给精度判别模块进行预测精度的判断,并根据预测精度是否达到给定阈值不断优化特征提取模块、并行处理模块I和并行处理模块II;
所述样本获取模块用于采集综合能源系统中的原始样本数据集中的样本数据;
所述综合能源系统的历史样本数据集包括四个样本数据集,分别为综合能源系统的温度样本数据集、湿度样本数据集、日期样本数据集和经济样本数据集;
所述实际负荷特征数据的历史样本数据集包括三个样本数据集,分别为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集;
所述特征提取模块用于进行归一化处理以及自编码处理,包括数据归一化单元和深度变分自编码器特征提取单元,所述数据归一化单元用于归一化处理综合能源系统的历史样本数据集中的所有样本数据,得到归一化处理后的样本数据集,所述深度变分自编码器特征提取单元用于提取归一化处理后的样本数据集,用提取出的特征样本数据集作为真实样本数据集来代替综合能源系统的历史样本数据集;
所述并行处理模块I用于根据随机样本数据集,生成与真实样本数据集具有相同分布概型的伪样本数据集,并对不完备数据进行扩展;
所述并行处理模块II用于根据实际负荷特征数据的历史样本数据集和扩展样本数据集,生成预测样本数据集;
所述精度判别模块用于根据真实样本数据集与伪样本数据集,以及预测样本数据集与实际负荷特征数据的历史样本数据集进行预测精度的判断,并根据预测精度是否达到给定阈值不断优化特征提取模块、并行处理模块I和并行处理模块II,包括第一个预测精度判别模块和第二个预测精度判别模块;
所述第一个预测精度判别模块用于根据真实样本数据集以及伪样本数据集进行第一个C-GAN的预测精度判断,并根据第一个C-GAN的预测精度是否达到第一个C-GAN的给定阈值不断优化特征提取模块和并行处理模块I,具体优化过程为:
5.5.1)将真实样本数据集以及与真实样本数据集具有相同分布概型的伪样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1或者达到第一个C-GAN的最大迭代次数t'max终止,并通过生成器输出伪样本数据集,所述第一个C-GAN的预测精度δ1表示为:
式中,
表示伪本数据集中的第i个样本数据,/>
表示真实样本数据集中的第i个样本数据;
5.5.2)当达到第一个C-GAN的最大迭代次数t'max时,且第一个C-GAN的预测精度δ1仍小于第一个C-GAN的给定阈值s1时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1;
5.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第一个C-GAN的最大迭代次数t'max时,第一个C-GAN的预测精度δ1仍然小于第一个C-GAN的给定阈值s1时,通过不断综合调整三方面的变量进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
5.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1,通过C-GAN中的生成器输出与真实样本数据集具有相同分布概型的伪样本数据集;
所述第二个预测精度判别模块用于根据预测样本数据集以及实际负荷特征数据的历史样本数据集进行第二个C-GAN的预测精度判断,并根据第二个C-GAN的预测精度是否达到第二个C-GAN的给定阈值不断优化特征提取模块和并行处理模块II,具体优化过程为:
6.5.1)将实际负荷特征数据的历史样本数据集以及与实际负荷特征数据的历史样本数据集具有相同的分布概型的预测样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s或者达到第二个C-GAN的最大迭代次数tmax终止,并通过生成器输出预测样本数据集,所述第二个C-GAN的预测精度δ表示为:
式中,Xi表示预测样本数据集中的第i个样本数据,Xi'表示实际负荷特征数据的历史样本数据集中的第i个样本数据;
6.5.2)当达到第二个C-GAN的最大迭代次数tmax时,且第二个C-GAN的预测精度δ仍小于第二个C-GAN的给定阈值s时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s;
6.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第二个C-GAN的最大迭代次数tmax时,第二个C-GAN的预测精度δ仍然小于第二个C-GAN的给定阈值s时,通过不断综合调整三方面的变量进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
6.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s,通过C-GAN中的生成器输出预测样本数据集。
所述并行处理模块I包括网络输入生成单元I和对抗生成网络样本生成单元I、对抗生成网络样本判别单元I以及样本数据扩展单元;
所述网络输入生成单元I用于输入随机样本数据集;
所述对抗生成网络样本生成单元I用于生成与真实样本数据集具有相同分布概型的伪样本数据集;
所述对抗生成网络样本判别单元I用于判别对抗生成网络样本生成单元I输出的样本是真实样本数据集的真实样本数据还是伪样本数据集的伪样本数据;
所述样本数据扩展单元用于根据对抗生成网络样本生成单元I生成的与真实样本数据集具有相同分布概型的伪样本数据集对真实样本数据集中的不完备数据进行扩展,得到扩展样本数据集。
所述并行处理模块II包括网络输入生成单元II和对抗生成网络样本生成单元II、对抗生成网络样本判别单元II;
所述网络输入生成单元II用于输入扩展样本数据集;
所述对抗生成网络样本生成单元II用于预测综合能源系统中的电负荷、气负荷和热负荷,生成预测样本数据集;
所述对抗生成网络样本判别单元II用于判断对抗生成网络样本生成单元II输出的样本是实际负荷特征数据的历史样本数据集的历史样本数据还是预测样本数据集中的预测样本数据。
本发明的有益效果是:
本发明提出了一种条件生成对抗网络(C-GAN)迁移学习算法来解决综合能源系统数据不完备问题的方法以及实现这种方法的预测系统,具体地说首先通过自编码技术对模型进行降维提取预测因素的特征,C-GAN首先利用生成器生成综合能源系统负荷填补不完备数据,提高预测负荷精度,判别器可以有助于缺失不完备数据同时学习更多的局部特征以改善综合能源系统预测精度,本发明方法采用生成对抗网络联合学习和权值共享方法,有效地减少了网络训练所需要的参数,减少了预测所需的时间,与现有技术相比,本发明提高了预测精度,减少了预测时间,同时提高了模型的泛化能力。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明。
如图1所示,基于C-GAN迁移学习的IES不完备数据负荷预测方法,包括以下步骤:
步骤1:采集原始样本数据集,所述原始样本数据集包括综合能源系统的历史样本数据集以及实际负荷特征数据的历史样本数据集,所述综合能源系统的历史样本数据集包括四个样本数据集,分别为综合能源系统的温度样本数据集、湿度样本数据集、日期样本数据集和经济样本数据集,所述实际负荷特征数据的历史样本数据集包括三个样本数据集,分别为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集;
所述经济样本数据集中的样本数据为综合能源系统上市公司的股票价格及股票成交信息,休市时采用收盘信息股票,具体表示为:
S=A·B (4)
式中,S表示经济样本数据值,A表示股票价格,B表示股票成交信息;
步骤2:利用公式(5)给出的数据归一化处理方式,将会导致数据归一化后的数据值在0值附近波动,最终使得得到的MAPE(平均绝对误差)误差接近于无穷大,
因此,为了保证数据稳定性,本发明利用公式(1)归一化处理综合能源系统的历史样本数据集中的所有样本数据,得到归一化处理后的样本数据集:
式中,x表示综合能源系统的历史样本数据集中的每个样本数据值,xmax表示每个样本数据集中绝对值最大的样本数据值,xmin表示每个样本数据集中绝对值最小的样本数据值,xstd表示归一化处理后的样本数据集中的样本数据值;
步骤3:采用深度变分自编码网络提取归一化处理后的样本数据集,用提取出的特征样本数据集作为真实样本数据集来代替综合能源系统的历史样本数据集,具体步骤如下:
3.1)构建自编码器个数为N的深度变分自编码网络,具体表述为:
3.1.1)利用深度网络构建第一个自编码器,输入为归一化处理得到的所有样本数据值,所述第一个自编码器的输入节点数为归一化处理得到的样本数据集的维数a,隐藏层节点数为
其中/>
表示向上取整,输出层节点数与隐含层节点数相同,其中维数a为初步构建深度变分自编码网络时的预设维数值,其调整是通过第一个C-GAN的预测精度以及第二个C-GAN的预测精度进行优化调整;
3.1.2)利用深度网络构建第二个自编码器,输入为第一个自编码器的输出,所述第二个自编码器的输入节点数为
隐含层节点数为/>
输出层节点数与隐含层节点数相同;
3.1.3)利用深度网络构建第l个自编码器,输入为第l-1个自编码器的输出,所述第l-1个自编码器的输入节点数为
隐含层节点数为/>
输出层节点数与隐含层节点数相同,其中l满足l=1,2,3,…,N,N表示深度变分自编码网络中的自编码器的总个数,其调整也是通过第一个C-GAN的预测精度以及第二个C-GAN的预测精度进行优化调整;
3.1.4)将N个自编码器依次顺序连接构成深度变分自编码网络,第N个自编码器的输出为深度变分自编码网络的输出;
3.2)采用梯度下降法训练深度变分自编码网络,进行网络参数的微调,进一步提高深度变分自编码网络的特征提取能力,所述网络参数包括神经元的偏置和权重、网络层数、神经元个数;
3.3)将深度变分自编码网络输出的维数为
的特征样本数据集作为真实样本数据集来代替综合能源系统的历史样本数据集;
步骤4:任意选取个数为
个的随机数构成一个随机样本数据集;
步骤5:构建第一个C-GAN用于扩展样本数据集,具体步骤如下:
步骤5.1:利用C-GAN构建一个隐藏层为n个全连接层的生成器模型,输入层的输入为随机样本数据集,输出层的输出为伪样本数据集;
其中,C-GAN中的生成器模型的构建具体步骤为:
S5.1.1)利用C-GAN构建神经元个数为M1的第一层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第一个C-GAN的预测精度不断优化调整,所述第一层隐藏层的输入为输入层的输出;
S5.1.2)利用C-GAN构建神经元个数为M2的第二层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第一个C-GAN的预测精度不断优化调整,所述第二层隐藏层的输入为第一层隐藏层的输出;
S5.1.3)利用C-GAN构建神经元个数为Mn的第n层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,所述第n层隐藏层的输入为第n-1层隐藏层的输出,第n层隐藏层的输出为输出层的输入,n为生成器中隐藏层的总层数,Mn为第n层隐藏层的神经元的个数;
神经网络的性能好坏对初始化参数中的权值和阀值的依赖性十分明显,因此,采用智能群体算法中的狼群算法对生成器模型的权值进行优化,即在每层隐藏层后面使用狼群算法防止过拟合,增加收敛速度,设狼群中狼的总数为T,待寻优的变量数为D,探狼在第d维空间中的位置更新方式如下:
式中,
表示第i匹狼第p次在第d维空间中的位置,x
id表示第i匹狼在第d维空间中的位置,h表示探狼游走的方向数,/>
表示游走间距;
猛狼在第d维空间中的位置更新方式如下:
式中,k表示狼群的代数,
表示猛狼在第d维空间中的位置,/>
表示第k代狼群中的头狼在第d维空间中的位置;
狼群围攻过程中猛狼的位置更新方式为:
式中,
表示猎物的位置,/>
表示狼群围攻过程中猛狼的位置,λ表示一个取值范围为[-1,1]的随机数;
步骤5.2:利用C-GAN构建一个隐藏层为m个全连接层,且输出层为Softmax分类器的判别器模型,将真实样本数据集与伪样本数据集共同作为输入,通过Softmax分类器输出的预测判断结果来判断输出的每个样本是伪样本数据集中的样本还是真实样本数据集中的样本;
其中,C-GAN中的判别器模型的构建具体步骤为:
S5.2.1)利用C-GAN构建神经元个数为H1的第一层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第一个C-GAN的预测精度不断优化调整,所述第一层隐藏层的输入为输入层的输出;
S5.2.2)利用C-GAN构建神经元个数为H2的第二层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第一个C-GAN的预测精度不断优化调整,所述第二层隐藏层的输入为第一层隐藏层的输出;
S5.2.3)利用C-GAN构建神经元个数为Hm的第m层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,所述第m层隐藏层的输入为第m-1层隐藏层的输出,第m层隐藏层的输出为输出层的输入,m为判别器中隐藏层的总层数;
为了防止过拟合现象,每层隐藏层后面同样使用狼群算法,增加收敛速度;
步骤5.3:依据判别器输出的预测判断结果,采用小波激活函数调整生成器中的参数,使得生成器生成的伪样本数据集与真实样本数据集具有相同的分布概型,所述参数包括神经元的权值和偏重、网络层数、神经元个数;
步骤5.4:根据激活函数不断调整生成器和判别器的参数,使得生成器和判别器的博弈达到纳什平衡,所述参数包括神经元的权值和偏重、网络层数、神经元个数;
步骤5.5:当C-GAN的生成器与判别器的博弈达到纳什均衡时,利用权值共享并行训练并输出维数为
的样本集作为伪样本数据集,所述权值共享为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集三个样本数据集使用相同的神经元权值和偏重、网络层数、神经元个数,具体表述为:
5.5.1)将真实样本数据集以及与真实样本数据集具有相同分布概型的伪样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1或者达到第一个C-GAN的最大迭代次数t'max终止,并通过生成器输出伪样本数据集,所述第一个C-GAN的预测精度δ1表示为:
式中,
表示伪本数据集中的第i个样本数据,/>
表示真实样本数据集中的第i个样本数据;
5.5.2)当达到第一个C-GAN的最大迭代次数t'max时,且第一个C-GAN的预测精度δ1仍小于第一个C-GAN的给定阈值s1时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1;
5.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第一个C-GAN的最大迭代次数t'max时,第一个C-GAN的预测精度δ1仍然小于第一个C-GAN的给定阈值s1时,通过不断综合调整三方面的变量进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
5.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1,通过C-GAN中的生成器输出与真实样本数据集具有相同分布概型的伪样本数据集;
步骤5.6:利用生成器生成的与真实样本数据集具有相同分布概型的伪样本数据集对真实样本数据集中的不完备数据进行扩展,得到扩展样本数据集,本实施例中采用MATLAB编程实现对不完备数据的扩展,具体编程流程图如图2所示;
步骤6:构建第二个C-GAN用来预测综合能源系统中的电负荷、气负荷和热负荷,具体表述为:
步骤6.1:利用C-GAN构建一个隐藏层为n1个全连接层的生成器模型,输入层为扩展样本数据集,输出层输出维数为3的样本集作为预测样本数据集,所述预测样本数据集为电负荷的预测样本数据集、气负荷的预测样本数据集、热负荷的预测样本数据集;
其中,C-GAN中的生成器模型的构建具体步骤为:
S6.1.1)利用C-GAN构建神经元个数为M1'的第一层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第二个C-GAN的预测精度不断优化调整,所述第一层隐藏层的输入为输入层的输出;
S6.1.2)利用C-GAN构建神经元个数为M'2的第二层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第二个C-GAN的预测精度不断优化调整,所述第二层隐藏层的输入为第一层隐藏层的输出;
S6.1.3)利用C-GAN构建神经元个数为
的第n
1层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,所述第n
1层隐藏层的输入为第n
1-1层隐藏层的输出,第n
1层隐藏层的输出为输出层的输入,n
1为生成器中隐藏层的总层数,/>
为第n
1层隐藏层的神经元的个数;
为了防止过拟合现象,每层隐藏层后面同样使用狼群算法,增加收敛速度;
步骤6.2:利用C-GAN构建一个隐藏层为m1个全连接层,且输出层为Softmax分类器的判别器模型,将实际负荷特征数据的历史样本数据集和预测样本数据集共同作为输入,通过Softmax分类器输出的预测判断结果来判断输出的每个样本是实际负荷特征数据的历史样本数据集中的样本还是预测样本数据集中的样本;
其中,C-GAN中的判别器模型的构建具体步骤为:
S6.2.1)利用C-GAN构建神经元个数为H1'的第一层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第一个C-GAN的预测精度不断优化调整所述第一层隐藏层的输入为输入层的输出;
S6.2.2)利用C-GAN构建神经元个数为H'2的第二层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,通过第二个C-GAN的预测精度不断优化调整,所述第二层隐藏层的输入为第一层隐藏层的输出;
S6.2.3)利用C-GAN构建神经元个数为
的第m
1层隐藏层,初步构建时的所有激活函数为任意选取的小波激活函数,所述第m
1层隐藏层的输入为第m
1-1层隐藏层的输出,第m
1层隐藏层的输出为输出层的输入,m
1为判别器中隐藏层的总层数;
为了防止过拟合现象,每层隐藏层后面同样使用狼群算法,增加收敛速度;
步骤6.3:依据判别器输出的预测判断结果,采用小波激活函数调整生成器中的参数,使得生成器生成的预测样本数据集和实际负荷特征数据的历史样本数据集具有相同的分布概型,所述参数包括神经元的权值和偏重、网络层数、神经元个数;
步骤6.4:根据激活函数不断调整生成器和判别器的参数,使得生成器和判别器的博弈达到纳什平衡,所述参数包括神经元的权值和偏重、网络层数、神经元个数;
步骤6.5:当C-GAN的生成器与判别器的博弈达到纳什均衡时,利用权值共享并行训练并输出预测样本数据集,所述权值共享为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集三个样本数据集使用相同的神经元权值和偏重、网络层数、神经元个数,所述并行训练输出的预测样本数据集为电负荷的预测样本数据集、气负荷的预测样本数据集和热负荷的预测样本数据集,具体表述为:
6.5.1)将实际负荷特征数据的历史样本数据集以及与实际负荷特征数据的历史样本数据集具有相同的分布概型的预测样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s或者达到第二个C-GAN的最大迭代次数tmax终止,并通过生成器输出预测样本数据集,所述第二个C-GAN的预测精度δ表示为:
式中,Xi表示预测样本数据集中的第i个样本数据,Xi'表示实际负荷特征数据的历史样本数据集中的第i个样本数据;
6.5.2)当达到第二个C-GAN的最大迭代次数tmax时,且第二个C-GAN的预测精度δ仍小于第二个C-GAN的给定阈值s时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s;
6.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第二个C-GAN的最大迭代次数tmax时,第二个C-GAN的预测精度δ仍然小于第二个C-GAN的给定阈值s时,通过不断综合调整三方面的变量进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
6.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s,通过C-GAN中的生成器输出预测样本数据集。
根据上述一种基于C-GAN迁移学习的IES不完备数据负荷预测方法,本发明还提供一种基于C-GAN迁移学习的IES不完备数据负荷预测系统,该系统可以通过MATLAB,Python,java等软件编写。
如图3所示,本实施例中采用MATLAB编写的基于C-GAN迁移学习的IES不完备数据负荷预测系统包括:样本获取模块、特征提取模块、并行处理模块I、并行处理模块II和精度判别模块,首先通过样本获取模块采集原始样本数据集中的样本数据,所述原始样本数据集包括综合能源系统的历史样本数据集以及实际负荷特征数据的历史样本数据集,然后将综合能源系统的历史样本数据集输入给特征提取模块进行归一化处理以及自编码处理,得到真实样本数据集,并通过构建出的随机样本数据集生成伪样本数据集,再将真实样本数据集与伪样本数据集共同输入给并行处理模块I,利用权值共享进行并行训练,得到与真实样本数据集具有相同分布概型的伪样本数据集,并对综合能源系统的历史样本数据集中的不完备数据进行扩展得到扩展样本数据集,其次将扩展样本数据集以及与真实样本数据集具有相同分布概型的伪样本数据集共同输入给并行处理模块II,利用权值共享进行并行训练,得到预测样本数据集,最后将真实样本数据集与伪样本数据集,以及预测样本数据集与实际负荷特征数据的历史样本数据集输入给精度判别模块进行预测精度的判断,并根据预测精度是否达到给定阈值不断优化特征提取模块、并行处理模块I和并行处理模块II;
所述样本获取模块用于采集综合能源系统中的原始样本数据集中的样本数据;
所述综合能源系统的历史样本数据集包括四个样本数据集,分别为综合能源系统的温度样本数据集、湿度样本数据集、日期样本数据集和经济样本数据集;
所述实际负荷特征数据的历史样本数据集包括三个样本数据集,分别为电负荷样本数据集、气负荷样本数据集和热负荷样本数据集;
所述特征提取模块用于进行归一化处理以及自编码处理,包括数据归一化单元和深度变分自编码器特征提取单元,所述数据归一化单元用于归一化处理综合能源系统的历史样本数据集中的所有样本数据,得到归一化处理后的样本数据集,所述深度变分自编码器特征提取单元用于提取归一化处理后的样本数据集,用提取出的特征样本数据集作为真实样本数据集来代替综合能源系统的历史样本数据集;
所述并行处理模块I用于根据随机样本数据集,生成与真实样本数据集具有相同分布概型的伪样本数据集,并对不完备数据进行扩展,包括网络输入生成单元I和对抗生成网络样本生成单元I、对抗生成网络样本判别单元I以及样本数据扩展单元;
所述网络输入生成单元I用于输入随机样本数据集;
所述对抗生成网络样本生成单元I用于生成与真实样本数据集具有相同分布概型的伪样本数据集;
所述对抗生成网络样本判别单元I用于判别对抗生成网络样本生成单元I输出的样本是真实样本数据集的真实样本数据还是伪样本数据集的伪样本数据;
所述样本数据扩展单元用于根据对抗生成网络样本判别单元I生成的与真实样本数据集具有相同分布概型的伪样本数据集对真实样本数据集中的不完备数据进行扩展,得到扩展样本数据集;
所述并行处理模块II用于根据实际负荷特征数据的历史样本数据集和扩展样本数据集,生成预测样本数据集,包括网络输入生成单元II和对抗生成网络样本生成单元II、对抗生成网络样本判别单元II;
所述网络输入生成单元II用于输入扩展样本数据集;
所述对抗生成网络样本生成单元II用于预测综合能源系统中的电负荷、气负荷和热负荷,生成预测样本数据集;
所述对抗生成网络样本判别单元II用于判断对抗生成网络样本生成单元II输出的样本是实际负荷特征数据的历史样本数据集的历史样本数据还是预测样本数据集中的预测样本数据;
所述精度判别模块用于根据真实样本数据集与伪样本数据集,以及预测样本数据集与实际负荷特征数据的历史样本数据集进行预测精度的判断,并根据预测精度是否达到给定阈值不断优化特征提取模块、并行处理模块I和并行处理模块II,包括第一个预测精度判别模块和第二个预测精度判别模块;
所述第一个预测精度判别模块用于根据真实样本数据集以及伪样本数据集进行第一个C-GAN的预测精度判断,并根据第一个C-GAN的预测精度是否达到第一个C-GAN的给定阈值不断优化特征提取模块和并行处理模块I,具体优化过程为:
5.5.1)将真实样本数据集以及与真实样本数据集具有相同分布概型的伪样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1或者达到第一个C-GAN的最大迭代次数t'max终止,并通过生成器输出伪样本数据集,所述第一个C-GAN的预测精度δ1表示为:
式中,
表示伪本数据集中的第i个样本数据,/>
表示真实样本数据集中的第i个样本数据;
5.5.2)当达到第一个C-GAN的最大迭代次数t'max时,且第一个C-GAN的预测精度δ1仍小于第一个C-GAN的给定阈值s1时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1;
5.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第一个C-GAN的最大迭代次数t'max时,第一个C-GAN的预测精度δ1仍然小于第一个C-GAN的给定阈值s1时,通过不断综合调整三方面的变量进行训练并判断第一个C-GAN的预测精度δ1是否大于等于第一个C-GAN的给定阈值s1,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
5.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第一个C-GAN的预测精度δ1大于等于第一个C-GAN的给定阈值s1,通过C-GAN中的生成器输出与真实样本数据集具有相同分布概型的伪样本数据集;
所述第二个预测精度判别模块用于根据预测样本数据集以及实际负荷特征数据的历史样本数据集进行第二个C-GAN的预测精度判断,并根据第二个C-GAN的预测精度是否达到第二个C-GAN的给定阈值不断优化特征提取模块和并行处理模块II,具体优化过程为:
6.5.1)将实际负荷特征数据的历史样本数据集以及与实际负荷特征数据的历史样本数据集具有相同的分布概型的预测样本数据集共同输入到判别器中,采用梯度下降法训练生成器和判别器的博弈达到纳什平衡时的C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s或者达到第二个C-GAN的最大迭代次数tmax终止,并通过生成器输出预测样本数据集,所述第二个C-GAN的预测精度δ表示为:
式中,Xi表示预测样本数据集中的第i个样本数据,Xi'表示实际负荷特征数据的历史样本数据集中的第i个样本数据;
6.5.2)当达到第二个C-GAN的最大迭代次数tmax时,且第二个C-GAN的预测精度δ仍小于第二个C-GAN的给定阈值s时,增加深度变分自编码网络中的自编码器的个数,重新进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s;
6.5.3)如果增加深度变分自编码网络中的自编码器的个数后,当达到第二个C-GAN的最大迭代次数tmax时,第二个C-GAN的预测精度δ仍然小于第二个C-GAN的给定阈值s时,通过不断综合调整三方面的变量进行训练并判断第二个C-GAN的预测精度δ是否大于等于第二个C-GAN的给定阈值s,所述三方面的变量包括:⑴改变生成器或者判别器的每个隐藏层中的神经元的个数,⑵增加生成器或者判别器的隐藏层的层数,⑶改变生成器或者判别器中的激活函数;
6.5.4)依次通过增加深度变分自编码网络中的自编码器的个数以及综合调整三方面的变量进行优化C-GAN,直到第二个C-GAN的预测精度δ大于等于第二个C-GAN的给定阈值s,通过C-GAN中的生成器输出预测样本数据集。