宣 暢
(浙江工商大學薩塞克斯人工智能學院,浙江 杭州 310018)
xuan_chang@qq.com
在現代化發展中,越來越需要一個穩定、節能、經濟的電力來源,因此利用可再生能源進行發電的技術越來越被廣泛關注。在各種綠色可再生能源中,風能是一種非常常見的綠色能源。近些年,我國各個地區也在大修風電場來進行風力發電。但是,風能是一種十分不穩定且隨機性很強的資源,且這個特性會造成風電場發電不穩定。因此,需要通過一定的技術手段對風力發電功率進行預測,這也有利于風電場的建設與維護,減輕風能不穩定的特性對電網造成的沖擊。
針對目前階段如何保證電力系統在得到最大化受益的同時,減少風力發電帶來的沖擊,相關領域的研究學者提出了許多方法,如基于小波變換和BP神經網絡預測法、支持向量機(Support Vector Machine,SVM)、人工蜂群算法優化神經網絡預測法、深淺層神經網絡等預測方法,但效果并非最佳,因此本文建立了一個新型預測模型。
極限學習機(Extreme Learning Machine,ELM)雖然學習效率高,但基于經驗風險最小化原理進行學習,容易出現過擬合現象,為此HUANG提出了KELM算法,以提高其泛化能力。其數學模型推算如下:

根據KKT(Karush-Kuhn-Tucker)解式(1)可以轉換為如下等式:

將式(2)、式(3)和式(4)代入式(1),則KELM模型的實際輸出可以寫成緊湊形式:

從上述一系列推導過程來看,與ELM人工調節參數的要求以及容易陷入局部最優的缺點不同,KELM解決了ELM中的隨機初始化問題。同時,KELM具有較少的可調參數、更快的收斂速度和更好的泛化性能。由式(5)可以看出,KELM算法的性能主要和懲罰參數及核參數這兩個值有直接關系。這兩個值的變化也會影響模型預測的精度,所以需要用其他算法來優化。
多元宇宙優化算法(MVO)是由MIRJALILI等根據白洞、黑洞、蟲洞這三個主要概念提出來的。白洞擁有很強的斥力;黑洞則有極高的引力;蟲洞是連接不同宇宙和傳輸物體的軌道。
MVO算法的優化執行過程分為兩個階段,即探測和開采。白洞和黑洞作用于探測階段,而蟲洞則作用于開采階段,其數學模型如下:
首先是初始化一個隨機宇宙種群:


接下來進行的是選擇過程。由于每個宇宙個體的膨脹速度不同,宇宙個體中的物體會通過連接白洞和黑洞的隧道傳遞。膨脹率越高,物體通過隧道的概率越低。這個過程遵循輪盤賭機制,如式(7)所示:


有了上述機制,兩個宇宙在沒有攝動的情況下繼續交換物體。為了維持多元宇宙給每個宇宙提供局部的變化的多樣性和進行開發,默認每個宇宙是存在蟲洞的,且蟲洞可以隨機地在空間中傳輸物體,從而建立了一個機制,這個機制的構想如下:

式(8)中,X表示到目前為止搜索到的最優宇宙的第個參數,ub和lb分別為第個變量的上界和下界,、、為[0,1]范圍內的隨機數。和分別為移動距離速率和蟲洞存在概率。用來定義蟲洞在宇宙中存在的概率,需要在迭代過程中線性增長,以強調作為優化過程進展的開發。定義一個物體在迄今為止獲得的最佳宇宙中被蟲洞傳送的距離變化率的一個因素。與相反,會隨著迭代次數的增加而增加,以便在獲得的最佳宇宙周圍進行更精確的開發或搜索。兩個系數的自適應公式如下:

式(9)中,min 和max 分別為最小值和最大值,均為手動設置;為當前迭代次數;為最大迭代次數。

式(10)中,為迭代過程中的開發精度。
鯨魚優化算法(WOA)是一種基于鯨魚捕獵行為而提出的優化算法,主要過程分為:
(1)包圍獵物
鯨魚能夠搜尋獵物并將其包圍。鯨魚算法的初始位置是隨機賦予的,也就是說一開始鯨魚的位置為默認的最佳位置,在經過一輪搜尋后,算法會更新得到一個新的鯨魚位置。將適應度作為對比條件將兩個位置進行對比,如果新位置的適應度較好則更新最佳位置,否則保留原位置。其公式如下:


