于銘多,郝學軍
(北京建筑大學 環境與能源應用工程學院,北京 100044)
城市燃氣負荷預測指分析燃氣負荷特性、預測未來一段時間內用氣規律和特征[1],其中日負荷預測可為燃氣短時間內的使用情況提供一定理論依據,便于對燃氣合理規劃、調配。
從燃氣負荷預測的研究進程來看,國內外燃氣負荷預測研究方法主要分為2種:一是傳統的數理方法,如回歸分析法、時間序列法等;二是人工智能類方法,主要以機器學習和新興的信號分析方法等理論為基礎,包括支持向量機、人工神經網絡等[2]。Gorucu[3]利用多元統計回歸法對安卡拉的天然氣用量進行了預測;Beyzanur等人[4]提出了一種結合遺傳算法(GA)和自回歸移動平均(ARIMA)方法的預測方法,對伊斯坦布爾的天然氣消耗量進行預測;郭微等人[5]應用支持向量機方法預測了天然氣負荷;Kizilaslan等人[6]通過對幾種不同神經網絡算法的比較,建立了適合伊斯坦布爾的天然氣日負荷預測模型;何恒根等人[7]采用BP 神經網絡模型進行燃氣負荷預測,得到了較高的預測精度。
目前神經網絡在燃氣預測領域應用最為廣泛,其中BP等傳統神經網絡無法識別出數據之間的關聯性,因此提出了一種循環神經網絡(RNN),主要用于處理和預測序列數據。由于簡單的RNN具有長期記憶能力不足等問題,有學者研發了一種新型循環神經網絡——長短期記憶神經網絡(Long Short-Term Memory,LSTM),可以學習長期依賴信息。文獻[8-9]選取LSTM、BP神經網絡等模型進行預測分析,結果表明LSTM模型優于其他模型。
城市燃氣日負荷是具有很強的周期性的序列數據,因受到外界各種因素影響,同時具有不確定性和隨機性,一般預測方法不能很好模擬出日負荷的波動情況。為進一步提高預測精度,本文提出一種基于LSTM神經網絡的燃氣日負荷預測方法,并針對神經網絡模型在訓練過程中易陷入過擬合的現象,應用Dropout技術對LSTM 網絡進行優化,使得構建的神經網絡模型具有更強的泛化能力。由于不同時期的燃氣日負荷特性不同,將歷史數據分組并進行相關性分析,分別建立供暖期、過渡期及非供暖期3個Dropout-LSTM預測模型,并將模型應用于某市的日負荷預測進行驗證,結果表明3個Dropout-LSTM模型均具有較好的預測效果,可應用于燃氣日負荷預測。
以華北某城市2018年1月1日至2020年12月31日的燃氣日負荷為例,分析城市燃氣日負荷特點。該城市供暖期為11月15日至次年3月15日。城市燃氣日負荷受自然條件和人為因素影響。其中自然條件一般包括溫濕度、風力等級、天氣情況、日期屬性等,人為因素包括市民自行設定室內溫度、調節供暖時間等。燃氣負荷時間序列蘊含大量的負荷變化規律信息,依此可以有效預測未來燃氣負荷[10]。燃氣日負荷與日均溫度隨時間的變化曲線見圖1。由圖1可知,該城市燃氣日負荷有較強的年周期規律性,且與溫度有明顯相關性,在供暖期尤為顯著。另經分析發現,部分節假日(如清明節假期、勞動節假期等)日負荷并無差異,僅在春節假期和國慶節假期等重大節假日出現波動。圖2展示了2018年不同星期類型(周一至周日)燃氣日負荷變化趨勢。供暖期燃氣日負荷周峰谷差和不同星期類型燃氣日負荷的波動都較為劇烈,但一周內不同星期類型的日負荷無顯著差異,可見星期類型對日負荷沒有較大影響。

圖1 燃氣日負荷與日均溫度隨時間的變化曲線

圖2 2018年不同星期類型的燃氣負荷變化趨勢

LSTM單元結構中包括遺忘門ft、輸入門it和輸出門ot[11]。遺忘門決定了當前時刻的單元狀態ct可以保留多少上一時刻單元狀態的信息;輸入門決定了單元狀態ct可以接收多少網絡的輸入xt的信息;輸出門通過激活函數Sigmoid控制當前輸出,隨后與tanh函數處理的單元狀態相乘共同確定最終的輸出ht。

