果澤泉,蔣雅玲
(京能東風(fēng)〈十堰〉能源發(fā)展有限公司,湖北 十堰 442002)
隨著集中供熱體系更新,分戶計量采暖系統(tǒng)推廣,如今對熱網(wǎng)系統(tǒng)能源的高效利用提出更高要求[1],其中熱網(wǎng)負荷預(yù)測對熱網(wǎng)系統(tǒng)調(diào)度生產(chǎn)具有重要指導(dǎo)意義。為實現(xiàn)節(jié)能減排目標(biāo),建立智慧熱網(wǎng)平臺是大勢所趨。熱網(wǎng)負荷預(yù)測不僅有利于提高運行的安全性、穩(wěn)定性與經(jīng)濟性,也是電廠調(diào)度的重要依據(jù)之一[2]。但運行中熱網(wǎng)負荷變化復(fù)雜,利用傳統(tǒng)方式來確定負荷比較困難。目前短期負荷預(yù)測方法大致兩類:數(shù)理統(tǒng)計法和智能預(yù)測法[3]。數(shù)理統(tǒng)計法如時間序列法、回歸分析法等簡單易實現(xiàn),但難以描述負荷的變化特點。智能預(yù)測法是利用機器學(xué)習(xí)的方法,其主要包括隨機森林、人工神經(jīng)網(wǎng)絡(luò)等算法,記憶和學(xué)習(xí)以往數(shù)據(jù),預(yù)測未來數(shù)據(jù)。
近年來,深度學(xué)習(xí)在搜索技術(shù)、數(shù)據(jù)挖掘、自然語言處理等領(lǐng)域都取得了很多成果[4]。在負荷預(yù)測方面,例如:宗玲等[5]用人工神經(jīng)網(wǎng)絡(luò)對熱網(wǎng)負荷進行短時預(yù)測。陳卓等[6]基于LSTM(長短期記憶人工神經(jīng)網(wǎng)絡(luò))預(yù)測短期電力負荷。但對于熱網(wǎng)負荷的研究來說,以往很少采用LSTM深度學(xué)習(xí)算法來進行研究,而本文則嘗試采用LSTM建立短期熱網(wǎng)負荷預(yù)測模型,基于此創(chuàng)建智慧供熱平臺,以預(yù)測換熱站及熱源鍋爐負荷,重點結(jié)合氣象數(shù)據(jù)預(yù)測未來幾小時內(nèi)供熱負荷,進而實現(xiàn)換熱站與鍋爐協(xié)同,形成閉環(huán)控制流程,實現(xiàn)對熱網(wǎng)系統(tǒng)的綜合調(diào)度。
LSTM的原理要從RNN循環(huán)神經(jīng)網(wǎng)絡(luò)[7]說起。深度學(xué)習(xí)是模仿人類大腦的算法[8],RNN是深度學(xué)習(xí)的一種,其允許信息持久化。RNN循環(huán)展開圖如圖1所示。A為神經(jīng)網(wǎng)絡(luò)內(nèi)部隱藏層,Xt為輸入數(shù)據(jù),ht為每個隱藏層的輸出結(jié)果。每個隱藏層有兩個輸入來源,分別為Xt和上一隱藏層的輸出量。RNN如同普通神經(jīng)網(wǎng)絡(luò)的復(fù)制,通過循環(huán)過程,信息從上一步傳至下一步。因此,RNN很適合用于處理時間序列數(shù)據(jù)。
圖1 RNN循環(huán)展開示意圖
RNN能連接先前信息和當(dāng)前需要處理的問題。但在很多情況下,RNN并不盡如人意,諸多因素影響算法發(fā)揮。例如,信息和預(yù)測位置的間隔過大,RNN會喪失學(xué)習(xí)相關(guān)信息的能力,這就是長期依賴問題[9]。理論上,優(yōu)化相關(guān)參數(shù),RNN可以處理間隔長的問題。但在實際中,會增加工作量,且發(fā)揮并不盡人意。Bengio等于1994年對此問題進行研究,發(fā)現(xiàn)一些使訓(xùn)練RNN很困難的根本原因[10]。
Long short term memory,簡稱為LSTM,是RNN的一種。LSTM由Hochreiter和Schmidhuber于1997年提出[11],2013年被改進[12]。相較RNN隱藏層,LSTM隱藏層更復(fù)雜[13],LSTM有“門”的結(jié)構(gòu),用于增加、減少信息,其包含一個σ神經(jīng)網(wǎng)絡(luò)層和一個按位的乘法操作。σ層輸出[0,1]的數(shù)值,描述每個門有多少量通過。0代表“不許任何量通過”,1代表“允許任意量通過”。如圖2所示,LSTM擁有三個門[14],分別是Input gate(輸入門),F(xiàn)orget gate(遺忘門),Output gate(輸出門)。用公式表達為:
圖2 遺忘門,輸入門,輸出門示意圖
式(1)為遺忘門的計算,其中σ為激活函數(shù),將輸出量控制在[0,1]。xt為輸入量,ht-1為上一步的輸出量,這一層作為輸入量輸入。Wf,Wi及bf,bi,bc,b0為參數(shù)矩陣,隱藏層通過這些參數(shù)進行運算。式(2)、式(3)、式(4)為輸入門的計算。其中,it為輸入門的輸出,Ct表征細胞狀態(tài)。tanh層會創(chuàng)建新的向量?Ct,用于更新細胞狀態(tài)。式(4)對狀態(tài)進行更新,將Ct-1更新為Ct,把舊狀態(tài)與ft相乘,丟棄掉不需要的信息,接著加上it·?Ct,從而創(chuàng)建新的候選值,由此決定狀態(tài)的更新度。式(5)、式(6)為輸出門的計算,0t為輸出門的輸出結(jié)果。細胞狀態(tài)通過tanh層計算,得到一個[-1,1]的值,并將其與輸出門結(jié)果0t相乘,最終輸出結(jié)果ht。經(jīng)過多次隱藏層計算,實現(xiàn)對運算結(jié)果的保留和遺忘,以處理和學(xué)習(xí)連續(xù)性數(shù)據(jù),這就是LSTM深度學(xué)習(xí)的主要原理。
熱網(wǎng)數(shù)據(jù)取自湖北省某地級市,共五條管線供熱數(shù)據(jù)。選取熱網(wǎng)負荷及氣象數(shù)據(jù)較為完整的2022年2月12日至2022年3月3日二十日的負荷數(shù)據(jù)及氣象數(shù)據(jù),時間間隔為1小時,共480條熱網(wǎng)數(shù)據(jù)。
實際數(shù)據(jù)中一般存在缺失值、離群值和噪聲,在建模前需要對數(shù)據(jù)進行預(yù)處理。確保數(shù)據(jù)計算和分析是準(zhǔn)確有意義的[15]。對數(shù)據(jù)進行逐條檢測,有缺失數(shù)據(jù)6條,缺少氣象數(shù)據(jù)中溫度、濕度、風(fēng)速、風(fēng)力四項。由于氣象數(shù)據(jù)具有連續(xù)性,則可采用前后數(shù)據(jù)的平均值來填補。其中,風(fēng)力一項為整數(shù)值,使用平均值替代會產(chǎn)生小數(shù),故采用上一小時風(fēng)力數(shù)據(jù)來填補。填補后,篩查數(shù)據(jù)范圍,去除異常值,保證數(shù)據(jù)有效性,提高模型學(xué)習(xí)的準(zhǔn)確度。對數(shù)據(jù)進行如表1內(nèi)的篩查。
表1 數(shù)據(jù)范圍
本模型目標(biāo)是用預(yù)測時間點過去時間內(nèi)供熱負荷相關(guān)數(shù)據(jù),對未來6小時內(nèi)供熱負荷進行預(yù)測。選定與供熱負荷有關(guān)的氣象數(shù)據(jù)和小時數(shù)作為輸入量,初次記憶時間為24小時。要實現(xiàn)預(yù)測時間為6小時的目標(biāo),需要對應(yīng)輸入量和輸出量的時序。數(shù)據(jù)重組劃分后,按照8∶2劃分深度學(xué)習(xí)的訓(xùn)練集和測試集,并對數(shù)據(jù)歸一化處理,使數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布[16]。數(shù)據(jù)歸一化可以加快模型訓(xùn)練速度,同時提高預(yù)測準(zhǔn)確度。數(shù)據(jù)歸一化公式為:
其中Xnorm、Xmean、Xstd、X分別為歸一化后的數(shù)據(jù)平均值、訓(xùn)練集數(shù)據(jù)標(biāo)準(zhǔn)差、原始數(shù)據(jù)。利用式(7)對測試集數(shù)據(jù)標(biāo)準(zhǔn)化需要使用訓(xùn)練集的均值和標(biāo)準(zhǔn)差,以避免模型在學(xué)習(xí)之前提前接觸到測試集的信息。
針對本文的神經(jīng)網(wǎng)絡(luò)模型,本文使用深度學(xué)習(xí)平臺Tensorflow[17]與python計算機語言進行模型訓(xùn)練與測試。首次建模,設(shè)定一層LSTM隱藏層,一層輸出層的Dense層,輸出量維度為6,loss設(shè)為mse(均方誤差),Dropout設(shè)為0.1,防止過擬合,迭代次數(shù)為100。求解器采用Adam,Adam由Kingma和Lei Ba于2014年提出,其結(jié)合Adagrad和Rmspop的優(yōu)點[18],有著實現(xiàn)簡單、計算高效、能自動調(diào)整學(xué)習(xí)率等優(yōu)點[19]。
對測試集、訓(xùn)練集loss值繪圖,如圖3所示。模型訓(xùn)練集、測試集loss隨迭代減小,直至收斂趨于零。向模型輸入測試集驗證,得到預(yù)測值。對預(yù)測值反歸一化處理,得到實際預(yù)測值。與實際值對比,擬合優(yōu)度如表2所示,繪制對比圖如圖3所示。
圖3 訓(xùn)練集,測試集損失
表2 R2(擬合優(yōu)度)表
圖4 預(yù)測值與實際值對比(1時,6時)
對于初次建模結(jié)果,R2低,擬合程度差,需要對模型進行調(diào)參,使模型具有更好的泛用性。
為進一步優(yōu)化模型,需要調(diào)整模型參數(shù)。首先對模型迭代計算,查看運算結(jié)果,并對不同模型設(shè)立一個共同誤差評價指標(biāo),確立最佳模型。將模型定義為函數(shù)進行迭代,修改學(xué)習(xí)記憶小時數(shù)、LSTM內(nèi)部隱藏層數(shù)目、輸出層維度Dense、神經(jīng)元個數(shù)等參數(shù),設(shè)定迭代值,得到多個的預(yù)測模型(見表3)。
表3 不同模型迭代值
如表3所示,修改參數(shù)尋找最佳模型,迭代次數(shù)3×3×3×2=54次,生成54個模型。選定測試集平均絕對百分比誤差mape為評價指標(biāo)確定最佳模型,mape為能夠衡量預(yù)測準(zhǔn)確性的統(tǒng)計指標(biāo),是百分比值。不同模型結(jié)果如表4所示。
表4 不同模型預(yù)測誤差
其中綠色標(biāo)記為原模型,黃色標(biāo)記為優(yōu)秀模型(mape<25),計算優(yōu)秀模型R2,結(jié)果如表5所示。
表5 不同模型R2
模型(32)對比其他模型,明顯擬合程度好。新舊模型擬合程度對比如表6所示。
表6 R2對比
新模型擬合效果明顯優(yōu)于原模型,將新模型預(yù)測結(jié)果與負荷實際值進行可視化對比,如圖5所示。
圖5 預(yù)測值與實際值對比
為了解特征對供熱負荷的影響,需要對特征進行重要性分析。LSTM隱藏層內(nèi)部算法復(fù)雜,無法像有些機器學(xué)習(xí)算法一樣直接查看特征重要性[20],所以要定義特征重要性[21]。對于已訓(xùn)練的模型,可在不改變參數(shù)和模型的情況下去除測試集內(nèi)某一項特征或在某一項特征中添加噪聲的方式來重新預(yù)測,然后用相同的模型誤差評價指標(biāo)來衡量兩次預(yù)測的差距。若去掉的是重要特征,模型精度會明顯下降,若是不重要特征,模型精度則不會明顯下降。由此可對特征重要性進行排名,模型評判指標(biāo)選擇平均絕對百分比誤差mape。為不改變原模型結(jié)構(gòu),將要測試的特征設(shè)為平均值來去除這一項的影響,即將歸一化處理的測試集特征數(shù)據(jù)置為0。利用原模型重新預(yù)測結(jié)果如表7所示。并進行可視化處理,以此得到直觀的特征重要性排名如圖6所示。
表7 不同特征去除后平均絕對百分比誤差對比
圖6 特征重要性排名
由此得出,風(fēng)速、溫度、風(fēng)力對供熱負荷的影響大;小時數(shù)、濕度對供熱負荷的影響小,太陽輻射對供熱負荷基本無影響。天氣預(yù)報中數(shù)值最準(zhǔn)確的是溫度一項,觀察溫度與供熱負荷關(guān)系圖,如圖7所示,雖然一天內(nèi)供熱負荷有波動,但隨著溫度升高,供熱負荷整體有明顯下降趨勢。因此,有針對性地結(jié)合溫度數(shù)據(jù)能有效提高模型預(yù)測精度。
圖7 供熱負荷隨溫度變化曲線
基于LSTM預(yù)測模型,參考供熱管網(wǎng)運行和氣象的實際情況,結(jié)合智慧熱網(wǎng)平臺實時生成的負荷和氣象數(shù)據(jù),建立如圖8所示的自學(xué)習(xí)的全網(wǎng)熱負荷預(yù)測系統(tǒng),可以看到,預(yù)測值能在一定程度上貼合實際值,隨著實際運行數(shù)據(jù)的增加,預(yù)測精度能夠進一步提升。該系統(tǒng)還可顯示過往供熱負荷、氣象數(shù)據(jù)并結(jié)合天氣預(yù)報數(shù)據(jù)來預(yù)測未來供熱負荷,并生成曲線直觀顯示。其能為供熱系統(tǒng)運行、故障處理以及過往數(shù)據(jù)查詢提供依據(jù)。并為節(jié)能減排、提高熱網(wǎng)經(jīng)濟性等提供優(yōu)化方向。
圖8 全網(wǎng)熱負荷預(yù)測系統(tǒng)界面
本研究基于LSTM長短期記憶神經(jīng)網(wǎng)絡(luò),結(jié)合供熱負荷及氣象數(shù)據(jù),編寫了熱網(wǎng)時序供熱負荷預(yù)測程序,通過進一步調(diào)節(jié)參數(shù)優(yōu)化模型,減小預(yù)測誤差,完善預(yù)測程序,并佐以對數(shù)據(jù)各特征按重要性排名的方式來分析模型。主要結(jié)論如下:
(1)收集整合智慧熱網(wǎng)平臺數(shù)據(jù),建立初步預(yù)測模型,迭代優(yōu)化預(yù)測模型。通過調(diào)參進一步提高模型精度。
(2)對比預(yù)測值與實際值,預(yù)測數(shù)據(jù)反映供熱負荷趨勢,雖有一定誤差,但在可接受范圍內(nèi)。隨著平臺數(shù)據(jù)增加,預(yù)測結(jié)果會更準(zhǔn)確。
(3)按重要性對數(shù)據(jù)各項特征進行分析并排名。其中溫度、風(fēng)力、風(fēng)速為最重要特征,其他特征與供熱負荷關(guān)聯(lián)不大。了解特征重要性后,智慧供熱平臺可結(jié)合未來氣象溫度更具針對性地優(yōu)化供熱策略。