(2)泡泡網螺旋更新
算法通過縮小環繞機制和螺旋更新位置機制對座頭鯨的泡泡網行為進行數學建模,其數學模型如下:


為了模擬上述兩個同時發生的行為,建立了一個存在如下邏輯關系的數學模型:

式(16)中,是[0,1]中的隨機數。
(3)搜索階段
加強對WOA的探索,同樣地,基于向量→變化的方法也可以用于搜索過程。鯨魚將使用從當前搜索代理中隨機選擇的位置來隨機搜索獵物,以相應地更新它們的位置。其數學模型如下:


本文所使用的數據集是通過Renewables這個開源的天氣網站獲取的。該網站通過NASA MERRA全球再分析模型和CM-SAF's SARAH衛星觀測獲取天氣數據來工作。本文選擇2019 年全年杭州的歷史天氣數據作為數據集的原始數據,其中包含風電場的發電量和其他九個特征。
在最初的數據集中有許多天氣元素,由于風電場的周圍環境、空氣的熱對流或渦流均能引起風速變化,導致風能具有強烈的隨機性、波動性和不確定性。但也并不是所有因素都會影響風電場的發電量,所以為了使得預測模型達到更好的預測效果,本文還對此數據集進行了優化。
本文采用皮爾遜相關系數法對數據的特征值進行了相關性分析,結果如圖1和圖2所示。

圖1 皮爾遜相關系數法Fig.1 Pearson correlation coefficient method

圖2 風速與發電量的變化規律Fig.2 Variation law of wind speed and power generation
圖1表示的是各個天氣因素與通過風電場發電量計算得到的皮爾遜系數的值,皮爾遜系數大于0.1且其值越大,相關性就越高。圖2表示的是單個因素與發電量的變化規律。可以看出,風電場發電量與風速是密切相關的,其次就是溫度、云層覆蓋量和空氣密度。
經過上述分析,本文選取風速、溫度、空氣密度和云層覆蓋量四個特征點,將它們與每天每小時持續365 天所測得的真實發電量組合構建一個8760×5的數據集,部分數據集展示如表1所示。

表1 部分數據集Tab.1 Partial data sets
雖然KELM具有較少的可調參數、更快的收斂速度和更好的泛化性能,但仍有不足之處,即懲罰參數和核參數是隨機產生的,且這兩個值的不同對結果也有著很大的影響。目前還沒有公認統一的最佳方法來對KELM進行優化。通常是用網格搜索方法來優化參數,但是該方法在設置參數范圍方面會遇到困難,并且容易陷入局部最優。
本文先利用WOA算法進行一個初始化種群的工作,通過多次運算WOA算法,每次得到一個最優位置向量并保存在一個矩陣里,最后將這個矩陣作為MVO算法的初始宇宙種群得到一個優化后的WOA-MVO混合優化算法。然后利用WOAMVO混合優化算法對KELM模型里的兩個參數進行進一步的尋優,利用黑洞、白洞和蟲洞的開發與搜索獲得一個最優的懲罰參數和核參數的組合,并將此組合賦予KELM模型。最后,本文提出了基于鯨魚算法改進的多元宇宙算法優化的KELM,即WOA-MVO-KELM,該方法的總體框架如圖3所示。

圖3 WOA-MVO-KELM預測模型流程圖Fig.3 Flow chart of WOA-MVO-KELM prediction model
在圖3中,預測模型主要由兩個程序組成,包括參數優化和預測屬性評估。左半部分為改進的MVO優化算法搜尋最優參數組合的過程,當內部參數優化過程終止時,將最優參數對輸入KELM預測模型進行10折交叉驗證,然后進行預測工作。最后通過計算得出均方差(MSE)、均方根誤差(RMSE)和真實值與預測值的平均誤差進行預測效果評估。MSE和RMSE的數學表達式如下:


KELM的可設參數其實只有兩個,分別是懲罰參數和核參數,相較于ELM,它無須設置隱藏節點的數目,因為它將這些煩瑣的步驟都用一個內核函數所替代。而本文將通過對這兩個參數的動態分析確定一個相對較好的參數組合,以便于后續對其他算法的研究對比。選取總數據集的四分之一即1,464 個樣本作為訓練和測試的樣本數據,分別設定懲罰參數為1,核參數取值為:0.1、5、10、15、20、25、30、35、40、45、50;再設定核參數為1,懲罰參數取值為:0.1、5、10、15、20、25、30、35、40、45、50。繪制出的平均均方根誤差變化圖如圖4和圖5所示。

