王東風,張中印,顧智勇,黃 宇
(華北電力大學 控制與計算機工程學院,河北 保定 071003)
隨著風力發電普及率的增加,如何提高風能利用效率,成為風電研究的熱點問題。準確的風速預測,不僅能提高風電并網后電力系統的電能質量,而且能提升系統的可靠性。準確獲取未來時刻風速值,可以降低風機塔身的疲勞載荷,提高風機的風能捕獲能力,減少風機葉片的損耗,延長其使用時間[1-3],對風電場運行的穩定與電力系統調度優化具有重要意義。
風速預測的方法,目前主要有物理法[4-5]、時間序列法[6-7]、神經網絡法[8-11]等。
物理方法的特點是:依賴天氣情況數據,運算數據量巨大,計算速度較慢,效率低。
時間序列法的核心是通過對過去歷史數據進行分析來尋找未來時刻值與當前時刻值的規律。該方法要求外部因素不能發生較大變化,所以其實用性較差。
神經網絡法模擬了生物神經結構與功能,其模型是一種能從海量復雜數據中學習到其內在模式的非線性模型。該模型自學習和自適應能力相對較強。由于神經網絡模型在計算時對數據量的要求很大,且容易陷入局部最優點,所以其預測精度往往難以達到要求。
風電場各風機風速間具有較強的時空相關性。針對于此,學者做了大量研究。文獻[12]使用經驗模態分解和皮爾遜相關系數從原始風速數據中識別 7個最相關的固有模態函數用于構建MFQL(Modified fuzzy Q-learning)框架來預測風速。該文獻對風機相關性的分析采用線性方法;然而線性分析法不能綜合考慮風機的空間分布距離等因素,故分析精度較差。文獻[13]分析了當地風電場和氣象站的相互作用,使用Copula方法確定了風電場代表年的風速以進行風資源評估。文獻[14]基于Copula函數來研究某地區的臨近區域風速大小,并利用Copula回歸函數對風速進行點預測和區間預測。文獻[13-14]利用Copula函數對風機風速運行數據進行擬合,在一定程度上提高了相關性分析精度;但其在分析過程中僅采用了一種Copula函數,適用性不強。
本文提出了基于混合Copula函數及鯨魚優化算法的風電場風機風速預測方法,并結合實際數據驗證該方法的有效性和可行性。
在特定的地理條件下,由于大氣壓差的作用,風能在不同風機間傳播時,其風向和風速都有很強的時空關系。相鄰單元的風速值通常具有廣泛的相關性;風速越大,風速相關性越顯著[15]。本文結合風電場內風機的地理位置分布情況與風機歷史運維數據,在分析多風機間風速相依關系的同時,重點研究風速預測的方法。
風速的時空相關性表現為:在時間上,由于風速不能突變,風電場中相同位置不同時刻的風速值間存在一定的自相關性;在空間上,由于自身地理位置與其它風機的空間分布關系以及環境的影響,風電機組也具有空間相關性。圖1為風電場中多風機的分布示意圖,顯示了風電場中多個風機之間的相關性。風速的時空相關性對風速預測的精確度有很大影響。相關研究表明,在進行風速預測時,考慮風機間的相關性,可有效提高預測的準確性。

圖1 風電場多風機空間分布Fig. 1 Spatial distribution of multi fans in wind farm
在同一個風電場中,由于風能資源具有一定的周期性,且地勢特征、風機所處位置等因素對風機相依性的影響也基本相似,所以同一風電場多風機風速之間的時空相關性符合一定的統計學規律。常用的統計學方面的相關性分析法主要有線性分析法與Copula函數分析法。由于風電場各風機間相關性復雜,具有強烈的非線性相關關系,所以利用線性分析法難以得到準確分析結果。Copula函數能連接邊緣分布與聯合分布,能精確分析多個變量間相關性,這為相關性分析提供了便利。
Copula概念由Sklar在1959年首次提出,原意為連接,也被稱為連接函數[16],開始主要應用于金融衍生品領域,后來隨著Copula理論的不斷完善發展,現已廣泛應用于水文、環境和風險評估等領域。用Copula函數可以構造多種類型多元分布,且能夠連接邊緣分布,不受連接形式限制;因此,可以通過分別求解Copula函數與邊緣分布函數的方式來降低計算難度。
Copula函數形式多樣。橢球族 Copula與Archim Copula是最常用的 Copula函數。高斯Copula與t-Copula函數屬于橢球族Copula。兩者尾部均具有對稱性且中心區域的差別較小,主要差異性體現在尾部厚度的不同。Archim Copula函數特性則主要由其算子所確定,不同形式的算子決定著不同的 Archim Copula,其中最常用的是Clayton-Copula、Gumbel-Copula與 Frank-Copula函數。
單一形式的Copula函數由于其函數形式特點的限制,只能用于對變量間相關關系的某一方面進行衡量,從而造成了相關性分析的片面性。將不同的Copula函數進行混合,構造成混合Copula函數模型,則可以綜合幾種Copula函數的特點[17],實現對變量間相關性更為精確的描述。混合Copula函數的構造形式如下:

式中:C1(·),C2(·),C3(·)為 3 類不同的 Copula函數;參數λ1,λ2,λ3∈[0,1]為模型的權重參數,且λ1+λ2+λ3=1;θ1,θ2,θ3為模型的相依參數。權重系數表示單個Copula所占比重,相依系數則用來描述變量之間的相關性。
混合Copula函數參數較多、形式復雜,存在求取參數比較困難的問題。對此問題,本文利用鯨魚優化算法來解決。
在研究座頭鯨獨特的捕食行為后,S.Mirjalili等人于 2016年提出了鯨魚優化算法(whale optimization algorithm,WOA)[18]。
鯨魚優化算法原理簡單,易于編程,手動設置的參數少,跳出局部最優的能力強,有著較快的收斂性和較強的穩定性,可為后文混合Copula函數的參數估計提供良好的算法基礎。
座頭鯨群可以感知獵物的位置并將其包圍。WOA算法將當前處于最佳位置的個體設置為最優個體,剩余鯨魚個體將根據最優個體所在的區域改變其位置。數學表達式如下:

式中:D為當前鯨魚個體位置與最優個體位置的距離;X*(t)與X(t)分別為最優個體位置向量和當前個體位置向量;X(t+1)是更新的位置向量;t為迭代次數;A和C為參數向量。

式中:r1與r2為值在[0,1]間的隨機向量;a是迭代過程中從2至0的線性遞減數。

式中:tmax為最大迭代次數。
在這個階段,鯨魚群已經確定當前目標,整個種群將螺旋式地更新其位置以攻擊獵物。數學模型如下:

式中:l為[0,1]之間的隨機數;b為常數參數。
為了更充分地探尋搜索空間,WOA算法將隨機選擇一個鯨魚個體作為最優個體來指導其它鯨魚個體,使得鯨魚種群能夠在遠離現有地點進行搜索。具體表達式如下:

式中:Xrand是隨機選擇的鯨魚位置向量。
在進行計算前,需先確定算法的參數,即設定迭代最大次數tmax和鯨魚初始種群。具體算法流程如圖2所示。

圖2 鯨魚優化算法流程圖Fig. 2 Flow chart of whale optimization algorithm
建立Copula相依性模型包括2過程:數據處理與懲罰似然函數的建立;風速邊緣分布計算。
4.1.1 風速數據處理與懲罰似然函數的建立
風電機組運行數據是相關性分析的重要數據源,對模型的建立與分析至關重要。對于風電機組的原始數據樣本,需進行以下處理:
(1)數據清洗。
風機在風電場中實際運行隨時會發生停機等故障,于是在所獲取的風速數據中會包含一些“臟數據”;因此在進行風機風速的相關性分析及風速預測之前,需要先對風機的運行數據進行處理。
通過分析風速-功率曲線可知,風機的異常數據主要有3種:第一種為風速值很大,然而功率為零的數據,這種異常數據主要是因傳感器故障或機組停機而產生。第二種為風速值很大,但功率較小或者小于額定功率的數據。環境因素、信號噪聲情況等會導致此類錯誤數據的發生。第三種異常數據是因風速傳感器故障而導致的“風速較小,但風功率值較大”的數據。
綜合考慮以上異常數據產生原因,本文選用文獻[19]提出的數據預處理算法。該算法的基本步驟為:首先對切入風速值到切出風速值區間進行劃分,得到風速區間,并把每個風速數據點歸入到合適的風速區間內;然后分析并統計各斷面風速數據點,得到監測參數的統計值;最后用監測參數的統計值替代原始風速數據。
(2)懲罰似然函數。
若直接求解極大似然函數,則容易加入一些作用不明顯的Copula函數,造成模型的準確度降低。因此,本文構建懲罰似然函數來選擇參數。利用罰函數去除擬合效果不太好的Copula函數,使得模型可以更好地擬合于風速時間序列。懲罰似然函數形式如下:

式中:L(Φ)為求解出的極大似然函數;pγ(λ)為 SCAD(smoothly clipped absolute deviation)懲罰函數。
4.1.2 風速邊緣分布計算
對于邊緣分布的估計有多種方法,如經驗分布、先驗假設等。
經驗分布法的光滑度較差,易產生較大的誤差。
先驗假設方法步驟為:首先對數據符合何種分布進行假設;然后對假設是否恰當進行驗證。由于先驗假設過程耗費時間較長,并且很難驗證,所以該方法具有一定的局限性。
本文采用非參數核密度估計方法來求解邊緣分布。用數據擬合邊緣分布,可以使結果更加真實可靠。核密度估計形式如下:

