孫穎楷 陳慶明 鐘益明
(1.廣東萬和新電氣股份有限公司 佛山 528000;2.中山火炬職業(yè)技術學院 中山 528400)
隨著人們生活水平的提高,居住面積的增大,對家用熱水裝置以及熱水系統(tǒng)的舒適性要求也越來越高,如何確保家庭熱水使用及時性和舒適性的同時,制定有效的能源管理策略,降低家庭生活熱水、采暖熱水等方面的能源消耗,對家庭熱水量進行預測研究就具有了一定的實用價值。
研究者一直致力于尋找能夠減少能源浪費的策略,主要應用的方法包括基于統(tǒng)計學的方法和基于機器學習的方法,通過對家庭熱水等使用數(shù)據(jù)的分析,可以得到使用時的規(guī)律、周期、趨勢等信息,同時,還可以通過聚類、關聯(lián)規(guī)則挖掘等技術,發(fā)現(xiàn)使用時的行為模式和相應的影響因素等,從而為制定組合能源管理策略提供參考。基于統(tǒng)計學的方法中,ARIMA 模型和季節(jié)性分解法是比較常用的兩種方法,王平等使用ARIMA 模型來對能源生產(chǎn)和使用進行預測[1],海文龍等則提出了一種基于ARIMA 與卷積長短時神經(jīng)網(wǎng)絡聯(lián)合使用的燃氣負荷預測模型[2]。
由于家庭用能使用習慣通常具有周期性和季節(jié)性的特征,相比傳統(tǒng)方法,機器學習方法具有端到端學習能力,可以處理非線性關系,以及處理包括多個傳感器、多個變量在內(nèi)的多維數(shù)據(jù),能更好地挖掘其中的信息。在基于機器學習的方法中,主要包括神經(jīng)網(wǎng)絡、支持向量回歸、隨機森林等算法。支持向量回歸(SVR)模型可以用于建模用能數(shù)據(jù)的非線性關系[3];隨機森林(RF)模型可以通過對歷史數(shù)據(jù)進行特征選擇和集成學習來提高預測準確性。
近年來,循環(huán)神經(jīng)網(wǎng)絡(RNNs)在家庭用能方面的研究逐漸增多[4,5],它的主要思想是在網(wǎng)絡的內(nèi)部維護一種稱為“狀態(tài)”的信息,使網(wǎng)絡能夠記憶過去的輸入,進而影響后續(xù)的輸出。由此,RNN 可以在處理用能等時間序列數(shù)據(jù)時保留更多的歷史信息,從而在此類預測任務中具有一定的優(yōu)勢。其中,最常見的RNN 是長短時記憶網(wǎng)絡(Long Short-Term Memory,LSTM)[6]。這種網(wǎng)絡結(jié)構(gòu)通過引入門控機制,可以有效地控制歷史信息的保留和遺忘,那幸儀等基于小波和LSTM 開展城市天然氣負荷方面的研究,結(jié)果表明該模型有較高的準確性[7]。
相比于LSTM 模型,門控循環(huán)單元(Gated Recurrent Unit ,GRU)模型是一種更簡單的RNN 模型[8],只包含重置門和更新門兩個門。GRU 模型在保持長期依賴能力的同時,減少了模型參數(shù),提高了模型的訓練速度。因此,本文引入GRU 模型來開展研究,提高家庭熱水量預測方面的準確性,希望提升能源利用效率同時,能夠為家庭用戶提供更加智能和舒適的生活熱水使用方式。
家庭熱水用量有一定的短、中、長期規(guī)律性。一般來說,熱水使用在一天之中會呈現(xiàn)出早晚高峰的態(tài)勢。例如,早晨人們起床洗漱和晚上洗澡時段的熱水需求較高。熱水用量在四季之間等長期趨勢上也會呈現(xiàn)明顯的差異,如冬季氣溫較低時,熱水使用量會增加等。雖然家庭熱水用量也會具有波動,如家庭成員可能會因為度假、出差或參加聚會等情況可能導致熱水用量的增加或減少,這給預測帶來了相應的難度??紤]到家庭成員的生活有一定的習慣性,因此本文以家庭成員的熱水用量,并將環(huán)境溫度也作為影響熱水用量預測的主要參數(shù),在此基礎上建立用水趨勢的預測模型。
熱水用量的大小,與用戶使用的時長,冷水端溫度,出水溫度等有關,本質(zhì)上是熱量消耗問題,因此就可以將家庭熱水用量轉(zhuǎn)化為熱量值來進行表征[9]。一般家庭用熱水量主要會集中在某幾個時間段,其余時間零星用水,本文以儲水式熱水器為研究對象,綜合考慮熱水器加熱功率,選取2 h 為時間間隔進行數(shù)據(jù)聚合,在保持數(shù)據(jù)的整體結(jié)構(gòu)同時,降低計算量,以此建立起時序預測模型。
門控循環(huán)單元GRU 是一種改進的RNN 結(jié)構(gòu),其在處理序列數(shù)據(jù)時,可以將前面的輸入與當前的輸入進行聯(lián)合處理,并將上一個時間步的輸出作為下一個時間步的輸入。通過引入門內(nèi)部機制來調(diào)節(jié)信息流,從而使模型能更加穩(wěn)定且能捕捉長期依賴,提高模型的學習效果。
GRU 主要包括兩個門控單元,更新門(Update Gate)和重置門(Reset Gate)。相較于LSTM,GRU 的張量操作較少,因此,訓練速度要比LSTM 快一些。
更新門負責控制隱藏狀態(tài)的更新程度,通過更新門,GRU 可以學習在不同時間步?jīng)Q定保留或丟棄哪些信息。更新門的計算公式如下:
式中:
zt—更新門的激活值;
σ—Sigmoid 激活函數(shù),取值范圍為 [0, 1];
Wz、Uz—權(quán)值矩陣;
xt—輸入序列的當前時間步的輸入;
ht-1—上一個時間步的隱藏狀態(tài)。
當zt接近0 時,表示保留過去的隱藏狀態(tài);當zt接近1 時,表示更新當前的隱藏狀態(tài)。
重置門負責控制過去隱藏狀態(tài)對當前隱藏狀態(tài)的影響。通過重置門,GRU 可以在更新隱藏狀態(tài)時,選擇性地保留或丟棄之前的信息。重置門的計算公式如下:
式中:
rt—重置門的激活值;
σ—Sigmoid 激活函數(shù),取值范圍為 [0, 1];
Wr、Ur—權(quán)值矩陣;
xt—輸入序列的當前時間步的輸入;
ht-1—上一個時間步的隱藏狀態(tài)。
當rt接近0 時,表示忽略過去的隱藏狀態(tài);當rt接近1 時,表示保留過去的隱藏狀態(tài)。
式中:
tanh—激活函數(shù),取值范圍為[-1, 1];
xt—當前輸入;
rt—重置門激活值,用來控制需要保留多少之前的記憶,如果 為0,那么只包含當前的信息;
ht-1—上一個時間步的隱藏狀態(tài)。
最后,GRU 通過結(jié)合更新門激活值、過去隱藏狀態(tài)和候選隱藏狀態(tài),計算得到當前時間步輸出的隱藏層信息 。計算公式如下:
式中:
ht—當前時間步的隱藏狀態(tài);
zt—門控制量;
ht-1—上一個時間步的隱藏狀態(tài);
通過這種方式,GRU 可以根據(jù)序列中的不同信息,靈活地保留或丟棄過去的隱藏狀態(tài),從而在時間序列預測任務中取得更好的效果。
模型的建立,首先需對獲得的熱水用量數(shù)據(jù)進行預處理,為了消除指標的量綱影響,需對數(shù)據(jù)在歸一化/標準化處理的基礎上搭建模型,將預測問題轉(zhuǎn)化為監(jiān)督學習問題,將數(shù)據(jù)集輸入模型進行訓練;最后對模型進行評估,并在評估基礎上對模型參數(shù)進行調(diào)優(yōu),綜合考慮后固化形成最終預測模型。流程如圖2 所示。
圖1 門控循環(huán)網(wǎng)絡模型及單元結(jié)構(gòu)
圖2 GRU 預測模型流程
1)數(shù)據(jù)預處理
首先,需要收集家庭用能數(shù)據(jù),為了提高模型的預測能力,需對數(shù)據(jù)進行清洗和異常值處理等操作,并對數(shù)據(jù)集的結(jié)構(gòu)和相關性進行分析,在觀察數(shù)據(jù)的相關性及平穩(wěn)性的基礎上,選擇采樣頻率。然后,可以進行數(shù)據(jù)歸一化處理,以便于模型訓練。
2)模型輸入
將預處理后的數(shù)據(jù)劃分為訓練集和測試集。訓練集用于訓練GRU 模型,測試集用于評估模型的預測結(jié)果。對于預測模型,需要將數(shù)據(jù)轉(zhuǎn)換為適合模型輸入的格式,即將時間序列數(shù)據(jù)轉(zhuǎn)化為樣本序列和目標序列??梢酝ㄟ^設置滑動窗口,將時間序列數(shù)據(jù)分割成多個樣本和目標序列。
3)模型建立
為了訓練數(shù)據(jù),首先需定義GRU 模型。
輸入層:用于接收時間序列數(shù)據(jù),通常包括若干時間步的變量值,本文中將前24 h 的用能數(shù)據(jù)作為輸入層樣本,加上環(huán)境溫度,共計13 個輸入量;
GRU 層:用于提取時間序列數(shù)據(jù)的特征,GRU 層中的門控單元可以有效地處理用能數(shù)據(jù)的依賴關系,可以通過增加層數(shù)和神經(jīng)元數(shù)來增加模型的復雜度和預測能力;
輸出層:用于輸出模型的預測結(jié)果,本文為預測下一個時間節(jié)點的熱水用量。
4)模型訓練
在模型建立后,用訓練集數(shù)據(jù)對模型進行訓練,在訓練過程中,需對模型參數(shù)進行調(diào)整,包括訓練步長、損失函數(shù)等,通過最小化損失函數(shù)來優(yōu)化模型的權(quán)重參數(shù)??梢酝ㄟ^監(jiān)控模型在訓練集和測試集上的損失函數(shù)值和預測準確度來評估模型的訓練效果,同時可以通過調(diào)整模型參數(shù)和超參數(shù)來進一步提高模型的預測能力,直到訓練數(shù)據(jù)與模型預測數(shù)據(jù)誤差滿足預設要求。
5)數(shù)據(jù)輸出
使用訓練好的GRU 模型對測試集進行預測,并將預測結(jié)果與實際用能數(shù)據(jù)進行比較,以評估模型的預測能力??梢允褂贸R姷恼`差指標,本文采用均方根誤差(RMSE)、平均絕對誤差(MAE)和相關系數(shù)R 來評估模型的預測性能。如果預測誤差較小,則表明模型能夠有效地預測熱水用量等家庭用能數(shù)據(jù)。
在完成模型的訓練和調(diào)優(yōu)后,可以將其進行壓縮或裁剪后部署到生產(chǎn)環(huán)境中進行使用。
為驗證GRU 模型的準確性,以額定功率3 300 W 的萬和某型號智能儲水式電熱水器的連續(xù)183 天的熱水用水研究數(shù)據(jù),聚合為每天12 個時間序列點,共計2 196個時間序列點作為研究樣本,將前面169 天的熱水量數(shù)據(jù)劃分為訓練集,后面14 天數(shù)據(jù)作為測試集,預測最新2 周(168 個時序點)的熱水用量。
GRU 網(wǎng)絡訓練中,每個時序點的預測都是通過前12個時間序列點和溫度數(shù)值預測出后1 個時間序列點的熱水量值,即GRU 模型的輸入長度為13、輸出長度為1,設置網(wǎng)絡迭代2 000 次,隱含層為1 層,其中神經(jīng)元數(shù)量為100。
作為GRU 效果對比,LSTM 網(wǎng)絡訓練與GRU 網(wǎng)絡訓練的參數(shù)設置完全一樣;而BP 神經(jīng)網(wǎng)絡構(gòu)建中,兼顧訓練時間和效果,設置隱含層1 層、神經(jīng)元數(shù)為80,最大迭代次數(shù)為2 000。經(jīng)過測試,將GRU 模型預測結(jié)果與BP、LSTM 算法模型的預測結(jié)果進行對比,如圖3 所示。
圖3 不同算法預測熱水量比對
為進一步比較算法的優(yōu)劣,將3 種預測模型(BP、LSTM、GRU)預測的RMSE、MAE、R 值、訓練耗時對比如表1 所示。
表1 不同算法預測性能結(jié)果
從圖3 中和表1 中可以看出,三種算法BP、LSTM、GRU 都能較好預測儲水式電熱水器用戶的熱水用量,在性能方面,基于GRU 模型預測結(jié)果的均方根誤差RMSE和平均絕對誤差MAE 更小,相關系數(shù)R 則更高,所需訓練時間對比起來也更短。結(jié)果表明,GRU 預測模型能更好地滿足熱水供應等用能方面的預測需求。
需要指出的是,由于家庭能源使用習慣的復雜性,當前的研究還面臨著一些挑戰(zhàn)?;跈C器學習的預測模型需要充分考慮家庭能源使用的復雜性和不確定性,在多模態(tài)數(shù)據(jù)融合方面,家庭用能數(shù)據(jù)不僅包括電能、燃氣能等能源的使用數(shù)據(jù),還包括溫度、濕度、氣壓等環(huán)境參數(shù)數(shù)據(jù),這些數(shù)據(jù)的融合可以更好地提高預測的準確性,因此,需要在未來的研究中進一步探索和完善相應的技術和方法,以及如何對模型進行評估、優(yōu)化及裁剪等。另外,也可以通過對時間序列進行多因素分解處理,并將預處理后的數(shù)據(jù)輸入到深度學習模型中進行進一步的學習和預測,更好地捕捉序列的特征來提高預測性能。