圖3 LSTM單元結構
影響城鎮燃氣日負荷的因素較多,因此模型的參數較為復雜,且對于LSTM網絡這種規模較大的神經網絡來說,本文樣本數據較少,訓練樣本不夠充足,很容易產生過擬合現象。文獻[12]提出了Dropout 正則化方法,能有效避免過擬合并改善模型性能,在神經網絡中得到了廣泛應用。為提高模型預測精度,解決過擬合問題,本文在LSTM網絡基礎上引入Dropout技術。
本文基于Python軟件Keras深度學習框架中的Sequential模型搭建兩層Dropout-LSTM 網絡模型。在模型訓練中,使用Adam優化算法代替傳統的隨機梯度下降算法,Dropout神經元失活概率為0.2,更新器的學習率為0.01。
① 提取數據:采集歷史燃氣日負荷及相關影響因素數據。
② 數據預處理:數據預處理的作用主要是防止異常數據波動而引起訓練時間的增加,有效提高模型預測精度[13]。處理內容包括缺失值的插補、異常值的剔除與填補、數據的定量化以及歸一化。
a.采集用氣數據后未發現存在缺失值,經局部異常因子算法(Local Outlier Factor,LOF)篩選并剔除異常值后,經拉格朗日插值法進行填補,由此得到最終樣本數據。
b.輸入特征對預測模型的性能影響較大[14],本文選擇風力等級、天氣類型、日平均溫度、日最高溫度、日最低溫度、歷史日負荷、星期類型和節假日類型這幾種影響燃氣日負荷的因素構成輸入特征,其中風力等級、天氣類型、星期類型、節假日類型為定性數據,需要進行量化處理。量化規則對于預測結果產生一定影響,研究發現,將影響因素的定性信息映射于[0,1]區間的中后段時,預測結果具有較好的準確性[15],本文參考相關文獻中量化規則并結合實際情況,對影響因素進行量化,量化數據見表1~4。采用Min-Max歸一化方法將日平均溫度、日最高溫度、日最低溫度和歷史日負荷映射到[0,1]區間,公式為:
(1)
式中xg——日平均溫度、日最高溫度、日最低溫度或歷史日負荷歸一化后的值
x——日平均溫度、日最高溫度、日最低溫度或歷史日負荷的實際值
xmin——日平均溫度、日最高溫度、日最低溫度或歷史日負荷實際數據中的最小值
xmax——日平均溫度、日最高溫度、日最低溫度或歷史日負荷實際數據中的最大值

表1 風力等級的量化數據

表2 天氣類型的量化數據

表3 星期類型的量化數據

續表3

表4 節假日類型的量化數據
③ 相關性分析:應用SPSS統計軟件對燃氣日負荷與影響因素進行Pearson相關性分析,隨后確定模型的輸入特征。
④ 構建Dropout-LSTM模型:確定訓練集和測試集。將訓練集數據輸入已構建好的Dropout-LSTM模型中進行訓練。
⑤ 輸出結果:將測試集數據輸入Dropout-LSTM模型中進行測試,輸出測試集的預測值,并將預測值與真實值進行比較,評估模型的性能及預測效果。本文選取燃氣負荷預測中應用最廣泛的平均絕對百分比誤差來衡量真實值與預測值之間的偏差,平均絕對百分比誤差計算公式為:
(2)
式中IMAPE——平均絕對百分比誤差
n——樣本的數量
yi,p——第i個樣本的預測值
yi——第i個樣本的真實值
平均絕對百分比誤差越接近0,說明模型預測結果越準確。
① 全年3個時期的劃分
將全年分為供暖期(1月1日—3月15日、11月15日—12月31日)、過渡期(3月16日—4月15日、10月16日—11月14日)以及非供暖期(4月16日—10月15日)3個時期。不同時期的燃氣日負荷特性有所差別,因此建立供暖期、過渡期和非供暖期3個Dropout-LSTM模型,并探究每一時期燃氣日負荷與影響因素的相關性,確定對應模型的輸入特征,分別對3個時期的燃氣日負荷進行預測。
② 確定3個時期模型的輸入特征
不同時期燃氣日負荷與影響因素的Pearson相關性分析見表5。相關系數絕對值越接近1表示兩個變量的相關性越強,越接近0表示相關性越弱。當相關系數絕對值在區間[0.4,1.0]表示呈強相關性,在區間[0.15,0.40)表示呈弱相關性,在區間[0,0.15)表示無相關性。3個時期的燃氣日負荷都與日均溫度、日最高溫度、日最低溫度、前一天負荷、前二天負荷、前三天負荷呈強相關性。另外,供暖期日負荷與節假日類型和風力等級呈弱相關性,與天氣類型和星期類型無相關性;過渡期日負荷與風力等級呈弱相關性,與天氣類型、星期類型和節假日類型無相關性;非供暖期日負荷與天氣類型和風力等級呈弱相關性,與星期類型和節假日類型無相關性。
為保證預測的準確性,考慮更多輸入特征,本文選取與燃氣日負荷呈強、弱相關性的影響因素作為不同時期模型的輸入特征,見表6。