式中:K(·)表示核函數;hn為窗寬。
核密度估計的結果主要由核函數及窗寬決定。本文選取高斯核函數,窗寬利用經驗法則進行確定。
Copula函數可以將2個變量的邊緣分布進行結合,從而得到聯合分布函數;然后即可以通過分析局部變量與聯合分布函數之間的相依關系來對變量進行預測。
設隨機變量X為自變量,隨機變量Y為因變量。利用混合Copula函數方法進行預測的步驟如下。
步驟2 根據鯨魚優化算法計算出混合Copula函數的各個參數。
步驟3 已知X在Xt+1的概率分布值為F(Xt+1),即U1=F(Xt+1),將其代入到混合Copula函數表達式中,使得該式只有一個未知數V。

步驟4 將步驟1、2中得到的數據進行多項式擬合:

式中:a1,a2, … ,am+1為多項式系數;m值根據擬合情況來確定。
步驟5 對步驟3、4進行聯立求解,即得待求的V。
步驟6 利用V=F(y)對邊緣分布進行逆變換,求出V值對應的Yt+1。
圖3示出的基于混合Copula函數及鯨魚優化算法的風電機組風速預測流程圖,包含了混合Copula模型建立和風速預測2部分。

圖3 風速預測流程圖Fig. 3 Flow chart of wind speed prediction
以某風電場實際運行數據為樣本,構建本文提出的基于混合Copula函數及鯨魚優化算法的風速預測模型,并將其預測結果與單一Copula函數的預測結果進行對比驗證。
以某風電場4臺相鄰風機為例,選取2018年5月的歷史數據作為實驗數據。數據的采樣時間為10 min。將:5月1—28日時間段的數據作為訓練數據,29—31日的數據作為測試數據。首先,使用訓練數據進行學習,尋找最優的擬合參數;然后,使用測試數據評價訓練得到的模型的實際能力。
5.2.1 混合Copula模型建立
將 Gaussian-Copula、Gumbel-Copula與 Frank-Copula函數進行混合,選用平方歐式距離作為檢驗標準。混合Copula函數的參數及平方歐式距離如表1所示。

表1 混合Copula函數參數及平方歐式距離Tab. 1 Parameters of mixed Copula function and square Euclidean distance
由表1可知,混合Copula的平方歐式距離相比與單一Copula更小,表明混合Copula能更好地擬合風機風速間的相關性。
5.2.2 單一Copula函數預測結果
圖4為單一Copula函數的風速預測結果。從圖4可以看出,基于單一Copula函數的風速預測結果能較好地跟蹤風速變化,準確性較好;然而,在一些風速變化較大的點處,風速預測有著較大的誤差。所以從預測結果看,對于風機之間相關性分析仍需進一步提高和完善。

圖4 單一Copula函數風速預測結果Fig. 4 Wind speed prediction results of single Copula function
5.2.3 混合Copula函數預測結果
圖5為本文方法預測結果。由圖5可知,運用本文方法得到的風速預測值與風速實際值的吻合程度較高,預測精度和預測穩定性較單一Copula函數預測法均有提高。


圖5 鯨魚算法優化混合Copula函數風速預測結果Fig. 5 Wind speed prediction results of hybrid Copula function optimized by whale algorithm
表2示出了實驗中使用4種不同Copula函數預測方法的均方根誤差(eRMSE)和平均絕對百分比誤差(eMAPE)。eRMSE對較大的誤差比較敏感,可反映模型的分散性;eMAPE是誤差與實際值之間的比率,可以看作是一個相對誤差函數[20]。這2個指標從不同角度衡量預測算法的性能。

表2 風速預測誤差指標對比Tab. 2 Comparison of wind speed prediction error indexes
由表2可知,混合Copula函數預測法的eRMSE與eMAPE均低于單一Copula函數預測法,預測精度有明顯的提升,表明鯨魚優化算法求解的混合Copula模型能更準確地捕捉風速間的相關關系,提高相關性分析精度,進而提高預測的準確性。
本文基于混合Copula函數及鯨魚優化算法對風電場內多風機進行相關性研究進而得到風速預測值,結論如下:
(1)單一 Copula函數預測方法的準確性依賴于風機之間相關性類型,若風機之間相關性符合所選 Copula函數類型,則其預測精度較高。風速相關性復雜多樣,適合 Copula函數難以直接選擇。
(2)使用本文模型,可有效地提高相關性分析精度,進而提升風速預測的準確性和穩定性。