徐晨蕊,賈克斌,劉鵬宇
(1.北京工業(yè)大學(xué) 信息學(xué)部,北京 100124; 2.先進(jìn)信息網(wǎng)絡(luò)北京實(shí)驗(yàn)室,北京 100124;3.計(jì)算智能與智能系統(tǒng)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100124)
數(shù)據(jù)中心[1]主要由IT設(shè)備、制冷設(shè)備系統(tǒng)和供配電系統(tǒng)三部分構(gòu)成,隨著數(shù)據(jù)中心的規(guī)模不斷擴(kuò)大,數(shù)據(jù)中心機(jī)房的安全作為網(wǎng)絡(luò)正常運(yùn)行的前提,已成為人們生活的一部分。隨著智能樓宇[2]的發(fā)展,制冷設(shè)備的安裝量和使用量不斷增加,但是運(yùn)維人員的數(shù)目有限,由于故障造成的能耗損失占總能耗損失相當(dāng)大的一部分,據(jù)統(tǒng)計(jì)由于制冷設(shè)備故障導(dǎo)致的能耗損失占制冷設(shè)備總能耗的10%~40%,所以一旦發(fā)生故障,會造成不同程度的經(jīng)濟(jì)損失和嚴(yán)重后果。因此對制冷系統(tǒng)里的重要特征值進(jìn)行預(yù)測,可以提高風(fēng)險(xiǎn)分析能力,防范于未然,加強(qiáng)制冷設(shè)備的穩(wěn)定性。
隨著計(jì)算機(jī)技術(shù)的進(jìn)步和數(shù)據(jù)分析方法的發(fā)展,預(yù)測研究不斷深入,相應(yīng)的預(yù)測方法也是層出不窮。文明[3]等人提出用非線性自回歸時(shí)間序列預(yù)測模型對隧道施工過程中的圍巖水平收斂和地表變形進(jìn)行預(yù)測,僅對趨勢性較平穩(wěn)的數(shù)據(jù)具有良好的預(yù)測效果,而對具有趨勢性、季節(jié)周期性和隨機(jī)性的非平穩(wěn)序列,難以得到較高的預(yù)測精度;張潔[4]用回歸預(yù)測模型對實(shí)際的電力預(yù)測問題進(jìn)行深入研究與分析,但用的是人工提取的方法,其泛化性較差;為此,李彬楠[5]等人采用灰色-BP神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型對土壤的水分特征進(jìn)行預(yù)測分析,通過關(guān)聯(lián)度的計(jì)算,量化各影響因子對因變量的影響程度,進(jìn)而合理確定BP神經(jīng)網(wǎng)絡(luò)的輸入因子,最終達(dá)到優(yōu)化模型微觀結(jié)構(gòu)。雖然該方法相比人工提取特征的方法有更好的性能,但是沒考慮到數(shù)據(jù)間的時(shí)序性;鐘楠祎[6]提出基于深度學(xué)習(xí)的數(shù)據(jù)特征的提取與預(yù)測,用RNN-RBM神經(jīng)網(wǎng)絡(luò)模型對醫(yī)院的門診量數(shù)據(jù)進(jìn)行預(yù)測,雖然RNN能從時(shí)間序列中提取時(shí)間特征,但是很容易遺忘歷史信息,從而降低了預(yù)測精度。
針對數(shù)據(jù)中心中的制冷設(shè)備采集的數(shù)據(jù)為時(shí)序序列的特點(diǎn),應(yīng)用一種深度學(xué)習(xí)的方法——LSTM神經(jīng)網(wǎng)絡(luò)去預(yù)測制冷設(shè)備的狀態(tài)。研究發(fā)現(xiàn)制冷設(shè)備普遍存在工作原理復(fù)雜、數(shù)據(jù)類型繁多的問題,LSTM較難對制冷設(shè)備里的特征進(jìn)行有效提取。鑒于此類問題,本文提出了一種E-LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的制冷設(shè)備狀態(tài)預(yù)測方法。基于有限長度的時(shí)序數(shù)據(jù),提出一種在原有的LSTM模型前加一層全連接神經(jīng)網(wǎng)絡(luò),對制冷設(shè)備的特征進(jìn)行預(yù)提取。旨在提高數(shù)據(jù)預(yù)測的正確率和加強(qiáng)預(yù)測模型的魯棒性。
本章簡要介紹制冷系統(tǒng)工作原理、數(shù)據(jù)預(yù)處理、相關(guān)性分析的相關(guān)方法,以及LSTM神經(jīng)網(wǎng)絡(luò)的細(xì)胞結(jié)構(gòu)。
機(jī)房里的制冷系統(tǒng)主要由冷卻水循環(huán)系統(tǒng)、冷水機(jī)組和冷凍水循環(huán)系統(tǒng)組成,其工作原理極其復(fù)雜。制冷系統(tǒng)的工作原理圖如圖1所示。
冷水機(jī)組[7]是由壓縮機(jī)、冷凝器、膨脹閥(又稱節(jié)流閥)和蒸發(fā)器四大件組成。冷水機(jī)組通過壓縮機(jī)將低溫低壓制冷劑氣體壓縮成高溫高壓氣體,冷凝器通過將高溫高壓氣體轉(zhuǎn)化為低溫低壓液體與冷卻水進(jìn)行
圖1 制冷系統(tǒng)工作原理圖
熱交換,使冷卻水溫度升高,由冷卻泵將升了溫的冷卻水壓入冷卻塔,使之在冷卻塔中與大氣進(jìn)行熱交換,然后再將降溫了的冷卻水,送回到冷水機(jī)組進(jìn)行熱交換;低溫低壓冷凝劑液體經(jīng)過節(jié)流裝置膨脹閥,蒸發(fā)器通過將低溫低壓液體變成氣體與冷凍水進(jìn)行交換,使冷凍水溫度降低,冷凍水泵將冷凍水送到各數(shù)據(jù)機(jī)房的空調(diào)末端,由風(fēng)機(jī)吹送冷風(fēng)達(dá)到機(jī)房內(nèi)降溫的目的。
分析的數(shù)據(jù)來源于某個(gè)數(shù)據(jù)中心實(shí)際采集得到的制冷設(shè)備的數(shù)據(jù),選取2018年7月1日0時(shí)0分至2018年9月28日23時(shí)19分范圍內(nèi)平均每35 s采集一次的數(shù)據(jù),輸入的特征值有:室外溫度、濕球溫度、室外焓值、回路壓差、數(shù)據(jù)中心總功率、IT負(fù)載;輸出特征有:冷源功率、PUE和冷凍二次泵,其中,輸出特征里的過去信息同樣也作為輸入。一共有36080條數(shù)據(jù)。先對數(shù)據(jù)進(jìn)行初步分析,其中PUE的曲線圖的波動較大,如圖2所示。
圖2 PUE數(shù)據(jù)分布圖
PUE值越接近于1,表示一個(gè)數(shù)據(jù)中心的綠色化程度越高。我國的大多數(shù)數(shù)據(jù)中心的PUE值在2~3之間。對于圖中PUE出現(xiàn)的異常值,通過調(diào)研發(fā)現(xiàn),是因?yàn)闄C(jī)房有的時(shí)候,會出現(xiàn)大批裁撤和下架,所以值會有所波動,出現(xiàn)異常。
那么對于原始數(shù)據(jù)中包含有異常值或空值的情況,無法直接進(jìn)行數(shù)據(jù)分析預(yù)測,或者預(yù)測結(jié)果差強(qiáng)人意。為了提高數(shù)據(jù)分析預(yù)測的質(zhì)量,需要用到數(shù)據(jù)預(yù)處理技術(shù)。在本文中,采用的是均值濾波[8]的方法對PUE等特征值里的異常數(shù)據(jù)進(jìn)行刪除和填補(bǔ),具體是利用python中的pandas庫對數(shù)據(jù)進(jìn)行清洗,刪掉空行,過濾異常值,填補(bǔ)空缺值。使用scikit-Learn[9]中的MinMaxScaler中的預(yù)處理類對數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)縮放到0~1,這樣做的目的是提高預(yù)測精度。均值濾波流程圖如圖3所示。
圖3 均值濾波流程圖
相關(guān)分析是研究兩個(gè)或兩個(gè)以上處于同等地位的隨機(jī)變量間的相關(guān)關(guān)系的統(tǒng)計(jì)分析方法。對制冷設(shè)備的特征值進(jìn)行相關(guān)性的分析,可以得到特征值之間的相關(guān)性系數(shù),對后續(xù)選取相關(guān)性大的特征值具有重要意義。相關(guān)性可以通過熱力圖[10]展示出來,這樣可以對數(shù)據(jù)間線性關(guān)系有更直觀的了解。用R語言內(nèi)置函數(shù) cor()計(jì)算特征值之間的相關(guān)系數(shù),使用Python的pandas庫中corrmat函數(shù)和sns.heatmap函數(shù)畫熱力圖,使之前的相關(guān)性系數(shù)矩陣直觀展現(xiàn)出來,便于后續(xù)進(jìn)行數(shù)據(jù)分析。熱力圖如圖4所示。
圖4 特征之間關(guān)聯(lián)性分析熱力圖
由圖4可以得出各個(gè)特征之間的相關(guān)性系數(shù)。圖4中,顏色越淺,代表相關(guān)性越大,顏色越深,代表相關(guān)性越小。由熱力圖,可以發(fā)現(xiàn)冷源功率和數(shù)據(jù)中心總功率(0.82)、濕球溫度(0.94)、室外焓值(0.95)的相關(guān)性較大; PUE 和 IT 負(fù)載(-0.63)成負(fù)相關(guān),負(fù)相關(guān)一般看絕對值,絕對值越大,相關(guān)性越高。由此能發(fā)現(xiàn)制冷設(shè)備中各個(gè)特征之間都有關(guān)聯(lián)性。
LSTM神經(jīng)網(wǎng)絡(luò)[11]是一種改進(jìn)的時(shí)間序列循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),緩解了傳統(tǒng)RNN在訓(xùn)練過程中容易出現(xiàn)的梯度消失、爆炸等現(xiàn)象。LSTM通過在RNN的重復(fù)模塊中加入輸入門、遺忘門和輸出門來解決普通循環(huán)神經(jīng)網(wǎng)絡(luò)具有的長期依賴問題,通過其獨(dú)特的記憶模式和遺忘模式,使網(wǎng)絡(luò)充分挖掘數(shù)據(jù)的時(shí)序特征,學(xué)習(xí)信號中的時(shí)間依賴關(guān)系,對長期信息的記憶使得長短期記憶神經(jīng)網(wǎng)絡(luò)具有更好的預(yù)測準(zhǔn)確率,標(biāo)準(zhǔn)LSTM 框架圖如圖5所示。
圖5 標(biāo)準(zhǔn)LSTM 框架圖
在每個(gè)時(shí)間步t中,xt為輸入向量,ct為細(xì)胞狀態(tài)向量,ht是根據(jù)ct輸出的隱藏狀態(tài)向量,公式如下:
it=sigmoid(Wixt+Uiht-1+bi)
(1)
ft=sigmoid(Wfxt+Ufht-1+bf)
(2)
ot=sigmoid(Woxt+Uoht-1+bo)
(3)
(4)
(5)
ht=ot○ tanh(ct)
(6)
為解決LSTM記憶模塊的選擇有限、輸入的序列長度不宜過大的問題,本文提出一種改進(jìn)型LSTM網(wǎng)絡(luò)(Enhanced-LSTM)模型去提高預(yù)測制冷設(shè)備的精度。具體結(jié)構(gòu)如圖6所示。
圖6 E-LSTM模型架構(gòu)
在原始的LSTM模型前加入了全連接網(wǎng)絡(luò)Dense層,相當(dāng)于利用神經(jīng)網(wǎng)絡(luò)進(jìn)行特征的預(yù)提取和降維。將預(yù)提取后的特征輸入到LSTM網(wǎng)絡(luò),為了防止網(wǎng)絡(luò)層數(shù)過深或數(shù)據(jù)維度太少導(dǎo)致的過擬合問題,在LSTM網(wǎng)絡(luò)層嵌入了一層Dropout層,隨機(jī)抽取模型中一定概率的神經(jīng)元權(quán)重不參與訓(xùn)練,最后整個(gè)改進(jìn)模型的輸出層也選用Dense層。
改進(jìn)的E-LSTM模型有效解決了制冷設(shè)備中數(shù)據(jù)復(fù)雜度高的問題,不僅能夠?qū)斎氲拈L序列信息進(jìn)行特征預(yù)提取,還增加了整個(gè)模型的深度,有效防止了由于網(wǎng)絡(luò)層數(shù)的過深導(dǎo)致的過擬合問題,提高了整個(gè)網(wǎng)絡(luò)模型的預(yù)測精度。
E-LSTM的網(wǎng)絡(luò)訓(xùn)練主要是在Tensorflow[12]平臺實(shí)現(xiàn)的。訓(xùn)練過程主要分為7個(gè)步驟:
① 在輸入數(shù)據(jù)到E-LSTM模型之前,設(shè)定每個(gè)時(shí)間步長輸入8個(gè)變量,序列長度設(shè)置為5(在3.1.2節(jié)會具體闡述設(shè)置為5的原因),以2:1的比例劃分?jǐn)?shù)據(jù)集(即前2500個(gè)數(shù)據(jù)為訓(xùn)練集,其余為測試集)。
② 訓(xùn)練集數(shù)據(jù)歸一化。用sklearn.preprocessing模塊對數(shù)據(jù)進(jìn)行歸一化處理,使得數(shù)據(jù)范圍在[0,1]之間。把歸一化后的數(shù)據(jù)放到神經(jīng)網(wǎng)絡(luò)里,可以使得模型的收斂速度加快。
③ 將歸一化后的輸入序列在LSTM網(wǎng)絡(luò)的前置神經(jīng)網(wǎng)絡(luò)中處理后由全連接層輸出,將一個(gè)5×8(40)維的輸入序列經(jīng)過全連接層輸出后降維到5維。
④ 設(shè)定LSTM網(wǎng)絡(luò)的隱藏層有128個(gè)神經(jīng)元,epoch為100,每個(gè)batch的大小為200。由式(1)~式(6)計(jì)算LSTM細(xì)胞的輸出值。
⑤ 計(jì)算每個(gè)細(xì)胞的誤差。本文用均方誤差(MSE)來計(jì)算誤差,誤差函數(shù)計(jì)算公式如下:
(7)
⑥ 根據(jù)誤差計(jì)算每個(gè)權(quán)重的梯度。
⑦ 應(yīng)用基于梯度的優(yōu)化算法更新權(quán)重。本文采用Adadelta[13]梯度下降算法來最小化地降低誤差。損失函數(shù)選用mean_squared_error。
應(yīng)用訓(xùn)練好的E-LSTM模型進(jìn)行預(yù)測,將測試集test_x輸入到模型,利用test_y作為理論輸出和模型的實(shí)際輸出來計(jì)算模型的預(yù)測精度。本文選用MAE和RMSE作為模型預(yù)測精度的評估標(biāo)準(zhǔn),公式如下:
(8)
(9)
式中,T為整個(gè)時(shí)間步長的個(gè)數(shù);yt、ft分別為模型輸出的實(shí)際值和預(yù)測值。MAE、RMSE的數(shù)值越小,說明模型的預(yù)測精度越高。
本章使用某數(shù)據(jù)中心的制冷設(shè)備中的數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集,應(yīng)用第2章的相關(guān)理論和第3章的模型構(gòu)建方法展開實(shí)驗(yàn)驗(yàn)證,具體包括實(shí)驗(yàn)結(jié)果、案列分析兩部分。
3.1.1 對比實(shí)驗(yàn)
為了驗(yàn)證E-LSTM模型性能的優(yōu)越性,本文選用6種機(jī)器學(xué)習(xí)的方法與之做對比。實(shí)驗(yàn)選用相同的超參數(shù)去訓(xùn)練所有的循環(huán)神經(jīng)網(wǎng)絡(luò)。PUE、冷源功率和冷凍二次泵的對比實(shí)驗(yàn)如表1所示。
表1 三種預(yù)測的對比結(jié)果
從表中可以看出,E-LSTM模型的RMSE和MAE均低于原始的LSTM模型、RNN模型和GRU模型。與其他機(jī)器學(xué)習(xí)的算法相比,改進(jìn)的模型的RMSE和MAE明顯低于NN、支持向量機(jī)和線性回歸3種方法,證明了該方法在制冷設(shè)備狀態(tài)預(yù)測任務(wù)中的有效性。
3.1.2 獲取精度較高的模型參數(shù)
為了進(jìn)一步評估模型的性能,本文對不同的序列長度的PUE、冷源功率、冷凍二次泵做實(shí)驗(yàn)。分別選取序列長度為1、3、5、10、30、50、100和150作為時(shí)間步長,訓(xùn)練E-LSTM模型。PUE、冷源功率和冷凍二次泵的預(yù)測結(jié)果如圖7所示。
圖7 不同序列長度下3種E-LSTM模型的RMSE和MAE變化
從圖7可以看出,E-LSTM模型的RMSE和MAE在不同的PUE、冷源功率和冷凍二次泵序列下呈波浪式上升。RMSE和MAE的值都是在PUE、冷源功率、冷凍二次泵時(shí)間序列長度為5時(shí)最小。從而得出結(jié)論:本文選用時(shí)間序列長度為5,去預(yù)測未來3 h的制冷設(shè)備狀態(tài)下的數(shù)值,預(yù)測效果最好。
為了證明對制冷設(shè)備狀態(tài)進(jìn)行多變量輸入預(yù)測的必要性,本部分將多輸入制冷設(shè)備狀態(tài)預(yù)測與單輸入制冷設(shè)備狀態(tài)預(yù)測的效果進(jìn)行了比較。保持其他參數(shù)設(shè)置不變,只更改輸入。圖8展示了多輸入預(yù)測和單輸入預(yù)測之間的PUE、冷源功率和冷凍二次泵的性能。其中藍(lán)線代表實(shí)際曲線,紅線代表預(yù)測趨勢。
圖8 單輸入和多輸入預(yù)測的對比實(shí)驗(yàn)
從圖8可以看出,單輸入預(yù)測的性能比多輸入預(yù)測差得多。在RMSE方面,單輸入預(yù)測的誤差明顯大于多輸入預(yù)測的誤差。該對比實(shí)驗(yàn)證明了E-LSTM模型能夠較好地預(yù)測多輸入制冷設(shè)備的狀態(tài)。
本文基于機(jī)房的制冷設(shè)備中的數(shù)據(jù),選取PUE、冷源功率、冷凍二次泵、室外溫度、濕球溫度、室外焓值、回路壓差、數(shù)據(jù)中心總功率、IT負(fù)載這10個(gè)特征為主要研究對象,應(yīng)用改進(jìn)型LSTM(E-LSTM)對PUE、冷源功率、冷凍二次泵做預(yù)測,得出以下幾點(diǎn)結(jié)論:
① 改進(jìn)的LSTM(E-LSTM)神經(jīng)網(wǎng)絡(luò)有效地改善了LSTM 在有限長度的數(shù)據(jù)預(yù)測中存在的問題,比LSTM更高效地提取時(shí)序數(shù)據(jù)之間特征,使得改進(jìn)的LSTM 預(yù)測能力更強(qiáng)。
② E-LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模型的RMSE和MAE都遠(yuǎn)遠(yuǎn)低于RNN、GRU、NN、SVR、Linear regression這5種模型,說明E-LSTM模型更適用于制冷設(shè)備的狀態(tài)的預(yù)測。
③ E-LSTM神經(jīng)網(wǎng)絡(luò)適用于多輸入單輸出預(yù)測。進(jìn)行單輸入單輸出和多輸入單輸出預(yù)測對比實(shí)驗(yàn)發(fā)現(xiàn),在針對制冷設(shè)備中各個(gè)特征之間有相關(guān)性這個(gè)特點(diǎn),對改進(jìn)型神經(jīng)網(wǎng)絡(luò)進(jìn)行多輸入單輸出預(yù)測,預(yù)測精度會更高。