首页> 中国专利> 一种基于降噪算法的改进Elman神经网络的预测方法

一种基于降噪算法的改进Elman神经网络的预测方法

摘要

本发明公开的一种基于降噪算法的改进Elman神经网络的预测方法。该预测方法包括:S1、将原始数据按比例划分为训练集、测试集以及验证集;S2、对原始数据采用降噪算法CPW进行降噪,降噪算法CPW通过将原始数据中的不同维度的数据使用CEEMDAN进行分解后结合排列熵使用小波变换对分解出来的IMF进行降噪,然后将经过了降噪处理的序列重构为降噪后的时间序列;S3、构建结合了注意力机制的EAMC神经网络;S4、将降噪后训练集的数据放入神经网络中进行训练,待损失值小于给定的阈值以后,保存训练好的神经网络,结束训练;S5、将待测样本输入经过训练后得到的神经网络中,获得预测结果,可以提高预测的精度。

著录项

  • 公开/公告号CN112988548A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN202110439155.5

  • 发明设计人 刘发贵;张永德;

    申请日2021-04-23

  • 分类号G06F11/34(20060101);G06N3/04(20060101);G06N3/08(20060101);G06F17/14(20060101);

  • 代理机构44102 广州粤高专利商标代理有限公司;

  • 代理人何淑珍;江裕强

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明属于计算机神经网络应用技术领域,具体涉及一种基于降噪算法的改进Elman神经网络的预测方法。

背景技术

近年来,在国家大力号召“互联网+”的发展模式和5G逐渐商业普及的背景下,越来越多的存储和服务都部署在云端。这就使得云数据中心的负荷会越来越大。数据中心要完成巨大的计算和存储服务,就需要耗费大量的电力资源。传统的任务调度算法对能耗的感知较弱。如果可以提前得到将来时刻的物理机的资源使用情况,调度算法就可以基于预测的情况提前进行调度决策。从而提高了任务调度的效果和减少了做出调度决策所需要的时间。结合资源使用情况的预测,可以将任务从高负荷的机器分配到低负荷的机器上,也可以将低负载的机器关机以减少待机所耗电力。这样可以提高数据中心的电力使用效率。

目前在对信号进行降噪上比较流行的方法有傅里叶变换、小波变换、奇异谱分析以及经验模态分解(Empirical Mode Decomposition, EMD)等方法。而集合经验模态分解(Ensemble Empirical Mode Decomposition,EEMD)和基于自适应白噪声的完全经验模态分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise ,CEEMDAN)是EMD的改进方法。使用EMD以及其改进方法,可以将一个信号分解成多个信号,然后针对里面噪声成分多的信号进行噪声的去除。最后将经过处理以后的噪声通过加和重构出降噪以后的信号(Cao J, Li Z, Li J. Financial time series forecasting modelbased on CEEMDAN and LSTM[J]. Physica A: Statistical Mechanics and itsApplications, 2019, 519: 127-139.)。然而,傅里叶变换只能得知一段信号总体上包含哪些频率的成分,对非平稳的时间序列信号的处理有明显的缺陷。此外,单独使用上述的降噪算法对信号进行降噪,容易出现对阈值和重组成分的选择问题,进而导致对原始的时间序列的降噪不充分或者平滑过渡导致重要信息丢失。一个合适的降噪算法,能够有效对序列进行平滑,从而使得后续的数据分析能够更好地将注意力集中在数据的本质特征上。

