技术领域
本发明属于CPU负载预测的技术领域,具体涉及一种基于去噪和误差修正的云服务器CPU负载预测方法、系统和介质。
背景技术
近年来,云计算技术及其应用的迅速发展造成数据中心产业用户规模的不断增加和企业级应用的持续升级,云数据中心的规模大幅度扩大,随之而来的资源利用率及能耗问题也越来越受到重视。数据中心的节能是当前维持企业良好收益,打破发展瓶颈的重要法宝。CPU是最重要的能耗部件,CPU利用率是影响服务器功耗的最重要因素,研究和掌握数据中心服务器CPU负载规律对实现数据中心服务器调配节能有很大的参考意义,根据历史CPU负载数据实现对未来时间段的CPU负载预测是其中一项重要研究。
在对CPU负载的预测中,很多研究者往往过于重视算法和模型的设计而忽略了对数据的预处理。在实际的应用中,获取到的数据常常混杂着噪声,带有噪声的数据会严重影响预测结果的准确性,所以将数据去噪处理有很大的意义。大多数的去噪方法只能适用于线性平稳的时间序列数据。小波分析法虽然能够解决这一问题,但它的基函数是固定的,应用时依赖于主观经验,具有较大的局限性。Huang等人提出一种适用于处理非线性非平稳信号的时频分析方法经验模态分解方法(Empirical Mode Decomposition,EMD),EMD是一种自适应的信号处理方法,它能将复杂的信号分解为一系列的本征模态分量,各个分量从高频到低频也具有不同的物理意义。但是当时间序列存在跳跃或中断时,对信号进行EMD分解容易出现模态混叠的现象,影响分解效果。为了解决这一问题,Wu等人提出了集合经验模态分解方法(Ensemble Empirical Mode Decomposition,EEMD),该方法以噪声作为辅助,将白噪声添加到原始信号中用以消除模态混叠现象,最后经过多次计算中和添加噪声带来的影响。这一做法随之带来的问题就是若计算的次数太多,则工作量会很庞大;而计算次数过少则会导致该方法中添加的白噪声不能被完全中和。在此基础之上,Torres等人提出更为有效的自适应白噪声的完整集成经验模态分解方法(Complete Ensemble Empirical ModeDecomposition with Adaptive Noise,CEEMDAN),这种方法会在每一个分解阶段中加入自适应的白噪声,这种做法能够计算得到每一阶的本征模态分量和唯一的残余分量。基于上述研究,Zhou等人在针对原油价格的预测工作中利用CEEMDAN将非平稳和非线性的原油价格序列分解成若干本征模态分量并利用XGBOOST分别对各本征模态分量和余量进行预测,将各本征模态分量相应的预测结果与残差汇总为最终的预测结果。实验结果证明其模型性能优于现存的一部分预测模型。为了提高风速预测精度,Zhang等人将CEEMDAN和花粉授粉算法相结合,提出了一种用于短期风速预测的新组合模型。实验证明所提出的组合模型能够比单一的模型有更好的预测效果。他们的做法大多都是通过针对分解得到的各个本征模态分量进行预测,最后将预测的多个本征模态分量重组。
在实际的应用中,由于各种各样的不确定因素的影响,预测得到的结果往往会存在一定的偏差。为了解决这一类的问题,就需要对存在的误差进行修正。Granger等人给出了误差修正模型的时间序列分析,通过数学组合模型获取各个变量的时间序列特性,再结合经济学理论中的均衡理论实现误差修正。但这种方法的实施依赖于自然规律和经验的认识,并不具有普遍的适应性。Tang等人针对风速预测问题,提出了一种综合预测算法,在得到预测结果后通过基于SVM的建模的最小二乘法支持向量机(LSSVM)对预测结果进行修正,其实验结果表明预测算法误差不超过7%,预测精度优于现存算法。传统的神经网络算法可能会对股票市场做出错误的预测,Pang等人提出一种基于LSTM创新的神经网络方法,利用嵌入层的深度长短期记忆神经网络和带有自动编码器的长短期记忆神经网络来预测股票市场,表明了LSTM在大数据量预测时具有优势。现存的方法除了通过经验认识修正存在的误差,多数都通过对残差项的预测来弥补误差的存在,以达到提高预测准确度的目的。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于去噪和误差修正的云服务器CPU负载预测方法、系统和介质,通过利用CEEMDAN对序列进行分解,计算各个分解序列和原序列之间的曲线曲率相似度,相似度高低来区分有效序列与噪声序列以滤除噪声;最后利用历史误差数据实现对误差值的预测以达到修正误差的目的;从而有效地提高预测的准确率。
为了达到上述目的,本发明采用以下技术方案:
本发明一方面提出了一种基于去噪和误差修正的云服务器CPU负载预测方法,包括下述步骤:
利用自适应白噪声的完整经验模态分解方法对序列进行分解得到各个分解序列;
计算各个分解序列和原序列之间的曲线曲率相似度;
根据相似度高低来区分有效序列与噪声序列,滤除噪声序列并重新拟合得到新的滤噪后序列;
利用历史误差数据实现对误差值的预测完成修正误差。
优选的,所述利用自适应白噪声的完整经验模态分解方法对序列进行分解得到各个分解序列,具体为:
求解第一阶的IMF分量IMF
求解第二阶的IMF分量IMF
以同样方法求解可得到所有的本征模态分量IMF
优选的,所述
针对y
同样,找出所有的极小值点,并将所有的极小值点通过三次样条插值函数拟合形成数据的下包络线,上包络线和下包络线的均值记作m1(t),将原数据序列y
重复进行上述处理过程k次,直到h1(t)符合IMF的定义要求,所得到的均值趋于零为止,这样就得到了第1个IMF分量
优选的,所述计算各个分解序列和原序列之间的曲线曲率相似度,具体为:
对于密集的离散点,离散点的曲率计算中使用的一阶导数和二阶导数可近似地用相邻的点表示,假设有函数y=f(a
结合
根据弗雷歇距离公式,最终的离散弗雷歇距离表示为以下公式,
其中Y,IMF和分别表示原信号轨迹、本征模态分量轨迹,假设Y,IMF由n个轨迹点组成,将Y,IMF有序地表示为α(Y)=(u
优选的,所述根据相似度高低来区分有效序列与噪声序列,滤除噪声序列并重新拟合得到新的滤噪后序列,具体为:
求得原信号曲率和各本征模态分量曲率离散弗雷歇距离后,取最小值所对应的本征模态分量的序号为k值,最终可以重构得去噪后的信号为
优选的,所述利用历史误差数据实现对误差值的预测完成修正误差,具体计算方法为:
v
其中,v
本发明另一方面还提出了一种基于去噪和误差修正的云服务器CPU负载预测系统,应用于所述的基于去噪和误差修正的云服务器CPU负载预测方法,包括分解模块、相似度计算模块、去噪模块以及预测模块;
所述分解模块,用于利用自适应白噪声的完整经验模态分解方法对序列进行分解得到各个分解序列;
所述相似度计算模块,用于计算各个分解序列和原序列之间的曲线曲率相似度;
去噪模块,用于根据相似度高低来区分有效序列与噪声序列,滤除噪声序列并重新拟合得到新的滤噪后序列;
所述预测模块,用于利用历史误差数据实现对误差值的预测完成修正误差。
本发明的又一方面还提出了一种存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于去噪和误差修正的云服务器CPU负载预测方法。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明区别于已有的统计模型、平滑处理等方法,利用CEEMDAN分解原始序列为子序列,计算子序列与原始序列的曲率相似度,根据相似度高低来区分有效序列与噪声序列,对数据去噪有很好的效果。
(2)传统的误差修正方法非常依赖经验认识。本发明通过历史误差数据实现对误差值的预测,不依赖于人的主观经验判断,消除了人为因素的影响,具有较强的自适应性。
附图说明
图1为本发明基于去噪和误差修正的云服务器CPU负载预测方法的流程图;
图2为利用CEEMDAN对各个IMF分量的分解重构流程图;
图3为使用RIDGE模型的误差修正流程图;
图4为基于去噪和RIDGE误差修正的云服务器CPU负载预测方法的LSTM模型完整流程图;
图5是本部发明基于去噪和误差修正的云服务器CPU负载预测系统的结构示意图;
图6是本发明存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例
本实施例基于去噪和误差修正的云服务器CPU负载预测方法,主要步骤如下:对机器平均CPU利用率时间序列进行分解和重构,再分别使用两个预测模型同步预测得到机器平均CPU利用率的预测值和残差项,二者加和从而修正误差。按照序列分解、重构、预测、修正的顺序实现各个步骤,将这几个部分工作前后相结合可以得到完整的预测方法,实现一个预测模型。
如图1所示,本实施例基于去噪和误差修正的云服务器CPU负载预测方法,具体包括下述步骤:
S1.利用自适应白噪声的完整经验模态分解方法对序列进行分解得到各个分解序列;
如图2所示,上述步骤S1具体包括下述步骤:
S101.求解第一阶的IMF分量IMF
S102.求解第二阶的IMF分量IMF
S103.依照第S102以同样方法求解可得到所有的本征模态分量IMF
S2.计算各个分解序列和原序列之间的曲线曲率相似度;
上述步骤S2具体为:
S201.对于密集的离散点,离散点的曲率计算中使用的一阶导数和二阶导数可近似地用相邻的点表示。假设有函数y=f(a
S202.结合S101两公式根据曲率公式求得各离散点曲率:
S203.根据弗雷歇距离公式,最终的离散弗雷歇距离可以表示为以下公式
其中Y,IMF和分别表示原信号轨迹、本征模态分量轨迹。假设Y,IMF由n个轨迹点组成,可将Y,IMF有序地表示为α(Y)=(u
S3.根据相似度高低来区分有效序列与噪声序列,滤除噪声序列并重新拟合得到新的滤噪后序列;具体包含以下步骤:
求得原信号曲率和各本征模态分量曲率离散弗雷歇距离后,取最小值所对应的本征模态分量的序号为k值,最终可以重构得去噪后的信号为
S4.利用历史误差数据实现对误差值的预测完成修正误差。
如图3所示,步骤4中,
所述的修正误差,具体计算方式如下:
v
其中,v
更进一步的,将本发明的方法应用到实际的模型中,根据样本数据量大,时序相关的特性,在方法的预测主体部分决定采用LSTM神经网络,而误差预测则使用RIDGE模型,模型整体流程如图4所示,可分为前处理过程、预测过程、后处理过程三个部分。
1.在预处理过程中,使用CEEMDAN将输入的机器平均CPU利用率序列分解为多个本征模态分量;接着计算出每个本征模态分量曲率与原序列曲率的弗雷歇距离,筛选出有效的本征模态分量累加后得到去噪后的机器平均CPU利用率序列。
2.预处理后得到的序列可分两步进行后续的预测,其一是针对机器平均CPU利用率的初步预测,这一步通过使用LSTM神经网络完成;
3.其二是输入历史数据使用RIDGE预测得到历史平均CPU利用率预测序列,再将其与真实值差值作为特征输入预测得到平均CPU利用率的误差预测值。误差修正可以利用历史误差数据作为特征之一完成对误差值的预测,它能够对初步预测值进行修正。为了降低整个模型的时间复杂度,使得主体预测部分和后处理预测部分能够同步进行,所以在后处理预测部分不使用较为复杂的神经网络算法而使用回归方法进行预测。为了获得合适的模型,需要在模型对数据的拟合程度和模型复杂度之间权衡。将上面提到的初步预测结果和误差预测结果相加得到最终的预测结果。
如图5所示,本发明的另一个实施例中,还提供了一种基于去噪和误差修正的云服务器CPU负载预测系统,包括分解模块、相似度计算模块、去噪模块以及预测模块;
所述分解模块,用于利用自适应白噪声的完整经验模态分解方法对序列进行分解得到各个分解序列;
所述相似度计算模块,用于计算各个分解序列和原序列之间的曲线曲率相似度;
去噪模块,用于根据相似度高低来区分有效序列与噪声序列,滤除噪声序列并重新拟合得到新的滤噪后序列;
所述预测模块,用于利用历史误差数据实现对误差值的预测完成修正误差。
如图6所示,本发明的另一个实施例中,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现基于去噪和误差修正的云服务器CPU负载预测方法,具体为:
利用自适应白噪声的完整经验模态分解方法对序列进行分解得到各个分解序列;
计算各个分解序列和原序列之间的曲线曲率相似度;
根据相似度高低来区分有效序列与噪声序列,滤除噪声序列并重新拟合得到新的滤噪后序列;
利用历史误差数据实现对误差值的预测完成修正误差。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
机译: 具有R / D转换器和旋转变压器的CPU,该R / D转换器执行R / D转换器的检测角误差的修正方式,而旋转变压器执行旋转变压器的检测角误差的修正方式。
机译: CPU负载率的测定方法及CPU负载率的预测方法
机译: 印刷介质输送误差修正装置及印刷介质输送误差修正装置