一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于EGGM模型预测云服务器软件老化的方法与流程

2021-12-15 01:02:00 来源:中国专利 TAG:

基于eggm模型预测云服务器软件老化的方法
技术领域
1.本发明属于时间序列预测技术领域,涉及基于eggm模型预测云服务器软件老化的方法。


背景技术:

2.随着互联网的高速发展,很多中小型互联网服务商,如网络游戏公司、互联网商业公司和金融证券公司等,由于没有足够的技术实力或为节省资金和方便服务器运维,通常都会采取云服务器的解决方案,这使得云计算技术和云服务器商业蓬勃发展。云服务器的主要特点是长期运行、高扩展性和频繁的资源交换。随着云服务器软件复杂性和并发量的快速提高,云服务器所承受的服务压力越来越大。云服务器在长期高负载运行过程中,随着故障和资源消耗累积,云服务器的性能就会缓慢下降,故障率也会增加,严重的甚至导致云服务器崩溃,造成服务中断,这种现象称为“软件老化”。
3.在对云服务器进行软件老化预测过程中,最重要的就是计算云服务器的软件老化阈值,软件老化阈值为在线维护提供了重要的理论依据。虽然通常情况下,云服务器的性能指标数据具有一定的周期特性,但当节假日时,运行在云服务器上的互联网产品在用户数量访问增加时,云服务器性能指标数据又出现了一定的高负载、随机性和非周期成分,这为短期预测带来了难度。
4.目前云服务器老化的预测技术主要分为三类。第一类是基于传统数学统计模型的预测方法,如多元线性回归、时间序列法等。多元线性回归模型简单,针对频率较低的数据,预测精度高且预测速度快,但对于复杂非线性数据或高频率数据,多元线性回归难以获得较高的预测精度。时间序列法对于平稳性较高、周期性强的数据能够做出精确的预测,但是当数据出现非周期性特征和非平稳特征的时候,时间序列法难以获得有效的预测结果。第二类是基于机器学习的预测方法,如循环神经网络(recurrent neural network,rnn)、门控循环单元(gated recurrent unit,gru)、支持向量机(support vector machine,svm)等。机器学习方法中,神经网络以其强大的多元映射能力,在非线性系统预测中广泛使用并取得了较高的预测精度。rnn神经网络通过将上一时刻的神经元状态值输入当前神经元,实现了时间序列数据的特征挖掘。gru神经网络在rnn神经网络的基础之上,通过添加门结构控制之前时刻的影响程度,解决了rnn的梯度爆炸和消失的缺陷,使得gru神经网络能够比rnn更好的处理和挖掘时间序列。支持向量机是建立在结构风险最小化原则以及维数概念上的一种小样本统计学习理论,它避免了人工神经网络等方法的网络结构选择、过学习、欠学习以及局部极小等问题,但对于波动峰值的预测结果不是很理想。虽然机器学习算法相比传统算法有诸多优点,但其预测结果在很大程度上取决于数据的质量和数量。高质量、海量的数据往往能更容易获得准确的预测结果。对于维度较高、数据量少的时间序列数据,由于噪音和局部特征之间的影响,机器学习算法难以从数据中找出有效规则建立准确的预测模型。此外,机器学习算法普遍存在超参数确定难、资源消耗大和计算速度慢的缺点。由于云服务器软件老化的资源和性能数据具有非线性、随机分布、周期性等特点,从而导致上述
两种方法预测精度不高,尤其是在软件老化数据波动剧烈的区间里面,这些模型的预测精度会更低。第三类是使用组合模型的预测方法,首先对时间序列数据进行特征分解,通常使用小波变换(wavelet transform,wt)、经验模态分解(empirical mode decomposition,emd)、集合经验模态分解等,然后使用传统数学统计模型方法或机器学习方法对分解数据进行预测,再进行重构得到最终预测值。小波变换在处理非平稳序列时,不同的基函数和阶数具有不同的效果,这使得方法具有一定的先验性,增加了预测模型在实际使用中的复杂程度。emd非常适合处理非线性、不平稳的时间序列数据,其本质上是对时间序列数据的平稳化处理,将复杂时间序列数据分解为有限个频率由高到低的本征模态函数(intrinsic mode functions,imf)的线性组合,分解出来的各imf分量包含了原始数据在不同时间尺度上的局部特征信号,因此通过对时间序列数据进行emd分解,可以实现对局部特征的单独预测,达到互不干扰的效果,降低预测难度。但emd分解出来的数据存在部分模态混叠现象,对预测效果会有一定影响。为了更好地解决模态混叠问题,出现了改进的集合经验模态分解方法(ensemble empirical mode decomposition,eemd)方法。eemd方法通过添加白噪声对时间序列数据进行辅助处理,利用白噪声频谱的均匀分布特点,当数据加在遍布整个时频空间分布一致的白噪声背景上时,不同时间尺度的数据会自动分布到合适的参考尺度上,并且由于零均值噪声的特性,经过多次平均后,噪声会相互抵消,集成均值的结果就可作为最终结果,eemd方法通过显著减少模态混叠现象而达到明显改善emd方法分解效果的目的。本发明将云服务器性能指标数据通过eemd方法分解为频率不同的若干个imf分量及余波(residual)分量,每一个imf分量代表某一种时间尺度上的局部特征,在充分挖掘时间序列数据所包含信息的同时,又避免了局部特征之间的相互干扰。随后采用遗传算法(genetic algorithm,ga)优化gru超参数后的ga

