施丹 許必熙
南京工業(yè)大學電氣工程與控制科學學院
負荷預測的原理是通過收集歷史數(shù)據(jù)來建立科學有效的預測模型,采用有效的算法進行大量試驗,并根據(jù)某些準則不斷修正模型和算法,得到近似真實的負荷變化規(guī)律[1]?;具^程有以下三點:數(shù)據(jù)采集,數(shù)據(jù)處理和建立預測模型。負荷預測方法可以分為定量預測和定性預測兩大類,暖通空調(diào)領域的負荷預測常采用定量預測,其中較為常用的方法有指數(shù)平滑法,線形回歸法,灰色預測法及神經(jīng)網(wǎng)絡法[2]。指數(shù)平滑法的前身是移動平均法,其根據(jù)平滑次數(shù)的不同可分為一次指數(shù)平滑法,二次指數(shù)平滑法和三次指數(shù)平滑法等。雖然分類各有不同,但指數(shù)平滑法的基本思想是預測值是以前觀測值的加權和,且對不同的數(shù)據(jù)給予不同的權,新數(shù)據(jù)給較大的權,舊數(shù)據(jù)給較小的權[3]。線性回歸法所建立的預測模型是一種解釋性模型,它是目前應用最廣泛一種預測方法?;疑A測法模型又稱為GM(M,N)模型,即M階N個變量的微分方程的灰色預測模型[4]。當灰色預測方法被應用于暖通空調(diào)負荷預測時,如果變量選取為干球溫度,那么建模后輸出的是下一時刻的干球溫度,所以僅建立一個GM(1,1)模型是遠遠不夠的。一般的解決辦法是建立多個模型得到溫度后,再建立日負荷與溫度的關系模型。
神經(jīng)網(wǎng)絡法是利用人工神經(jīng)網(wǎng)絡對非線性系統(tǒng)的良好逼近能力,辨識出空調(diào)負荷預測等效模型[5]。本文將詳細描述神經(jīng)網(wǎng)絡負荷預測建模的原理。文獻[6]對以上四種預測方法的累計誤差平均值和相對極差做對比,如表1所示。就累計誤差平均值S來說,其所得值越小,則相對的預測精度越高。就相對極差R來說,所得極差百分比越低,則相應的穩(wěn)定性越好。
表1 預測方法對比
通過綜合比較和查閱文獻來看[7],這四種方法各有優(yōu)勢:指數(shù)平滑法的建模復雜度低,在負荷預測方面的移植性好,無法聯(lián)系擾動因素,預測精度較低。線形回歸法的建模難度較大,且移植性不佳,預測精度相對較好。灰色預測法在建模前需先處理歷史數(shù)據(jù),工作量較大,可以得到較精確的參數(shù),預測值的精度也是較高的。神經(jīng)網(wǎng)絡法在學習和訓練過程要花費較多時間,穩(wěn)定性較好,預測精度也最高。因此在本文中,選用神經(jīng)網(wǎng)絡的方法建立負荷預測的模型。
本文根據(jù)空調(diào)系統(tǒng)運行的實際情況,設定系統(tǒng)的優(yōu)化周期為一個小時,即每個小時進行一次負荷預測,預測的是該采樣時刻下一個小時內(nèi)的空調(diào)負荷,以此負荷值作為空調(diào)系統(tǒng)控制參數(shù)優(yōu)化的依據(jù)和約束。利用BP神經(jīng)網(wǎng)絡建立空調(diào)負荷預測模型的主要步驟如下[8]:
1)確定預測模型的輸入與輸出參數(shù)
本文選取影響建筑物空調(diào)負荷的主要幾個因素作為BP神經(jīng)網(wǎng)絡的輸入:一是室外的氣象參數(shù),包括室外干球溫度Tout,絕對濕度Wout、太陽輻射度Ssun;二是室內(nèi)環(huán)境參數(shù),主要是室內(nèi)溫度Tin。輸出參數(shù)為建筑物下一個小時的空調(diào)負荷Qload。
2)確定神經(jīng)網(wǎng)絡預測模型結構
根據(jù)上一步,可知神經(jīng)網(wǎng)絡模型的輸入?yún)?shù)有4個,輸出參數(shù)為1個,即神經(jīng)網(wǎng)絡的輸入節(jié)點有4個,輸出層節(jié)點為1個。
對于隱層層數(shù)的選取,根據(jù)Kolmogorov定理,設置一個輸入層,一個輸出層,一個隱層的三層BP神經(jīng)網(wǎng)絡已經(jīng)可以滿足建模要求。本文采用單隱層的BP神經(jīng)網(wǎng)絡。為確定最佳的隱層節(jié)點數(shù),本文采用式(1)所表示的經(jīng)驗公式:
式中:m為隱含層節(jié)點數(shù),n為輸入層節(jié)點數(shù),l為輸出層節(jié)點數(shù),α通常取1~10之間的常數(shù)。
此處n為4,l為1,因此可以得到m取值為4~13。然后利用試湊法得出隱層節(jié)點數(shù)目為10。因此如圖1所示為BP神經(jīng)網(wǎng)絡模型結構。
圖1 BP神經(jīng)網(wǎng)絡模型結構
本次使用的Sigmoid函數(shù)作為隱層神經(jīng)元激發(fā)函數(shù)為:
輸出層激發(fā)函數(shù)為線性函數(shù)purelin:
3)訓練數(shù)據(jù)歸一化
根據(jù)文獻[9]所述,對神經(jīng)網(wǎng)絡訓練之前,需要對所采集的數(shù)值進行歸一化處理,即采集后的數(shù)據(jù)數(shù)值需要在區(qū)間[0,1]以內(nèi)。計算方法如式(4):
式中:為輸入?yún)?shù)轉(zhuǎn)化后的采樣值;xi為輸入?yún)?shù)原始采樣值;xmin、xmax分別為輸入?yún)?shù)采樣區(qū)間內(nèi)的最小值和最大值。
隱層激發(fā)函數(shù)sigmoid的取值范圍為(0,1),函數(shù)的臨界值0和1無法取到,所以不能充分地逼近目標量的極值。在逆變換時就會引起輸出與目標量在極值區(qū)產(chǎn)生轉(zhuǎn)換誤差,造成輸出失真,還影響了其收斂速度。式(4)可以使歸一化的值得到壓縮,消除了逆變換時的失真,也使函數(shù)離開了飽和區(qū),避免了訓練過程中產(chǎn)生的局部麻痹現(xiàn)象。
最后利用式(5)把訓練后得到預測模型的輸出值op轉(zhuǎn)化為實際值:
式中:ypo為輸出值轉(zhuǎn)換后得到的實際值;ymin、ymax分別為輸出參數(shù)原始目標值中的最小值和最大值。
4)神經(jīng)網(wǎng)絡預測模型的訓練
本文采用基于梯度下降的BP算法來訓練網(wǎng)絡,性能函數(shù)是均方誤差MSE(網(wǎng)絡輸出和目標輸出之間的均方誤差),隨機初始化權值和閾值,學習速率為0.1,設定準確性校驗次數(shù)為100。訓練時采用批處理方式訓練樣本,并對權值和閾值進行更新,設定最大訓練步數(shù)為1000步,訓練目標期望誤差為0。
本文選取了夏季工況下,博物館開放時間的682組數(shù)據(jù)作為神經(jīng)網(wǎng)絡訓練的樣本,并預留了8月22日到8月28日的77組數(shù)據(jù)作為測試樣本,檢驗其泛化性和準確性。
5)神經(jīng)網(wǎng)絡預測模型效果的檢驗
神經(jīng)網(wǎng)絡的訓練結果如圖2、圖3:
圖2 負荷預測模型的均方誤差曲線
圖3 預測模型輸出結果的回歸分析
從訓練的均方誤差曲線來看,此次訓練的步數(shù)為1000步(訓練時間為13秒),最小均方誤差為0.00675,出現(xiàn)在第123步,訓練結束的依據(jù)是達到最大訓練步數(shù)1000步。從訓練得到的結果來看,本次建立的神經(jīng)網(wǎng)絡預測模型的有較好的收斂性,均方誤差下降很快。
從預測模型輸出數(shù)據(jù)的回歸分析圖來看,預測模型輸出和目標輸出的適應度很高,都在0.95以上,基本可以滿足負荷預測的要求。從測試樣本的回歸分析圖來看,大部分數(shù)據(jù)能比較好的切合目標輸出,但還是有一些數(shù)據(jù)點明顯偏離了目標輸出,可見預測模型還是有一些誤差的。
將預留的77組測試樣本輸入訓練好的神經(jīng)網(wǎng)絡,經(jīng)過檢驗,結果如圖4:
圖4 預測負荷與實際負荷的對比
根據(jù)圖4可看出,預測負荷與實際負荷在整體趨勢上相同,基本可以擬合建筑物實際的負荷曲線,但在某些樣本處,也出現(xiàn)了比較大的偏離。
從預測負荷與實際負荷的誤差圖(圖5)可以方便的看出,預測的負荷值與實際值的偏差大多在±80 kW以內(nèi),個別樣本的誤差接近100 kW,誤差率約為5%左右??傮w上來看,神經(jīng)網(wǎng)絡負荷預測模型能基本預測出建筑物空調(diào)負荷,雖然誤差率不是很大,但在某些點的絕對誤差卻比較大,影響了負荷預測的效果。
圖5 負荷預測誤差圖
為了解決預測精度不高和收斂較慢的問題,本文采取了一種基于退火算法的遺傳算法融入BP神經(jīng)網(wǎng)絡算法[10]。并且考慮到博物館工作日和休息日的人流量有很大不同,五個工作日的人流量應該大體相同,兩個休息日的人流量也應大體相同,因此采用分段預測的方法,分別建立工作日和休息日的負荷預測模型,兩個模型分開訓練,從而盡量消除人流量對負荷的干擾。
基于遺傳算法的BP神經(jīng)網(wǎng)絡算法思路如下:
1)以BP神經(jīng)網(wǎng)絡為主,將模擬退火算法融入遺傳算法中。主要是通過遺傳算法的迭代求解最佳初始閥值和權值,避免陷入局部極小值,以達到較好的準確性。在之前的訓練樣本輸入輸出數(shù)據(jù)歸一化操作結束以后開始進行,先對新產(chǎn)生的個體進行其鄰域內(nèi)的局部搜索。這種應用使得個體能夠向著全局最優(yōu)的方向進化,能夠更好的控制交叉和變異操作,使算法更加穩(wěn)定,效果更好。
2)初始化群體,隨機產(chǎn)生一個群體并對其進行編碼,計算其適應度,然后進行精英選擇。不同的是,形成一種改進的精英選擇法,讓精英并不是直接進入下一代,而是以狀態(tài)接受概率不進入到下一代。有效避免了精英選擇法可能造成的早熟現(xiàn)象,而到了進化后期,狀態(tài)接受概率較小,此時的精英直接進入下一代的可能變大,既加快了局部搜索的速度,又保證了算法的收斂性。
根據(jù)以上的思路,可以得到遺傳算法的主要流程如下:
1)初始化:
確定種群規(guī)模N,交叉概率Pc,變異概率Pm,進化代數(shù)G。根據(jù)數(shù)據(jù)情況隨機挑選有效個體組成初始化群體P(t),初始化遺傳代數(shù)計數(shù)器t→0。
設定退火初始溫度T0,退火衰減因子k,內(nèi)循環(huán)的迭代計數(shù)器len→0,最大迭代次數(shù)L(t),退火的最低溫度Tend等有關模擬退火參數(shù)。
2)計算當前種群的個體適應度f(xi),i=1,2,3…N。
3)改進的精英選擇操作:
對于精英 xbest,如果 exp((favg-f(xbest))/Tk)<random(0,1),則直接進入下一代,否則仍按輪盤賭方式選擇。
4)進行交叉、變異操作。
5)進行退火過程:
在變異操作后產(chǎn)生的個體x'i的鄰域?qū)ふ倚聜€體xi'',計算兩者的適應度函數(shù)值f(x'i)和f(x''i)。如果滿足:min{1,exp((f(xi'')-f(xi'))/Tk)<random(0,1)},則用 x''i代替x'i,并判斷是否達到內(nèi)循環(huán)終止條件,是則進入(6),否則重新執(zhí)行(5)。
6)判斷進化終止條件:
根據(jù)情況做出判斷,如果達到進化代數(shù),則轉(zhuǎn)至步驟7,如果沒達到進化代數(shù),則進化代數(shù)t=t+1,并且更新溫度參數(shù)T,轉(zhuǎn)至步驟2。
7)判斷退火終止條件:
判斷結果是否符合條件,如果是,則轉(zhuǎn)步驟8,如果否,則轉(zhuǎn)步驟5單獨進行退火操作。
8)計算結束,輸出最優(yōu)結果。
先將原有的訓練樣本數(shù)據(jù)分為工作日數(shù)據(jù)和休息日數(shù)據(jù),確定好比較良好的閥值和權值后,然后代入兩個BP神經(jīng)網(wǎng)絡分開訓練,具體步驟與上一節(jié)相同,不再贅述。
將訓練完畢的BP神經(jīng)網(wǎng)絡用測試樣本分開檢驗,工作日負荷預測模型訓練結果如圖6、7所示:
圖6 工作日負荷預測模型均方誤差曲線
圖7 工作日預測模型輸出結果的回歸分析
由圖8工作日可以看出,跟沒有改進之前對比,負荷預測模型效果很明顯,已經(jīng)能比較準確地預測出實際負荷值,預測曲線的走勢很貼近實際負荷。
圖8 工作日預測負荷與實際負荷對比
從誤差曲線圖9可以明顯看出,負荷誤差相對于之前預測的誤差,已經(jīng)減少了很多,大多數(shù)誤差在±40 kW以內(nèi),誤差率在3%以內(nèi),預測精度已經(jīng)基本滿足負荷預測的要求,可以實現(xiàn)對工作日的負荷預測。
休息日負荷預測模型訓練結果如圖10、11所示:
圖9 工作日負荷預測誤差
圖10 休息日負荷預測模型均方誤差曲線
圖11 休息日預測模型輸出結果的回歸分析
從休息日的負荷預測曲線(圖12)來看,預測模型的效果相對之前已經(jīng)有了很大的改善,能較好地擬合實際負荷,但還是有一些誤差。
圖12 休息日預測負荷與實際負荷對比
從休息日的誤差曲線來看,盡管在誤差值上,改進后預測的誤差要小得多,但大部分的誤差都為正數(shù),說明休息日的負荷預測值還是有點偏小??傮w而言,根據(jù)結果對比,分段后融入遺傳算法的BP神經(jīng)網(wǎng)絡預測模型的預測精度得到了明顯提升,其具有較好的非線性映射能力,能根據(jù)輸入的參數(shù)預測出建筑物下一個小時的負荷,預測的空調(diào)負荷較實際值的跟隨性也比較好,能夠滿足負荷預測的要求。
圖13 休息日負荷預測誤差
本文首先簡要介紹了空調(diào)常見的基本負荷預測的方法,然后基于BP神經(jīng)網(wǎng)絡算法對博物館的負荷建立了預測模型,通過對負荷預測的仿真和驗證,結果表明預測模型基本可以預測下一個小時的建筑物空調(diào)負荷,但仍有一定的誤差。分析產(chǎn)生誤差的原因后,融入遺傳算法采用分段訓練的方法,避免陷入局部極小值,然后分段建立神經(jīng)網(wǎng)絡預測模型,再次檢驗預測效果,發(fā)現(xiàn)預測效果有了明顯的提高,誤差率降為3%左右,滿足建筑物空調(diào)負荷預測模型的要求。
[1] 鄭慧凡,閻秀英,范曉偉.建筑物空調(diào)負荷計算方法研究進展[J].中原工學院學報,2007,18(5):1-5.
[2] 溫權,李敬如,趙靜.空調(diào)負荷計算方法及應用[J].電力需求側(cè)管理,2005,7(4):16-18.
[3] 趙君有.基于灰色理論的中長期電力負荷的預測[D].沈陽:沈陽工業(yè)大學,2007.
[4] 陳娟,吉培榮,盧豐.指數(shù)平滑法及其在負荷預測中的應用[J].三峽大學學報(自然科學版),2010,32(3):37-41.
[5] Wang H, ChangWL. Load forecasting for electrical power system based on BP neural network[C]//International Workshop on Education Technology and Computer Science.IEEE,2009:702-705.
[6] 趙波峰,文遠高,楊恒.四種空調(diào)負荷預測方法分析比較[J].建筑熱能通風空調(diào),2012,30(6):65-67.
[7] 康重慶,周安石,王鵬.短期負荷預測中實時氣象因素的影響分析及其處理策略[J].電網(wǎng)技術,2006,30(7):5-10.
[8] 鄭慧凡,白靜,李安桂.BP神經(jīng)網(wǎng)絡在建筑物空調(diào)負荷預測中的應用評述[J].計算機應用與軟件,2007,24(6):103-105.
[9] 柳小桐.BP神經(jīng)網(wǎng)絡輸入層數(shù)據(jù)歸一化研究[J].機械工程與自動化,2010,(3):122-123.
[10]程玉桂,黎明,林明玉.基于遺傳算法和BP神經(jīng)網(wǎng)絡的城區(qū)中長期電力負荷預測與分析[J].計算機應用,2010,30(1):224-226.