对物理机的资源使用情况进行预测采用的是时间序列预测技术。时间序列预测方法主要有两大类方法:参数方法和非参数方法。(Parmezan A R S, Souza V M A, BatistaG E. Evaluation of statistical and machine learning models for time seriesprediction: Identifying the state-of-the-art and the best conditions for theuse of each model[J]. Information Sciences, 2019, 484: 302-337.)参数方法中有移动平均(Moving Average)、简单指数平均(Simple Exponential Smoothing)、ARIMA(Autoregressive Integrated Moving Average)、霍尔特指数平滑法(Holt’sExponential Smoothing)以及其相关的拓展如霍尔特-温特季节性指数平滑方法(Holt-Winter’s Seasonal Exponential Smoothing)等。但是参数方法有一个比较突出的缺点,就是这个方法对使用这种方法的研究人员有较高的要求。该方法要求研究人员对其研究的业务领域的计算数学比较精通。在非参数方法中,比较突出的就是机器学习方法。与参数方法不同的是,这种预测方法在描述数据属性时并没有预先了解他们的分布。在时间序列预测技术上,RNN是一个被广泛应用的一种带有记忆功能的神经网络结构。其中应用最为广泛的就是LSTM。LSTM可以被用于解决许多场景下的预测问题。(Lin Z, Cheng L, Huang G.Electricity consumption prediction based on LSTM with attention mechanism[J].IEEJ Transactions on Electrical and Electronic Engineering, 2020, 15(4): 556-562.)然而LSTM结构内参数较多,训练所耗费的时间和资源较多。因此,一种LSTM的改进改进结构GRU被提出来了。GRU的参数比LSTM的少,训练耗费的时间和资源也更少,并且可以达到跟LSTM相似的效果。(Niu Z, Yu Z, Tang W, et al. Wind power forecasting usingattention-based gated recurrent unit network[J]. Energy, 2020, 196: 117081.)虽然GRU所耗费的资源和时间比LSTM少,但是其总体的资源的耗费程度依然比较大。ENN是一种比较轻型的网络结构,用于时间序列预测有着不错的效果。而且其训练所耗费的资源和时间比上述的网络结构要少的多(Wang Y, Wang L, Yang F, et al. Advantages ofdirect input-to-output connections in neural networks: The Elman network forstock index forecasting[J]. Information Sciences, 2020, 547: 1066-1079.)。然而,ENN虽然有训练耗费的资源少、训练速度快的特点,但是ENN也是由于其内部参数较少而限制了其对历史信息的特征提取的能力。另外,原始的ENN只有一层神经元作为上下文向量层,这在限制了ENN的长期依赖能力的同时还会限制ENN网络在长时间预测上的精度。

目前的大多数用于时间序列预测的网络中,大多数的网络都是单维度输出的网络。即使它们的输入是多维度的,其输出往往依然是单维度的。但在云计算的场景下,能够对CPU利用率、内存利用率、磁盘I\O利用率等多个维度进行预测对分析云数据中心的能耗以及任务规律是很有意义的。但是结合目前大多数网络的单输出特点,要完成多个资源维度的预测则需要同时训练多个模型。这样训练所耗费的时间和资源就会更多并且在使用的时候也需要占用更多的资源。

发明内容

本发明的目的在于提供一种基于改进ENN和降噪算法的时间序列预测方法,用以解决现有方法对时间序列数据预测单维和耗费资源多的问题的同时提高网络预测的精度。

本发明目的通过至少以下技术方案之一实现。

一种基于降噪算法的改进Elman神经网络的预测方法,包括以下步骤:

S1、获取物理机资源使用情况时间序列作为原始数据,将原始数据按比例划分为训练集、测试集以及验证集,并按照给定的时间窗口和预测步长对训练集、测试集和验证集中的数据进行样本划分;

S2、对原始数据采用降噪算法CPW进行降噪,所述降噪算法CPW通过将原始数据中的不同维度的数据使用CEEMDAN进行分解后结合排列熵使用小波变换对分解出来的本征模函数IMF进行降噪,然后将经过了降噪处理的序列重构为降噪后的时间序列;

S3、构建结合了注意力机制的改进Elman神经网络;

S4、将所述训练集中经过降噪算法CPW降噪后的数据放入EAMC神经网络中进行训练,待损失值小于给定的阈值以后,保存训练好的EAMC神经网络,结束训练;

S5、将待测样本输入经过训练后得到的EAMC神经网络中,获得预测结果。