gru模型和多元线性回归(multiple linear regression,mlr)模型分别对高低频率的imf分量及residual分量进行多步迭代预测,将所得结果重构还原,得到最终预测值。本发明通过搭建云服务器平台,采集云服务器性能指标数据,在数据包含噪音的情况下,取得了较好的预测效果,能够更好地拟合云服务器性能指标数据的变化趋势。


技术实现要素:

5.本发明的目的是提供基于eggm模型预测云服务器软件老化的方法,解决了传统的机器学习预测方法(如svm、gru等)、基于传统数学统计模型的预测方法(如mlr、时间序列法等)以及传统的时间序列分解方法(如emd分解、小波分解等)在对云服务器软件老化预测时,由于云服务器性能指标数据存在随机性和非周期成分,预测精度过低的问题。
6.本发明所采用的技术方案是,基于eggm模型预测云服务器软件老化的方法,具体包括以下步骤:
7.步骤1,提取云服务器性能指标序列数据;
8.步骤2,将步骤1提取到的云服务器性能指标数据进行eemd分解,得到频率由高到低的多个imf分量和一个residual分量;
9.步骤3,将经步骤2得到的高频imf分量、低频imf分量和residual分量进行归一化处理,将数据序列映射到[0,1]区间;
[0010]
步骤4,用经步骤3归一化后的高频imf分量构建gru模型,并获得gru模型对步骤3
所得数据的预测结果;
[0011]
步骤5,将经步骤4得到的gru模型通过ga进行超参数优化,得到ga

gru模型;
[0012]
步骤6,通过步骤5得到的ga

gru模型预测高频imf分量,得到ga

gru模型预测结果;
[0013]
步骤7,通过mlr模型预测经步骤4得到的低频imf分量和residual分量,得到mlr模型预测结果;
[0014]
步骤8,将步骤6得到的ga

gru模型预测结果和步骤7得到的mlr模型预测结果重构后得到最终预测结果;
[0015]
步骤9,将步骤8得到的最终预测结果和真实数据对比。
[0016]
本发明的特点还在于:
[0017]
其中步骤1具体包括:在云服务器上通过编写自动化脚本提取云服务器性能指标序列数据,提取到的性能指标序列数据包括cpu空闲率、可用内存、平均负载和响应时间;
[0018]
其中步骤2具体按以下步骤实施:
[0019]
步骤2.1,设定分解次数m;
[0020]
步骤2.2,将高斯白噪声加入原序列x(t)中,加入的白噪声的标准差是原序列标准差的0.2倍,并且均值为0,得到加入白噪声后的序列;如下式(1):
[0021]
x

(t)=x(t) εn(t)
ꢀꢀ
(1)
[0022]
式中,ε
n
(t)(n=1,2,...,m)是随机高斯白噪声,m为原序列长度;
[0023]
步骤2.3,经过步骤2.2得到全部的i为imf阶数;
[0024]
步骤2.4,重复m次步骤2.2和步骤2.3,得到所有的imf;
[0025]
步骤2.5,通过式(2)得到m个的imf求平均值:
[0026][0027]
其中步骤3具体按以下步骤实施:
[0028]
步骤3.1,将序列数据向量记为x,然后将最大值和最小值分别记为x
max
和x
min

[0029]
步骤3.2,将序列数据中的每一个数据都减去最小值x
min