表5 不同時期燃氣日負荷與影響因素的Pearson相關性分析

續表5
③ 確定3個時期模型的訓練集和測試集
分別將采集到的供暖期、過渡期和非供暖期數據劃分為訓練集和測試集,具體劃分情況見表6。以供暖期模型為例,將2018年1月4日—3月15日、2018年11月15日—12月31日、2019年1月1日—3月15日、2019年11月15日—12月31日、2020年1月1日—3月15日、2020年11月15日—12月11日每日的8個特征(日均溫度,日最高溫度,日最低溫度,節假日類型,風力等級,其前一、二、三天負荷)和日負荷組成1個樣本,將這些樣本作為訓練集用于模型訓練。將訓練集內第N日的日均溫度、日最高溫度、日最低溫度、節假日類型、風力等級和第N-1日負荷、第N-2日負荷、第N-3日負荷作為輸入,模型輸出為第N日的日負荷。將2020年12月12日—31日的樣本作為測試集。
④ 預測效果對比分析
為驗證Dropout-LSTM 模型具有較高的預測能

表6 3個時期模型的輸入特征和訓練集、測試集數據所處日期
力,同時選取BP神經網絡模型(簡稱BP模型)、單一LSTM模型(簡稱LSTM模型)以及支持向量機模型(簡稱SVM模型)分別進行3個時期的日負荷預測,計算得到平均絕對百分比誤差,并與Dropout-LSTM 模型的平均絕對百分比誤差進行對比,結果見表7。3個時期不同模型部分燃氣日負荷預測值見圖4~6。

表7 4個模型預測平均絕對百分比誤差 %

圖4 2020年供暖期不同模型部分燃氣日負荷預測值對比

圖5 2020年過渡期不同模型部分燃氣日負荷預測值對比

圖6 2020年非供暖期不同模型部分燃氣日負荷預測值對比
由表7可看出,BP模型預測效果較差;SVM模型對解決小樣本問題有明顯優勢[16],因此在本文數據較少的情況下預測效果較好;Dropout-LSTM模型的平均絕對百分比誤差最小,是所有模型中預測效果最好的。
由圖4~6可以看出,每個時期4種模型的預測值與真實值的變化趨勢基本一致,表明選取的輸入特征是合理的。
此外,供暖期是一年中燃氣日負荷最大的時期,燃氣主要用于供暖,用氣規律性強,4種模型對供暖期日負荷的預測精度是最高的;過渡期的日負荷波動程度大,負荷特性難以提取,部分日期的預測值與真實值產生較大偏離,導致預測效果不如其他兩個時期。
⑤ 不劃分時期的日負荷預測
將把全年劃分為3個時期的預測模型稱為分時期預測模型。為進一步證明分時期預測模型具有較高的適用性和預測精度,現建立不劃分時期的全年預測模型,仍對同時段的燃氣日負荷進行預測。將3 a全部數據進行相關性分析,結果見表8。

表8 全年燃氣日負荷與影響因素的Pearson相關性分析
選日均溫度、日最高溫度、日最低溫度、風力等級、前一天負荷、前二天負荷、前三天負荷作為輸入特征,將2018年1月4日—2020年9月30日的數據作為訓練集,對2020年10月1日—10月15日、11月1日—11月14日、12月16日—12月31日的日負荷進行預測。分時期預測模型與全年預測模型的平均絕對百分比誤差見表9。

表9 分時期預測模型與全年預測模型的平均絕對百分比誤差
由表9可以看出,與分時期預測模型相比,全年預測模型的預測效果較差,表明將全年數據進行整體分析建模不能有效描述所有日期的用氣情況。
① 將全年分為供暖期、過渡期和非供暖期3個時期,3個時期的燃氣日負荷都與日均溫度、日最高溫度、日最低溫度、前一天負荷、前二天負荷、前三天負荷呈強相關性。供暖期日負荷與節假日類型和風力等級呈弱相關性,與天氣類型和星期類型無相關性;過渡期日負荷與風力等級呈弱相關性,與天氣類型、星期類型和節假日類型無相關性;非供暖期日負荷與天氣類型和風力等級呈弱相關性,與星期類型和節假日類型無相關性。
② Dropout-LSTM模型可以很好地預測城市燃氣日負荷,比BP模型、LSTM模型以及SVM模型有更好的預測效果。
③ 與基于全年數據的全年預測模型相比,分時期預測模型預測精度更高。
④ 供暖期的燃氣日負荷規律性強,對供暖期的日負荷預測精度最高,非供暖期次之,由于過渡期日負荷波動大,預測效果是3個時期中最差的。