石 慧,李芷萱,馬 旭
(太原科技大學電子信息工程學院,山西 太原 030024)
風能是一種具有規(guī)模化開發(fā)條件的清潔可再生能源,而風能的間歇性、隨機性和波動性對其發(fā)展產(chǎn)生了極大的影響。風電輸出功率的預測有利于降低發(fā)電成本,提高電能質(zhì)量與發(fā)電效率,有非常重要的研究意義和使用價值。
目前風電功率的預測方法主要有以下幾類:數(shù)據(jù)歸一化、功率曲線、功率矩陣等。戚雙斌等[1]在預測風速和功率時采用功率曲線來建模。典型的風機功率曲線只考慮風速和功率的轉(zhuǎn)換關(guān)系,樣本數(shù)據(jù)種類過于單一。茆美琴等[2]提出EEMD-SVM的方法預測光伏電站短期功率預測。數(shù)據(jù)歸一化通常采用的變量類型較多,受設(shè)備工作條件、氣象情況等因素的影響,不同變量互相干擾,容易增加預測誤差???lián)砬赱3]采用風速、風向的功率矩陣建模,但功率矩陣的數(shù)據(jù)不具有普遍性,不適用于其它風電場,因此這種方法會對功率預測誤差有影響。多元線性回歸(Multiple linear regression,MLR)通過建立最優(yōu)方程可以計算分析關(guān)于每個自變量對因變量映射的相對關(guān)聯(lián)度和擬合程度,可以很好的分析不同因素對功率的影響關(guān)系[4]。Schaffrin B[5]提出加權(quán)最小二乘對MLR的調(diào)整方法。王惠文等[6]將MLR建模進行預測和分析。彭鵬等[7]運用MLR對電力負荷預測做了大量的研究。因此本文采用MLR對影響功率的風速和風向進行相關(guān)性分析。此外,預測風電功率的方法還包括高斯分布模型[8]、柯西分布模型[9]、分位數(shù)回歸模型[10]等,這些模型建立都需要大量的風電歷史數(shù)據(jù),在部分數(shù)據(jù)缺失和一些新風電場的數(shù)據(jù)量較少的情況下,對風電功率的預測并不能得到更為準確的值。
上述方法通常采用淺層模型作為預測方法,復雜的系統(tǒng)使用時預測精度有所下降。研究證明,深度學習能夠比淺層模型更好的提取數(shù)據(jù)序列深層非線性特征。當前,已經(jīng)用于風電功率預測的神經(jīng)網(wǎng)絡模型有支持向量機[11],局部遞歸神經(jīng)網(wǎng)絡[12],RBF神經(jīng)網(wǎng)絡[13],BP神經(jīng)網(wǎng)絡[14]等。相比于其它的神經(jīng)網(wǎng)絡,深度置信網(wǎng)絡(DBN)的非線性映射特征提取能力更適合用于預測風速、風向和功率等復雜特征的時序數(shù)列。Sanam Narejo等[15]通過構(gòu)造一個六層的DBN模型來對風速進行精確預測,并通過DBN的特征提取功能獲取到了非線性趨勢等重要樣本,最終取得不錯的預測效果。唐振浩等[16]在DBN網(wǎng)絡中插入了小波變換算法,實驗證明可以提高風速預測的準確性。Tao Yubo等[17]使用DBN算法提取風電場歷史運行數(shù)據(jù)中的樣本特征,同時也通過DBN模型研究了其它干擾因素對預測結(jié)果的影響。以上方法證明了DBN可以很好的進行風速的預測,但是要適應電力系統(tǒng)的并網(wǎng)發(fā)展要求,還需要對影響功率因素的風向、風機系數(shù)等因素進行綜合考慮。
為此,本文以風電場歷史原始數(shù)據(jù)為對象,對風速、風向和功率預測方法進行了研究,提出一種結(jié)合深度置信網(wǎng)絡(DBN)和多元線性回歸(MLR)的風電功率預測新方法。首先以風電場風速、風向為自變量,以功率為因變量,建立最優(yōu)MLR方程,然后在DBN的最頂層加入最優(yōu)MLR構(gòu)建預測模型,輸入風速和對應的風向數(shù)據(jù)通過預測模型計算出未來的功率值。根據(jù)MLR的映射關(guān)系和DBN的預測可以更好的擬合風電能量變換過程,得到風速、風向和功率的預測值,從而實現(xiàn)對風力發(fā)電機組的數(shù)據(jù)預測。
DBN網(wǎng)絡由多個受限玻爾茲曼機(RBM)疊加構(gòu)成,前一個RBM的隱層同時這也是后一個RBM的輸入層。網(wǎng)絡訓練分為兩個階段:分層預訓練階段,采用前向傳播從最底層開始逐層訓練;監(jiān)督微調(diào)階段,利用BP算法計算網(wǎng)絡誤差,從頂層到底層調(diào)節(jié)參數(shù),求取整個網(wǎng)絡模型的最優(yōu)解。本文采用的DBN網(wǎng)絡在最頂層添加最優(yōu)MLR方程進行計算,并在監(jiān)督微調(diào)階段進行訓練達到最優(yōu)。
RBM通過可見層接收最底層(或者前一個隱層)傳送過來的數(shù)據(jù)向量,輸入向量通過激活函數(shù)變換到隱含層,經(jīng)過訓練使得內(nèi)部能量函數(shù)達到最小值。給定可見單位vi、隱藏單位hi及其連接權(quán)值Wij(大小為nvnh),以及vi的偏移ai和hi的偏置權(quán)值bj,定義能量函數(shù)E(v,h)為
(1)
通過能量函數(shù)E(v,h)的計算,得出隱藏層和可見層的概率分布P(v,h)為式(2)(3),Z為歸一化因子
(2)
P(v,h)=e-E(v,h)/Z
(3)
觀測數(shù)據(jù)v的概率分布Pθ(v),它對應Pθ(v,h)的邊緣分布,也稱為似然函數(shù),如式(4)所示。式(5)表示在h中去掉分量hk后得到的向量,并代入式(6)(7)。
(4)
h-k=(h1,h2,…,hk-1,hk+1,…,hnh)T
(5)
(6)
(7)
能量函數(shù)簡化為式(8),可以得到求解出似然函數(shù)為式(9)(10)
E(v,h)=-β(v,h-k)-hkαk(v)
(8)
P(hk=1|v)=P(hk=1|h-k,v)
(9)
(10)
RBM的激活概率公式為sigmoid函數(shù),此函數(shù)在(-∞,+∞)函數(shù)值始終在0到1之間,可以計算出相應節(jié)點的激活概率。當已知可見層(或隱藏層)所有神經(jīng)單元是否被激活后,可以推出隱藏層(或可見層)神經(jīng)元的激活概率,即計算P(hk=1|v)和P(vk=1|h)。未知的RBM參數(shù)W,a,b可以通過無監(jiān)督學習確定,如2.3節(jié)所述。
DBN的訓練過程包括分層預訓練過程和微調(diào)過程。分層預訓練過程用于為所有參數(shù)提供良好的初值,微調(diào)過程通過假定神經(jīng)網(wǎng)絡的最初狀態(tài)來找尋最優(yōu)解。前者需要對神經(jīng)網(wǎng)絡采取逐層分別計算的方法,即每次對獨立的RBM進行預訓練,其相關(guān)參數(shù)為W,a,b(W連接權(quán)值,vi的偏移ai和hi的偏置權(quán)值bj)。對聯(lián)合概率P(v,h)的求解根本上是求出W,a,b的值。解出數(shù)據(jù)采樣的極大似然,就能讓RBM網(wǎng)絡表示的聯(lián)合概率P(v,h)和數(shù)據(jù)自身隱藏的內(nèi)在聯(lián)系最為相似。因此,目標函數(shù)為
(11)
其中θ屬于{W,a,b},S為訓練數(shù)據(jù)集。采用梯度上升算法求得RBM中的參數(shù)W,a,b的初值,具體如下
(12)
(13)
(14)
式(12)-(14)為只含單一訓練樣本時各偏導數(shù)的計算公式,而對于含有n個樣本的公式第一項可以使用訓練數(shù)據(jù)集上的數(shù)據(jù)計算。但是式(12)-(14)中關(guān)于Σ的計算復雜度是O(2nv+nh),第二項的計算過程十分復雜。對于這種任意的分布,可以采用馬爾可夫鏈蒙特卡羅方法(Markov Chain Monte Carlo,MCMC),如使用Gibbs采樣方法來采樣,并用樣本數(shù)據(jù)對Σ的值進行估計。
Hinton等提出了對比散度(Contrastive Divergence,CD)算法,通過在訓練樣本開始階段調(diào)整MCMC的狀態(tài),只需要很少次的狀態(tài)轉(zhuǎn)移就能夠達到目標。本文采用k步CD算法來進行計算,CD-k算法步驟具體可描述為:
1)利用P(h|v(t-1))采樣出h(t-1);
2)利用P(v|h(t-1))采用出v(t);
(15)
(16)
(17)
(18)
(19)
實驗結(jié)果表明,即使k=1,CD算法也能很好地識別模型。本研究采用CD-1進行采樣。因此,參數(shù)W,a,b的更新規(guī)則可由式(12)-(19)推導得到,上標t表示時間步長,η為學習率。
Wt+1=Wt+η(P(h|v(0))[v(0)]T-P(h|v(1))[v(1)]T)
(20)
at+1=at+η(v(0)-v(1))
(21)
bt+1=bt+η(P(h|v(0))-P(h|v(1)))
(22)
DBN中的所有參數(shù)都是基于分層的預訓練方法進行適當初始化,同時監(jiān)督學習并更新,使得DBN產(chǎn)生最小的損失函數(shù)。由于反向傳播算法(Back Propagation,BP)算法的有效性和高效性,本文使用BP算法進行微調(diào),激活函數(shù)是sigmod函數(shù),采用誤差平方和作為性能評價指標,學習規(guī)則采用最速梯度下降法。在微調(diào)過程中,BP采用周期性地自頂向下的學習方式。每個周期結(jié)束后相應參數(shù)全部要更新,從而降低預測結(jié)果的誤差率。接下來對訓練集的誤差進行反向傳播,更新調(diào)整DBN的參數(shù)為最優(yōu)結(jié)果。經(jīng)過一定的BP訓練周期后,可以對所有參數(shù)尋求最優(yōu)狀態(tài),從而完成了DBN的訓練過程,如圖1所示。
圖1 DBN訓練流程圖
相同風速下,風電機組的功率仍然會在區(qū)間內(nèi)波動,這是因為風機的周圍環(huán)境參數(shù)有所不同,特別是風向的變化會對穩(wěn)定運行的系統(tǒng)產(chǎn)生較大的影響。為了研究風向與功率的聯(lián)系,本文采用多元線性回歸(MLR)對風速、風向和功率建立三元映射模型。多元線性回歸通常用來研究輸出與不同輸入的相關(guān)程度,本文中輸入為風速和風向,輸出為相應的輸出功率。建立的多元線性回歸模型為
(23)
其中因變量y為功率,x1為風速的數(shù)據(jù),x2為風向的數(shù)據(jù),βi為對應的回歸系數(shù)。通過引用概率密度函數(shù)把回歸問題轉(zhuǎn)變?yōu)楦怕蕟栴}
(24)
因此求回歸系數(shù)βi就是解出全部概率密度函數(shù)的最大乘積結(jié)果
(25)
(26)
采用最小二乘法求解回歸系數(shù)β。其最小二乘矩陣表達式為
(27)
展開矩陣函數(shù)并對其求導等于0
(28)
求的解析解為
θ=(XTX)-1XTY=[β0,β1,β2]
(29)
根據(jù)前面的描述,基于風速、風向和功率的多元線性回歸分析除了需要預測即將到來的風速數(shù)據(jù),還需要預測風向數(shù)據(jù),才能根據(jù)多元線性回歸得出功率映射關(guān)系。風電功率的預測方法與風速的預測方法相同,即基于深度置信網(wǎng)絡的模型預測方法。在多元線性回歸模型中代入預測的風速、風向結(jié)果,從而計算出風電輸出功率的預測值。
本文將功率預測模型的建立分為以下三步:第一是將歷史原始風速和風向數(shù)據(jù)分別輸入到DBN中進行分層預訓練。第二是求解最優(yōu)MLR方程,將MLR方程放置于預訓練好的DBN最頂層,通過監(jiān)督微調(diào)過程使DBN模型參數(shù)達到最優(yōu)。第三是將歷史風速和風向數(shù)據(jù)分別輸入微調(diào)好的DBN網(wǎng)絡。通過DBN網(wǎng)絡可以得到風速和風向的預測值,最后MLR最優(yōu)方程可以計算出風電機組輸出功率的預測結(jié)果。提出的風電功率預測方法是DBN和MLR算法的結(jié)合模型,模型的輸入是風速數(shù)據(jù)序列和風向數(shù)據(jù)序列。DBN的訓練過程首先將參數(shù)隨機初始化,然后優(yōu)化所有的參數(shù)直至收斂。利用JetBrains PyCharm實現(xiàn)所開發(fā)的風電功率預測模型,風電功率預測流程圖如圖2所示。
圖2 風電功率預測流程圖
數(shù)據(jù)取自我國風電場風電機組實際運行時收集到的歷史風速、風向和功率數(shù)據(jù),采樣時間分別為30秒和10分鐘,選取1000個樣本點的數(shù)據(jù),數(shù)據(jù)覆蓋了2016年7月到2017年2月的時間段。在每個季節(jié),將采集到的風速、風向數(shù)據(jù)分為訓練數(shù)據(jù)集和測試數(shù)據(jù)集。訓練集涵蓋每月1日至20日,其余數(shù)據(jù)構(gòu)成測試數(shù)據(jù)集。
選取4個函數(shù)對預測的風電風速、風向和功率評估指標,具體計算公式如下:
1)相關(guān)系數(shù)R(Correlation Coefficient):
(30)
2)測定系數(shù)R2:
(31)
3)均方誤差(Mean Square Error,MSE):
(32)
4)均方根誤差(RMES):
(33)
分別對采樣時間為30秒和10分鐘的原始風速、風向和功率數(shù)據(jù)進行多元線性回歸分析,將風速和風向作為輸入變量X,功率作輸出變量Y,樣本數(shù)量為1000。通過模型匯總計算,回歸方程擬合的結(jié)果如表1所示。
表1 多元線性回歸結(jié)果統(tǒng)計
在觀測值不變的同類數(shù)據(jù)擬合下,相關(guān)系數(shù)R為0.95表示極高的正相關(guān)關(guān)系,測定系數(shù)均大于0.902顯示出較高的擬合度。根據(jù)結(jié)果可知,風速的回歸系數(shù)遠遠大于風向的回歸系數(shù),因此功率的預測主要影響因素是當時的風速值,風向值影響相對較小。
對多元線性回歸建模的誤差分析如表2所示。隨著采樣時間的增加,雖然整體擬合效果更好,但回歸系數(shù)均有波動,回歸系數(shù)越大,對功率的影響越大,對應的RMES波動越大,容易影響預測精度。
表2 均方根誤差比較
從上述計算過程中數(shù)據(jù)得到分析統(tǒng)計表,可見風速、風向和功率建模符合基本假設(shè),因此模型設(shè)定是有效的。根據(jù)回歸模型可知,風速和風向?qū)β示哂忻黠@的正向相關(guān)性影響,且風速的正向影響更加突出。
利用JetBrains PyCharm平臺對風電功率預測模型進行預測。預測結(jié)果圖中藍色線為真實數(shù)據(jù),黃色線為擬合數(shù)據(jù),綠色線為預測數(shù)據(jù),樣本數(shù)量為1000,預測步長為100。損失函數(shù)圖采用最高迭代240次的預測結(jié)果進行顯示。以下給出了風電場在采樣時間為30秒和10分鐘的典型風速預測結(jié)果。其中,圖3圖4為風電場的實測風速、擬合風速和預測風速的對比結(jié)果圖。橫坐標為樣本數(shù)量,縱坐標為風速大小。從預測結(jié)果可以看出,風電場在前期的實際風速變化大體較為平緩,能較好地實現(xiàn)對風速的預測,但在風速變化劇烈時,預測效果有所下降,但均能很好地反映大體風速的變化。
圖3 采樣時間30s的風速預測結(jié)果
圖4 采樣時間10min的風速預測結(jié)果
由表3可知,在240次迭代過程中,loss函數(shù)值逐漸減少并穩(wěn)定。30秒采樣時間預測的風速loss函數(shù)值和MSE值均比10分鐘預測的值更大。用式(32)評價預測結(jié)果的均方誤差MSE均小于0.466,預測精度較高。因此可知,采樣時間并不是越小越好,10分鐘的采樣時間的誤差更小,擬合程度更好,預測風速也更加精準。當采樣時間過小時,短期預測難以預測局部風速風向波動,導致預測誤差也隨之增大。
表3 風速預測性能指標比較
根據(jù)前面的描述,基于風速、風向的DBN建模預測功率,要求計算風速和風向兩個參數(shù)的預測值后通過多元線性分析模型得到功率。圖5、圖6是采用DBN模型得到的相對應的風向預測結(jié)果。
圖5 采樣時間30s的風向預測結(jié)果
圖6 采樣時間10min的風向預測結(jié)果
由于風向數(shù)據(jù)比風速數(shù)據(jù)的波動區(qū)間更大,可從表4得知loss函數(shù)和MSE值均增大。采樣時間為10分鐘的預測數(shù)據(jù)的loss函數(shù)和MSE值相對較小,預測風向的效果更好。
表4 風向預測性能指標比較
表5 風電功率預測性能指標比較
在DBN網(wǎng)絡中將MLR作為邏輯回歸層進行運算,輸入為風速和風向,輸出為預測的功率,結(jié)果如圖所示。圖7圖8給出了風電場輸出功率預測的不同情況。圖7中平均采樣時間較小,數(shù)據(jù)中的變化較多,預測誤差容易增大,預測曲線基本與實際曲線的趨勢一致;圖8中在預測的平穩(wěn)波動內(nèi)預測誤差較小,但風電場輸出功率在突然發(fā)生明顯變化時,預測誤差變大。隨著采樣時間的增加,功率預測誤差減少,但預測細節(jié)更少,預測整體表現(xiàn)較好。
圖7 采樣時間30s的風電功率預測結(jié)果
圖8 采樣時間10min的風電功率預測結(jié)果
多元線性回歸后預測的功率會受到風速預測和風向預測所帶來的誤差影響,所以功率預測的擬合情況較好但誤差更大。減少風速和風向的誤差可以有效的減少功率的誤差影響。
由以上結(jié)果分析可知,通過DBN和MLR的模型預測的風電功率能夠很好的擬合功率的變化,輸出功率相對穩(wěn)定時,功率預測的誤差小,預測曲線類似于實際風機功率的產(chǎn)出曲線。均方誤差MSE在10分鐘采樣的預測效果較好,整體誤差較小。風機功率的預測結(jié)果大體上滿足預測需求。
為了驗證所提出算法的有效性,分別采用風電場數(shù)據(jù)進行建模實驗,對比不同算法的建模精度。算法一[18]結(jié)合人工魚群算法(AFSA)和支持向量機(SVM)對風電功率進行預測。算法二[19]基于數(shù)學形態(tài)學聚類(CA)與果蠅優(yōu)化算法(FFOA)相結(jié)合。算法三[20]基于多位置NWP與主成分分析(PCA)進行研究。算法四為本文提出的DBN和MLR預測模型。實驗結(jié)果如表6所示。
表6 不同模型實驗結(jié)果對比
從表6中可以看出,基于DBN和MLR的模型預測誤差最小,MSE和RMSE分別為風電場輸出功率的36.66%和6.06%,整體預測結(jié)果都要優(yōu)于其它幾種方法,尤其在均方誤差MSE中,誤差值明顯降低。
風電功率預測是保持電網(wǎng)穩(wěn)定性的重要因素。本文提出了DBN融合MLR的預測模型,
對采集到的風電場的風速、風向和功率數(shù)據(jù)進行深度特征提取,分別對其進行回歸預測并進行實驗驗證。驗證結(jié)果表明,基于DBN和MLR的功率預測模型能較好地擬合風能的變化趨勢,既可以充分挖掘歷史數(shù)據(jù)減少誤差,又可以優(yōu)化功率曲線建模,在一定程度上能提高風速、風向?qū)β暑A測時的預測精度。本文提供的風電功率預測模型可以適用于風電場功率預測,為電網(wǎng)運行調(diào)度增加選擇方案和參考依據(jù)。