袁 培,雷正霖,曾慶輝,武宜霄,呂彥力,胡朝龍
(1.鄭州輕工業(yè)大學,鄭州 450000;2.山東小鴨冷鏈有限公司,濟南 250000)
目前食品冷藏陳列柜的電能消耗約占超市總電能消耗的50%~60%[1-2],特別是敞開式冷藏陳列柜,由于其直接與環(huán)境接觸,產(chǎn)生高耗能和柜內溫度波動等現(xiàn)象。所以,在保證食品品質的前提下,如何降低食品冷藏陳列柜的能耗是一個研究熱點。食品冷藏陳列柜的能耗與負荷有關,如何對食品冷藏陳列柜負荷進行準確預測,是實現(xiàn)科學運行的前提,是節(jié)能降耗的基礎工作。
陸繼翔等[3]采用CNN-LSTM混合神經(jīng)網(wǎng)絡模型對電力系統(tǒng)的短期負荷進行預測,并與ARIMA、隨機森林、LSTM模型進行比較。結果表明:相同條件下,CNN-LSTM混合神經(jīng)網(wǎng)絡模型的LSTM模型層數(shù)為4、訓練次數(shù)為500,模型的絕對百分比誤差在0.35%至2.81%,預測準確度最高。李晨亮[4]采用EEMD-LSTM模型對滬深300指數(shù)進行預測研究。結果表明:對比BP、EEMD-BP、LSTM模型,EEMD-LSTM預測性能最優(yōu),模型的絕對百分比誤差為0.294%,指數(shù)方向的預測準確性達到63.93%。WANG等[5]采用LSTM模型對搭建的制冷系統(tǒng)平臺進行能耗預測。結果表明:相比傳統(tǒng)預測方法,LSTM模型具備更好的預測精度,LSTM的根均方誤差比BPNN低19.7%,比ARMA低54.85%,比ARFIMA低64.59%,LSTM模型能很好的預測能耗。
食品冷藏陳列柜的負荷與環(huán)境溫度、濕度、人流量、結霜融霜、壓縮機功耗、制冷劑等多種獨立因素相關,準確計算較為困難。這些獨立因素具備時間序列性和非線性的特點,數(shù)據(jù)挖掘在處理這類數(shù)據(jù)具備獨特優(yōu)勢。本研究引入LSTM神經(jīng)網(wǎng)絡模型,將制冷劑質量流速、膨脹閥功率、制冷劑氣液壓力、蒸發(fā)器進出口溫度、制冷劑氣液焓值、測試時間作為輸入數(shù)據(jù),通過對數(shù)據(jù)預處理、訓練數(shù)據(jù)確定LSTM模型層數(shù)和訓練次數(shù)、導入模型中進行預測,最終與實際負荷進行對比,實現(xiàn)對冷藏陳列柜負荷的預測目的。
本研究采集的樣本點來自某公司提供的立式冷藏陳列柜測試數(shù)據(jù),所采集的樣本點包括(制冷劑質量流速、膨脹閥功率、制冷劑氣液壓力、蒸發(fā)器進出口溫度、制冷劑氣液焓值、測試時間),測試時間為2019年11月18日8:00:03~2019年11 月 19 日 8:00:03,時間步長為 10 s,共計 8 641組樣本點,80%的樣本點數(shù)據(jù)劃分為訓練集,20%的樣本點數(shù)據(jù)劃分為測試集。
1.2.1 異常值處理
由于采集數(shù)據(jù)過程中可能出現(xiàn)問題,采集的數(shù)據(jù)難免會出現(xiàn)缺失、異常等情況,影響模型預測精度,首先要用python中pandas和numpy模塊采用過濾缺失值、補全缺失值、數(shù)據(jù)轉換等操作。
1.2.2 數(shù)據(jù)歸一化
本研究采用的模型對輸入數(shù)據(jù)有一定的要求,需要將輸入數(shù)據(jù)進行歸一化處理,將不同范圍的數(shù)據(jù)特征統(tǒng)一規(guī)范,統(tǒng)一到[0,1]。
式中 xmormalization——歸一化后的輸入數(shù)據(jù);
x ——輸入數(shù)據(jù);
xMin——輸入數(shù)據(jù)的最小值;
xMax——輸入數(shù)據(jù)的最大值。
相較于傳統(tǒng)的預測方法,LSTM網(wǎng)絡模型對非線性和時間序列的數(shù)據(jù)具備較好的逼近能力,負荷這類數(shù)據(jù)具備非線性和時間相關性的特點,因此針對負荷這類時間序列數(shù)據(jù)LSTM模型具備較好的預測適應性。LSTM由Hochreiter &Schmidhuber(1997)提出[6],是一種特殊的遞歸神經(jīng)網(wǎng)絡(RNN)。LSTM網(wǎng)絡包含三個門(遺忘門、輸入門、輸出門),其網(wǎng)絡基本單元如圖1所示[7]。三個門的功能如下:輸入門控制流入存儲單元的當前信息量;輸出門控制流入網(wǎng)絡其余部分的當前信息量;遺忘門選擇前一時刻的單元狀態(tài),并自適應地將部分信息保留到當前時刻。
圖1 LSTM基本單元結構Fig.1 LSTM basic unit structure
遺忘門通過sigmoid層決定什么信息通過記憶單元,會根據(jù)上一時刻輸出值ht-1和當前輸入值xt產(chǎn)生一個0-1的ft值,來決定上一時刻學到的信息Ct-1通過或部分通過,數(shù)字1保留信息,數(shù)字0舍棄信息;輸入門中的xt通過sigmoid和tanh函數(shù)產(chǎn)生候選值、it,二者作用產(chǎn)生中間值 Ct;輸出門通過sigmoid層來得到一個初始輸出ot,tanh函數(shù)將 Ct縮放,并與 ot相乘得到輸出 ht[8-10]。
本研究在深度學習工具TensorFlow基礎上[11],利用 python 中 pandas、Keras、Numpy、matplotlib 等模塊來構建LSTM模型,并通過讀取數(shù)據(jù)、數(shù)據(jù)預處理、訓練數(shù)據(jù)、測試數(shù)據(jù)和數(shù)據(jù)可視化等操作完成負荷的預測。LSTM神經(jīng)網(wǎng)絡模型將時間序列數(shù)據(jù)作為輸入數(shù)據(jù),其中蒸發(fā)器進出口溫度、壓力、焓值、流量、膨脹閥功率都是相互獨立的時間序列數(shù)據(jù),為了耦合影響冷藏陳列柜負荷的影響因素,需要將所有的因素聚合到一起并轉換成數(shù)組類型的數(shù)據(jù),并將數(shù)據(jù)設置成以時間序列索引,以此形成了一個以時間序列為索引的新的時間序列數(shù)據(jù),每個影響因素和負荷組成特征值,方便模型導入數(shù)據(jù)和快速計算。
為了驗證LSTM神經(jīng)網(wǎng)絡的預測效果,采用三大評價指標均方誤差(MSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)[12]。
式中 n ——數(shù)據(jù)樣本點數(shù)量;
actual(t)——t時刻的真實負荷值;
forecast(t)——t時刻的預測負荷值;
MAE ——平均絕對誤差;
MSE ——均方根誤差;
MAPE ——平均絕對百分比誤差。
平均絕對誤差MAE范圍[0,∞],當預測值與真實值完全吻合時為0,即完美模型,誤差越大,該值越大;MSE均方根誤差,又稱為平均損失,本研究采用MAE評價損失函數(shù)和MAPE作為模型性能評價指標,MAE在數(shù)據(jù)上比較直觀;MAPE平均絕對百分比誤差,表明模型的誤差百分比。
本研究將樣本點80%數(shù)據(jù)8用于訓練集,20%用于測試集,并將數(shù)據(jù)設置成按時間索引。本研究通過采用控制變量法來逐步調整模型的精度。通過控制設定LSTM模型的層數(shù),通過改變訓練次數(shù)來逐漸提高模型預測精準度,達到不斷優(yōu)化模型的效果。本研究采用平均絕對誤差MAE作為損失函數(shù)來衡量模型的精確度,損失函數(shù)是可以很好得反映模型與實際數(shù)據(jù)差距的工具。首先固定LSTM模型的層數(shù),逐步增加訓練次數(shù),接著固定訓練次數(shù),逐步增加LSTM模型的層數(shù),來驗證LSTM模型的層數(shù)和訓練次數(shù)對預測精度的影響。表1給出了不同LSTM層數(shù)和訓練次數(shù)對應的訓練集和測試集的損失函數(shù)和平均絕對百分比誤差。由圖2(a)~(f)可以看出,損失函數(shù)隨著訓練次數(shù)的升高呈下降趨勢,所以訓練集和測試集的損失函數(shù)最大差距在開始處,訓練集和損失集最開始的損失函數(shù)差值從圖2(a)~(d)是減小,從圖2(e)~(f)是增大。由表1可以看出,6組對照實驗訓練集的最終的平均絕對誤差MAE分別為 0.207 9,0.190 1,0.176 7,0.181 1,0.193 2,0.204 6,MAE隨著訓練次數(shù)的增加逐漸減小,從訓練次數(shù)為250時開始逐漸增加,測試集MAE變化趨勢和訓練集一致。網(wǎng)絡層數(shù)一定時,增加訓練次數(shù)可以降低損失函數(shù),當訓練次數(shù)超過200時,出現(xiàn)測試集損失函數(shù)的誤差增大的現(xiàn)象;再結合表1可以看出在保持LSTM模型的訓練次數(shù)不變,增加模型層數(shù)能有效提高模型預測精度,但層數(shù)過高會出現(xiàn)過擬合的現(xiàn)象,如表中層數(shù)為5是MAE和VAL_MAE反而出現(xiàn)提高的現(xiàn)象。
表1 模型結構優(yōu)化試驗結果Tab.1 Model structure optimization test results
圖2 訓練次數(shù)100~350的損失函數(shù)Fig.2 Loss function with training times 100~350
經(jīng)過上述試驗,可以確定LSTM模型的層數(shù)為4及200訓練次數(shù),將訓練好的訓練集和測試集導入模型,輸出預測結果并與實際結果對比來具體顯現(xiàn)模型預測的精度,圖3所示為實際數(shù)據(jù)和預測數(shù)據(jù)的折線圖,圖4是2019年11月18日20:00:03前后的預測數(shù)據(jù)放大圖。圖3,4中豎直黑線是區(qū)分訓練集和測試集的分割線。
圖3 制冷負荷預測曲線和實際曲線的對比Fig.3 Comparison of cooling load forecast curve and actual curve
圖4 2019/11/19 04:00:03前后的預測數(shù)據(jù)放大圖Fig.4 An enlarged view of the forecast data before and after 2019/11/19 04:00:03
可以看出絕大部分的預測數(shù)據(jù)基本上與實際數(shù)據(jù)一致,但是在融霜階段和融霜后負荷大幅上升階段預測值和實際值出現(xiàn)較大的偏差,預測值和實際值的最大差值為4.447 7 kW·h,占比為10.27%,最小差值為5.4×10-5;雖然個別的數(shù)據(jù)點上出現(xiàn)較大但是總體上預測效果還是不錯的,預測的數(shù)據(jù)變化趨勢是與實際數(shù)據(jù)是一致的,模型在訓練集的絕對百分比誤差為1.836 2%,測試集的絕對百分比誤差為1.982 7%,測試集的絕對百分比誤差略微提高,是因為測試集在訓練集基礎上預測負荷,誤差積累導致測試集的絕對百分比誤差提高。
(1)LSTM模型層數(shù)為2,訓練次數(shù)分別為100,150,200,250,300,350的平均絕對誤差分別為0.207 9,0.190 1,0.176 7,0.181 1,0.193 2,0.204 6,經(jīng)過對比測試,最終確定LSTM模型層數(shù)為4,訓練次數(shù)為200,MAE為0.162 7,VAL_MAE為0.182 3,整個模型平均的MAPE為1.909 4%,為最優(yōu)模型。
(2)將數(shù)據(jù)導入訓練好的模型,得到模型在訓練集的平均絕對百分比誤差達到1.836 2%,測試集的平均絕對百分比誤差達到1.982 7%,預測值在融霜階段和融霜后的短期內出現(xiàn)較大的誤差,預測值和實際值的最大差值為4.447 7 kW·h,占比為10.27%,最小差值為5.4×10-5kW·h。
下一步本研究準備采集超市等場所的實際狀況,引入人流量、商品數(shù)量等影響因素,結合調整的LSTM模型更加貼近實際生活的預測負荷,為下一步為冷藏陳列柜的科學運行和節(jié)能打好基礎。