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