进一步地,在训练集中,将训练数据按照训练的时间窗口以及预测步长来划分训练的样本。

进一步地,步骤S2所述将原始数据中的不同维度的数据使用CEEMDAN进行分解,具体包括:

往原始的时间序列信号X(t)中加入m次等长度的高斯白噪声,得到

使用EMD对每个

重复通过添加自适应高斯白噪声的EMD分解,得到最后的余量和第k+1个IMF分量,所述最后的余量可定义为:

所述第k+1个IMF分量可以表示为:

其中,

进一步地,步骤S2所述排列熵是指对每一个IMF计算其排列熵并根据排列熵对IMF进行排序,所述排列熵的计算公式为:

进一步地,步骤S2所述使用小波变换对分解出来的IMF进行降噪中,所述小波变换的过程如下:

进一步地,步骤S2所述将经过降噪处理的IMF和未经过处理的IMF以及余量R进行重构,得到降噪后的信号中,所述降噪后的信号为:

其中,K为通过CEEMDAN分解出来的IMF的数量;j为该类IMF的序号,为正整数;N为大于给定排列熵阈值的IMF的数量。

进一步地,步骤S2所述对原始数据采用降噪算法CPW进行降噪中,具体是对训练集和验证集进行降噪。测试集中的数据则用于检验网络的性能,不经过降噪处理,可以检验网络在真实环境下的预测能力。

进一步地,步骤S3所述EAMC神经网络包括:

输入层,用于将输入的数据通过线性变换将输入数据转换成维度为n的向量,该层 可描述为:

注意力机制层,用于将当前时刻下的数据和历史数据进行融合,通过调整层内权重来实现对历史信息和对当前输入数据的偏好,该层可以描述为:

隐藏层,用于将历史信息和当前时刻下的数据进行加权融合,该层的描述如下:

其中,

上下文向量层,包括多层感知器,用于学习和提取经过了注意力层的输入数据,该层的描述如下:

其中,

输出层,用于输出预测结果,该层的描述如下:

进一步地,所述隐藏层中的自相加系数

进一步地,步骤S4中对EAMC神经网络中进行训练时,通过教师信号对输出的预测值进行指导。

与现有技术相比,本发明具至少具有以下有益效果:

(1)所提出的基于完全经验模态分解和小波变化结合的降噪算法比传统的降噪算法的效果更好,平滑效果更佳,在保留了原始序列的信息的同时对序列中的毛糙点进行有效的平滑,从而使得后续的数据分析能够更好地将注意力集中在数据的本质特征上。

(2)提供了一种拥有更高精度、更有鲁棒性、泛化能力更好、可以提供更多维度预测且适用于云数据中心资源预测的EAMC神经网络,能够对数据中心的物理机的历史使用数据的特征进行学习并提前多步进行预测。此外,该方法也能运用于解决需要多维度多步预测结果的问题,训练所耗费的时间和资源较现有技术的低。

(3)所提出的结合多层感知器的EAMC神经网络,其采用多层感知器对数据进行提取,并通过其内部特征将历史信息记录,结合注意力机制使得在历史信息和当前时刻数据上可以调整其偏好性,从而调整模型对当前时刻的注意力大小,并得到了对时间长期依赖性更强,记忆能力更优的EAMC神经网络。

附图说明

图1为本发明方法的流程示意图。

图2为本发明方法的具体实施例中的对数据的训练集、验证集和测试集的数据划分方法示意图。其中,验证集和测试集的数据划分方法与图中训练集的数据划分方法一致。

图3为本发明方法的具体实施例中的对数据的降噪处理的方法示意图。图中的 CEEMDAN为基于自适应白噪声的完全经验模式分解算法。图中的

图4为本发明方法的具体实施例中的结合多层感知器的循环预测模型的方法示意 图。图中,

图5为本发明方法的具体实施例中的训练过程中的训练方式方法示意图。

图6为本发明方法的具体实施例中的测试和使用过程中的预测方法示意图。图中的“网络”为本发明中的EAMC神经网络。

