于銘多,郝學(xué)軍
(北京建筑大學(xué) 環(huán)境與能源應(yīng)用工程學(xué)院,北京 100044)
城市燃?xì)庳?fù)荷預(yù)測(cè)指分析燃?xì)庳?fù)荷特性、預(yù)測(cè)未來一段時(shí)間內(nèi)用氣規(guī)律和特征[1],其中日負(fù)荷預(yù)測(cè)可為燃?xì)舛虝r(shí)間內(nèi)的使用情況提供一定理論依據(jù),便于對(duì)燃?xì)夂侠硪?guī)劃、調(diào)配。
從燃?xì)庳?fù)荷預(yù)測(cè)的研究進(jìn)程來看,國(guó)內(nèi)外燃?xì)庳?fù)荷預(yù)測(cè)研究方法主要分為2種:一是傳統(tǒng)的數(shù)理方法,如回歸分析法、時(shí)間序列法等;二是人工智能類方法,主要以機(jī)器學(xué)習(xí)和新興的信號(hào)分析方法等理論為基礎(chǔ),包括支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)等[2]。Gorucu[3]利用多元統(tǒng)計(jì)回歸法對(duì)安卡拉的天然氣用量進(jìn)行了預(yù)測(cè);Beyzanur等人[4]提出了一種結(jié)合遺傳算法(GA)和自回歸移動(dòng)平均(ARIMA)方法的預(yù)測(cè)方法,對(duì)伊斯坦布爾的天然氣消耗量進(jìn)行預(yù)測(cè);郭微等人[5]應(yīng)用支持向量機(jī)方法預(yù)測(cè)了天然氣負(fù)荷;Kizilaslan等人[6]通過對(duì)幾種不同神經(jīng)網(wǎng)絡(luò)算法的比較,建立了適合伊斯坦布爾的天然氣日負(fù)荷預(yù)測(cè)模型;何恒根等人[7]采用BP 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行燃?xì)庳?fù)荷預(yù)測(cè),得到了較高的預(yù)測(cè)精度。
目前神經(jīng)網(wǎng)絡(luò)在燃?xì)忸A(yù)測(cè)領(lǐng)域應(yīng)用最為廣泛,其中BP等傳統(tǒng)神經(jīng)網(wǎng)絡(luò)無法識(shí)別出數(shù)據(jù)之間的關(guān)聯(lián)性,因此提出了一種循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),主要用于處理和預(yù)測(cè)序列數(shù)據(jù)。由于簡(jiǎn)單的RNN具有長(zhǎng)期記憶能力不足等問題,有學(xué)者研發(fā)了一種新型循環(huán)神經(jīng)網(wǎng)絡(luò)——長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM),可以學(xué)習(xí)長(zhǎng)期依賴信息。文獻(xiàn)[8-9]選取LSTM、BP神經(jīng)網(wǎng)絡(luò)等模型進(jìn)行預(yù)測(cè)分析,結(jié)果表明LSTM模型優(yōu)于其他模型。
城市燃?xì)馊肇?fù)荷是具有很強(qiáng)的周期性的序列數(shù)據(jù),因受到外界各種因素影響,同時(shí)具有不確定性和隨機(jī)性,一般預(yù)測(cè)方法不能很好模擬出日負(fù)荷的波動(dòng)情況。為進(jìn)一步提高預(yù)測(cè)精度,本文提出一種基于LSTM神經(jīng)網(wǎng)絡(luò)的燃?xì)馊肇?fù)荷預(yù)測(cè)方法,并針對(duì)神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練過程中易陷入過擬合的現(xiàn)象,應(yīng)用Dropout技術(shù)對(duì)LSTM 網(wǎng)絡(luò)進(jìn)行優(yōu)化,使得構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型具有更強(qiáng)的泛化能力。由于不同時(shí)期的燃?xì)馊肇?fù)荷特性不同,將歷史數(shù)據(jù)分組并進(jìn)行相關(guān)性分析,分別建立供暖期、過渡期及非供暖期3個(gè)Dropout-LSTM預(yù)測(cè)模型,并將模型應(yīng)用于某市的日負(fù)荷預(yù)測(cè)進(jìn)行驗(yàn)證,結(jié)果表明3個(gè)Dropout-LSTM模型均具有較好的預(yù)測(cè)效果,可應(yīng)用于燃?xì)馊肇?fù)荷預(yù)測(cè)。
以華北某城市2018年1月1日至2020年12月31日的燃?xì)馊肇?fù)荷為例,分析城市燃?xì)馊肇?fù)荷特點(diǎn)。該城市供暖期為11月15日至次年3月15日。城市燃?xì)馊肇?fù)荷受自然條件和人為因素影響。其中自然條件一般包括溫濕度、風(fēng)力等級(jí)、天氣情況、日期屬性等,人為因素包括市民自行設(shè)定室內(nèi)溫度、調(diào)節(jié)供暖時(shí)間等。燃?xì)庳?fù)荷時(shí)間序列蘊(yùn)含大量的負(fù)荷變化規(guī)律信息,依此可以有效預(yù)測(cè)未來燃?xì)庳?fù)荷[10]。燃?xì)馊肇?fù)荷與日均溫度隨時(shí)間的變化曲線見圖1。由圖1可知,該城市燃?xì)馊肇?fù)荷有較強(qiáng)的年周期規(guī)律性,且與溫度有明顯相關(guān)性,在供暖期尤為顯著。另經(jīng)分析發(fā)現(xiàn),部分節(jié)假日(如清明節(jié)假期、勞動(dòng)節(jié)假期等)日負(fù)荷并無差異,僅在春節(jié)假期和國(guó)慶節(jié)假期等重大節(jié)假日出現(xiàn)波動(dòng)。圖2展示了2018年不同星期類型(周一至周日)燃?xì)馊肇?fù)荷變化趨勢(shì)。供暖期燃?xì)馊肇?fù)荷周峰谷差和不同星期類型燃?xì)馊肇?fù)荷的波動(dòng)都較為劇烈,但一周內(nèi)不同星期類型的日負(fù)荷無顯著差異,可見星期類型對(duì)日負(fù)荷沒有較大影響。
圖1 燃?xì)馊肇?fù)荷與日均溫度隨時(shí)間的變化曲線
圖2 2018年不同星期類型的燃?xì)庳?fù)荷變化趨勢(shì)
LSTM單元結(jié)構(gòu)中包括遺忘門ft、輸入門it和輸出門ot[11]。遺忘門決定了當(dāng)前時(shí)刻的單元狀態(tài)ct可以保留多少上一時(shí)刻單元狀態(tài)的信息;輸入門決定了單元狀態(tài)ct可以接收多少網(wǎng)絡(luò)的輸入xt的信息;輸出門通過激活函數(shù)Sigmoid控制當(dāng)前輸出,隨后與tanh函數(shù)處理的單元狀態(tài)相乘共同確定最終的輸出ht。
圖3 LSTM單元結(jié)構(gòu)
影響城鎮(zhèn)燃?xì)馊肇?fù)荷的因素較多,因此模型的參數(shù)較為復(fù)雜,且對(duì)于LSTM網(wǎng)絡(luò)這種規(guī)模較大的神經(jīng)網(wǎng)絡(luò)來說,本文樣本數(shù)據(jù)較少,訓(xùn)練樣本不夠充足,很容易產(chǎn)生過擬合現(xiàn)象。文獻(xiàn)[12]提出了Dropout 正則化方法,能有效避免過擬合并改善模型性能,在神經(jīng)網(wǎng)絡(luò)中得到了廣泛應(yīng)用。為提高模型預(yù)測(cè)精度,解決過擬合問題,本文在LSTM網(wǎng)絡(luò)基礎(chǔ)上引入Dropout技術(shù)。
本文基于Python軟件Keras深度學(xué)習(xí)框架中的Sequential模型搭建兩層Dropout-LSTM 網(wǎng)絡(luò)模型。在模型訓(xùn)練中,使用Adam優(yōu)化算法代替?zhèn)鹘y(tǒng)的隨機(jī)梯度下降算法,Dropout神經(jīng)元失活概率為0.2,更新器的學(xué)習(xí)率為0.01。
① 提取數(shù)據(jù):采集歷史燃?xì)馊肇?fù)荷及相關(guān)影響因素?cái)?shù)據(jù)。
② 數(shù)據(jù)預(yù)處理:數(shù)據(jù)預(yù)處理的作用主要是防止異常數(shù)據(jù)波動(dòng)而引起訓(xùn)練時(shí)間的增加,有效提高模型預(yù)測(cè)精度[13]。處理內(nèi)容包括缺失值的插補(bǔ)、異常值的剔除與填補(bǔ)、數(shù)據(jù)的定量化以及歸一化。
a.采集用氣數(shù)據(jù)后未發(fā)現(xiàn)存在缺失值,經(jīng)局部異常因子算法(Local Outlier Factor,LOF)篩選并剔除異常值后,經(jīng)拉格朗日插值法進(jìn)行填補(bǔ),由此得到最終樣本數(shù)據(jù)。
b.輸入特征對(duì)預(yù)測(cè)模型的性能影響較大[14],本文選擇風(fēng)力等級(jí)、天氣類型、日平均溫度、日最高溫度、日最低溫度、歷史日負(fù)荷、星期類型和節(jié)假日類型這幾種影響燃?xì)馊肇?fù)荷的因素構(gòu)成輸入特征,其中風(fēng)力等級(jí)、天氣類型、星期類型、節(jié)假日類型為定性數(shù)據(jù),需要進(jìn)行量化處理。量化規(guī)則對(duì)于預(yù)測(cè)結(jié)果產(chǎn)生一定影響,研究發(fā)現(xiàn),將影響因素的定性信息映射于[0,1]區(qū)間的中后段時(shí),預(yù)測(cè)結(jié)果具有較好的準(zhǔn)確性[15],本文參考相關(guān)文獻(xiàn)中量化規(guī)則并結(jié)合實(shí)際情況,對(duì)影響因素進(jìn)行量化,量化數(shù)據(jù)見表1~4。采用Min-Max歸一化方法將日平均溫度、日最高溫度、日最低溫度和歷史日負(fù)荷映射到[0,1]區(qū)間,公式為:
(1)
式中xg——日平均溫度、日最高溫度、日最低溫度或歷史日負(fù)荷歸一化后的值
x——日平均溫度、日最高溫度、日最低溫度或歷史日負(fù)荷的實(shí)際值
xmin——日平均溫度、日最高溫度、日最低溫度或歷史日負(fù)荷實(shí)際數(shù)據(jù)中的最小值
xmax——日平均溫度、日最高溫度、日最低溫度或歷史日負(fù)荷實(shí)際數(shù)據(jù)中的最大值
表1 風(fēng)力等級(jí)的量化數(shù)據(jù)
表2 天氣類型的量化數(shù)據(jù)
表3 星期類型的量化數(shù)據(jù)
續(xù)表3
表4 節(jié)假日類型的量化數(shù)據(jù)
③ 相關(guān)性分析:應(yīng)用SPSS統(tǒng)計(jì)軟件對(duì)燃?xì)馊肇?fù)荷與影響因素進(jìn)行Pearson相關(guān)性分析,隨后確定模型的輸入特征。
④ 構(gòu)建Dropout-LSTM模型:確定訓(xùn)練集和測(cè)試集。將訓(xùn)練集數(shù)據(jù)輸入已構(gòu)建好的Dropout-LSTM模型中進(jìn)行訓(xùn)練。
⑤ 輸出結(jié)果:將測(cè)試集數(shù)據(jù)輸入Dropout-LSTM模型中進(jìn)行測(cè)試,輸出測(cè)試集的預(yù)測(cè)值,并將預(yù)測(cè)值與真實(shí)值進(jìn)行比較,評(píng)估模型的性能及預(yù)測(cè)效果。本文選取燃?xì)庳?fù)荷預(yù)測(cè)中應(yīng)用最廣泛的平均絕對(duì)百分比誤差來衡量真實(shí)值與預(yù)測(cè)值之間的偏差,平均絕對(duì)百分比誤差計(jì)算公式為:
(2)
式中IMAPE——平均絕對(duì)百分比誤差
n——樣本的數(shù)量
yi,p——第i個(gè)樣本的預(yù)測(cè)值
yi——第i個(gè)樣本的真實(shí)值
平均絕對(duì)百分比誤差越接近0,說明模型預(yù)測(cè)結(jié)果越準(zhǔn)確。
① 全年3個(gè)時(shí)期的劃分
將全年分為供暖期(1月1日—3月15日、11月15日—12月31日)、過渡期(3月16日—4月15日、10月16日—11月14日)以及非供暖期(4月16日—10月15日)3個(gè)時(shí)期。不同時(shí)期的燃?xì)馊肇?fù)荷特性有所差別,因此建立供暖期、過渡期和非供暖期3個(gè)Dropout-LSTM模型,并探究每一時(shí)期燃?xì)馊肇?fù)荷與影響因素的相關(guān)性,確定對(duì)應(yīng)模型的輸入特征,分別對(duì)3個(gè)時(shí)期的燃?xì)馊肇?fù)荷進(jìn)行預(yù)測(cè)。
② 確定3個(gè)時(shí)期模型的輸入特征
不同時(shí)期燃?xì)馊肇?fù)荷與影響因素的Pearson相關(guān)性分析見表5。相關(guān)系數(shù)絕對(duì)值越接近1表示兩個(gè)變量的相關(guān)性越強(qiáng),越接近0表示相關(guān)性越弱。當(dāng)相關(guān)系數(shù)絕對(duì)值在區(qū)間[0.4,1.0]表示呈強(qiáng)相關(guān)性,在區(qū)間[0.15,0.40)表示呈弱相關(guān)性,在區(qū)間[0,0.15)表示無相關(guān)性。3個(gè)時(shí)期的燃?xì)馊肇?fù)荷都與日均溫度、日最高溫度、日最低溫度、前一天負(fù)荷、前二天負(fù)荷、前三天負(fù)荷呈強(qiáng)相關(guān)性。另外,供暖期日負(fù)荷與節(jié)假日類型和風(fēng)力等級(jí)呈弱相關(guān)性,與天氣類型和星期類型無相關(guān)性;過渡期日負(fù)荷與風(fēng)力等級(jí)呈弱相關(guān)性,與天氣類型、星期類型和節(jié)假日類型無相關(guān)性;非供暖期日負(fù)荷與天氣類型和風(fēng)力等級(jí)呈弱相關(guān)性,與星期類型和節(jié)假日類型無相關(guān)性。
為保證預(yù)測(cè)的準(zhǔn)確性,考慮更多輸入特征,本文選取與燃?xì)馊肇?fù)荷呈強(qiáng)、弱相關(guān)性的影響因素作為不同時(shí)期模型的輸入特征,見表6。
表5 不同時(shí)期燃?xì)馊肇?fù)荷與影響因素的Pearson相關(guān)性分析
續(xù)表5
③ 確定3個(gè)時(shí)期模型的訓(xùn)練集和測(cè)試集
分別將采集到的供暖期、過渡期和非供暖期數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集,具體劃分情況見表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個(gè)特征(日均溫度,日最高溫度,日最低溫度,節(jié)假日類型,風(fēng)力等級(jí),其前一、二、三天負(fù)荷)和日負(fù)荷組成1個(gè)樣本,將這些樣本作為訓(xùn)練集用于模型訓(xùn)練。將訓(xùn)練集內(nèi)第N日的日均溫度、日最高溫度、日最低溫度、節(jié)假日類型、風(fēng)力等級(jí)和第N-1日負(fù)荷、第N-2日負(fù)荷、第N-3日負(fù)荷作為輸入,模型輸出為第N日的日負(fù)荷。將2020年12月12日—31日的樣本作為測(cè)試集。
④ 預(yù)測(cè)效果對(duì)比分析
為驗(yàn)證Dropout-LSTM 模型具有較高的預(yù)測(cè)能
表6 3個(gè)時(shí)期模型的輸入特征和訓(xùn)練集、測(cè)試集數(shù)據(jù)所處日期
力,同時(shí)選取BP神經(jīng)網(wǎng)絡(luò)模型(簡(jiǎn)稱BP模型)、單一LSTM模型(簡(jiǎn)稱LSTM模型)以及支持向量機(jī)模型(簡(jiǎn)稱SVM模型)分別進(jìn)行3個(gè)時(shí)期的日負(fù)荷預(yù)測(cè),計(jì)算得到平均絕對(duì)百分比誤差,并與Dropout-LSTM 模型的平均絕對(duì)百分比誤差進(jìn)行對(duì)比,結(jié)果見表7。3個(gè)時(shí)期不同模型部分燃?xì)馊肇?fù)荷預(yù)測(cè)值見圖4~6。
表7 4個(gè)模型預(yù)測(cè)平均絕對(duì)百分比誤差 %
圖4 2020年供暖期不同模型部分燃?xì)馊肇?fù)荷預(yù)測(cè)值對(duì)比
圖5 2020年過渡期不同模型部分燃?xì)馊肇?fù)荷預(yù)測(cè)值對(duì)比
圖6 2020年非供暖期不同模型部分燃?xì)馊肇?fù)荷預(yù)測(cè)值對(duì)比
由表7可看出,BP模型預(yù)測(cè)效果較差;SVM模型對(duì)解決小樣本問題有明顯優(yōu)勢(shì)[16],因此在本文數(shù)據(jù)較少的情況下預(yù)測(cè)效果較好;Dropout-LSTM模型的平均絕對(duì)百分比誤差最小,是所有模型中預(yù)測(cè)效果最好的。
由圖4~6可以看出,每個(gè)時(shí)期4種模型的預(yù)測(cè)值與真實(shí)值的變化趨勢(shì)基本一致,表明選取的輸入特征是合理的。
此外,供暖期是一年中燃?xì)馊肇?fù)荷最大的時(shí)期,燃?xì)庵饕糜诠┡?,用氣?guī)律性強(qiáng),4種模型對(duì)供暖期日負(fù)荷的預(yù)測(cè)精度是最高的;過渡期的日負(fù)荷波動(dòng)程度大,負(fù)荷特性難以提取,部分日期的預(yù)測(cè)值與真實(shí)值產(chǎn)生較大偏離,導(dǎo)致預(yù)測(cè)效果不如其他兩個(gè)時(shí)期。
⑤ 不劃分時(shí)期的日負(fù)荷預(yù)測(cè)
將把全年劃分為3個(gè)時(shí)期的預(yù)測(cè)模型稱為分時(shí)期預(yù)測(cè)模型。為進(jìn)一步證明分時(shí)期預(yù)測(cè)模型具有較高的適用性和預(yù)測(cè)精度,現(xiàn)建立不劃分時(shí)期的全年預(yù)測(cè)模型,仍對(duì)同時(shí)段的燃?xì)馊肇?fù)荷進(jìn)行預(yù)測(cè)。將3 a全部數(shù)據(jù)進(jìn)行相關(guān)性分析,結(jié)果見表8。
表8 全年燃?xì)馊肇?fù)荷與影響因素的Pearson相關(guān)性分析
選日均溫度、日最高溫度、日最低溫度、風(fēng)力等級(jí)、前一天負(fù)荷、前二天負(fù)荷、前三天負(fù)荷作為輸入特征,將2018年1月4日—2020年9月30日的數(shù)據(jù)作為訓(xùn)練集,對(duì)2020年10月1日—10月15日、11月1日—11月14日、12月16日—12月31日的日負(fù)荷進(jìn)行預(yù)測(cè)。分時(shí)期預(yù)測(cè)模型與全年預(yù)測(cè)模型的平均絕對(duì)百分比誤差見表9。
表9 分時(shí)期預(yù)測(cè)模型與全年預(yù)測(cè)模型的平均絕對(duì)百分比誤差
由表9可以看出,與分時(shí)期預(yù)測(cè)模型相比,全年預(yù)測(cè)模型的預(yù)測(cè)效果較差,表明將全年數(shù)據(jù)進(jìn)行整體分析建模不能有效描述所有日期的用氣情況。
① 將全年分為供暖期、過渡期和非供暖期3個(gè)時(shí)期,3個(gè)時(shí)期的燃?xì)馊肇?fù)荷都與日均溫度、日最高溫度、日最低溫度、前一天負(fù)荷、前二天負(fù)荷、前三天負(fù)荷呈強(qiáng)相關(guān)性。供暖期日負(fù)荷與節(jié)假日類型和風(fēng)力等級(jí)呈弱相關(guān)性,與天氣類型和星期類型無相關(guān)性;過渡期日負(fù)荷與風(fēng)力等級(jí)呈弱相關(guān)性,與天氣類型、星期類型和節(jié)假日類型無相關(guān)性;非供暖期日負(fù)荷與天氣類型和風(fēng)力等級(jí)呈弱相關(guān)性,與星期類型和節(jié)假日類型無相關(guān)性。
② Dropout-LSTM模型可以很好地預(yù)測(cè)城市燃?xì)馊肇?fù)荷,比BP模型、LSTM模型以及SVM模型有更好的預(yù)測(cè)效果。
③ 與基于全年數(shù)據(jù)的全年預(yù)測(cè)模型相比,分時(shí)期預(yù)測(cè)模型預(yù)測(cè)精度更高。
④ 供暖期的燃?xì)馊肇?fù)荷規(guī)律性強(qiáng),對(duì)供暖期的日負(fù)荷預(yù)測(cè)精度最高,非供暖期次之,由于過渡期日負(fù)荷波動(dòng)大,預(yù)測(cè)效果是3個(gè)時(shí)期中最差的。