本發明專利技術公開了一種基于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
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。