解加盈,郭鵬
(華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,北京 102206)
隨著能源轉(zhuǎn)型的提速,低碳化、清潔化已成為不可阻擋的趨勢和潮流。其中,風(fēng)能憑借其儲量豐富,利用率高等特點(diǎn),近年來在我國得到了快速發(fā)展。在風(fēng)力發(fā)電過程中,功率曲線是表征風(fēng)電輸出特征的關(guān)鍵工具[1],也是考核機(jī)組性能的一項(xiàng)重要指標(biāo)。對功率曲線進(jìn)行精確建模對提高機(jī)組的發(fā)電效率、降低運(yùn)行成本有重要作用。
風(fēng)電機(jī)組生產(chǎn)廠家提供的功率曲線只能反映風(fēng)電機(jī)組標(biāo)準(zhǔn)狀態(tài)、穩(wěn)定狀態(tài)運(yùn)行的狀況,如果將其用來分析風(fēng)電機(jī)組的實(shí)際運(yùn)行狀況就會產(chǎn)生明顯的誤差。國際電工委員會(IEC)頒布的 IEC 61400-12-1標(biāo)準(zhǔn)指出,理論功率曲線表示出了風(fēng)速與輸出功率在10 min內(nèi)平均值的對應(yīng)關(guān)系,并且采用在試驗(yàn)風(fēng)場長時(shí)間持續(xù)測量的方法來獲得[2]。而實(shí)際運(yùn)行中機(jī)組的輸出功率受到地形、尾流等多種因素的影響,實(shí)際發(fā)電量與預(yù)期值可能存在較大誤差。因此,利用機(jī)組實(shí)際運(yùn)行數(shù)據(jù)建立的實(shí)測功率曲線才是評價(jià)風(fēng)電機(jī)組性能的重要指標(biāo)[3]。文獻(xiàn)[4]對風(fēng)電機(jī)組功率曲線建模的目的與方法進(jìn)行了較全面的綜述以及批判性的分析。文獻(xiàn)[5]提出了一種修正雙曲正切的精確參數(shù)模型來表征風(fēng)電機(jī)組的功率曲線。文獻(xiàn)[6-8]提出了功率曲線的四參數(shù)邏輯函數(shù)模型、五參數(shù)模型以及九參數(shù)模型。文獻(xiàn)[9]提出了一種基于數(shù)據(jù)分區(qū)和支持向量機(jī)算法來構(gòu)建功率曲線模型的方法。但上述文獻(xiàn)僅將風(fēng)速作為功率曲線模型輸入,模擬風(fēng)速與輸出功率的一對一映射關(guān)系,沒有考慮其他對功率有影響的因素。文獻(xiàn)[10]考慮了環(huán)境溫度以及附近障礙物對風(fēng)機(jī)出力的影響。文獻(xiàn)[11]在功率曲線建模中考慮了風(fēng)向因素。文獻(xiàn)[12]提出一種Langevin模型,將功率輸出拆分為確定性和隨機(jī)性兩部分,隨機(jī)性部分考慮了風(fēng)湍流等其他外部因素。但三者沒有對影響風(fēng)電機(jī)組輸出功率的因素進(jìn)行全面分析。
由于風(fēng)電機(jī)組發(fā)電過程中數(shù)據(jù)采集與監(jiān)視控制(SCADA)系統(tǒng)采集到的變量較多,這些變量與輸出功率之間的關(guān)系較為復(fù)雜,其對輸出功率的解釋能力是未知的,且變量之間可能存在著多重相關(guān)性。文獻(xiàn)[13]直接選取了6個變量對風(fēng)電機(jī)組輸出功率進(jìn)行建模,而沒有在數(shù)據(jù)層面分析各變量對輸出功率的解釋程度。本文分析了影響風(fēng)電機(jī)組風(fēng)能捕獲和輸出功率的因素,提出了采用偏最小二乘回歸方法(PLS)對風(fēng)電機(jī)組采集到的多種變量進(jìn)行回歸分析,綜合考慮各個變量對輸出功率的解釋能力,提取出對風(fēng)機(jī)輸出功率影響較大的變量,同時(shí)降低了后續(xù)功率曲線建模方法的復(fù)雜度,增強(qiáng)模型的穩(wěn)定性和適應(yīng)能力;之后引入深度神經(jīng)網(wǎng)絡(luò)(DNN)進(jìn)行多變量功率曲線建模。通過精度校驗(yàn)以及引入其他建模方法作對比,證明本文中DNN功率曲線建模的精度高,泛化能力好。
PLS是一種多變量統(tǒng)計(jì)分析技術(shù),是多元線性回歸、典型相關(guān)分析和主成分分析的基本功能的整合。在特征提取過程中,PLS獲得的主要元素不僅可以克服自變量之間存在的多重相關(guān)性、全面地總結(jié)自變量給出的信息,而且可以很好地解釋因變量,實(shí)現(xiàn)對高維數(shù)據(jù)的降維處理。
假設(shè)原始輸入變量X∈RN×m,輸出變量Y∈RN×1,其中N為樣本數(shù),m為輸入變量維數(shù)。在PLS建模前需要對數(shù)據(jù)集進(jìn)行歸一化處理,歸一化后的輸入、輸出分別記為X0,Y0。首先定義X0,Y0第1個主成分的軸向量ω1,c1分別是m維、n維的單位行向量。通過ω1,c1可以得到第1個主成分t1,u1,在提取主成分t1和u1的過程中需要滿足以下2個條件:
(1)t1和u1盡可能多地?cái)y帶X0,Y0中的信息,即:Var(t1)→max,Var(u1) →max;
(2)自變量的成分t1對因變量的成分u1有最強(qiáng)的解釋能力,這意味著t1和u1的相關(guān)性需要最大化,即Corr(t1,u1)→max。
(1)
(2)
(3)
式中θ2為目標(biāo)函數(shù),要求取得最大值,所以ω1和c1分別為對應(yīng)兩矩陣最大特征值的單位特征向量。由于本文中Y0只是一個變量,所以c1是常數(shù)1,根據(jù)式(1)可得u1=Y0,根據(jù)式(2)、式(3)可得
(4)
(5)
X0與Y0對t1的回歸關(guān)系為
(6)
(7)
式中:p1,r1為回歸向量系數(shù),則有
(8)
(9)
用殘差矩陣X1,Y1取代X0,Y0,求第2主成分t2,并依次進(jìn)行,根據(jù)交叉有效性原則確定最終的主成分個數(shù)。
(10)
定義變量投影重要性指標(biāo)(VIP)來表征自變量對因變量的解釋能力和重要程度。自變量的VIP值越大,說明該自變量對因變量的預(yù)測越重要。
(11)
式中:Rd(Y;th)=r(y,th)為y與th的相關(guān)系數(shù);p為主成分的個數(shù);ωhi為軸ωh的第i個元素。
近年來,DNN在機(jī)器學(xué)習(xí)和人工智能領(lǐng)域受到了極大的關(guān)注。通過多層非線性變換,將低級特征組合在一起形成更抽象的高級特征。與單層神經(jīng)網(wǎng)絡(luò)相比,DNN表現(xiàn)出強(qiáng)大的非線性表達(dá)能力。DNN由多層自適應(yīng)的非線性單元組成,每個神經(jīng)層之間完全連接,通過逐層學(xué)習(xí)不斷減小模型預(yù)測誤差。本文所用DNN框架如圖1所示,包括輸入層、輸出層和4個隱含層。其中輸入層的神經(jīng)元個數(shù)根據(jù)PLS篩選的結(jié)果確定;隱含層為全連接神經(jīng)網(wǎng)絡(luò),每層的節(jié)點(diǎn)數(shù)都為70,每一層都可以表示為權(quán)重W與神經(jīng)元組成的向量α相乘,再加偏差量b。
圖1 DNN回歸結(jié)構(gòu)示意圖Fig.1 Regression structure diagram of DNN
DNN回歸建模的主要步驟如下:
(1)為使模型能夠?qū)Ω叨确蔷€性問題進(jìn)行精確建模,對DNN各層增加激活函數(shù);
αk=σ(zk)=σ(Wkαk-1+bk) ,
(12)
式中:αk為第k層的輸出;Wk和bk分別為k層和k-1層之間的權(quán)重和偏差;σ為激活函數(shù)。
(2)采用Xavier初始化方法對DNN進(jìn)行逐層初始化,再利用反向傳播算法(BP)對DNN進(jìn)行訓(xùn)練,這個過程中采用自適應(yīng)矩陣估計(jì)(Adam)從最后一層微調(diào)各層權(quán)重Wk和偏差bk,達(dá)到各參數(shù)逐層學(xué)習(xí)不斷提高DNN模型預(yù)測精度;
(13)
式中:ε為學(xué)習(xí)率,本文中取0.005;D為代價(jià)函數(shù),常用均方值誤差(MSE),
(14)
(3)為了防止過擬合,提高其泛化能力,采用丟棄法(Dropout)對模型進(jìn)行正則化,以便提高模型泛化性能。
表1 輸入變量的VIPTab.1 VIP of input variables
根據(jù)PLS的交叉有效性原則與VIP指標(biāo)可以得出在上述8個變量中,風(fēng)速、槳距角、發(fā)電機(jī)轉(zhuǎn)速、齒輪箱油溫和偏航誤差對風(fēng)電機(jī)組輸出功率的解釋能力較強(qiáng),故選擇這5個變量作為DNN的輸入變量,對風(fēng)電機(jī)組功率曲線進(jìn)行建模。
將上述3 540條記錄中的風(fēng)速、槳距角、發(fā)電機(jī)轉(zhuǎn)速、齒輪箱油溫、偏航誤差以及功率提取出來作為一個數(shù)據(jù)樣本,前5個變量作為DNN模型的輸入,功率作為模型的輸出。具體步驟如下:
(1)由于樣本中6個變量具有不同的量綱和量綱單位,為了消除變量間的量綱影響,將每個變量歸一化到[0,1]區(qū)間,將前3 040個樣本作為訓(xùn)練樣本,后500個樣本作為驗(yàn)證樣本。
(2)搭建DNN模型。其中為提高模型表達(dá)能力,4層隱藏層的神經(jīng)元個數(shù)都為70,選取修正線性單元(ReLU)作為激活函數(shù),對3 040條訓(xùn)練樣本進(jìn)行訓(xùn)練;ReLU形式為
f(x)=max(0,x) 。
(15)
(3)回歸500條驗(yàn)證樣本。以均方根誤差(RMSE)為標(biāo)準(zhǔn)對模型精度進(jìn)行驗(yàn)證,RMSE越小,說明模型預(yù)測精度越高。
(16)
根據(jù)上述步驟可以得到驗(yàn)證樣本的RMSE為0.045 6,驗(yàn)證結(jié)果如圖2、圖3所示(功率真實(shí)值與預(yù)測值均歸一化)。
圖2 DNN功率曲線建模驗(yàn)證結(jié)果1Fig.2 Model verification result 1 for DNN power curve
圖3 DNN功率曲線建模驗(yàn)證結(jié)果2Fig.3 Model verification result 2 for DNN power curve
從圖2與圖3中可以看出,絕大多數(shù)歸一化殘差絕對值都小于0.1,DNN對功率曲線建模有很高的精度。在圖3中,功率預(yù)測值呈帶狀分布,體現(xiàn)出風(fēng)速之外的變量對輸出功率的影響。
3.3.1 激活函數(shù)選取校驗(yàn)
激活函數(shù)可以使DNN模型從簡單線性空間映射到高度非線性空間,激活函數(shù)選取校驗(yàn)是探索DNN結(jié)構(gòu)參數(shù)與輸出性能之間的關(guān)系。本文計(jì)算模型建立中選取ReLU 作為激活函數(shù),為驗(yàn)證其優(yōu)越性,與傳統(tǒng)的Sigmoid等激活函數(shù)進(jìn)行對比。精度校驗(yàn)對比如圖4所示,選取ReLU為激活函數(shù)時(shí)RMSE為0.045 6,而選取其余激活函數(shù)時(shí)RMSE均大于0.080 0。顯然,本文中選取ReLU為激活函數(shù)預(yù)測精度高、泛化能力強(qiáng)。
圖4 激活函數(shù)選取校驗(yàn)Fig.4 Selection and verification of activation function
3.3.2 隱含層節(jié)點(diǎn)數(shù)選取校驗(yàn)
在DNN中,隱含層節(jié)點(diǎn)數(shù)的選擇也非常重要,隱含層節(jié)點(diǎn)數(shù)不僅對建立的神經(jīng)網(wǎng)絡(luò)模型的性能影響很大,而且是訓(xùn)練時(shí)出現(xiàn)“過擬合”的直接原因。為盡可能避免訓(xùn)練時(shí)出現(xiàn)“過擬合”現(xiàn)象,保證足夠高的網(wǎng)絡(luò)性能和泛化能力,本文對隱含層的節(jié)點(diǎn)數(shù)進(jìn)行分析,結(jié)果如圖5所示。當(dāng)隱含層節(jié)點(diǎn)數(shù)為70時(shí),該DNN模型的預(yù)測結(jié)果精度最高,其RMSE值最小。
圖5 隱含層節(jié)點(diǎn)數(shù)選取校驗(yàn)Fig.5 Selection and verification of nodes number on hidden layer
3.3.3 模型精度校驗(yàn)
為驗(yàn)證本文建立的DNN功率曲線模型的準(zhǔn)確性,引入單隱層神經(jīng)網(wǎng)絡(luò)(NN)、支持向量機(jī)(SVM)[7]和六階多項(xiàng)式回歸[15]來進(jìn)行對比。對500組驗(yàn)證樣本進(jìn)行驗(yàn)證,DNN與上述3種模型對比結(jié)果如圖6所示,模型校驗(yàn)精度見表2。
通過圖6與圖3對比可以看出, DNN功率曲線模型對驗(yàn)證集的預(yù)測結(jié)果與實(shí)際數(shù)據(jù)誤差更小。同時(shí)在表2中明顯可以看到DNN功率曲線建模較其他3種方法的精度有了較大的提高,對風(fēng)電機(jī)組發(fā)電性能提升有較大的幫助。
圖6 NN,SVM與六階多項(xiàng)式回歸功率曲線建模驗(yàn)證結(jié)果Fig.6 Model verification result for NN,SVM and sixth-order polynomial regression power curve
建模方法RMSEDNN00456單隱層神經(jīng)網(wǎng)絡(luò)00767支持向量機(jī)00721多項(xiàng)式回歸00941
風(fēng)電機(jī)組功率曲線能夠反映機(jī)組的發(fā)電性能,利用風(fēng)機(jī)歷史數(shù)據(jù)對功率曲線建模更符合機(jī)組的實(shí)際運(yùn)行狀態(tài)。本文通過PLS對多個變量進(jìn)行篩選,選用DNN對最優(yōu)子集進(jìn)行功率曲線建模。主要工作包括:
(1)將SCADA數(shù)據(jù)中風(fēng)速、風(fēng)向等20個變量作為PLS輸入,功率作為PLS輸出,根據(jù)交叉有效性原則和VIP指標(biāo)分析輸入變量與功率之間的相關(guān)程度,篩選出與對功率解釋程度最強(qiáng)的變量子集。
(2)建立DNN功率曲線模型,通過對樣本數(shù)據(jù)的訓(xùn)練,驗(yàn)證了該模型的精度。
(3)通過DNN模型激活函數(shù)及隱層節(jié)點(diǎn)數(shù)校驗(yàn),并引入其他3種模型做對比,證明了本文采用方法的準(zhǔn)確度。