[0030]
步骤3.3,将步骤3.2得到的序列数据除以最大值减最小值的差(x
max

x
min
);归一化公式如式(3)所示:
[0031][0032]
其中步骤4具体按以下步骤实施:
[0033]
利用步骤3得到的归一化高频imf分量,对每个分量划分数据集为训练集和测试集,然后构建gru模型的三个功能模块,包括:输入层、隐藏层和输出层,输入层接受神经网络初始参数;隐藏层通过gru神经元彼此相连,构建多层网络,迭代计算;输出层得到模型预测结果,然后合并输出;
[0034]
其中步骤5具体按以下步骤实施:
[0035]
利用ga对gru模型进行超参数优化的具体方法是:构建gru预测模型超参数搜索空间,利用ga全局搜索超参数空间,进行最优超参数筛选,获取最优超参数组合,建立性能优化的gru预测模型;
[0036]
其中步骤5中利用ga优化gru模型的具体步骤如下:
[0037]
步骤6.1,种群编码初始化;采用的编码方式是将需要优化求解的参数转换成基因串的形式,并组成染色体;针对gru神经网络的超参数,以不同位数的二进制进行编码;
[0038]
步骤6.2,计算个体适应值;适应值量化个体在进化过程中的适应能力,适应值越高,表明个体表示的超参数组合所形成的模型预测误差越小,适应度函数如下式(4):
[0039][0040]
式中:y(k)是样本时间序列的实际观测值,是预测值,t表示样本参数时间序列的数据量;
[0041]
步骤6.3,利用遗传算法在个体之间进行选择、交叉和变异操作,实现对个体信息的改变,当某一个体信息发生改变时,则在超参数搜索空间中产生一个新个体,通过不断产生新个体的方式,探寻最优超参数组合,当新个体满足训练误差或者达到迭代次数,则搜索结束,输出最优gru预测模型。
[0042]
本发明的有益效果是:
[0043]
本发明使用了集合经验模态分解eemd、遗传算法ga、基于门控循环单元gru神经网络以及多元线性回归mlr,首先将云服务器性能指标数据通过eemd分解得到若干组高低频imf分量和residual分量,然后对高频imf分量使用ga优化gru超参数后的ga

gru模型预测,对低频imf分量和residual分量使用mlr模型预测,最后将所得各分量预测值重构得到最终预测值;eemd

ga

gru

mlr预测方法克服了传统方法在预测过程中容易陷入局部最优解、预测精度过低的问题;相比传统方法,本方法不仅能够精确提取云服务器软件老化的数据波动变化特征,而且能够准确预测随机性较强的局部特征,最终实现对云服务器软件老化的性能指标参数进行高精确率的预测和分析。
附图说明
[0044]
图1为本发明的基于eggm模型预测云服务器软件老化的方法中云服务器数据库查询响应时间序列数据eemd分解数据流程;
[0045]
图2为本发明的基于eggm模型预测云服务器软件老化的方法中云服务器数据库查询响应时间序列数据eemd分解数据结果;
[0046]
图3为本发明的基于eggm模型预测云服务器软件老化的方法中ga染色体编码结果;
[0047]
图4为本发明的基于eggm模型预测云服务器软件老化的方法中eemd

ga

gru

mlr预测方法具体流程;
[0048]
图5为本发明的基于eggm模型预测云服务器软件老化的方法中gru模型结构;
[0049]
图6为本发明的基于eggm模型预测云服务器软件老化的方法中云服务器数据库查询响应时间序列数据图;
[0050]
图7为本发明的基于eggm模型预测云服务器软件老化的方法中eemd

gagru

mlr模型与gagru模型、svm模型以及mlr模型预测精度对比图;
[0051]
图8为本发明的基于eggm模型预测云服务器软件老化的方法中eemd

gagru

mlr模
型、gagru模型、svm模型、mlr模型的绝对误差对比图。
具体实施方式
[0052]
下面结合附图和具体实施方式对本发明进行详细说明。
[0053]
本发明提供了基于eggm模型预测云服务器软件老化的方法,具体包括以下步骤:
[0054]
步骤1,在云服务器上通过编写自动化脚本提取云服务器性能指标序列数据,提取到的性能指标序列数据有cpu空闲率、可用内存、平均负载和响应时间;
[0055]
步骤2,如图1和图2所示,对步骤1提取到的云服务器性能指标数据进行eemd分解,得到频率由高到低的多个imf分量和一个residual分量:
[0056]
步骤2.1,设定分解次数m;
[0057]
步骤2.2,将高斯白噪声加入原序列x(t)中,加入的白噪声的标准差是原序列标准差的0.2倍,并且均值为0,得到加入白噪声后的序列;如下式(1):
[0058]
x

(t)=x(t) εn(t)
ꢀꢀ
(1)
[0059]
式中,ε
n
(t)(n=1,2,...,m)是随机高斯白噪声,m为原序列长度;
[0060]
步骤2.3,经过步骤2.2得到全部的i为imf阶数;
[0061]
步骤2.4,重复m次步骤2.2和步骤2.3,得到所有的imf;
[0062]
步骤2.5,通过式(2)得到m个的imf求平均值:
[0063][0064]
步骤3,分别对步骤2分解出来的高频imf分量、低频imf分量和residual分量进行归一化预处理,将数据序列映射到[0,1]区间:
[0065]
步骤3.1,将序列数据向量记为x,然后将最大值和最小值分别记为x
max
和x
min

