李秉晨, 于惠鈞, 丁華軒, 劉靖宇
(湖南工業(yè)大學(xué)軌道交通學(xué)院,湖南 株洲 412007)
風能作為理想的可再生能源之一,在世界各國的應(yīng)用都越來越廣泛,但風速本身具有隨機性和間歇性的特點,會使風電出現(xiàn)頻繁的波動,在進行大規(guī)模風電并網(wǎng)時,會對電網(wǎng)的正常運行和電能質(zhì)量帶來威脅[1]。因此,準確預(yù)測風速有利于風電并網(wǎng)的調(diào)度,對電力系統(tǒng)的穩(wěn)定運行有重要作用[2]。
目前,風速預(yù)測受到很多國內(nèi)外研究人員的關(guān)注,采用多種模型對風速進行預(yù)測。風速預(yù)測常用的方法包括卡爾曼濾波法、自回歸差分平均回歸、人工神經(jīng)網(wǎng)絡(luò)、支持向量機、經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition,EMD)等[3]。單一模型在預(yù)測風速時,往往存在精度不高的問題,越來越多的研究人員開始研究組合模型[4]。文獻[5]針對風速序列具有很強的波動性,提出基于VMD和ARIMA的超短期風速預(yù)測模型,利用改進經(jīng)驗?zāi)B(tài)分解算法將風速序列從高到低逐次分解,然后對各分量分別建立ARIMA模型進行預(yù)測,結(jié)果表明模態(tài)分解法在風速預(yù)測有較大優(yōu)勢。文獻[6]利用局域均值分解法將風速序列分解為若干分量,再對各分量分別采用ARMA算法進行建模預(yù)測,提出LMD和ARMA組合風速預(yù)測方法,提高了風速的預(yù)測精度。文獻[7]提出基于VMD和LSTM的超短期風速預(yù)測,用VMD將風速序列分解為多個子模態(tài),對子模態(tài)進行預(yù)測并疊加得到預(yù)測結(jié)果。文獻[8]提出基于CEEMD和改進時間序列模型的超短期風功率多步預(yù)測模型,CEEMD算法在經(jīng)驗?zāi)B(tài)分解算法上進行改進,能更好地將非線性時間序列分解為代表不同時間尺度上的局部特征的模態(tài)分量,能提高風速預(yù)測精度。
以上模型都考慮了將風速序列分解為不同頻率的高低頻模態(tài)分量,然后分別對高頻和低頻分量建立預(yù)測模型進行風速預(yù)測,但是沒有考慮算法對不同頻率子模態(tài)的適用性,只是采用同一種算法對高頻和低頻模態(tài)分量進行預(yù)測。本文在現(xiàn)有研究的基礎(chǔ)上,提出基于CEEMD和LSTM-ARIMA的短期風速組合預(yù)測模型,ARIMA模型對于低頻的平穩(wěn)時間序列預(yù)測結(jié)果精確,而LSTM神經(jīng)網(wǎng)絡(luò)能對高頻的非平穩(wěn)時間序列取得較好的預(yù)測精度,采用CEEMD算法將LSTM與ARIMA模型結(jié)合起來,用LSTM網(wǎng)絡(luò)和ARIMA算法對經(jīng)CEEMD算法分解的高頻和低頻的模態(tài)分量分別進行預(yù)測,以期提高風速預(yù)測精度。
經(jīng)驗?zāi)B(tài)分解算法(EMD)是一種常用于非平穩(wěn)時間序列信號的數(shù)據(jù)處理方法,可將非平穩(wěn)信號分解為一系列不同時間尺度的本征模態(tài)函數(shù)(IMF)分量,不過該方法存在模態(tài)混淆的現(xiàn)象。完備總體經(jīng)驗?zāi)B(tài)分解(CEEMD)算法在EMD算法的基礎(chǔ)上進行改進,添加一組大小相等、符號相反的輔助白噪聲,然后再分別進行EMD分解,既抑制了EMD算法的模態(tài)混淆效應(yīng)這一缺陷,又不會使得原始信號因白噪聲的添加而產(chǎn)生較大的影響。CEEMD主要步驟如下[9]:
1)在原始的序列x(t)中,添加一組符號相反的高斯白噪聲εi(t)序列,得到一組新的時間序列:
2)對式(1)中的每一個時間序列進行EMD分解,都會得到m個本征模態(tài)分量:
其中cij為第i次加入白噪聲后,經(jīng)過EMD分解得到的第j個模態(tài)分量。
3)添加不同的高斯白噪聲,重復(fù)步驟1)、2)分別n次,得到n組本征模態(tài)分量(IMF)的集合,其中最后一組為趨勢項(Res)。
4)計算所有分量的集合平均值,得到最終的模態(tài)分量組ci(t)。
排列熵(PE)算法是一種基于信息論的度量方法,通過相鄰值的比較來分析時間序列數(shù)據(jù)的復(fù)雜性。PE算法的計算方法如下:
首先,假設(shè)一個時間序列X(t)(t=1,2,···,T),對其進行相空間重構(gòu):
式中:m—— 嵌入維數(shù);
τ 時間延遲。
然后,將X(t)中的元素按遞增順序重新排列:
其中jm為排序后各元素的序號。
每種可能的排列表示為w={j1,j2,···,jm},m維序列可以存在m!種排列方式。每種排列的概率為p1,p2,···,pg。根據(jù) Shannon 熵定義,排列熵歸一化可定義為:
長短期記憶網(wǎng)絡(luò)(LSTM)是在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的基礎(chǔ)上進行改進的算法,LSTM模型能有效地自動從時間序列數(shù)據(jù)中學(xué)習(xí)特征,并且能夠?qū)W習(xí)長期依賴信息,避免了RNN訓(xùn)練過程中存在的梯度爆炸和梯度消失的問題[10]。與RNN不同的是,LSTM模型通過獨特的門結(jié)構(gòu)來增加一個細胞狀態(tài),用來保存以前的數(shù)據(jù)狀態(tài)信息。LSTM模型結(jié)構(gòu)如圖1所示,單元內(nèi)部結(jié)構(gòu)由輸入門、遺忘門和輸出門等組成,此外,tanh激活函數(shù)控制要更新輸入,Ct–1和Ct分別為t–1 和t時刻的細胞狀態(tài),ht–1和ht分別為t–1和t時刻細胞的隱藏狀態(tài)。
圖1 LSTM模型結(jié)構(gòu)圖
LSTM模型的遺忘門用來確定t–1時刻的隱藏狀態(tài)ht–1和t時刻的輸入xt的信息保留程度。遺忘門的公式為:
式中:W——f— 遺忘門的權(quán)重矩陣;
bf—遺忘門的偏置項;
σ 激活函數(shù)sigmoid。
LSTM模型的輸入門用來確定輸入變量xt中有多少信息可以保存到細胞狀態(tài)Ct中。輸入門的公式為:
式中:Wi和Wc— 輸入門的權(quán)重矩陣;
在兩組實驗對象入組后,于次日在空腹狀態(tài)下抽取其外周靜脈血(3毫升)和動脈血(2毫升),采取ELISA法(酶聯(lián)吸附法)測定其IL—6、TNF—α水平,采取散射免疫比濁法測定其Hs—CRP水平,采取免疫發(fā)光法測定其BNP水平。本次實驗所用IL—6、TNF—α試劑盒為北京伯樂生命科學(xué)發(fā)展有限公司生產(chǎn),IMMAGE全自動特定蛋白分析儀和AU5800全自動生化分析儀為貝克曼庫爾特公司生產(chǎn)。
bi和bc——輸入的偏置項;
σ和tanh 激活函數(shù)。
LSTM模型的輸出門用來輸出單元的隱藏狀態(tài)。輸出門的公式為:
式中:ot—— —輸出門的輸出;
W——o輸出門的權(quán)重矩陣;
bo輸出門的偏置項。
自回歸差分移動平均(ARIMA)是一種分析預(yù)測變量的未來值和歷史值的線性函數(shù)關(guān)系的方法,ARIMA應(yīng)用的時間序列應(yīng)該是線性且平穩(wěn)的。ARIMA(p,d,q)模型先對時間序列進行平穩(wěn)性檢驗,如果不滿足平穩(wěn)性的要求,對時間序列進行d階差分,然后再對序列進行自回歸移動平均(ARMA(p,q))建模[11]。ARMA方程為:
式中:yt——實際時間序列;
εt———t時刻的隨機誤差;
αp——自回歸(AR)模型的系數(shù);
θq移動平均(MA)模型的系數(shù)。
p和q都是模型的階數(shù),當q=0時,模型就簡化為p階AR模型AR(p)、當p=0時,模型就簡化為q階MA模型MA(q)。
風速數(shù)據(jù)具有很強的非線性和非平穩(wěn)性,采用CEEMD算法將功率序列分解為幾個不同頻率的子序列,采用PE對子序列進行計算,按照時間序列復(fù)雜度來選出高頻子序列部分和低頻子序列部分[12]。經(jīng)CEEMD分解后的高頻子序列部分使用LSTM進行預(yù)測,LSTM神經(jīng)網(wǎng)絡(luò)能對復(fù)雜度較高的時間序列進行有效預(yù)測;對于低頻子序列部分使用ARIMA進行預(yù)測,ARIMA對于平穩(wěn)的時間序列有良好的預(yù)測效果。將兩種模型得出的預(yù)測結(jié)果進行疊加,最終得到風速的預(yù)測值。提出的基于CEEMD和LSTM-ARIMA短期風速預(yù)測模型建模步驟為:
1)利用CEEMD將原始風速序列分解為n個模態(tài)分量。
2)使用PE算法分別計算n個序列分量的排列熵,按照時間序列的復(fù)雜程度將模態(tài)分量分為高頻部分和低頻部分。
3)高頻序列部分采用LSTM進行預(yù)測,低頻序列部分采用ARIMA進行預(yù)測。
4)將高頻序列預(yù)測結(jié)果和低頻序列預(yù)測結(jié)果相加,得到風速的預(yù)測值。風速預(yù)測框圖如圖2所示。
圖2 風速預(yù)測框圖
采用平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)等性能指標來比較模型之間的預(yù)測性能水平。公式如下:
其中pi和分別為第i位的觀測值和預(yù)測值。
本文選用2016年湖南省某風電廠實際采集數(shù)據(jù),樣本的采樣周期為5 min,選取4月10日~4月19日共2 880個點作為樣本數(shù)據(jù)。原始風速數(shù)據(jù)如圖3所示,其中前2 592個點(4月10日~4月18日)的數(shù)據(jù)作為訓(xùn)練樣本(按8∶1劃分訓(xùn)練集和驗證集),后288個點(4月19日)的數(shù)據(jù)作為測試樣本。
圖3 原始風速數(shù)據(jù)
從圖3可以看出風速數(shù)據(jù)具有明顯的非線性和非平穩(wěn)性,預(yù)測難度較大。對原始時間序列進行CEEMD分解,將風速分解為幾個更容易預(yù)測的時間子序列,得到頻率由高到低的11組模態(tài)函數(shù)。CEEMD分解結(jié)果如圖4所示,可以看出IMF1至Res子序列的波動逐漸平緩,頻率越來越低。
圖4 CEEMD風速分解結(jié)果
為量化分解后各子序列的頻率高低,采用PE算法計算各子序列的排列熵的值,具體結(jié)果如圖5所示。排列熵值從IMF1開始依次遞減,一直減到Res的排列熵值為0。對于ARIMA 模型來說,排列熵值越小,時間復(fù)雜度越低,模型的預(yù)測精度就越高。IMF5~IMF10及Res的子序列排列熵值均小于0.2,視為低頻序列,帶入ARIMA模型進行預(yù)測;IMF1~IMF4的排列熵值均大于0.2,將其視為高頻序列,帶入LSTM網(wǎng)絡(luò)模型進行預(yù)測。
圖5 子序列的排列熵結(jié)果
將CEEMD分解后的各子序列分量帶入對應(yīng)的算法進行預(yù)測,并將得到的預(yù)測值進行疊加,得到最終的風速預(yù)測數(shù)據(jù)。預(yù)測高頻部分建立的LSTM模型參數(shù)為:單元數(shù)130,激活函數(shù)為relu,迭代次數(shù)150,余弦學(xué)習(xí)率下降。預(yù)測低頻部分的ARIMA模型建立結(jié)果如表1所示。
表1 IMA模型階數(shù)
為驗證本模型對風速預(yù)測的有效性,與另外4種預(yù)測模型進行實驗仿真對比。對比的預(yù)測模型分別為:LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型、ARIMA預(yù)測模型和CEEMD-ARIMA預(yù)測模型。預(yù)測結(jié)果如圖6所示,各模型預(yù)測誤差比較如表2所示。
圖6 CEEMD-LSTM-ARIMA預(yù)測結(jié)果以及其他模型對比
表2 各模型預(yù)測誤差比較
由圖6和表2可知,基于CEEMD和LSTMARIMA組合預(yù)測模型預(yù)測值與實際值最接近,MAPE為8.68%,比其他模型預(yù)測結(jié)果更精準。ARIMA模型預(yù)測近似一條直線,平均絕對誤差達到40%,預(yù)測效果在所有模型中最差,說明單一的ARIMA模型無法對于風速這種波動大的非平穩(wěn)數(shù)據(jù)進行有效的預(yù)測。CEEMD-ARIMA模型比ARIMA模型預(yù)測的平均絕對誤差降低了10%,預(yù)測精度有所提高,說明CEEMD能有效對非平穩(wěn)序列進行分解,提高了非平穩(wěn)序列預(yù)測的精度。單一的LSTM模型預(yù)測精度較高,說明LSTM模型能對非平穩(wěn)序列進行有效的預(yù)測,而基于CEEMD和LSTM-ARIMA組合模型比LSTM模型的預(yù)測誤差更小,說明了組合預(yù)測模型的建模思路是正確的,消除各個時間尺度特征之間產(chǎn)生的相互影響,對各個模態(tài)分別進行有效的預(yù)測,進而提升整體的預(yù)測精度。根據(jù)結(jié)論可知,本文提出的基于CEEMD和LSTM-ARIMA組合預(yù)測模型可有效提高風速的預(yù)測準確度。
本文采用CEEMD算法將風速序列分解為不同頻率的模態(tài)分量,達到降低了預(yù)測難度的目的。并分別采用LSTM和ARIMA模型對高頻分量和低頻分量進行預(yù)測,可實現(xiàn)對不同頻率的模態(tài)分量進行有效預(yù)測,提高了整體預(yù)測精度。通過與其他模型進行對比,本文所提基于CEEMD和LSTM-ARIMA方法具有更高的預(yù)測精度,表明提出的組合預(yù)測模型是一種行之有效的方法。