朱其新,劉夢園
(1. 蘇州科技大學(xué)機(jī)械工程學(xué)院,江蘇 蘇州 215009;2. 蘇州科技大學(xué)建筑智慧節(jié)能江蘇省重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州 215009;3. 蘇州科技大學(xué)環(huán)境科學(xué)與工程學(xué)院,江蘇 蘇州 215009)
空調(diào)系統(tǒng)能耗作為建筑能耗中的主要部分,約占建筑總能耗的40%-60%,其節(jié)能優(yōu)化控制一直是研究的熱點(diǎn)和難點(diǎn)[1]。國內(nèi)外專家對降低空調(diào)能耗的方法做了大量的研究,發(fā)現(xiàn)空調(diào)負(fù)荷預(yù)測是一個非常重要的關(guān)注點(diǎn)[2,3]。準(zhǔn)確的負(fù)荷預(yù)測模型的建立,能夠使空調(diào)系統(tǒng)在滿足負(fù)荷要求的條件下,合理安排運(yùn)行策略,降低系統(tǒng)能耗。
文獻(xiàn)[4,5]使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行負(fù)荷預(yù)測。但標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)存在收斂速度慢,預(yù)測效果不高的問題。文獻(xiàn)[6,7]使用支持向量機(jī)(SVM)進(jìn)行負(fù)荷預(yù)測。但支持向量機(jī)的使用具有一定的局限性,其對大規(guī)模訓(xùn)練樣本難以實(shí)施。黃廣斌等[8]提出使用極限學(xué)習(xí)機(jī)(ELM)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,對比發(fā)現(xiàn)該算法訓(xùn)練過程簡單、訓(xùn)練速度快、泛化能力強(qiáng)。文獻(xiàn)[9]使用ELM進(jìn)行負(fù)荷預(yù)測取得了較好的效果。但ELM模型隨機(jī)生成輸入權(quán)值和閾值,這會導(dǎo)致系統(tǒng)實(shí)際運(yùn)行過程中出現(xiàn)不穩(wěn)定的問題。使用核函數(shù)取代ELM的隱含層特征映射,可形成核極限學(xué)習(xí)機(jī)(KELM)。KELM進(jìn)行模型訓(xùn)練學(xué)習(xí)時,只需要進(jìn)行參數(shù)的合適選取,就能通過一系列矩陣運(yùn)算得到網(wǎng)絡(luò)的輸出權(quán)值,這極大的提高了模型的預(yù)測精度和泛化能力[10-12]。
除了上述單一預(yù)測方法,基于信號分解的混合預(yù)測方法也受到廣泛認(rèn)可。這種混合預(yù)測的基本思路是把原始負(fù)荷序列當(dāng)成信號序列,根據(jù)負(fù)荷局部特征和變化規(guī)律分解成幾個特征互異的分量。分別建立各分量的預(yù)測模型后,將預(yù)測結(jié)果集成得到最終的預(yù)測結(jié)果。常見的信號分解技術(shù)包括小波分解(WD)和經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)。文獻(xiàn)[13]和[14]使用WD和SVM的混合模型分別進(jìn)行風(fēng)電功率和電力負(fù)荷預(yù)測,結(jié)果證明該混合模型具有明顯的預(yù)測性能優(yōu)勢。Qiu等[15]提出使用一種基于經(jīng)驗(yàn)?zāi)B(tài)分解算法和深度學(xué)習(xí)方法(DBN)的集成方法進(jìn)行電力負(fù)荷預(yù)測,發(fā)現(xiàn)EMD-DBN混合模型具有很好的預(yù)測效果。Guo等[16]使用經(jīng)驗(yàn)?zāi)B(tài)分解和模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行風(fēng)速預(yù)測,仿真證明該模型預(yù)測精度很高。但小波分解的效果依賴于小波基的選擇。經(jīng)驗(yàn)?zāi)B(tài)分解也有模態(tài)混疊和端點(diǎn)效應(yīng)的問題。Dragomiretskiy等在2014年提出了變分模態(tài)分解(VMD)的信號分解方法,它有效克服了EMD的模態(tài)混疊現(xiàn)象,端點(diǎn)效應(yīng)也相對較弱,并且可自己設(shè)定變分模態(tài)函數(shù)數(shù)目,是一種可調(diào)節(jié)尺度的信號處理方法[17]。
為提高現(xiàn)有空調(diào)系統(tǒng)負(fù)荷預(yù)測模型的精度和穩(wěn)定性,本文提出了一種基于VMD和KELM的組合預(yù)測模型:首先運(yùn)用VMD將負(fù)荷序列分解成一系列變分模態(tài)函數(shù),然后使用麻雀搜索算法對KELM的參數(shù)進(jìn)行優(yōu)化,將優(yōu)化后的KELM算法用于每個變分模態(tài)函數(shù),得到每個模態(tài)的預(yù)測結(jié)果,最后對各模態(tài)預(yù)測結(jié)果匯總得到最終預(yù)測輸出。仿真結(jié)果表明,相對于其它方法,該方法建立的負(fù)荷預(yù)測模型精度更高,能夠準(zhǔn)確的完成空調(diào)超短期負(fù)荷預(yù)測。
VMD是一種新的信號分解方法,它能夠把任意信號f解耦成k個信號模態(tài)分量uk,這些分量分別圍繞在中心頻率ωk周圍[18]。信號模態(tài)分量的生成過程就是變分問題的求解過程,帶約束的變分問題模型及其求解步驟如下
(1)
1)引入拉格朗日乘法算子λ(t)和二次懲罰項(xiàng)α將約束變分問題轉(zhuǎn)化成非約束變分問題,增廣拉格朗日表達(dá)式為
(2)
2)用交替方向乘子算法(AMDD)得到上述增廣拉格朗日函數(shù)的鞍點(diǎn),即最優(yōu)解。步驟如下
(3)
(4)
2)利用式(5)更新λn
(5)
3)對于給定精度ε>0,判斷是否滿足收斂條件
(6)
滿足則停止迭代,輸出最終的uk和ωk,否則返回步驟2)。
核極限學(xué)習(xí)機(jī)(KELM)是結(jié)合ELM和核函數(shù)提出的改進(jìn)算法,既完全保留了ELM的原有優(yōu)點(diǎn),又提高了模型的預(yù)測性能和穩(wěn)定性。
ELM本質(zhì)是一種單隱含層前饋神經(jīng)網(wǎng)絡(luò)(SLFN)。對含有L個隱層節(jié)點(diǎn)的SLFN,若給定N組訓(xùn)練樣本數(shù)據(jù)集(xj,tj),其中xj=[xj1,xj2,…,xjn]T,tj=[tj1,tj2,…,tjm]T,那么可以得到網(wǎng)絡(luò)節(jié)點(diǎn)的輸出為
(7)
(8)
其中,βi代表第i個隱含層節(jié)點(diǎn)和輸出層節(jié)點(diǎn)之間的權(quán)值向量。寫成矩陣形式為HB=T,且有
(9)
其中,B為輸出權(quán)值矩陣;H為隱含層節(jié)點(diǎn)的輸出矩陣。
不同于使用梯度下降算法訓(xùn)練所有網(wǎng)絡(luò)權(quán)值的SLFN,ELM的權(quán)值訓(xùn)練等價于線性方程組HB=T的最小二乘解B的求解,即
‖H(ω1,…,ωL,b1,…bL)-T‖
(10)
引入正則化系數(shù)C,輸出權(quán)值的最小二乘解為
(11)
故ELM的輸出函數(shù)為y(x)=h(x)。
引入核函數(shù)代替ELM的特征映射函數(shù)h(x),可構(gòu)建KELM模型。定義核矩陣ΩELM=HHT,其元素ΩELM(i,j)=h(xi)·h(xj)=K(xi,xj),則網(wǎng)絡(luò)輸出可表示為
(12)
KELM性能主要依賴于選取的核函數(shù)和相關(guān)核參數(shù)。本文用RBF構(gòu)建KELM模型,并將使用麻雀搜索算法找到正則化系數(shù)C和核參數(shù)γ的最優(yōu)值,從而提高KELM模型的性能。
(13)
麻雀搜索算法(SSA)是2020年提出的一種新興的元啟發(fā)式群智能優(yōu)化算法。該算法受啟發(fā)于麻雀的快速覓食和反捕食行為,具有系統(tǒng)結(jié)構(gòu)簡單、易于設(shè)計實(shí)現(xiàn),控制參數(shù)較少,局部搜索能力較強(qiáng)的幾大優(yōu)點(diǎn)[19]。
在麻雀搜索算法中,個體被劃分為發(fā)現(xiàn)者、加入者和警戒者,個體位置和解一一對應(yīng)。建議SSA的數(shù)學(xué)模型遵循的主要規(guī)則如下:
1)發(fā)現(xiàn)者主要進(jìn)行豐富食物資源地的搜索,為所有加入者提供方向。一般來講,發(fā)現(xiàn)者需要較高的能源儲備,即在模型中發(fā)現(xiàn)者對應(yīng)的適應(yīng)度值較高。
2)發(fā)現(xiàn)捕食者之后麻雀會發(fā)出鳴叫,進(jìn)行報警。一旦報警值高于安全域值,發(fā)現(xiàn)者會帶著加入者到其它安全地方覓食。
3)為找到更好的食物,發(fā)現(xiàn)者和加入者身份可以動態(tài)變化,但總數(shù)量保持不變。
4)對加入者來說,覓食位置與個體具有的能量息息相關(guān)。部分能量低的加入者為及時獲得更多的能量可能會飛到其它地方繼續(xù)覓食。
5)加入者總能追蹤到提供最好食物的發(fā)現(xiàn)者并在其周圍繼續(xù)覓食。為增加自己的捕食幾率部分加入者可能會跟發(fā)現(xiàn)者爭搶食物資源。
6)意識到危險時,處于邊緣的個體會快速朝著安全區(qū)域移動,處于中間的個體則會隨機(jī)走動,相互靠近。
為建立數(shù)學(xué)模型,使用虛擬麻雀進(jìn)行食物的尋找。由n只麻雀組成的種群可表示為
(14)
式中,d表示待優(yōu)化問題變量的維數(shù)。
種群適應(yīng)度值可表示為如下形式
(15)
式中,f表示適應(yīng)度值。
根據(jù)規(guī)則1)和規(guī)則2),發(fā)現(xiàn)者按照以下方式進(jìn)行位置更新:若報警值R2低于安全域值ST,說明覓食環(huán)境附近沒有捕食者,此時發(fā)現(xiàn)者可以廣泛搜索食物;反之,說明出現(xiàn)捕食者,此時發(fā)現(xiàn)者會飛到其它安全區(qū)域覓食。
(16)
式中,t表示當(dāng)前迭代次數(shù),Xi,j表示第i只麻雀的第j維位置信息,α是0到1之間的一個隨機(jī)數(shù)且α≠0,G是最大迭代次數(shù),R2和ST分別代表報警值和安全閾值,Q是服從正態(tài)分布的隨機(jī)數(shù),L是d維的全1矩陣。
(17)
式中,xworst表示當(dāng)前適應(yīng)度最差的個體所在位置,xp表示當(dāng)前適應(yīng)度最優(yōu)的個體所在位置。A是d維矩陣,其中每個元素會隨機(jī)賦值為-1或1,A+=AT(AAT)-1。
警戒者的初始位置在種群中隨機(jī)產(chǎn)生,且數(shù)量一般占總數(shù)量的10%到20%。根據(jù)規(guī)則6),警戒者按照以下方式進(jìn)行位置更新:若當(dāng)前個體適應(yīng)度fi大于全局最優(yōu)個體適應(yīng)度fg,說明該個體在種群外圍,為獲得更高的適應(yīng)度,個體需要不斷變換位置;若兩者相等,說明該個體在種群中心,為降低被捕食的風(fēng)險,個體會不斷向附近的同伴靠近。
(18)
式中,xbest表示全局適應(yīng)度最優(yōu)個體所在位置。β和k都是控制步長,β服從均值為0,方差為1的正態(tài)分布,k是-1到1之間的隨機(jī)數(shù)。ε是用以避免分母為0的常數(shù)。fi、fg和fω分別代表當(dāng)前個體適應(yīng)度值、全局最優(yōu)和最差適應(yīng)度值。
Step1:初始化種群、各類群體比例、迭代次數(shù)。
Step2:計算適應(yīng)度值并進(jìn)行排序。(本文適應(yīng)度函數(shù)取KELM模型預(yù)測數(shù)據(jù)的均方根誤差)
Step3:利用式(16)更新發(fā)現(xiàn)者位置。
Step4:利用式(17)更新加入者位置。
Step5:利用式(18)更新警戒者位置。
Step6:計算適應(yīng)度值并更新麻雀位置。
Step7:判斷是否達(dá)到停止條件,若達(dá)到則輸出結(jié)果,退出運(yùn)算;否則,重復(fù)執(zhí)行Step 2-6。
本文以某地源熱泵空調(diào)系統(tǒng)為研究對象,建立其每小時負(fù)荷預(yù)測方法。文獻(xiàn)[20]對影響該系統(tǒng)小時負(fù)荷的因素做了灰色關(guān)聯(lián)度分析,發(fā)現(xiàn)用預(yù)測時刻前四個小時的歷史負(fù)荷數(shù)據(jù)進(jìn)行負(fù)荷預(yù)測就能取得很好的效果。故本文以擬預(yù)測時間的前四小時的歷史負(fù)荷為輸入建立了VMD-SSAKELM組合負(fù)荷預(yù)測模型,訓(xùn)練樣本選用2018年5月1日至6月29日每小時空調(diào)負(fù)荷,測試樣本為6月30日空調(diào)負(fù)荷。選取平均絕對誤差(MAE),均方根誤差(RMSE),平均絕對百分比誤差(MAPE)這三個誤差指標(biāo)進(jìn)行評價。
(19)
(20)
(21)
建立BPNN模型、SVM模型、ELM模型和KELM模型進(jìn)行負(fù)荷預(yù)測。圖1和圖2分別為各模型6月30日負(fù)荷預(yù)測結(jié)果和誤差圖,表1展示了四種預(yù)測模型的性能指標(biāo)??梢钥闯鯡LM比常用于負(fù)荷預(yù)測的BPNN模型和SVM模型的預(yù)測誤差更低,預(yù)測時間更短。而KELM模型具有最小的誤差,預(yù)測時間也相對短。
表1 預(yù)測模型性能指標(biāo)
圖1 6月30日負(fù)荷預(yù)測輸出
圖2 6月30日負(fù)荷預(yù)測誤差
使用SSA算法對KELM進(jìn)行優(yōu)化,SSA主要參數(shù)設(shè)置為:預(yù)警值ST=0.6,發(fā)現(xiàn)者比例PD=0.7,警戒者比例SD=0.2,種群數(shù)量pop=20,最大迭代次數(shù)G=20。
圖3、圖4分別展示了SSA優(yōu)化前后的模型預(yù)測結(jié)果和預(yù)測誤差,圖5為SSA收斂曲線。SSA算法在近第7次迭代就收斂,有很快的收斂速度且優(yōu)化后模型的精度得到了提高。
圖3 SSA優(yōu)化前后KELM模型預(yù)測輸出
圖4 SSA優(yōu)化前后KELM模型預(yù)測誤差
圖5 SSAKELM收斂曲線
空調(diào)負(fù)荷的變化一般具有非線性、非平穩(wěn)的特性,且復(fù)雜程度較高,直接將數(shù)據(jù)輸入進(jìn)行預(yù)測難以達(dá)到很好的效果。本文采用VMD對歷史負(fù)荷序列進(jìn)行分解,然后對每個模態(tài)使用經(jīng)麻雀搜索算法優(yōu)化后的核極限學(xué)習(xí)機(jī)進(jìn)行預(yù)測,匯總得到最終預(yù)測結(jié)果。圖6為負(fù)荷序列VMD分解圖,模態(tài)數(shù)K=8,懲罰因子α=2000。圖7和圖8為KELM和SSA優(yōu)化的KELM經(jīng)VMD分解前后的混合模型預(yù)測結(jié)果和誤差??梢钥闯?經(jīng)VMD分解后模型精度有了很大的提升。
圖6 負(fù)荷序列VMD分解圖
圖7 6月30日負(fù)荷預(yù)測輸出(VMD分解)
圖8 6月30日負(fù)荷預(yù)測誤差(VMD分解)
表2和圖9展示了所有預(yù)測模型的性能指標(biāo)??梢园l(fā)現(xiàn)SSA優(yōu)化后的KELM模型誤差有所降低,其中MAE降低了13.62%,RMSE降低了12.17%,MAPE降低了6.36%。而針對同樣使用SSA優(yōu)化后的KELM算法,經(jīng)VMD分解模型的誤差也比未經(jīng)VMD分解的模型誤差小,其中MAE降低了52.34%,RMSE降低了57.81%,MAPE降低了60.08%,而本文提出的混合模型綜合了多個方法的優(yōu)點(diǎn),擁有最高的預(yù)測精度。
表2 所有預(yù)測模型性能評價指標(biāo)表
圖9 所有預(yù)測模型性能評價指標(biāo)圖
本文提出一種新的空調(diào)負(fù)荷組合預(yù)測模型,即先對利用VMD方法將負(fù)荷序列分解得到一組模態(tài)分量;然后用SSA優(yōu)化后的KELM模型對每個模態(tài)進(jìn)行預(yù)測,把所有模態(tài)預(yù)測結(jié)果匯總得到最終預(yù)測結(jié)果。主要結(jié)論如下:
1)在本文負(fù)荷預(yù)測模擬實(shí)驗(yàn)中,KELM預(yù)測模型表現(xiàn)優(yōu)于BP模型、SVM模型和ELM模型。對基于RBF核函數(shù)的KELM模型,使用SSA優(yōu)化其正則化系數(shù)C和核參數(shù)γ,能夠提高KELM模型的精度,減小其預(yù)測誤差。
2)VMD算法具有較好的模態(tài)分解能力,運(yùn)用VMD將原始負(fù)荷序列分解為一系列特征不相同的模態(tài)分量,然后對每一模態(tài)分量單獨(dú)進(jìn)行建模分析預(yù)測的混合預(yù)測方法能夠極大提高預(yù)測模型準(zhǔn)確性和可靠性。
3)本文提出的混合預(yù)測模型結(jié)合了VMD和KELM的優(yōu)點(diǎn),可以快速準(zhǔn)確完成空調(diào)超短期負(fù)荷預(yù)測。