具体实施方式

为了使本发明的技术方案及优点更加清楚明白,以下结合附图,对本发明做进一步说明,但本发明的实施和保护不限于此。

实施例:

本实施例提供的一种基于降噪算法的改进Elman神经网络的预测方法,如图所示,包括以下步骤:

S1、获取物理机资源使用情况时间序列作为原始数据,将原始数据按比例划分为训练集、测试集以及验证集,并按照给定的时间窗口和预测步长对训练集、测试集和验证集中的数据进行样本划分。

如图2所示,对训练数据按照训练的形式组织划分,将原始时间序列数据切分为训练集、验证集和测试集。在划分的时候,一般采取8:1:1的比例将数据分为训练集、验证集和测试集。在切分训练集的时候,提取原数据起点的80%的数据,剩下的数据中10%为验证集的数据,而最后10%的数据为测试集的数据。

本实施例中,将训练集中的数据按照训练的时间窗口大小以及预测步长来划分训练样本。由于需要对历史时刻进行分析并对将来的多个步长进行预测,所以需要将训练集中的数据按照一定的时间窗口和对应的预测步长来划分多个训练样本以适应神经网络的学习。验证集和测试集的样本划分方式和训练集中的一致。验证集用于调整网络中的权重,测试集用于评估EAMC神经网络的性能。

本实施例中,最后10%的数据不进行降噪处理,直接使用原本采集到的数据对模型进行性能的评价和测试,可以使得模型的测试性能更加偏向于真实环境下的性能,提高测试的精确度。

S2、对原始数据采用降噪算法CPW进行降噪,降噪算法CPW是一种基于自适应白噪声的完全经验模态分解(CEEMDAN)、排列熵(Permutation Entropy,PE)和小波变换(Wavelet Transform,WT)的组合降噪算法,包括分解阶段、排列阶段以及平滑阶段,在分解阶段下,将原始的时间序列信号通过CEEMDAN算法对原始的时间序列进行分解,分解的结果是余量R以及多个由原始时间序列分解得到的本征模函数IMF;在分解完毕以后,进入排列阶段,对分解出来的每个IMF计算其排列熵pe,并且将IMF按照计算出来的排列熵进行排序并保留每一个IMF的排列熵计算结果;然后进入平滑阶段,对给定的排列熵阈值th,对每一个pe值超过给定阈值th的IMF,使用小波变化进行平滑,对pe小于给定阈值th的IMF不做任何处理。最后将处理过后的IMF、未处理过的IMF以及余量R进行加和重构出降噪后的信号数据。本步骤中,只对训练集和验证集中的原始数据进行降噪。

请参阅图1和图3,CPW可以对云数据中心采集到的性能数据进行平滑降噪处理,从而更能显露出数据的内在本质特征,具体包括如下步骤:

S2.1、采用基于自适应白噪声的完全经验模式分解算法对原始信号进行分解。

本步骤中,往原始的时间序列信号X(t)中加入m次等长度的高斯白噪声W(t)~N(0, 1)。得到

在公式(1)中,

当k=1时,第一个分量的余量

重复上述两个步骤,直到余量不可分解。最后的余量可以定义为:

经过分解以后,原本的时间序列X(t)便可表示为多个IMF和一个余量R的集合,即X (t)={

S2.2、排列熵(PE)计算:在将原始信号使用CEEMDAN分解以后,可以将分解出来的 每一个

S2.2.1、设

S2.2.2、对

其中,j=1,2,…,M,M=N-(edim-1)L。j是用于公式中的过渡变量,而M是对IMF进行相空间重构的矩阵行的数量。

S2.2.3、然后对每个IMF(j)内部进行递增排序,也就是

S2.2.4、假设重构矩阵中的重构分量一共得到S(S

S2.2.5、根据上述过程计算每个IMF的排列熵。原时间序列

S2.3、使用小波变换对处理后的序列进行降噪:将通过CEEMDAN分解得到的多个 IMF按照排列熵的值进行排序后得到的序列使用小波变换降噪。对混杂噪声成分最多的k个 (k为自定义数目,为正整数)子序列进行降噪,假设给定的阈值为th,将排列熵的值大于给 定阈值th的IMF用小波变换进行处理。对于需要处理的

其中a为尺度;

S2.4、将经过降噪处理的IMF和未经过处理的IMF以及余量R进行加法重构,得到降噪后的信号。

本步骤中,加法重构后得到的降噪后的信号为:

其中,N为排列熵大于阈值的IMF的数量,K为原始时间序列分解出来的IMF的数量,j为该类IMF的下标序号,为正整数。最终的余量的表达式为公式5所示。

S3、构建结合了注意力机制的改进Elman神经网络,即EAMC神经网络。

本实施例中的结合注意力机制的EAMC神经网络如图4所示,设定网络中的多层感知器是一个含有H层神经元的多层感知器,数据在EAMC神经网络中的计算步骤如下:

S3.1、输入层:输入层将输入的数据通过线性变换将输入数据转换成维度为n的向量。该层可以描述为:

S3.2、注意力机制层:注意力机制层是将当前时刻下的数据和历史数据进行融合的一个层。该层可以通过调整层内权重来实现对历史信息和对当前输入数据的偏好。该层可以描述为:

其中,

S3.3、隐藏层:该层的功能是通过将历史信息和当前时刻下的数据的一个融合。通过该层的加权融合,增强了模型对当前时刻的拟合效果,对提升了对数据驼峰点的拟合效果。该层的描述如下:

其中,

S3.4、上下文向量层:上下文向量层主要学习和提取经过了注意力机制层的输入数据。该层由多层感知器来构成,假设该多层感知器是一个有H层神经元组成的,该层的主要过程如下:

其中,

S3.5、输出层:该层的功能是将网络学习到的特征输出并预测,通过输出层将网络的预测结果输出。

式中,

S4、请参阅图5,将S1中经过样本划分的训练集中的数据放入构建后的EAMC神经网络中进行训练,待损失值小于给定的阈值以后,保存训练好的EAMC神经网络,结束训练。

本步骤中,需要设定网络中输入层、输出层、隐藏层的神经元数量,然后对上下文向量层中的层数以及神经元数据进行设定。其中,输入层的神经元数量为输入数据的特征维度;输出层的神经元数量为输出数据的特征维度。

本实施例中,按照网络在训练或者在预测分成两种模式。该两种模式分别如图的图5和图6所示。其中,在初始时刻下没有状态的时候,采用随机产生的状态作为网络的初始输入。

在训练阶段,采取图5中具有教师信号的训练方式。通过教师信号对输出的预测值进行指导,该训练方式具体表现为:假设训练时对训练集的样本切分的历史数据的时间窗口大小为20,预测步长为3步,则将训练集历史数据输入网络中进行训练后,输入训练集中预测数据中的第一个值(t时刻)并进行误差计算和调整网络权重;然后再使用训练集中的第二个值(t+1时刻)对上一个时刻的状态的预测结果进行误差计算和调整网络权重;最后再输入第三个值(t+2时刻)对来自t+1时刻的状态的预测结果进行误差计算和调整网络权重,并结束对该样本的训练。当训练预测步长发生变化的时候,按照预测步数的变化进行计算步骤的增加或减少。

S5、将待测样本输入经过训练后得到的EAMC神经网络中,获得预测结果。

在测试阶段,采取图6中的循环预测方法。循环预测方法中的用于传递的状态则是 由EAMC神经网络输出的状态。由于在真实环境下是无法获取未来真实的预测值的,该方法 更加偏向于真实环境下的使用,可结合生产环境中,直接提供多步预测。循环预测方法的具 体表现为:假设预测步长为3步,EAMC神经网络接收来自上一时刻的状态,对该时刻状态进 行预测,得到当前时刻(t时刻)的预测值(

上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号