本发明专利技术公开了一种基于EMD和多变量LSTM相结合的服务质量预测方法,包括1:对Web服务历史调用记录进行数据清洗,检测数据集中Web服务质量的缺失值、异常值;2:使用一种基于数据的填补算法补全缺失值和异常值,构建完整有效的服务质量时间序列;3:对时间序列进行数据变换;4:利用EMD方法将服务质量时间序列分解为多个本征模函数和残波部分,然后构建多变量时间序列,建立一个多变量LSTM模型进行服务质量预测。本发明专利技术的有益效果是:1)能够根据Web服务的历史调用记录准确预测未知的服务质量,具有很好的实用性。2)通过预测可能存在的SLA违规行为,帮助用户选择既能提供最佳服务质量且具有更高概率满足SLA约束的服务。
A service quality prediction method based on EMD and multi variable LSTM
【技术实现步骤摘要】
一种基于EMD和多变量LSTM相结合的服务质量预测方法
本专利技术涉及服务计算
,具体涉及一种基于EMD和多变量LSTM相结合的服务质量预测方法。
技术介绍
Web服务是松散耦合的软件系统,通过网络来支持互操作的机器进行交互,它为面向服务的体系结构(Service-OrientedArchitecture,SOA)提供了一个标准化的解决方案。Web服务的数量每年都在不断增长,而这其中有大量的服务提供相似的功能,比如,据ProgrammableWeb(http://www.programmableweb.com/,简称PWeb)统计,能够提供搜索服务的WebAPI截止2019年10月11日就多达3546个。面对这么多功能相同或相似的Web服务,我们需要根据其服务质量选择最合适的服务来更好的满足用户需求。近年来,研究者提出了许多根据Web服务的历史调用记录来预测Web服务的未知QoS值的服务质量预测方法,主要有三种:基于相似性度量的方法、基于时间序列预测技术的方法和基于深度学习模型的方法。本申请专利技术人在实施本专利技术的过程中,发现现有技术的方法,至少存在如下技术问题:现有的QoS预测模型都有其不足之处,基于相似度的方法不能捕获QoS的时间动态,需要来自多个数据源(如用户)的QoS信息;基于时间序列预测技术的方法面对具有高波动性、时变特性的数据无法保证准确的预测。神经网络模型(ANN,MLP,RNN)具有处理非线性复杂关系的能力,但只能用于处理短期的数据依赖关系。不准确的预测可能会带来错误选择不合适的Web服务或做出不必要的管理决策等关键问题,进一步影响后续发展造成不必要的损失。由此可知,现有技术中的方法存在预测结果不够准确的技术问题。
技术实现思路
有鉴于此,本专利技术提供了一种基于EMD和多变量LSTM相结合的服务质量预测方法,用以解决或者至少部分解决现有技术中的方法存在的预测结果不够准确的技术问题。为了解决上述技术问题,本专利技术提供了一种基于EMD和多变量LSTM相结合的服务质量预测方法,包括:步骤S1:对Web服务历史调用记录进行数据清洗,检测出异常值和缺失值;步骤S2:采用预设基于数据的填补算法对检出的异常值和缺失值进行数据补全,构建完整有效的服务质量时间序列;步骤S3:对完整有效的服务质量时间序列进行数据变换;步骤S4:基于EMD方法对进行数据变换后的服务质量时间序列进行分解,获得多变量时间序列,根据多变量时间序列获得训练数据;步骤S5:利用训练数据对预先构建的LSTM模型进行训练,获得训练好的多变量LSTM模型;步骤S6:利用训练好的多变量LSTM模型对待预测的Web服务调用记录进行质量预测,根据质量预测结果,选择出目标Web服务。在一种实施方式中,步骤S1具体包括:步骤S1.1:对Web服务历史调用记录中服务异常进行识别,筛选出初步异常值并标识为缺失值;步骤S1.2:使用箱线图检测出Web服务历史调用记录中的异常值,并将检测结果中大于或小于箱线图设定的上下界的观察值作为目标异常值并标识。在一种实施方式中,步骤S2具体包括:步骤S2.1:从进行数据清洗后的正常数据中提取出日期层次上的变化趋势以及在一天之内的变化趋势,其余为残差部分数据,进行数据清洗后服务质量数据中包括正常数据和异常数据;步骤S2.2:从正常数据中选取不同时间粒度的基本时间特征以及服务质量数据的历史滞后值作为特征,残差部分数据作为标签,对Xgboost模型进行训练,利用训练好的Xgboost模型对异常值和缺失值的残差部分进行预测,得到残差预测值;步骤S2.3:将提取出的正常数据的日期层次上的变化趋势、在一天之内的变化趋势和对异常数据的残差预测值相加,对异常值和缺失值进行填补,获得数据填补结果。在一种实施方式中,步骤S3具体包括:步骤S3.1:对完整有效的服务质量时间序列进行Box_Cox变换;步骤S3.2:对进行Box_Cox变换后的服务质量时间序列进行对数变换。在一种实施方式中,步骤S4具体包括:步骤S4.1:利用EMD方法将频率不规则的服务质量时间序列分解为多个频率单一IMF分量和一个残余部分Res;步骤S4.2:对分解后的数据进行尺度变换,将服务质量时间序列的所有分量的数值转换到LSTM模型的激活函数的范围之内;步骤S4.3:根据进行尺度变换后的多变量时间序列,构建3D张量,3D张量的形式为(samples,timesteps,features),其中,samples表示来自域的独立观察结果,为数据行,timesteps表示当前值与前个时间步连续输入的数据有关联,为历史滞后值,features表示每个时间点上观察到的特征,为多个IMF分量和残余部分Res。在一种实施方式中,步骤S4.1中采用EMD方法将时间序列分解为一组本征模函数和一个残余波形,结果如下式:其中,X(t)表示原始时间序列,IMFn(t)表示第n个IMF分量,Res(t)表示残波部分。在一种实施方式中,预先构建的LSTM模型包括两层长短时记忆网络和一个全连接层,步骤S5具体包括:步骤S5.1:将多变量时间序列输入预先构建的LSTM模型,通过两层长短时记忆网络学习高级时序表征;步骤S5.2:将输出序列的最后一步传递至全连接层,实现下一个时间步的预测,获得训练好的多变量LSTM模型。在一种实施方式中,步骤S3.1中对时间序列进行Box_Cox变换,采用如下公式:进行变换,其中,λ表示引入的参数,Y表示待变换的时间序列,Y(λ)表示变换后的结果。在一种实施方式中,步骤S6中长短时记忆网络的计算过程为:步骤S6.1:通过遗忘门选择从细胞状态中丢弃的信息,并确定将前一个长期记忆ct-1在多大程度上保存到ct中:步骤S6.2:通过输入门确定被保存到长期记忆状态中的新信息:步骤S6.3:根据确定被保存到长期记忆状态中的新信息,计算长期状态的候选值:步骤S6.4:利用候选值来更新长期状态:步骤S6.5:通过输出门确定当前LSTM的输出值:其中,隐藏层状态ht的计算公式如下:σ表示sigmoid函数,⊙表示按位乘操作,sigmoid函数和tanh函数的计算公式如下:m表示LSTM接受的输入变量的维度,u表示LSTM拥有u个神经元,和分别表示在t时刻LSTM的遗忘门、输入门和控制门的状态,都为u维的向量,和分别表示LSTM在t时刻的输出和细胞状态,都为u维的向量,V为隐藏状态的权重矩阵,是一个u×u的矩阵,W为输入的权重矩阵,是一个u×m的矩阵,b为偏置项。在一种实施方式中,在得到预测结果之后,所述方法还包括:判断预测结果是否满足服务水平协议SLA约束,若不满足则视为SLA违规,若满足,则不违规。本文档来自技高网...
【技术保护点】
1.一种基于EMD和多变量LSTM相结合的服务质量预测方法,其特征在于,包括:/n步骤S1:对Web服务历史调用记录进行数据清洗,检测出异常值和缺失值;/n步骤S2:采用预设基于数据的填补算法对检出的异常值和缺失值进行数据补全,构建完整有效的服务质量时间序列;/n步骤S3:对完整有效的服务质量时间序列进行数据变换;/n步骤S4:基于EMD方法对进行数据变换后的服务质量时间序列进行分解,获得多变量时间序列,根据多变量时间序列获得训练数据;/n步骤S5:利用训练数据对预先构建的LSTM模型进行训练,获得训练好的多变量LSTM模型;/n步骤S6:利用训练好的多变量LSTM模型对待预测的Web服务调用记录进行质量预测,根据质量预测结果,选择出目标Web服务。/n
【技术特征摘要】
1.一种基于EMD和多变量LSTM相结合的服务质量预测方法,其特征在于,包括:
步骤S1:对Web服务历史调用记录进行数据清洗,检测出异常值和缺失值;
步骤S2:采用预设基于数据的填补算法对检出的异常值和缺失值进行数据补全,构建完整有效的服务质量时间序列;
步骤S3:对完整有效的服务质量时间序列进行数据变换;
步骤S4:基于EMD方法对进行数据变换后的服务质量时间序列进行分解,获得多变量时间序列,根据多变量时间序列获得训练数据;
步骤S5:利用训练数据对预先构建的LSTM模型进行训练,获得训练好的多变量LSTM模型;
步骤S6:利用训练好的多变量LSTM模型对待预测的Web服务调用记录进行质量预测,根据质量预测结果,选择出目标Web服务。
2.如权利要求1所述的方法,其特征在于,步骤S1具体包括:
步骤S1.1:对Web服务历史调用记录中服务异常进行识别,筛选出初步异常值并标识为缺失值;
步骤S1.2:使用箱线图检测出Web服务历史调用记录中的异常值,将检验结果中大于或小于箱线图设定的上下界的观察值作为目标异常值并标识。
3.如权利要求2所述的方法,其特征在于,步骤S2具体包括:
步骤S2.1:从进行数据清洗后的正常数据中提取出日期层次上的变化趋势以及在一天之内的变化趋势,其余为残差部分数据,进行数据清洗后服务质量数据包括正常数据和异常数据;
步骤S2.2:从正常数据中选取不同时间粒度的基本时间特征以及服务质量数据的历史滞后值作为特征,残差部分数据作为标签,对Xgboost模型进行训练,利用训练好的Xgboost模型对异常值和缺失值的残差部分进行预测,得到残差预测值;
步骤S2.3:将提取出的正常数据的日期层次上的变化趋势、在一天之内的变化趋势和对异常数据的残差预测值相加,对异常值和缺失值进行填补,获得数据填补结果。
4.如权利要求1所述的方法,其特征在于,步骤S3具体包括:
步骤S3.1:对完整有效的服务质量时间序列进行Box_Cox变换;
步骤S3.2:对进行Box_Cox变换后的服务质量时间序列进行对数变换。
5.如权利要求1所述的方法,其特征在于,步骤S4具体包括:
步骤S4.1:利用EMD方法将频率不规则的服务质量时间序列分解为多个频率单一IMF分量和一个残余部分Res;
步骤S4.2:对分解后的数据进行尺度变换,将服务质量时间序列的所有分量的数值转换到多变量LSTM模型的激活函数的范围之内;
步骤S4.3:根据进行尺度变换后的多变量时间序列,构建3D张量,3D张量的形式为(samples,timesteps,features),其中,sample...
【专利技术属性】
技术研发人员:李兵,陈秀清,王健,
申请(专利权)人:武汉大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。