[0066]
步骤3.2,将序列数据中的每一个数据都减去最小值x
min

[0067]
步骤3.3,将步骤3.2得到的序列数据除以最大值减最小值的差(x
max

x
min
);归一化公式如式(3)所示:
[0068][0069]
步骤4,利用步骤3得到的归一化高频imf分量,对每个分量划分数据集为训练集和测试集,然后构建gru模型的三个功能模块,包括:输入层、隐藏层和输出层,输入层接受神经网络初始参数;隐藏层通过gru神经元彼此相连,构建多层网络,迭代计算;输出层得到模型预测结果,然后合并输出;
[0070]
步骤5,利用ga对gru模型进行超参数优化的具体方法是:构建gru预测模型超参数搜索空间,利用ga全局搜索超参数空间,进行最优超参数筛选,获取最优超参数组合,建立性能优化的gru预测模型;本技术设定的超参数搜索范围空间如表1所示;表1中,超参数取值范围用[a:b:c]表示,其中a为起点,b为终点,c为数值间隔;
[0071]
表1 gru预测模型超参数搜索空间
[0072]
tab.1 hyperparameter search space of gru prediction model
[0073][0074]
利用ga优化gru模型的具体步骤如下:
[0075]
步骤5.1,种群编码初始化;采用的编码方式是将需要优化求解的参数转换成基因串的形式,并组成染色体;针对gru神经网络的超参数,以不同位数的二进制进行编码;编码过程如图3所示;
[0076]
步骤5.2,计算个体适应值;适应值量化个体在进化过程中的适应能力,适应值越高,表明个体表示的超参数组合所形成的模型预测误差越小,适应度函数如下式(4):
[0077][0078]
式中:y(k)是样本时间序列的实际观测值,是预测值,t表示样本参数时间序列的数据量;
[0079]
步骤5.3,利用遗传算法在个体之间进行选择、交叉和变异操作,实现对个体信息的改变,当某一个体信息发生改变时,则在超参数搜索空间中产生一个新个体,通过不断产生新个体的方式,探寻最优超参数组合,当新个体满足训练误差或者达到迭代次数,则搜索结束,输出最优gru预测模型;
[0080]
步骤6,通过步骤5得到的ga

gru模型预测高频imf分量得到;ga

gru模型是优化网络超参数后的gru模型,将高频imf分量数据集放入网络训练得到最优结果。
[0081]
步骤7,通过mlr模型预测步骤4得到的低频imf分量和residual分量;mlr通过网格搜索调参将时间窗设置为3,然后对低频imf分量和residual分量这种线性时间序列数据进行预测,得到预测结果;
[0082]
步骤8,把步骤6得到的ga

gru模型预测结果和步骤7得到的mlr模型预测结果重构;
[0083]
步骤9,把步骤8得到的最终预测结果和真实数据对比,可以看出本方法基本拟合了云服务器性能指标数据的变化趋势。
[0084]
实施例
[0085]
本技术实施例使用云服务器数据库查询响应时间序列数据作为例,eemd分解数据流程如图1所示,eemd分解数据结果如图2所示,ga染色体编码如图3所示,本方法具体实现流程如图4所示,单个gru隐藏层结构图如图5所示,云服务器数据库查询响应时间序列如图6所示,eemd

gagru

mlr模型与gagru模型、svm模型以及mlr模型预测精度对比如图7所示,eemd

gagru

mlr模型、gagru模型、svm模型、mlr模型的绝对误差对比如图8所示;不同模型的误差对比如下表2所示,分别使用均方根误差rmse、平均绝对误差mae以及平均绝对百分
比误差mape作为评价指标,分别如下式(5)(6)(7)所示,其中rmse是标准差,n是数据样本的个数,y
predictive
为预测值,y
true
为实际值。
[0086][0087][0088][0089]
表2不同模型的预测误差对比
[0090][0091]
从上表可以看出,本发明的rmse、mae和mape相比其他方法更低,因此通过对云服务器性能指标数据通过eemd分解后,然后对高频imf分量使用ga

gru预测,对低频imf分量和residual分量使用mlr预测,最后将各imf分量预测结果叠加重构得到完整预测结果的预测方法可行且精度很高。本方法解决了传统方法由于云服务器性能指标数据存在随机性和非周期成分导致预测精度过低的问题,能够精确拟合云服务器性能指标数据。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献