圖4 c=1平均均方根誤差變化圖Fig.4 When c=1,variation diagram of average RMSE

圖5 g=1平均均方根誤差變化圖Fig.5 When g=1,variation diagram of average RMSE
上述兩幅圖所示的為和在(0,50]區間內的變化范圍,為了實驗的嚴謹性,現在分別補充設定=100(取100、200、300、400、500、600)和=100(取100、200、300、400、500、600),繪制平均均方根誤差變化圖,如圖6和圖7所示。

圖6 c=100平均均方根誤差變化圖Fig.6 When c=100,variation diagram of average RMSE

圖7 g=100平均均方根誤差變化圖Fig.7 When g=100,variation diagram of average RMSE
最后,再將四次實驗的懲罰參數和核參數的值混合起來,繪制三維直觀圖,可以清晰地分析出懲罰參數相較于核參數對預測的精準度影響更大,如圖8和圖9所示。

圖8 c、g各取[1,50]Fig.8 c,g in [1,50]

圖9 c、g各取[100,600]Fig.9 c,g in [100,600]
為了研究WOA-MVO-KELM中MVO的標準參數的影響,在KELM所選核函數為徑向基核函數的條件下,選取總數據集的四分之一即1,464 個樣本作為訓練和測試的樣本數據。通過對MVO的研究可以發現,在算法中存在三個重要參數,一個為開發精度,如式(21)所示:

另外兩個參數分別為宇宙種群數量和最大迭代次數。因此本文進行了三組不同開發精度的對比實驗,分別取=2、=4和=6,每組實驗的變量分別為不同組合的種群數量和最大迭代次數。為確保實驗的準確性,三組實驗的橫縱坐標取值范圍相同,種群數取10、20、30、40、50這五個不同的值,最大迭代次數取10、20、30、40、50、60、70、80這八個不同的值。然后對樣本進行預測,獲得平均均方根誤差,結果如圖10至圖12所示。

圖10 p=2時,最大迭代次數與種群數目組合下平均均方根誤差變化圖Fig.10 When p=2,variation diagram of average RMSE under the combination of maximum iteration times and population number

圖11 p=4時,最大迭代次數與種群數目組合下平均均方根誤差變化圖Fig.11 When p=4,variation diagram of average RMSE under the combination of maximum iteration times and population number

圖12 p=6時,最大迭代次數與種群數目組合下平均均方根誤差變化圖Fig.12 When p=6,variation diagram of average RMSE under the combination of maximum iteration times and population number
通過對比分析圖10、圖11、圖12,可以得到開發精度=6時,算法的預測準確度最高且較為穩定,區間內算法的平均準確率相對較為穩定。如圖13至圖15所示為不同種群數與迭代次數組合下的氣泡圖,每一個氣泡的半徑為在此組合下的平均均方根誤差值。通過分析和對比可以得出,迭代次數越高,模型預測的精度越高且種群數為50、迭代次數為80時效果最好。但迭代次數過高的話會導致運行時間過長從而降低算法的運算效率,所以本文最終選取開發精度為6、種群數為50、最大迭代次數為30作為實驗所用參數。

圖13 p=2時,最大迭代次數與種群數目組合下的氣泡圖Fig.13 When p=2,bubble graph under the combination of maximum iteration times and population number

圖14 p=4時,最大迭代次數與種群數目組合下的氣泡圖Fig.14 When p=4,bubble graph under the combination of maximum iteration times and population number

圖15 p=6時,最大迭代次數與種群數目組合下的氣泡圖Fig.15 When p=6,bubble graph under the combination of maximum iteration times and population number
(1)預測實驗結果
設定好主預測模型WOA-MVO-KELM的參數后,本文同時選取了10 組其他對比試驗,以便更好地體現主模型的預測效果。10 組對比實驗分別有:KELM模型、MVOKELM模型、WOA-KELM模型、MFO-KELM模型、PSOKELM模型、GOA-KELM模型、ELM模型、BP神經網絡模型、SVR模型、OSELM模型。本文所有實驗是在MATLAB-R2021編譯環境下實現的。由于所研究的模型為WOA-MVO-KELM,其可變的參數僅有MVO中的種群數目和最大迭代次數,因此本文選取這兩個參數進行預測實驗。將以上10 種模型分別運行10 次,記錄下每次的數據。實驗結果將通過以下四個指標進行算法性能評估,分別為:均方根誤差(RMSE)、平均預測誤差(Avg_error)、最好預測誤差值(Best_error)和最壞預測誤差值(Worst_error)。對上述四個值的10 次數據取平均值并記錄在表2和表3中。其中WOAMVO-KELM模型為性能最好的模型。

表2 WOA-MVO-KELM與KELM相關的算法進行比較Tab.2 Comparison between WOA-MVO-KELM and KELM related algorithms

表3 WOA-MVO-KELM與其他算法進行比較Tab.3 Comparison between WOA-MVO-KELM and other algorithms
圖16至圖23為與KELM相關的預測模型的部分樣本真實值與預測值的結果展示圖和真實值及預測值的誤差與0值的對比圖。從對比實驗結果圖可以看出,本文所搭建的預測模型預測精確度最高,且誤差幾乎為與0線擬合,并且通過優化得到的最佳KELM參數組合為=476.008,=29.2314。

圖16 WOA-MVO-KELM預測結果圖Fig.16 Prediction results diagram of WOA-MVO-KELM

圖17 WOA-MVO-KELM誤差圖Fig.17 WOA-MVO-KELM error diagram

圖18 MVO-KELM預測結果圖Fig.18 Prediction results diagram of MVO-KELM

圖19 MVO-KELM誤差圖Fig.19 MVO-KELM error diagram

圖20 PSO-KELM預測結果圖Fig.20 Prediction results diagram of PSO-KELM

圖21 PSO-KELM誤差圖Fig.21 PSO-KELM error diagram

圖22 KELM預測結果圖Fig.22 Prediction results diagram of KELM

圖23 KELM誤差圖Fig.23 KELM error diagram
(2)穩定性分析
本文通過使用箱型圖來分析算法的穩定性,箱形圖最大的優點就是不受異常值的影響,能夠準確穩定地描繪出數據的離散分布情況。每種算法經過10 次運行,將每一次運算得到的均方根誤差記錄下來,最后將每個模型的10 次結果繪制成兩張箱型圖,一張是WOA-MVO-KELM模型與其他KELM相關預測模型的對比,如圖24所示;另一張是WOAMVO-KELM模型與其他預測模型的對比,如圖25所示。圖24和圖25中的箱型代表實驗結果的分布,在箱子內的值以中間那條中位線為界限分成上四分位數和下四分位數,箱子外上下兩根線表示的是上限和下限,“+”代表的是該數據中的異常值。由這兩張圖可以看出,本文所組建的預測模型穩定性最強,因為其上下四分位數值的間距極小且非常對稱緊湊,也沒有異常值,而其他算法的穩定性則參差不齊。本文還分析了WOA-MVO-KELM與其他算法的收斂曲線,如圖26所示。

圖24 均方根誤差分布圖(與其他KELM相關預測模型對比)Fig.24 RMSE distribution diagram (Compared with other KELM related prediction models)

圖25 均方根誤差分布圖(與其他預測模型對比)Fig.25 RMSE distribution diagram (Compared with other prediction models)

圖26 WOA-MVO-KELM與其他算法的收斂曲線Fig.26 Convergence curve of WOA-MVO-KELM and other algorithms
到目前為止的平均值表示在10 次運行的每次迭代中獲得的最佳解決方案的平均值。從圖26可以看出,MVO優化算法的模型經過五次左右迭代后才收斂到最優,這可能是由于MOV在避免局部最優時,在迭代的初始步驟中沒有找到一個好的解決方案進行利用,所以該算法一直在搜索空間中搜索,尋找好的解決方案收斂于它們,但是通過WOA算法對其初始種群的優化,發現WOA-MVO-KELM模型收斂次數在10 次以下并且收斂到的結果最優,其他算法收斂速度慢或收斂結果差。通過對這些數據的分析,可以看到WOA-MVOKELM算法可以快速收斂且收斂的結果最好。
本文針對目前短期風力發電預測的精確度不理想、效率低等一系列問題,設計了一個基于WOA-MVO混合優化算法的KELM預測模型。首先為解決KELM模型的隨機參數問題,本文選用了MVO算法進行最優參數組合搜尋,在搜索之前先使用WOA算法對MVO算法的初始群數進行優化,得到一個較為優秀的種群代入WOA算法中。然后將最優參數組合放回KELM模型里進行訓練,最終成功構建了一個新型預測模型。通過對真實風電場歷史數據實驗結果的分析,本文采用的WOA-MVO-KELM預測模型相較于ELM、BP神經網絡、SVR等其他現存的預測模型具有更高的精度和良好的泛化能力。